Skip to content

Commit 9c5129c

Browse files
Simplify anonymous detection per PR feedback
1 parent c53da94 commit 9c5129c

4 files changed

Lines changed: 60 additions & 37 deletions

File tree

dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/bytebuddy/outline/OutlineTypeParser.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import java.lang.reflect.Field;
99
import java.lang.reflect.Method;
1010
import net.bytebuddy.ClassFileVersion;
11-
import net.bytebuddy.description.method.MethodDescription;
1211
import net.bytebuddy.description.type.TypeDescription;
1312
import net.bytebuddy.jar.asm.AnnotationVisitor;
1413
import net.bytebuddy.jar.asm.ClassReader;
@@ -111,11 +110,7 @@ public void visit(
111110

112111
@Override
113112
public void visitOuterClass(String owner, String name, String descriptor) {
114-
if (name != null && !name.equals(MethodDescription.TYPE_INITIALIZER_INTERNAL_NAME)) {
115-
selfContained = false;
116-
} else if (owner != null) {
117-
selfContained = false;
118-
}
113+
selfContained = false;
119114
}
120115

121116
@Override

dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/outline/OutlineTypeParserTest.groovy

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,13 @@ class OutlineTypeParserTest extends Specification {
1818
outline.anonymousType == anonymous
1919

2020
where:
21-
clazz | anonymous
22-
'datadog.trace.agent.test.AnonymousClass' | false
23-
'datadog.trace.agent.test.AnonymousClass$1' | true
24-
'datadog.trace.agent.test.AnonymousClass$2' | true
21+
clazz | anonymous
22+
'datadog.trace.agent.test.EnclosedClasses' | false
23+
'datadog.trace.agent.test.EnclosedClasses$Inner' | false
24+
'datadog.trace.agent.test.EnclosedClasses$InnerStatic' | false
25+
'datadog.trace.agent.test.EnclosedClasses$1' | true
26+
'datadog.trace.agent.test.EnclosedClasses$2' | true
27+
'datadog.trace.agent.test.EnclosedClasses$Inner$1' | true
28+
'datadog.trace.agent.test.EnclosedClasses$InnerStatic$1' | true
2529
}
2630
}

dd-java-agent/agent-tooling/src/test/java/datadog/trace/agent/test/AnonymousClass.java

Lines changed: 0 additions & 27 deletions
This file was deleted.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package datadog.trace.agent.test;
2+
3+
import java.util.function.Supplier;
4+
5+
public class EnclosedClasses {
6+
7+
static {
8+
String id =
9+
new Supplier<String>() {
10+
@Override
11+
public String get() {
12+
return Long.toString(System.currentTimeMillis());
13+
}
14+
}.get();
15+
assert id != null;
16+
}
17+
18+
@Override
19+
public String toString() {
20+
return new Supplier<String>() {
21+
@Override
22+
public String get() {
23+
return EnclosedClasses.class + "@" + System.identityHashCode(this);
24+
}
25+
}.get();
26+
}
27+
28+
public static class InnerStatic {
29+
@Override
30+
public String toString() {
31+
return new Supplier<String>() {
32+
@Override
33+
public String get() {
34+
return InnerStatic.class + "@" + System.identityHashCode(this);
35+
}
36+
}.get();
37+
}
38+
}
39+
40+
public static class Inner {
41+
@Override
42+
public String toString() {
43+
return new Supplier<String>() {
44+
@Override
45+
public String get() {
46+
return Inner.class + "@" + System.identityHashCode(this);
47+
}
48+
}.get();
49+
}
50+
}
51+
}

0 commit comments

Comments
 (0)