Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@ public final void applyInstrumentation(Instrumenter instrumenter) {
buildInstrumentation(module, member);
}
}
} else if (instrumenter instanceof Instrumenter.ForSingleType) {
buildSingleAdvice((Instrumenter.ForSingleType) instrumenter); // for testing purposes
} else {
throw new IllegalArgumentException("Unexpected Instrumenter type");
}
Expand All @@ -53,8 +51,6 @@ public final void applyInstrumentation(Instrumenter instrumenter) {

protected abstract void buildInstrumentation(InstrumenterModule module, Instrumenter member);

protected abstract void buildSingleAdvice(Instrumenter.ForSingleType instrumenter);

protected static final class VisitingTransformer implements AgentBuilder.Transformer {
private final AsmVisitorWrapper visitor;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

import static datadog.trace.agent.tooling.bytebuddy.DDTransformers.defaultTransformers;
import static datadog.trace.agent.tooling.bytebuddy.matcher.ClassLoaderMatchers.ANY_CLASS_LOADER;
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named;
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.namedOneOf;
import static net.bytebuddy.matcher.ElementMatchers.isSynthetic;
import static net.bytebuddy.matcher.ElementMatchers.not;

import datadog.trace.agent.tooling.Instrumenter.WithPostProcessor;
Expand Down Expand Up @@ -145,30 +143,6 @@ private void buildInstrumentationAdvice(InstrumenterModule module, Instrumenter
advice.clear();
}

@Override
protected void buildSingleAdvice(Instrumenter.ForSingleType instrumenter) {

// this is a test instrumenter which needs a dynamic id
int id = nextSupplementaryId++;
if (transformers.length <= id) {
transformers = Arrays.copyOf(transformers, id + 1);
}

// can't use known-types index because it doesn't include test instrumenters
matchers.add(new MatchRecorder.ForType(id, named(instrumenter.instrumentedType())));

ignoredMethods = isSynthetic();
if (instrumenter instanceof Instrumenter.HasTypeAdvice) {
((Instrumenter.HasTypeAdvice) instrumenter).typeAdvice(this);
}
if (instrumenter instanceof Instrumenter.HasMethodAdvice) {
((Instrumenter.HasMethodAdvice) instrumenter).methodAdvice(this);
}
transformers[id] = new AdviceStack(advice);

advice.clear();
}

@Override
public void applyAdvice(Instrumenter.TransformingAdvice typeAdvice) {
advice.add(typeAdvice::transform);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import static datadog.trace.agent.tooling.bytebuddy.DDTransformers.defaultTransformers;
import static datadog.trace.agent.tooling.bytebuddy.matcher.ClassLoaderMatchers.ANY_CLASS_LOADER;
import static datadog.trace.agent.tooling.bytebuddy.matcher.ClassLoaderMatchers.hasClassNamed;
import static net.bytebuddy.matcher.ElementMatchers.isSynthetic;
import static net.bytebuddy.matcher.ElementMatchers.none;
import static net.bytebuddy.matcher.ElementMatchers.not;

Expand Down Expand Up @@ -157,17 +156,6 @@ private AgentBuilder.RawMatcher typeMatcher(InstrumenterModule module, Instrumen
+ module.getClass().getName());
}

@Override
protected void buildSingleAdvice(Instrumenter.ForSingleType instrumenter) {
AgentBuilder.RawMatcher matcher = new SingleTypeMatcher(instrumenter.instrumentedType());

ignoreMatcher = isSynthetic();
adviceBuilder =
agentBuilder.type(matcher).and(NOT_DECORATOR_MATCHER).transform(defaultTransformers());

agentBuilder = registerAdvice((Instrumenter) instrumenter);
}

@Override
public void applyAdvice(Instrumenter.TransformingAdvice typeAdvice) {
adviceBuilder = adviceBuilder.transform(typeAdvice::transform);
Expand Down