FIR: implement Java fields (in provider, type enhancement, scopes)

Related to KT-29218
This commit is contained in:
Mikhail Glukhikh
2019-02-27 18:15:51 +03:00
parent 4255c9f774
commit e7ac88d326
24 changed files with 274 additions and 27 deletions
@@ -1,2 +1,8 @@
public final class ClassWithConstVal : R|java/lang/Object| {
public final property f(val): R|kotlin/Int|
public get(): R|kotlin/Int|
public final property f2(val): R|kotlin/Int|
public get(): R|kotlin/Int|
}
@@ -1,2 +1,6 @@
public final class FieldAsVar : R|java/lang/Object| {
public open property f(var): R|kotlin/Int|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): kotlin/Unit
}
@@ -1,2 +1,6 @@
public open class FieldOfArrayType : R|java/lang/Object| {
public open property files(var): R|kotlin/Array<ft<java/io/File, java/io/File?>>|
public get(): R|kotlin/Array<ft<java/io/File, java/io/File?>>|
public set(value: R|kotlin/Array<ft<java/io/File, java/io/File?>>|): kotlin/Unit
}
@@ -1,2 +1,5 @@
public final class FinalFieldAsVal : R|java/lang/Object| {
public final property f(val): R|kotlin/Int|
public get(): R|kotlin/Int|
}
@@ -1,4 +1,12 @@
public open class Frame : R|java/lang/Object| {
public/*package*/ open property accessibleContext(var): R|ft<java/lang/String, java/lang/String?>|!
public/*package*/ get(): R|ft<java/lang/String, java/lang/String?>|!
public/*package*/ set(value: R|ft<java/lang/String, java/lang/String?>|!): kotlin/Unit
}
public open class JFrame : R|awt/Frame| {
protected/*protected and package*/ open property accessibleContext(var): R|ft<java/lang/String, java/lang/String?>|!
protected/*protected and package*/ get(): R|ft<java/lang/String, java/lang/String?>|!
protected/*protected and package*/ set(value: R|ft<java/lang/String, java/lang/String?>|!): kotlin/Unit
}
@@ -1,4 +1,8 @@
public open class PrivateMembers : R|java/lang/Object| {
private open property field(var): R|kotlin/Int|
private get(): R|kotlin/Int|
private set(value: R|kotlin/Int|): kotlin/Unit
private open operator function method(): R|kotlin/Unit|
}
@@ -1,2 +1,10 @@
public final class TwoFields : R|java/lang/Object| {
public open property a(var): R|kotlin/Int|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): kotlin/Unit
public open property b(var): R|kotlin/Short|
public get(): R|kotlin/Short|
public set(value: R|kotlin/Short|): kotlin/Unit
}
@@ -1,2 +1,5 @@
public open class AnnotatedField : R|java/lang/Object| {
@R|test/AnnotatedField.Anno|(String(member)) public final property y(val): R|kotlin/Int|
public get(): R|kotlin/Int|
}
@@ -1,4 +1,7 @@
public final enum class EnumMembers : R|java/lang/Enum<test/EnumMembers>| {
public final property isFirst(val): R|kotlin/Boolean|
public get(): R|kotlin/Boolean|
public open operator function first(): R|kotlin/Boolean|
}
@@ -1,2 +1,14 @@
<T> public open class PropertyArrayTypes : R|java/lang/Object| {
public open property arrayOfArrays(var): R|kotlin/Array<ft<kotlin/Array<ft<java/lang/String, java/lang/String?>>, kotlin/Array<ft<java/lang/String, java/lang/String?>>?>>|
public get(): R|kotlin/Array<ft<kotlin/Array<ft<java/lang/String, java/lang/String?>>, kotlin/Array<ft<java/lang/String, java/lang/String?>>?>>|
public set(value: R|kotlin/Array<ft<kotlin/Array<ft<java/lang/String, java/lang/String?>>, kotlin/Array<ft<java/lang/String, java/lang/String?>>?>>|): kotlin/Unit
public open property array(var): R|kotlin/Array<ft<java/lang/String, java/lang/String?>>|
public get(): R|kotlin/Array<ft<java/lang/String, java/lang/String?>>|
public set(value: R|kotlin/Array<ft<java/lang/String, java/lang/String?>>|): kotlin/Unit
public open property genericArray(var): R|kotlin/Array<ft<T, T?>>|
public get(): R|kotlin/Array<ft<T, T?>>|
public set(value: R|kotlin/Array<ft<T, T?>>|): kotlin/Unit
}
@@ -1,2 +1,18 @@
<T> public open class PropertyComplexTypes : R|java/lang/Object| {
public open property genericType(var): R|ft<T, T?>|!
public get(): R|ft<T, T?>|!
public set(value: R|ft<T, T?>|!): kotlin/Unit
public open property listDefinedGeneric(var): R|ft<java/util/ArrayList<ft<java/lang/String, java/lang/String?>>, java/util/ArrayList<ft<java/lang/String, java/lang/String?>>>|
public get(): R|ft<java/util/ArrayList<ft<java/lang/String, java/lang/String?>>, java/util/ArrayList<ft<java/lang/String, java/lang/String?>>>|
public set(value: R|ft<java/util/ArrayList<ft<java/lang/String, java/lang/String?>>, java/util/ArrayList<ft<java/lang/String, java/lang/String?>>>|): kotlin/Unit
public open property listGeneric(var): R|ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>>|
public get(): R|ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>>|
public set(value: R|ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>>|): kotlin/Unit
public open property listOfGenericList(var): R|ft<java/util/ArrayList<ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>>>, java/util/ArrayList<ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>>>>|
public get(): R|ft<java/util/ArrayList<ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>>>, java/util/ArrayList<ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>>>>|
public set(value: R|ft<java/util/ArrayList<ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>>>, java/util/ArrayList<ft<java/util/ArrayList<ft<T, T?>>, java/util/ArrayList<ft<T, T?>>>>>|): kotlin/Unit
}
@@ -1,2 +1,10 @@
public open class PropertySimpleType : R|java/lang/Object| {
public open property fieldOne(var): R|ft<java/lang/String, java/lang/String?>|!
public get(): R|ft<java/lang/String, java/lang/String?>|!
public set(value: R|ft<java/lang/String, java/lang/String?>|!): kotlin/Unit
public open property fieldTwo(var): R|ft<java/lang/String, java/lang/String?>|!
public get(): R|ft<java/lang/String, java/lang/String?>|!
public set(value: R|ft<java/lang/String, java/lang/String?>|!): kotlin/Unit
}
@@ -1,2 +1,6 @@
public open class NotNullField : R|java/lang/Object| {
@R|org/jetbrains/annotations/NotNull|() public open property hi(var): R|ft<java/lang/String, java/lang/String>|
public get(): R|ft<java/lang/String, java/lang/String>|
public set(value: R|ft<java/lang/String, java/lang/String>|): kotlin/Unit
}
@@ -1,2 +1,6 @@
public open class ProtectedPackageProperty : R|java/lang/Object| {
protected/*protected and package*/ open property foo(var): R|kotlin/Int|
protected/*protected and package*/ get(): R|kotlin/Int|
protected/*protected and package*/ set(value: R|kotlin/Int|): kotlin/Unit
}