Merge branch 'main' into patch-1

This commit is contained in:
Brandon Stewart
2022-06-27 16:07:15 -04:00
committed by GitHub
5 changed files with 145 additions and 1 deletions

View File

@@ -881,6 +881,9 @@ open class KotlinFileExtractor(
val getterId = extractFunction(getter, parentId, extractBody = extractFunctionBodies, extractMethodAndParameterTypeAccesses = extractFunctionBodies, typeSubstitution, classTypeArgsIncludingOuterClasses)?.cast<DbMethod>()
if (getterId != null) {
tw.writeKtPropertyGetters(id, getterId)
if (getter.origin == IrDeclarationOrigin.DELEGATED_PROPERTY_ACCESSOR) {
tw.writeCompiler_generated(getterId, CompilerGeneratedKinds.DELEGATED_PROPERTY_GETTER.kind)
}
}
} else {
if (p.modality != Modality.FINAL || !isExternalDeclaration(p)) {
@@ -895,6 +898,9 @@ open class KotlinFileExtractor(
val setterId = extractFunction(setter, parentId, extractBody = extractFunctionBodies, extractMethodAndParameterTypeAccesses = extractFunctionBodies, typeSubstitution, classTypeArgsIncludingOuterClasses)?.cast<DbMethod>()
if (setterId != null) {
tw.writeKtPropertySetters(id, setterId)
if (setter.origin == IrDeclarationOrigin.DELEGATED_PROPERTY_ACCESSOR) {
tw.writeCompiler_generated(setterId, CompilerGeneratedKinds.DELEGATED_PROPERTY_SETTER.kind)
}
}
} else {
if (p.isVar && !isExternalDeclaration(p)) {
@@ -4383,6 +4389,8 @@ open class KotlinFileExtractor(
GENERATED_DATA_CLASS_MEMBER(2),
DEFAULT_PROPERTY_ACCESSOR(3),
CLASS_INITIALISATION_METHOD(4),
ENUM_CLASS_SPECIAL_MEMBER(5)
ENUM_CLASS_SPECIAL_MEMBER(5),
DELEGATED_PROPERTY_GETTER(6),
DELEGATED_PROPERTY_SETTER(7),
}
}

View File

@@ -0,0 +1,12 @@
import kotlin.properties.Delegates
class MyClass {
val lazyProp by lazy {
5
}
var observableProp: String by Delegates.observable("<none>") {
prop, old, new ->
println("Was $old, now $new")
}
}

View File

@@ -104,6 +104,97 @@
| dataClass.kt:1:34:1:46 | this.y | VarAccess |
| dataClass.kt:1:34:1:46 | y | VarAccess |
| dataClass.kt:1:34:1:46 | y | VarAccess |
| delegates.kt:1:9:1:12 | this | ThisAccess |
| delegates.kt:1:9:1:12 | this | ThisAccess |
| delegates.kt:1:9:1:12 | this | ThisAccess |
| delegates.kt:4:18:6:5 | ...::... | PropertyRefExpr |
| delegates.kt:4:18:6:5 | ...=... | KtInitializerAssignExpr |
| delegates.kt:4:18:6:5 | Integer | TypeAccess |
| delegates.kt:4:18:6:5 | Integer | TypeAccess |
| delegates.kt:4:18:6:5 | KProperty1<MyClass,Integer> | TypeAccess |
| delegates.kt:4:18:6:5 | Lazy<Integer> | TypeAccess |
| delegates.kt:4:18:6:5 | MyClass | TypeAccess |
| delegates.kt:4:18:6:5 | a0 | VarAccess |
| delegates.kt:4:18:6:5 | a0 | VarAccess |
| delegates.kt:4:18:6:5 | get(...) | MethodAccess |
| delegates.kt:4:18:6:5 | getLazyProp(...) | MethodAccess |
| delegates.kt:4:18:6:5 | int | TypeAccess |
| delegates.kt:4:18:6:5 | lazyProp$delegate | VarAccess |
| delegates.kt:4:18:6:5 | this | ThisAccess |
| delegates.kt:4:18:6:5 | this | ThisAccess |
| delegates.kt:4:18:6:5 | this.lazyProp$delegate | VarAccess |
| delegates.kt:4:21:6:5 | Integer | TypeAccess |
| delegates.kt:4:21:6:5 | Integer | TypeAccess |
| delegates.kt:4:21:6:5 | LazyKt | TypeAccess |
| delegates.kt:4:21:6:5 | LazyKt | TypeAccess |
| delegates.kt:4:21:6:5 | getValue(...) | MethodAccess |
| delegates.kt:4:21:6:5 | lazy(...) | MethodAccess |
| delegates.kt:4:26:6:5 | ...->... | LambdaExpr |
| delegates.kt:4:26:6:5 | Function0<Integer> | TypeAccess |
| delegates.kt:4:26:6:5 | Integer | TypeAccess |
| delegates.kt:4:26:6:5 | int | TypeAccess |
| delegates.kt:5:9:5:9 | 5 | IntegerLiteral |
| delegates.kt:8:32:11:5 | ...::... | PropertyRefExpr |
| delegates.kt:8:32:11:5 | ...::... | PropertyRefExpr |
| delegates.kt:8:32:11:5 | ...=... | KtInitializerAssignExpr |
| delegates.kt:8:32:11:5 | KMutableProperty1<MyClass,String> | TypeAccess |
| delegates.kt:8:32:11:5 | KMutableProperty1<MyClass,String> | TypeAccess |
| delegates.kt:8:32:11:5 | MyClass | TypeAccess |
| delegates.kt:8:32:11:5 | MyClass | TypeAccess |
| delegates.kt:8:32:11:5 | Object | TypeAccess |
| delegates.kt:8:32:11:5 | ReadWriteProperty<Object,String> | TypeAccess |
| delegates.kt:8:32:11:5 | String | TypeAccess |
| delegates.kt:8:32:11:5 | String | TypeAccess |
| delegates.kt:8:32:11:5 | String | TypeAccess |
| delegates.kt:8:32:11:5 | String | TypeAccess |
| delegates.kt:8:32:11:5 | String | TypeAccess |
| delegates.kt:8:32:11:5 | Unit | TypeAccess |
| delegates.kt:8:32:11:5 | a0 | VarAccess |
| delegates.kt:8:32:11:5 | a0 | VarAccess |
| delegates.kt:8:32:11:5 | a0 | VarAccess |
| delegates.kt:8:32:11:5 | a0 | VarAccess |
| delegates.kt:8:32:11:5 | a0 | VarAccess |
| delegates.kt:8:32:11:5 | a0 | VarAccess |
| delegates.kt:8:32:11:5 | a1 | VarAccess |
| delegates.kt:8:32:11:5 | a1 | VarAccess |
| delegates.kt:8:32:11:5 | get(...) | MethodAccess |
| delegates.kt:8:32:11:5 | get(...) | MethodAccess |
| delegates.kt:8:32:11:5 | getObservableProp(...) | MethodAccess |
| delegates.kt:8:32:11:5 | getObservableProp(...) | MethodAccess |
| delegates.kt:8:32:11:5 | observableProp$delegate | VarAccess |
| delegates.kt:8:32:11:5 | setObservableProp(...) | MethodAccess |
| delegates.kt:8:32:11:5 | setObservableProp(...) | MethodAccess |
| delegates.kt:8:32:11:5 | this | ThisAccess |
| delegates.kt:8:32:11:5 | this | ThisAccess |
| delegates.kt:8:32:11:5 | this | ThisAccess |
| delegates.kt:8:32:11:5 | this | ThisAccess |
| delegates.kt:8:32:11:5 | this.observableProp$delegate | VarAccess |
| delegates.kt:8:32:11:5 | this.observableProp$delegate | VarAccess |
| delegates.kt:8:35:8:43 | INSTANCE | VarAccess |
| delegates.kt:8:35:11:5 | <set-?> | VarAccess |
| delegates.kt:8:35:11:5 | getValue(...) | MethodAccess |
| delegates.kt:8:35:11:5 | setValue(...) | MethodAccess |
| delegates.kt:8:45:11:5 | String | TypeAccess |
| delegates.kt:8:45:11:5 | observable(...) | MethodAccess |
| delegates.kt:8:57:8:62 | <none> | StringLiteral |
| delegates.kt:8:66:11:5 | ...->... | LambdaExpr |
| delegates.kt:8:66:11:5 | Function3<KProperty<?>,String,String,Unit> | TypeAccess |
| delegates.kt:8:66:11:5 | KProperty<?> | TypeAccess |
| delegates.kt:8:66:11:5 | String | TypeAccess |
| delegates.kt:8:66:11:5 | String | TypeAccess |
| delegates.kt:8:66:11:5 | Unit | TypeAccess |
| delegates.kt:8:66:11:5 | Unit | TypeAccess |
| delegates.kt:9:9:9:12 | ? ... | WildcardTypeAccess |
| delegates.kt:9:9:9:12 | KProperty<?> | TypeAccess |
| delegates.kt:9:15:9:17 | String | TypeAccess |
| delegates.kt:9:20:9:22 | String | TypeAccess |
| delegates.kt:10:9:10:37 | ConsoleKt | TypeAccess |
| delegates.kt:10:9:10:37 | println(...) | MethodAccess |
| delegates.kt:10:17:10:36 | "..." | StringTemplateExpr |
| delegates.kt:10:18:10:21 | Was | StringLiteral |
| delegates.kt:10:23:10:25 | old | VarAccess |
| delegates.kt:10:26:10:31 | , now | StringLiteral |
| delegates.kt:10:33:10:35 | new | VarAccess |
| enumClass.kt:0:0:0:0 | EnumClass | TypeAccess |
| enumClass.kt:0:0:0:0 | EnumClass | TypeAccess |
| enumClass.kt:0:0:0:0 | EnumClass[] | TypeAccess |

View File

@@ -11,6 +11,19 @@ methods
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:22:1:31 | getX | getX() | public | Compiler generated |
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:34:1:46 | getY | getY() | public | Compiler generated |
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:34:1:46 | setY | setY(java.lang.String) | public | Compiler generated |
| delegates.kt:3:1:12:1 | MyClass | delegates.kt:4:18:6:5 | getLazyProp | getLazyProp() | public | Compiler generated |
| delegates.kt:3:1:12:1 | MyClass | delegates.kt:8:32:11:5 | getObservableProp | getObservableProp() | public | Compiler generated |
| delegates.kt:3:1:12:1 | MyClass | delegates.kt:8:32:11:5 | setObservableProp | setObservableProp(java.lang.String) | public | Compiler generated |
| delegates.kt:4:18:6:5 | new KProperty1<MyClass,Integer>(...) { ... } | delegates.kt:4:18:6:5 | get | get(MyClass) | override, public | |
| delegates.kt:4:18:6:5 | new KProperty1<MyClass,Integer>(...) { ... } | delegates.kt:4:18:6:5 | invoke | invoke(MyClass) | override, public | |
| delegates.kt:4:26:6:5 | new Function0<Integer>(...) { ... } | delegates.kt:4:26:6:5 | invoke | invoke() | override, public | |
| delegates.kt:8:32:11:5 | new KMutableProperty1<MyClass,String>(...) { ... } | delegates.kt:8:32:11:5 | get | get(MyClass) | override, public | |
| delegates.kt:8:32:11:5 | new KMutableProperty1<MyClass,String>(...) { ... } | delegates.kt:8:32:11:5 | get | get(MyClass) | override, public | |
| delegates.kt:8:32:11:5 | new KMutableProperty1<MyClass,String>(...) { ... } | delegates.kt:8:32:11:5 | invoke | invoke(MyClass) | override, public | |
| delegates.kt:8:32:11:5 | new KMutableProperty1<MyClass,String>(...) { ... } | delegates.kt:8:32:11:5 | invoke | invoke(MyClass) | override, public | |
| delegates.kt:8:32:11:5 | new KMutableProperty1<MyClass,String>(...) { ... } | delegates.kt:8:32:11:5 | set | set(MyClass,java.lang.String) | override, public | |
| delegates.kt:8:32:11:5 | new KMutableProperty1<MyClass,String>(...) { ... } | delegates.kt:8:32:11:5 | set | set(MyClass,java.lang.String) | override, public | |
| delegates.kt:8:66:11:5 | new Function3<KProperty<?>,String,String,Unit>(...) { ... } | delegates.kt:8:66:11:5 | invoke | invoke(kotlin.reflect.KProperty,java.lang.String,java.lang.String) | override, public | |
| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:0:0:0:0 | <clinit> | <clinit>() | | Compiler generated |
| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:0:0:0:0 | valueOf | valueOf(java.lang.String) | public, static | Compiler generated |
| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:0:0:0:0 | values | values() | public, static | Compiler generated |
@@ -33,6 +46,12 @@ methods
| methods.kt:5:1:19:1 | Class | methods.kt:18:5:18:36 | noExplicitVisibilityFun | noExplicitVisibilityFun() | public | |
constructors
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:6:1:47 | DataClass | DataClass(int,java.lang.String) |
| delegates.kt:3:1:12:1 | MyClass | delegates.kt:3:1:12:1 | MyClass | MyClass() |
| delegates.kt:4:18:6:5 | new KProperty1<MyClass,Integer>(...) { ... } | delegates.kt:4:18:6:5 | | |
| delegates.kt:4:26:6:5 | new Function0<Integer>(...) { ... } | delegates.kt:4:26:6:5 | | |
| delegates.kt:8:32:11:5 | new KMutableProperty1<MyClass,String>(...) { ... } | delegates.kt:8:32:11:5 | | |
| delegates.kt:8:32:11:5 | new KMutableProperty1<MyClass,String>(...) { ... } | delegates.kt:8:32:11:5 | | |
| delegates.kt:8:66:11:5 | new Function3<KProperty<?>,String,String,Unit>(...) { ... } | delegates.kt:8:66:11:5 | | |
| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:1:6:4:1 | EnumClass | EnumClass(int) |
| methods2.kt:7:1:10:1 | Class2 | methods2.kt:7:1:10:1 | Class2 | Class2() |
| methods3.kt:5:1:7:1 | Class3 | methods3.kt:5:1:7:1 | Class3 | Class3() |

View File

@@ -3,6 +3,20 @@
| dataClass.kt:0:0:0:0 | copy | dataClass.kt:1:34:1:46 | y | 1 |
| dataClass.kt:0:0:0:0 | equals | dataClass.kt:0:0:0:0 | other | 0 |
| dataClass.kt:1:34:1:46 | setY | dataClass.kt:1:34:1:46 | <set-?> | 0 |
| delegates.kt:4:18:6:5 | get | delegates.kt:4:18:6:5 | a0 | 0 |
| delegates.kt:4:18:6:5 | invoke | delegates.kt:4:18:6:5 | a0 | 0 |
| delegates.kt:8:32:11:5 | get | delegates.kt:8:32:11:5 | a0 | 0 |
| delegates.kt:8:32:11:5 | get | delegates.kt:8:32:11:5 | a0 | 0 |
| delegates.kt:8:32:11:5 | invoke | delegates.kt:8:32:11:5 | a0 | 0 |
| delegates.kt:8:32:11:5 | invoke | delegates.kt:8:32:11:5 | a0 | 0 |
| delegates.kt:8:32:11:5 | set | delegates.kt:8:32:11:5 | a0 | 0 |
| delegates.kt:8:32:11:5 | set | delegates.kt:8:32:11:5 | a0 | 0 |
| delegates.kt:8:32:11:5 | set | delegates.kt:8:32:11:5 | a1 | 1 |
| delegates.kt:8:32:11:5 | set | delegates.kt:8:32:11:5 | a1 | 1 |
| delegates.kt:8:32:11:5 | setObservableProp | delegates.kt:8:32:11:5 | <set-?> | 0 |
| delegates.kt:8:66:11:5 | invoke | delegates.kt:9:9:9:12 | prop | 0 |
| delegates.kt:8:66:11:5 | invoke | delegates.kt:9:15:9:17 | old | 1 |
| delegates.kt:8:66:11:5 | invoke | delegates.kt:9:20:9:22 | new | 2 |
| enumClass.kt:0:0:0:0 | valueOf | enumClass.kt:0:0:0:0 | value | 0 |
| methods2.kt:4:1:5:1 | fooBarTopLevelMethod | methods2.kt:4:26:4:31 | x | 0 |
| methods2.kt:4:1:5:1 | fooBarTopLevelMethod | methods2.kt:4:34:4:39 | y | 1 |