Merge pull request #10414 from igfoo/igfoo/getQualifiedName

Java: Tweak Member.getQualifiedName()
This commit is contained in:
Ian Lynagh
2022-09-14 13:30:22 +01:00
committed by GitHub
11 changed files with 129 additions and 122 deletions

View File

@@ -0,0 +1,4 @@
---
category: breaking
---
* The `Member.getQualifiedName()` predicate result now includes the qualified name of the declaring type.

View File

@@ -20,8 +20,14 @@ class Member extends Element, Annotatable, Modifiable, @member {
/** Gets the type in which this member is declared. */
RefType getDeclaringType() { declaresMember(result, this) }
/** Gets the qualified name of this member. */
string getQualifiedName() { result = this.getDeclaringType().getName() + "." + this.getName() }
/**
* Gets the qualified name of this member.
* This is useful for debugging, but for normal use `hasQualifiedName`
* is recommended, as it is more efficient.
*/
string getQualifiedName() {
result = this.getDeclaringType().getQualifiedName() + "." + this.getName()
}
/**
* Holds if this member has the specified name and is declared in the

View File

@@ -24,7 +24,7 @@ private class DefaultSafeExternalApiMethod extends SafeExternalApiMethod {
or
this.getDeclaringType().hasQualifiedName("org.apache.commons.lang3", "Validate")
or
this.getQualifiedName() = "Objects.equals"
this.hasQualifiedName("java.util", "Objects", "equals")
or
this.getDeclaringType() instanceof TypeString and this.getName() = "equals"
or
@@ -92,10 +92,7 @@ class ExternalApiDataNode extends DataFlow::Node {
int getIndex() { result = i }
/** Gets the description of the method being called. */
string getMethodDescription() {
result =
this.getMethod().getDeclaringType().getPackage() + "." + this.getMethod().getQualifiedName()
}
string getMethodDescription() { result = this.getMethod().getQualifiedName() }
}
/** DEPRECATED: Alias for ExternalApiDataNode */

View File

@@ -1,8 +1,8 @@
| dc.kt:0:0:0:0 | hashCode(...) | Arrays.hashCode |
| dc.kt:0:0:0:0 | hashCode(...) | Arrays.hashCode |
| dc.kt:0:0:0:0 | hashCode(...) | java.util.Arrays.hashCode |
| dc.kt:0:0:0:0 | hashCode(...) | java.util.Arrays.hashCode |
| dc.kt:0:0:0:0 | new ProtoMapValue(...) | ProtoMapValue.ProtoMapValue |
| dc.kt:0:0:0:0 | plus(...) | Int.plus |
| dc.kt:0:0:0:0 | times(...) | Int.times |
| dc.kt:0:0:0:0 | toString(...) | Arrays.toString |
| dc.kt:0:0:0:0 | toString(...) | Arrays.toString |
| dc.kt:1:1:1:71 | super(...) | Object.Object |
| dc.kt:0:0:0:0 | plus(...) | kotlin.Int.plus |
| dc.kt:0:0:0:0 | times(...) | kotlin.Int.times |
| dc.kt:0:0:0:0 | toString(...) | java.util.Arrays.toString |
| dc.kt:0:0:0:0 | toString(...) | java.util.Arrays.toString |
| dc.kt:1:1:1:71 | super(...) | java.lang.Object.Object |

View File

@@ -12,15 +12,15 @@ classLocations
| main.B<String> | file:///!unknown-binary-location/main/B.class:0:0:0:0 | file:///!unknown-binary-location/main/B.class:0:0:0:0 |
| main.B<String> | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 |
callableLocations
| A.fn | A.class:0:0:0:0 | A.class:0:0:0:0 |
| A.fn | A.java:4:17:4:18 | A.java:4:17:4:18 |
| A<Integer>.fn | A.class:0:0:0:0 | A.class:0:0:0:0 |
| A<Object>.fn | file:///!unknown-binary-location/main/A.class:0:0:0:0 | file:///!unknown-binary-location/main/A.class:0:0:0:0 |
| A<String>.fn | A.class:0:0:0:0 | A.class:0:0:0:0 |
| A<String>.fn | file:///!unknown-binary-location/main/A.class:0:0:0:0 | file:///!unknown-binary-location/main/A.class:0:0:0:0 |
| B.fn | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 |
| B.fn | generics.kt:4:5:10:5 | generics.kt:4:5:10:5 |
| B<Integer>.fn | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 |
| B<Object>.fn | file:///!unknown-binary-location/main/B.class:0:0:0:0 | file:///!unknown-binary-location/main/B.class:0:0:0:0 |
| B<String>.fn | file:///!unknown-binary-location/main/B.class:0:0:0:0 | file:///!unknown-binary-location/main/B.class:0:0:0:0 |
| B<String>.fn | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 |
| main.A.fn | A.class:0:0:0:0 | A.class:0:0:0:0 |
| main.A.fn | A.java:4:17:4:18 | A.java:4:17:4:18 |
| main.A<Integer>.fn | A.class:0:0:0:0 | A.class:0:0:0:0 |
| main.A<Object>.fn | file:///!unknown-binary-location/main/A.class:0:0:0:0 | file:///!unknown-binary-location/main/A.class:0:0:0:0 |
| main.A<String>.fn | A.class:0:0:0:0 | A.class:0:0:0:0 |
| main.A<String>.fn | file:///!unknown-binary-location/main/A.class:0:0:0:0 | file:///!unknown-binary-location/main/A.class:0:0:0:0 |
| main.B.fn | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 |
| main.B.fn | generics.kt:4:5:10:5 | generics.kt:4:5:10:5 |
| main.B<Integer>.fn | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 |
| main.B<Object>.fn | file:///!unknown-binary-location/main/B.class:0:0:0:0 | file:///!unknown-binary-location/main/B.class:0:0:0:0 |
| main.B<String>.fn | file:///!unknown-binary-location/main/B.class:0:0:0:0 | file:///!unknown-binary-location/main/B.class:0:0:0:0 |
| main.B<String>.fn | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 |

View File

@@ -1,6 +1,6 @@
| A.class:0:0:0:0 | foo | A<String>.foo | foo(java.lang.String) | A.java:4:10:4:12 | foo | A.foo |
| A.java:4:10:4:12 | foo | A.foo | foo(java.lang.Object) | A.java:4:10:4:12 | foo | A.foo |
| B.java:4:17:4:19 | foo | B.foo | foo(java.lang.String) | B.java:4:17:4:19 | foo | B.foo |
| W.kt:4:5:4:17 | foo | A.foo | foo(java.lang.Object) | W.kt:4:5:4:17 | foo | A.foo |
| W.kt:8:14:8:34 | foo | B.foo | foo(java.lang.String) | W.kt:8:14:8:34 | foo | B.foo |
| file:///!unknown-binary-location/k/A.class:0:0:0:0 | foo | A<String>.foo | foo(java.lang.String) | W.kt:4:5:4:17 | foo | A.foo |
| A.class:0:0:0:0 | foo | j.A<String>.foo | foo(java.lang.String) | A.java:4:10:4:12 | foo | j.A.foo |
| A.java:4:10:4:12 | foo | j.A.foo | foo(java.lang.Object) | A.java:4:10:4:12 | foo | j.A.foo |
| B.java:4:17:4:19 | foo | j.B.foo | foo(java.lang.String) | B.java:4:17:4:19 | foo | j.B.foo |
| W.kt:4:5:4:17 | foo | k.A.foo | foo(java.lang.Object) | W.kt:4:5:4:17 | foo | k.A.foo |
| W.kt:8:14:8:34 | foo | k.B.foo | foo(java.lang.String) | W.kt:8:14:8:34 | foo | k.B.foo |
| file:///!unknown-binary-location/k/A.class:0:0:0:0 | foo | k.A<String>.foo | foo(java.lang.String) | W.kt:4:5:4:17 | foo | k.A.foo |

View File

@@ -1,5 +1,5 @@
| file1.kt:4:18:4:23 | fun2(...) | file2.kt:3:5:3:18 | fun2 | Class2.fun2 | file2.kt:2:1:4:1 | Class2 |
| file1.kt:5:9:5:14 | fun3(...) | file3.kt:5:1:6:1 | fun3 | MyJvmName.fun3 | file3.kt:0:0:0:0 | MyJvmName |
| file1.kt:6:9:6:14 | fun4(...) | file4.kt:4:1:5:1 | fun4 | File4Kt.fun4 | file4.kt:0:0:0:0 | File4Kt |
| file1.kt:11:29:11:56 | toArray(...) | file://<external>/CollectionToArray.class:0:0:0:0 | toArray | CollectionToArray.toArray | file://<external>/CollectionToArray.class:0:0:0:0 | CollectionToArray |
| file1.kt:11:47:11:55 | listOf(...) | file://<external>/CollectionsKt.class:0:0:0:0 | listOf | CollectionsKt.listOf | file://<external>/CollectionsKt.class:0:0:0:0 | CollectionsKt |
| file1.kt:11:29:11:56 | toArray(...) | file://<external>/CollectionToArray.class:0:0:0:0 | toArray | kotlin.jvm.internal.CollectionToArray.toArray | file://<external>/CollectionToArray.class:0:0:0:0 | CollectionToArray |
| file1.kt:11:47:11:55 | listOf(...) | file://<external>/CollectionsKt.class:0:0:0:0 | listOf | kotlin.collections.CollectionsKt.listOf | file://<external>/CollectionsKt.class:0:0:0:0 | CollectionsKt |

View File

@@ -73,48 +73,48 @@ propertySetReferences
| reflection.kt:68:17:68:34 | ...::... | reflection.kt:68:17:68:34 | set | file://<external>/Class1$Generic.class:0:0:0:0 | setP2 |
| reflection.kt:109:17:109:27 | ...::... | reflection.kt:109:17:109:27 | set | reflection.kt:105:18:105:31 | setProp1 |
callsInsideInvocationMethods
| reflection.kt:7:49:7:54 | ...::... | reflection.kt:7:49:7:54 | new Function2<Ccc,Integer,Double>(...) { ... } | reflection.kt:7:49:7:54 | invoke | reflection.kt:7:49:7:54 | m(...) | Ccc.m |
| reflection.kt:10:38:10:42 | ...::... | reflection.kt:10:38:10:42 | new KProperty1<C,Integer>(...) { ... } | reflection.kt:10:38:10:42 | get | reflection.kt:10:38:10:42 | getP0(...) | C.getP0 |
| reflection.kt:10:38:10:42 | ...::... | reflection.kt:10:38:10:42 | new KProperty1<C,Integer>(...) { ... } | reflection.kt:10:38:10:42 | invoke | reflection.kt:10:38:10:42 | get(...) | .get |
| reflection.kt:14:38:14:44 | ...::... | reflection.kt:14:38:14:44 | new Function1<C,Integer>(...) { ... } | reflection.kt:14:38:14:44 | invoke | reflection.kt:14:38:14:44 | get(...) | KProperty1<C,Integer>.get |
| reflection.kt:15:35:15:41 | ...::... | reflection.kt:15:35:15:41 | new KProperty0<Integer>(...) { ... } | reflection.kt:15:35:15:41 | get | reflection.kt:15:35:15:41 | getP0(...) | C.getP0 |
| reflection.kt:15:35:15:41 | ...::... | reflection.kt:15:35:15:41 | new KProperty0<Integer>(...) { ... } | reflection.kt:15:35:15:41 | invoke | reflection.kt:15:35:15:41 | get(...) | .get |
| reflection.kt:17:45:17:49 | ...::... | reflection.kt:17:45:17:49 | new KMutableProperty1<C,Integer>(...) { ... } | reflection.kt:17:45:17:49 | get | reflection.kt:17:45:17:49 | getP1(...) | C.getP1 |
| reflection.kt:17:45:17:49 | ...::... | reflection.kt:17:45:17:49 | new KMutableProperty1<C,Integer>(...) { ... } | reflection.kt:17:45:17:49 | invoke | reflection.kt:17:45:17:49 | get(...) | .get |
| reflection.kt:17:45:17:49 | ...::... | reflection.kt:17:45:17:49 | new KMutableProperty1<C,Integer>(...) { ... } | reflection.kt:17:45:17:49 | set | reflection.kt:17:45:17:49 | setP1(...) | C.setP1 |
| reflection.kt:21:44:21:50 | ...::... | reflection.kt:21:44:21:50 | new Function2<C,Integer,Unit>(...) { ... } | reflection.kt:21:44:21:50 | invoke | reflection.kt:21:44:21:50 | set(...) | KMutableProperty1<C,Integer>.set |
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:22:42:22:48 | get | reflection.kt:22:42:22:48 | getP1(...) | C.getP1 |
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:22:42:22:48 | invoke | reflection.kt:22:42:22:48 | get(...) | .get |
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:22:42:22:48 | set | reflection.kt:22:42:22:48 | setP1(...) | C.setP1 |
| reflection.kt:7:49:7:54 | ...::... | reflection.kt:7:49:7:54 | new Function2<Ccc,Integer,Double>(...) { ... } | reflection.kt:7:49:7:54 | invoke | reflection.kt:7:49:7:54 | m(...) | Reflection$Ccc.m |
| reflection.kt:10:38:10:42 | ...::... | reflection.kt:10:38:10:42 | new KProperty1<C,Integer>(...) { ... } | reflection.kt:10:38:10:42 | get | reflection.kt:10:38:10:42 | getP0(...) | Reflection$C.getP0 |
| reflection.kt:10:38:10:42 | ...::... | reflection.kt:10:38:10:42 | new KProperty1<C,Integer>(...) { ... } | reflection.kt:10:38:10:42 | invoke | reflection.kt:10:38:10:42 | get(...) | <anonymous class>.get |
| reflection.kt:14:38:14:44 | ...::... | reflection.kt:14:38:14:44 | new Function1<C,Integer>(...) { ... } | reflection.kt:14:38:14:44 | invoke | reflection.kt:14:38:14:44 | get(...) | kotlin.reflect.KProperty1<C,Integer>.get |
| reflection.kt:15:35:15:41 | ...::... | reflection.kt:15:35:15:41 | new KProperty0<Integer>(...) { ... } | reflection.kt:15:35:15:41 | get | reflection.kt:15:35:15:41 | getP0(...) | Reflection$C.getP0 |
| reflection.kt:15:35:15:41 | ...::... | reflection.kt:15:35:15:41 | new KProperty0<Integer>(...) { ... } | reflection.kt:15:35:15:41 | invoke | reflection.kt:15:35:15:41 | get(...) | <anonymous class>.get |
| reflection.kt:17:45:17:49 | ...::... | reflection.kt:17:45:17:49 | new KMutableProperty1<C,Integer>(...) { ... } | reflection.kt:17:45:17:49 | get | reflection.kt:17:45:17:49 | getP1(...) | Reflection$C.getP1 |
| reflection.kt:17:45:17:49 | ...::... | reflection.kt:17:45:17:49 | new KMutableProperty1<C,Integer>(...) { ... } | reflection.kt:17:45:17:49 | invoke | reflection.kt:17:45:17:49 | get(...) | <anonymous class>.get |
| reflection.kt:17:45:17:49 | ...::... | reflection.kt:17:45:17:49 | new KMutableProperty1<C,Integer>(...) { ... } | reflection.kt:17:45:17:49 | set | reflection.kt:17:45:17:49 | setP1(...) | Reflection$C.setP1 |
| reflection.kt:21:44:21:50 | ...::... | reflection.kt:21:44:21:50 | new Function2<C,Integer,Unit>(...) { ... } | reflection.kt:21:44:21:50 | invoke | reflection.kt:21:44:21:50 | set(...) | kotlin.reflect.KMutableProperty1<C,Integer>.set |
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:22:42:22:48 | get | reflection.kt:22:42:22:48 | getP1(...) | Reflection$C.getP1 |
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:22:42:22:48 | invoke | reflection.kt:22:42:22:48 | get(...) | <anonymous class>.get |
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:22:42:22:48 | set | reflection.kt:22:42:22:48 | setP1(...) | Reflection$C.setP1 |
| reflection.kt:50:13:50:28 | ...::... | reflection.kt:50:13:50:28 | new KProperty1<String,Character>(...) { ... } | reflection.kt:50:13:50:28 | get | reflection.kt:50:13:50:28 | getLastChar(...) | ReflectionKt.getLastChar |
| reflection.kt:50:13:50:28 | ...::... | reflection.kt:50:13:50:28 | new KProperty1<String,Character>(...) { ... } | reflection.kt:50:13:50:28 | invoke | reflection.kt:50:13:50:28 | get(...) | .get |
| reflection.kt:50:13:50:28 | ...::... | reflection.kt:50:13:50:28 | new KProperty1<String,Character>(...) { ... } | reflection.kt:50:13:50:28 | invoke | reflection.kt:50:13:50:28 | get(...) | <anonymous class>.get |
| reflection.kt:51:13:51:28 | ...::... | reflection.kt:51:13:51:28 | new KProperty0<Character>(...) { ... } | reflection.kt:51:13:51:28 | get | reflection.kt:51:13:51:28 | getLastChar(...) | ReflectionKt.getLastChar |
| reflection.kt:51:13:51:28 | ...::... | reflection.kt:51:13:51:28 | new KProperty0<Character>(...) { ... } | reflection.kt:51:13:51:28 | invoke | reflection.kt:51:13:51:28 | get(...) | .get |
| reflection.kt:60:17:60:32 | ...::... | reflection.kt:60:17:60:32 | new Function2<Generic<Integer>,Integer,String>(...) { ... } | reflection.kt:60:17:60:32 | invoke | reflection.kt:60:17:60:32 | m1(...) | Generic<Integer>.m1 |
| reflection.kt:61:17:61:34 | ...::... | reflection.kt:61:17:61:34 | new Function1<Integer,String>(...) { ... } | reflection.kt:61:17:61:34 | invoke | reflection.kt:61:17:61:34 | m1(...) | Generic<Integer>.m1 |
| reflection.kt:51:13:51:28 | ...::... | reflection.kt:51:13:51:28 | new KProperty0<Character>(...) { ... } | reflection.kt:51:13:51:28 | invoke | reflection.kt:51:13:51:28 | get(...) | <anonymous class>.get |
| reflection.kt:60:17:60:32 | ...::... | reflection.kt:60:17:60:32 | new Function2<Generic<Integer>,Integer,String>(...) { ... } | reflection.kt:60:17:60:32 | invoke | reflection.kt:60:17:60:32 | m1(...) | Class1$Generic<Integer>.m1 |
| reflection.kt:61:17:61:34 | ...::... | reflection.kt:61:17:61:34 | new Function1<Integer,String>(...) { ... } | reflection.kt:61:17:61:34 | invoke | reflection.kt:61:17:61:34 | m1(...) | Class1$Generic<Integer>.m1 |
| reflection.kt:62:17:62:34 | ...::... | reflection.kt:62:17:62:34 | new Function1<Generic<Integer>,String>(...) { ... } | reflection.kt:62:17:62:34 | invoke | reflection.kt:62:17:62:34 | ext1(...) | ReflectionKt.ext1 |
| reflection.kt:63:17:63:36 | ...::... | reflection.kt:63:17:63:36 | new Function0<String>(...) { ... } | reflection.kt:63:17:63:36 | invoke | reflection.kt:63:17:63:36 | ext1(...) | ReflectionKt.ext1 |
| reflection.kt:64:17:64:34 | ...::... | reflection.kt:64:17:64:34 | new Function1<Generic<Integer>,String>(...) { ... } | reflection.kt:64:17:64:34 | invoke | reflection.kt:64:17:64:34 | ext2(...) | ReflectionKt.ext2 |
| reflection.kt:65:17:65:36 | ...::... | reflection.kt:65:17:65:36 | new Function0<String>(...) { ... } | reflection.kt:65:17:65:36 | invoke | reflection.kt:65:17:65:36 | ext2(...) | ReflectionKt.ext2 |
| reflection.kt:67:17:67:32 | ...::... | reflection.kt:67:17:67:32 | new KMutableProperty1<Generic<Integer>,Integer>(...) { ... } | reflection.kt:67:17:67:32 | get | reflection.kt:67:17:67:32 | getP2(...) | Generic<Integer>.getP2 |
| reflection.kt:67:17:67:32 | ...::... | reflection.kt:67:17:67:32 | new KMutableProperty1<Generic<Integer>,Integer>(...) { ... } | reflection.kt:67:17:67:32 | invoke | reflection.kt:67:17:67:32 | get(...) | .get |
| reflection.kt:67:17:67:32 | ...::... | reflection.kt:67:17:67:32 | new KMutableProperty1<Generic<Integer>,Integer>(...) { ... } | reflection.kt:67:17:67:32 | set | reflection.kt:67:17:67:32 | setP2(...) | Generic<Integer>.setP2 |
| reflection.kt:68:17:68:34 | ...::... | reflection.kt:68:17:68:34 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:68:17:68:34 | get | reflection.kt:68:17:68:34 | getP2(...) | Generic<Integer>.getP2 |
| reflection.kt:68:17:68:34 | ...::... | reflection.kt:68:17:68:34 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:68:17:68:34 | invoke | reflection.kt:68:17:68:34 | get(...) | .get |
| reflection.kt:68:17:68:34 | ...::... | reflection.kt:68:17:68:34 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:68:17:68:34 | set | reflection.kt:68:17:68:34 | setP2(...) | Generic<Integer>.setP2 |
| reflection.kt:70:17:70:30 | ...::... | reflection.kt:70:17:70:30 | new KProperty0<Integer>(...) { ... } | reflection.kt:70:17:70:30 | get | reflection.kt:70:17:70:30 | getMAX_VALUE(...) | IntCompanionObject.getMAX_VALUE |
| reflection.kt:70:17:70:30 | ...::... | reflection.kt:70:17:70:30 | new KProperty0<Integer>(...) { ... } | reflection.kt:70:17:70:30 | invoke | reflection.kt:70:17:70:30 | get(...) | .get |
| reflection.kt:71:17:71:34 | ...::... | reflection.kt:71:17:71:34 | new KProperty0<Integer>(...) { ... } | reflection.kt:71:17:71:34 | invoke | reflection.kt:71:17:71:34 | get(...) | .get |
| reflection.kt:72:17:72:35 | ...::... | reflection.kt:72:17:72:35 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:72:17:72:35 | invoke | reflection.kt:72:17:72:35 | get(...) | .get |
| reflection.kt:90:18:90:24 | ...::... | reflection.kt:90:18:90:24 | new Function1<String,Inner<String>>(...) { ... } | reflection.kt:90:18:90:24 | invoke | reflection.kt:90:18:90:24 | new Inner<String>(...) | Inner<String>.Inner<String> |
| reflection.kt:67:17:67:32 | ...::... | reflection.kt:67:17:67:32 | new KMutableProperty1<Generic<Integer>,Integer>(...) { ... } | reflection.kt:67:17:67:32 | get | reflection.kt:67:17:67:32 | getP2(...) | Class1$Generic<Integer>.getP2 |
| reflection.kt:67:17:67:32 | ...::... | reflection.kt:67:17:67:32 | new KMutableProperty1<Generic<Integer>,Integer>(...) { ... } | reflection.kt:67:17:67:32 | invoke | reflection.kt:67:17:67:32 | get(...) | <anonymous class>.get |
| reflection.kt:67:17:67:32 | ...::... | reflection.kt:67:17:67:32 | new KMutableProperty1<Generic<Integer>,Integer>(...) { ... } | reflection.kt:67:17:67:32 | set | reflection.kt:67:17:67:32 | setP2(...) | Class1$Generic<Integer>.setP2 |
| reflection.kt:68:17:68:34 | ...::... | reflection.kt:68:17:68:34 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:68:17:68:34 | get | reflection.kt:68:17:68:34 | getP2(...) | Class1$Generic<Integer>.getP2 |
| reflection.kt:68:17:68:34 | ...::... | reflection.kt:68:17:68:34 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:68:17:68:34 | invoke | reflection.kt:68:17:68:34 | get(...) | <anonymous class>.get |
| reflection.kt:68:17:68:34 | ...::... | reflection.kt:68:17:68:34 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:68:17:68:34 | set | reflection.kt:68:17:68:34 | setP2(...) | Class1$Generic<Integer>.setP2 |
| reflection.kt:70:17:70:30 | ...::... | reflection.kt:70:17:70:30 | new KProperty0<Integer>(...) { ... } | reflection.kt:70:17:70:30 | get | reflection.kt:70:17:70:30 | getMAX_VALUE(...) | kotlin.jvm.internal.IntCompanionObject.getMAX_VALUE |
| reflection.kt:70:17:70:30 | ...::... | reflection.kt:70:17:70:30 | new KProperty0<Integer>(...) { ... } | reflection.kt:70:17:70:30 | invoke | reflection.kt:70:17:70:30 | get(...) | <anonymous class>.get |
| reflection.kt:71:17:71:34 | ...::... | reflection.kt:71:17:71:34 | new KProperty0<Integer>(...) { ... } | reflection.kt:71:17:71:34 | invoke | reflection.kt:71:17:71:34 | get(...) | <anonymous class>.get |
| reflection.kt:72:17:72:35 | ...::... | reflection.kt:72:17:72:35 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:72:17:72:35 | invoke | reflection.kt:72:17:72:35 | get(...) | <anonymous class>.get |
| reflection.kt:90:18:90:24 | ...::... | reflection.kt:90:18:90:24 | new Function1<String,Inner<String>>(...) { ... } | reflection.kt:90:18:90:24 | invoke | reflection.kt:90:18:90:24 | new Inner<String>(...) | Class2$Inner<String>.Inner<String> |
| reflection.kt:97:14:97:21 | ...::... | reflection.kt:97:14:97:21 | new Function1<String,Class2<String>>(...) { ... } | reflection.kt:97:14:97:21 | invoke | reflection.kt:97:14:97:21 | new Class2<String>(...) | Class2<String>.Class2<String> |
| reflection.kt:98:14:98:17 | ...::... | reflection.kt:98:14:98:17 | new Function1<String,Unit>(...) { ... } | reflection.kt:98:14:98:17 | invoke | reflection.kt:98:14:98:17 | fn(...) | ReflectionKt.fn |
| reflection.kt:99:14:99:29 | ...::... | reflection.kt:99:14:99:29 | new Function1<String,Inner<String>>(...) { ... } | reflection.kt:99:14:99:29 | invoke | reflection.kt:99:14:99:29 | new Inner<String>(...) | Inner<String>.Inner<String> |
| reflection.kt:99:14:99:29 | ...::... | reflection.kt:99:14:99:29 | new Function1<String,Inner<String>>(...) { ... } | reflection.kt:99:14:99:29 | invoke | reflection.kt:99:14:99:29 | new Inner<String>(...) | Class2<Integer>$Inner<String>.Inner<String> |
| reflection.kt:109:17:109:27 | ...::... | reflection.kt:109:17:109:27 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:109:17:109:27 | get | reflection.kt:109:17:109:27 | getProp1(...) | Base1.getProp1 |
| reflection.kt:109:17:109:27 | ...::... | reflection.kt:109:17:109:27 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:109:17:109:27 | invoke | reflection.kt:109:17:109:27 | get(...) | .get |
| reflection.kt:109:17:109:27 | ...::... | reflection.kt:109:17:109:27 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:109:17:109:27 | invoke | reflection.kt:109:17:109:27 | get(...) | <anonymous class>.get |
| reflection.kt:109:17:109:27 | ...::... | reflection.kt:109:17:109:27 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:109:17:109:27 | set | reflection.kt:109:17:109:27 | setProp1(...) | Base1.setProp1 |
| reflection.kt:116:40:116:44 | ...::... | reflection.kt:116:40:116:44 | new Function1<Integer,Unit>(...) { ... } | reflection.kt:116:40:116:44 | invoke | reflection.kt:116:40:116:44 | fn1(...) | .fn1 |
| reflection.kt:116:40:116:44 | ...::... | reflection.kt:116:40:116:44 | new Function1<Integer,Unit>(...) { ... } | reflection.kt:116:40:116:44 | invoke | reflection.kt:116:40:116:44 | new (...) | . |
| reflection.kt:116:40:116:44 | ...::... | reflection.kt:116:40:116:44 | new Function1<Integer,Unit>(...) { ... } | reflection.kt:116:40:116:44 | invoke | reflection.kt:116:40:116:44 | fn1(...) | LocalFn$.fn1 |
| reflection.kt:116:40:116:44 | ...::... | reflection.kt:116:40:116:44 | new Function1<Integer,Unit>(...) { ... } | reflection.kt:116:40:116:44 | invoke | reflection.kt:116:40:116:44 | new (...) | LocalFn$. |
| reflection.kt:126:9:126:13 | ...::... | reflection.kt:126:9:126:13 | new Function0<Unit>(...) { ... } | reflection.kt:126:9:126:13 | invoke | reflection.kt:126:9:126:13 | fn1(...) | ReflectionKt.fn1 |
fieldAccessInsideInvocationMethods
| reflection.kt:14:38:14:44 | ...::... | reflection.kt:14:38:14:44 | new Function1<C,Integer>(...) { ... } | reflection.kt:14:38:14:44 | invoke | reflection.kt:14:38:14:44 | this.<dispatchReceiver> |

View File

@@ -1,14 +1,14 @@
| Test.java:24:26:24:51 | ...::... | Inner<>.Inner<> | Test$Generic$Inner.class:0:0:0:0 | Inner<> |
| Test.java:38:29:38:42 | ...::... | Object.toString | Test.java:1:7:1:10 | Test |
| Test.java:39:29:39:42 | ...::... | Object.hashCode | Test.java:1:7:1:10 | Test |
| Test.java:40:29:40:39 | ...::... | Object.clone | Test.java:1:7:1:10 | Test |
| Test.java:41:40:41:64 | ...::... | Object.toString | Test$Generic.class:0:0:0:0 | Generic<String> |
| Test.java:43:23:43:36 | ...::... | Object.toString | Test.java:1:7:1:10 | Test |
| Test.java:44:23:44:36 | ...::... | Object.hashCode | Test.java:1:7:1:10 | Test |
| Test.java:45:23:45:33 | ...::... | Object.clone | Test.java:1:7:1:10 | Test |
| Test.java:48:22:48:35 | ...::... | Object.toString | Test.java:1:7:1:10 | Test |
| Test.java:24:26:24:51 | ...::... | Test$Generic<Number>$Inner<>.Inner<> | Test$Generic$Inner.class:0:0:0:0 | Inner<> |
| Test.java:38:29:38:42 | ...::... | java.lang.Object.toString | Test.java:1:7:1:10 | Test |
| Test.java:39:29:39:42 | ...::... | java.lang.Object.hashCode | Test.java:1:7:1:10 | Test |
| Test.java:40:29:40:39 | ...::... | java.lang.Object.clone | Test.java:1:7:1:10 | Test |
| Test.java:41:40:41:64 | ...::... | java.lang.Object.toString | Test$Generic.class:0:0:0:0 | Generic<String> |
| Test.java:43:23:43:36 | ...::... | java.lang.Object.toString | Test.java:1:7:1:10 | Test |
| Test.java:44:23:44:36 | ...::... | java.lang.Object.hashCode | Test.java:1:7:1:10 | Test |
| Test.java:45:23:45:33 | ...::... | java.lang.Object.clone | Test.java:1:7:1:10 | Test |
| Test.java:48:22:48:35 | ...::... | java.lang.Object.toString | Test.java:1:7:1:10 | Test |
| Test.java:51:13:51:21 | ...::... | Test.Test | Test.java:1:7:1:10 | Test |
| Test.java:52:13:52:32 | ...::... | Generic<String>.Generic<String> | Test$Generic.class:0:0:0:0 | Generic<String> |
| Test.java:52:13:52:32 | ...::... | Test$Generic<String>.Generic<String> | Test$Generic.class:0:0:0:0 | Generic<String> |
| Test.java:56:13:56:22 | ...::... | | file://:0:0:0:0 | int[] |
| Test.java:57:13:57:26 | ...::... | | file://:0:0:0:0 | Generic<>[] |
| Test.java:61:31:61:47 | ...::... | Test.doSomething | Test.java:1:7:1:10 | Test |

View File

@@ -1,27 +1,27 @@
| play.mvc.Http$RequestHeader | RequestHeader.acceptLanguages |
| play.mvc.Http$RequestHeader | RequestHeader.accepts |
| play.mvc.Http$RequestHeader | RequestHeader.addAttr |
| play.mvc.Http$RequestHeader | RequestHeader.attrs |
| play.mvc.Http$RequestHeader | RequestHeader.charset |
| play.mvc.Http$RequestHeader | RequestHeader.clientCertificateChain |
| play.mvc.Http$RequestHeader | RequestHeader.contentType |
| play.mvc.Http$RequestHeader | RequestHeader.cookie |
| play.mvc.Http$RequestHeader | RequestHeader.cookies |
| play.mvc.Http$RequestHeader | RequestHeader.getHeader |
| play.mvc.Http$RequestHeader | RequestHeader.getHeaders |
| play.mvc.Http$RequestHeader | RequestHeader.getQueryString |
| play.mvc.Http$RequestHeader | RequestHeader.hasBody |
| play.mvc.Http$RequestHeader | RequestHeader.hasHeader |
| play.mvc.Http$RequestHeader | RequestHeader.header |
| play.mvc.Http$RequestHeader | RequestHeader.headers |
| play.mvc.Http$RequestHeader | RequestHeader.host |
| play.mvc.Http$RequestHeader | RequestHeader.method |
| play.mvc.Http$RequestHeader | RequestHeader.path |
| play.mvc.Http$RequestHeader | RequestHeader.queryString |
| play.mvc.Http$RequestHeader | RequestHeader.remoteAddress |
| play.mvc.Http$RequestHeader | RequestHeader.secure |
| play.mvc.Http$RequestHeader | RequestHeader.tags |
| play.mvc.Http$RequestHeader | RequestHeader.uri |
| play.mvc.Http$RequestHeader | RequestHeader.version |
| play.mvc.Http$RequestHeader | RequestHeader.withAttrs |
| play.mvc.Http$RequestHeader | RequestHeader.withBody |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.acceptLanguages |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.accepts |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.addAttr |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.attrs |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.charset |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.clientCertificateChain |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.contentType |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.cookie |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.cookies |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.getHeader |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.getHeaders |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.getQueryString |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.hasBody |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.hasHeader |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.header |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.headers |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.host |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.method |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.path |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.queryString |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.remoteAddress |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.secure |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.tags |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.uri |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.version |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.withAttrs |
| play.mvc.Http$RequestHeader | play.mvc.Http$RequestHeader.withBody |

View File

@@ -1,19 +1,19 @@
| play.mvc.Results | Results.<clinit> |
| play.mvc.Results | Results.badRequest |
| play.mvc.Results | Results.created |
| play.mvc.Results | Results.forbidden |
| play.mvc.Results | Results.found |
| play.mvc.Results | Results.internalServerError |
| play.mvc.Results | Results.movedPermanently |
| play.mvc.Results | Results.noContent |
| play.mvc.Results | Results.notAcceptable |
| play.mvc.Results | Results.notFound |
| play.mvc.Results | Results.ok |
| play.mvc.Results | Results.paymentRequired |
| play.mvc.Results | Results.permanentRedirect |
| play.mvc.Results | Results.redirect |
| play.mvc.Results | Results.seeOther |
| play.mvc.Results | Results.status |
| play.mvc.Results | Results.temporaryRedirect |
| play.mvc.Results | Results.unauthorized |
| play.mvc.Results | Results.unsupportedMediaType |
| play.mvc.Results | play.mvc.Results.<clinit> |
| play.mvc.Results | play.mvc.Results.badRequest |
| play.mvc.Results | play.mvc.Results.created |
| play.mvc.Results | play.mvc.Results.forbidden |
| play.mvc.Results | play.mvc.Results.found |
| play.mvc.Results | play.mvc.Results.internalServerError |
| play.mvc.Results | play.mvc.Results.movedPermanently |
| play.mvc.Results | play.mvc.Results.noContent |
| play.mvc.Results | play.mvc.Results.notAcceptable |
| play.mvc.Results | play.mvc.Results.notFound |
| play.mvc.Results | play.mvc.Results.ok |
| play.mvc.Results | play.mvc.Results.paymentRequired |
| play.mvc.Results | play.mvc.Results.permanentRedirect |
| play.mvc.Results | play.mvc.Results.redirect |
| play.mvc.Results | play.mvc.Results.seeOther |
| play.mvc.Results | play.mvc.Results.status |
| play.mvc.Results | play.mvc.Results.temporaryRedirect |
| play.mvc.Results | play.mvc.Results.unauthorized |
| play.mvc.Results | play.mvc.Results.unsupportedMediaType |