Stub updates for RawFirBuilder

First step for KT-52615
This commit is contained in:
Egor Kulikov
2022-11-18 11:39:33 +01:00
parent becbc06663
commit 877e11419e
60 changed files with 380 additions and 144 deletions
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/AnnotatedFlexibleTypes, fqName=test.AnnotatedFlexibleTypes, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=AnnotatedFlexibleTypes, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=AnnotatedFlexibleTypes]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=javaClass]
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/AnnotatedParameterInEnumConstructor, fqName=test.AnnotatedParameterInEnumConstructor, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=AnnotatedParameterInEnumConstructor, superNames=[Enum]]
MODIFIER_LIST[enum public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=AnnotatedParameterInEnumConstructor]
MODIFIER_LIST[private]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
@@ -4,13 +4,13 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/AnnotatedParameterInInnerClassConstructor, fqName=test.AnnotatedParameterInInnerClassConstructor, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=AnnotatedParameterInInnerClassConstructor, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=AnnotatedParameterInInnerClassConstructor]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
CLASS[classId=test/AnnotatedParameterInInnerClassConstructor.Inner, fqName=test.AnnotatedParameterInInnerClassConstructor.Inner, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Inner, superNames=[]]
MODIFIER_LIST[inner public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Inner]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
@@ -46,7 +46,7 @@ PsiJetFileStubImpl[package=test]
MODIFIER_LIST[inner public final]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=InnerGeneric]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
@@ -6,7 +6,7 @@ PsiJetFileStubImpl[package=test.a]
IMPORT_LIST
CLASS[classId=test/a/AnnotationClass, fqName=test.a.AnnotationClass, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=AnnotationClass, superNames=[Annotation]]
MODIFIER_LIST[public final annotation]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=AnnotationClass]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=i]
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/AnnotationValues, fqName=test.AnnotationValues, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=AnnotationValues, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=AnnotationValues]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -17,7 +17,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=test]
REFERENCE_EXPRESSION[referencedName=Arrays]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=WithArrays]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -32,7 +32,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION[referencedName=ClassLiteral]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=WithClassLiteral]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -45,7 +45,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=test]
REFERENCE_EXPRESSION[referencedName=EnumLiteral]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=WithEnumLiteral]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -58,7 +58,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=test]
REFERENCE_EXPRESSION[referencedName=Outer]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=WithNested]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -71,7 +71,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=test]
REFERENCE_EXPRESSION[referencedName=Simple]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=WithSimple]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -84,7 +84,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=test]
REFERENCE_EXPRESSION[referencedName=StringLiteral]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=WithStringLiteral]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -97,7 +97,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=test]
REFERENCE_EXPRESSION[referencedName=VarArg]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=WithVarArg]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -8,7 +8,7 @@ PsiJetFileStubImpl[package=]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=a]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Annotations]
MODIFIER_LIST[private]
ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
CONSTRUCTOR_CALLEE
@@ -307,7 +307,7 @@ PsiJetFileStubImpl[package=]
REFERENCE_EXPRESSION[referencedName=Unit]
CLASS[classId=/Annotations.ClassWithConstructor, fqName=Annotations.ClassWithConstructor, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=ClassWithConstructor, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=ClassWithConstructor]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=b]
@@ -332,7 +332,7 @@ PsiJetFileStubImpl[package=]
REFERENCE_EXPRESSION[referencedName=Int]
CLASS[classId=/Annotations.En, fqName=Annotations.En, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=En, superNames=[Enum]]
MODIFIER_LIST[enum public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=En]
MODIFIER_LIST[private]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -372,7 +372,7 @@ PsiJetFileStubImpl[package=]
REFERENCE_EXPRESSION[referencedName=c]
CLASS[classId=/Annotations.Nested, fqName=Annotations.Nested, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Nested, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Nested]
MODIFIER_LIST[private]
ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
CONSTRUCTOR_CALLEE
@@ -3,7 +3,7 @@ PsiJetFileStubImpl[package=]
IMPORT_LIST
CLASS[classId=/AnnotationsOnNullableTypes, fqName=AnnotationsOnNullableTypes, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=AnnotationsOnNullableTypes, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=AnnotationsOnNullableTypes]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -3,7 +3,7 @@ PsiJetFileStubImpl[package=]
IMPORT_LIST
CLASS[classId=/AnnotationsOnParenthesizedTypes, fqName=AnnotationsOnParenthesizedTypes, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=AnnotationsOnParenthesizedTypes, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=AnnotationsOnParenthesizedTypes]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -5,7 +5,7 @@ PsiJetFileStubImpl[package=]
MODIFIER_LIST[public final]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=AnonymousReturnWithGenericType]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/ClassMembers, fqName=test.ClassMembers, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=ClassMembers, superNames=[]]
MODIFIER_LIST[abstract public]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=ClassMembers]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p]
@@ -6,7 +6,7 @@ PsiJetFileStubImpl[package=test.class_object]
IMPORT_LIST
CLASS[classId=test/class_object/ClassObject, fqName=test.class_object.ClassObject, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=ClassObject, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=ClassObject]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -30,13 +30,13 @@ PsiJetFileStubImpl[package=test.class_object]
REFERENCE_EXPRESSION[referencedName=Int]
CLASS[classId=test/class_object/ClassObject.Companion.A, fqName=test.class_object.ClassObject.Companion.A, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=A, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=A]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
CLASS[classId=test/class_object/ClassObject.Companion.A.B, fqName=test.class_object.ClassObject.Companion.A.B, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=B, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=B]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -72,7 +72,7 @@ PsiJetFileStubImpl[package=test.class_object]
REFERENCE_EXPRESSION[referencedName=Unit]
CLASS[classId=test/class_object/ClassObject.B, fqName=test.class_object.ClassObject.B, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=B, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=B]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -81,7 +81,7 @@ PsiJetFileStubImpl[package=test.class_object]
CLASS_BODY
CLASS[classId=test/class_object/ClassObject.B.Companion.C, fqName=test.class_object.ClassObject.B.Companion.C, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=C, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=C]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -90,7 +90,7 @@ PsiJetFileStubImpl[package=test.class_object]
CLASS_BODY
CLASS[classId=test/class_object/ClassObject.B.Companion.C.Companion.D, fqName=test.class_object.ClassObject.B.Companion.C.Companion.D, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=D, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=D]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -114,7 +114,7 @@ PsiJetFileStubImpl[package=test.class_object]
REFERENCE_EXPRESSION[referencedName=Unit]
CLASS[classId=test/class_object/ClassObject.B.Companion.C.Companion.D.Companion.Anno, fqName=test.class_object.ClassObject.B.Companion.C.Companion.D.Companion.Anno, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Anno, superNames=[Annotation]]
MODIFIER_LIST[public final annotation]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Anno]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -127,7 +127,7 @@ PsiJetFileStubImpl[package=test.class_object]
CLASS_BODY
CLASS[classId=test/class_object/ClassObject.B.Companion.C.Companion.D.Companion.En, fqName=test.class_object.ClassObject.B.Companion.C.Companion.D.Companion.En, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=En, superNames=[Enum]]
MODIFIER_LIST[enum public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=En]
MODIFIER_LIST[private]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -3,17 +3,17 @@ PsiJetFileStubImpl[package=]
IMPORT_LIST
CLASS[classId=/ContextReceiversCallableMembers, fqName=ContextReceiversCallableMembers, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=ContextReceiversCallableMembers, superNames=[]]
MODIFIER_LIST[open private]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=ContextReceiversCallableMembers]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
PROPERTY[fqName=ContextReceiversCallableMembers.property, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=true, isTopLevel=false, isVar=false, name=property]
CONTEXT_RECEIVER_LIST
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=A]
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=B]
@@ -30,11 +30,11 @@ PsiJetFileStubImpl[package=]
REFERENCE_EXPRESSION[referencedName=Int]
PROPERTY[fqName=ContextReceiversCallableMembers.propertyWithSetter, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=true, isTopLevel=false, isVar=true, name=propertyWithSetter]
CONTEXT_RECEIVER_LIST
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=A]
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=B]
@@ -51,11 +51,11 @@ PsiJetFileStubImpl[package=]
REFERENCE_EXPRESSION[referencedName=Int]
FUN[fqName=ContextReceiversCallableMembers.function, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=false, mayHaveContract=false, name=function]
CONTEXT_RECEIVER_LIST
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=A]
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=B]
@@ -3,16 +3,16 @@ PsiJetFileStubImpl[package=]
IMPORT_LIST
CLASS[classId=/ContextReceiversOnClass, fqName=ContextReceiversOnClass, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=ContextReceiversOnClass, superNames=[]]
CONTEXT_RECEIVER_LIST
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=A]
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=B]
MODIFIER_LIST[open private]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=ContextReceiversOnClass]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -3,11 +3,11 @@ PsiJetFileStubImpl[package=]
IMPORT_LIST
PROPERTY[fqName=property, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=true, isTopLevel=true, isVar=false, name=property]
CONTEXT_RECEIVER_LIST
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=A]
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=B]
@@ -24,11 +24,11 @@ PsiJetFileStubImpl[package=]
REFERENCE_EXPRESSION[referencedName=Int]
PROPERTY[fqName=propertyWithSetter, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=true, isTopLevel=true, isVar=true, name=propertyWithSetter]
CONTEXT_RECEIVER_LIST
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=A]
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=B]
@@ -45,11 +45,11 @@ PsiJetFileStubImpl[package=]
REFERENCE_EXPRESSION[referencedName=Int]
FUN[fqName=function, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=true, mayHaveContract=false, name=function]
CONTEXT_RECEIVER_LIST
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=A]
CONTEXT_RECEIVER
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=B]
@@ -8,7 +8,7 @@ PsiJetFileStubImpl[package=a.b.c]
IMPORT_LIST
CLASS[classId=a/b/c/DataClass, fqName=a.b.c.DataClass, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=DataClass, superNames=[]]
MODIFIER_LIST[public final data]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=DataClass]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=i]
@@ -5,7 +5,7 @@ PsiJetFileStubImpl[package=]
MODIFIER_LIST[public final]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=DefinitelyNotNullTypes]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
@@ -3,7 +3,7 @@ PsiJetFileStubImpl[package=]
IMPORT_LIST
CLASS[classId=/Delegation, fqName=Delegation, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Delegation, superNames=[T]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Delegation]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=c]
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/DependencyOnNestedClasses, fqName=test.DependencyOnNestedClasses, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=DependencyOnNestedClasses, superNames=[Nested]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=DependencyOnNestedClasses]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -12,7 +12,7 @@ PsiJetFileStubImpl[package=a.b.c.test.enum]
IMPORT_LIST
CLASS[classId=a/b/c/test/enum/Enum, fqName=a.b.c.test.enum.Enum, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Enum, superNames=[Enum]]
MODIFIER_LIST[enum public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Enum]
MODIFIER_LIST[private]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/FlexibleTypes, fqName=test.FlexibleTypes, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=FlexibleTypes, superNames=[]]
MODIFIER_LIST[abstract public]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=FlexibleTypes]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/FunInterfaceDeclaration, fqName=test.FunInterfaceDeclaration, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=FunInterfaceDeclaration, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=FunInterfaceDeclaration]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -4,13 +4,13 @@ PsiJetFileStubImpl[package=a]
IMPORT_LIST
CLASS[classId=a/InheritingClasses, fqName=a.InheritingClasses, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=InheritingClasses, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=InheritingClasses]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
CLASS[classId=a/InheritingClasses.A, fqName=a.InheritingClasses.A, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=A, superNames=[C]]
MODIFIER_LIST[abstract public]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=A]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=c]
@@ -68,7 +68,7 @@ PsiJetFileStubImpl[package=a]
REFERENCE_EXPRESSION[referencedName=Int]
CLASS[classId=a/InheritingClasses.B, fqName=a.InheritingClasses.B, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=B, superNames=[A]]
MODIFIER_LIST[open public]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=B]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -147,7 +147,7 @@ PsiJetFileStubImpl[package=a]
CLASS_BODY
CLASS[classId=a/InheritingClasses.G, fqName=a.InheritingClasses.G, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=G, superNames=[B, C, D, E]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=G]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -193,25 +193,25 @@ PsiJetFileStubImpl[package=a]
CLASS_BODY
CLASS[classId=a/InheritingClasses.InheritAny, fqName=a.InheritingClasses.InheritAny, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=InheritAny, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=InheritAny]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
CLASS[classId=a/InheritingClasses.InheritAny.ExplicitAny, fqName=a.InheritingClasses.InheritAny.ExplicitAny, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=ExplicitAny, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=ExplicitAny]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
CLASS[classId=a/InheritingClasses.InheritAny.ImplicitAny, fqName=a.InheritingClasses.InheritAny.ImplicitAny, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=ImplicitAny, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=ImplicitAny]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
CLASS[classId=a/InheritingClasses.InheritAny.OnlyTrait, fqName=a.InheritingClasses.InheritAny.OnlyTrait, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=OnlyTrait, superNames=[SomeTrait]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=OnlyTrait]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -228,7 +228,7 @@ PsiJetFileStubImpl[package=a]
CLASS_BODY
CLASS[classId=a/InheritingClasses.InheritAny.OnlyTraits, fqName=a.InheritingClasses.InheritAny.OnlyTraits, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=OnlyTraits, superNames=[SomeTrait, SomeTrait2]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=OnlyTraits]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -261,7 +261,7 @@ PsiJetFileStubImpl[package=a]
CLASS_BODY
CLASS[classId=a/InheritingClasses.InheritAny.TraitWithExplicitAny, fqName=a.InheritingClasses.InheritAny.TraitWithExplicitAny, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=TraitWithExplicitAny, superNames=[Any, SomeTrait]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=TraitWithExplicitAny]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -284,7 +284,7 @@ PsiJetFileStubImpl[package=a]
CLASS_BODY
CLASS[classId=a/InheritingClasses.InheritAny.TraitsWithExplicitAny, fqName=a.InheritingClasses.InheritAny.TraitsWithExplicitAny, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=TraitsWithExplicitAny, superNames=[SomeTrait2, Any, SomeTrait]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=TraitsWithExplicitAny]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -317,7 +317,7 @@ PsiJetFileStubImpl[package=a]
CLASS_BODY
CLASS[classId=a/InheritingClasses.InheritFunctionType, fqName=a.InheritingClasses.InheritFunctionType, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=InheritFunctionType, superNames=[]]
MODIFIER_LIST[abstract public]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=InheritFunctionType]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -3,7 +3,7 @@ PsiJetFileStubImpl[package=]
IMPORT_LIST
CLASS[classId=/InnerClassEnumEntry, fqName=InnerClassEnumEntry, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=InnerClassEnumEntry, superNames=[Enum]]
MODIFIER_LIST[enum public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=InnerClassEnumEntry]
MODIFIER_LIST[private]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -7,7 +7,7 @@ PsiJetFileStubImpl[package=test]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=E]
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=F]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=InnerTypes]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -62,7 +62,7 @@ PsiJetFileStubImpl[package=test]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=G]
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=H]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Inner]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -70,7 +70,7 @@ PsiJetFileStubImpl[package=test]
MODIFIER_LIST[inner public final]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=I]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Inner3]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -211,7 +211,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION[referencedName=Unit]
CLASS[classId=test/InnerTypes.Inner2, fqName=test.InnerTypes.Inner2, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Inner2, superNames=[]]
MODIFIER_LIST[inner public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Inner2]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/LocalClass, fqName=test.LocalClass, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=LocalClass, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=LocalClass]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/Modifiers, fqName=test.Modifiers, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Modifiers, superNames=[]]
MODIFIER_LIST[public final data]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Modifiers]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
@@ -156,7 +156,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION[referencedName=Unit]
CLASS[classId=test/Modifiers.Ann, fqName=test.Modifiers.Ann, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Ann, superNames=[Annotation]]
MODIFIER_LIST[public final annotation]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Ann]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/NamedCompanionObject, fqName=test.NamedCompanionObject, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=NamedCompanionObject, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=NamedCompanionObject]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -28,13 +28,13 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION[referencedName=Int]
CLASS[classId=test/NamedCompanionObject.Named.A, fqName=test.NamedCompanionObject.Named.A, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=A, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=A]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
CLASS[classId=test/NamedCompanionObject.Named.A.B, fqName=test.NamedCompanionObject.Named.A.B, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=B, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=B]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -70,7 +70,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION[referencedName=Unit]
CLASS[classId=test/NamedCompanionObject.B, fqName=test.NamedCompanionObject.B, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=B, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=B]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -79,7 +79,7 @@ PsiJetFileStubImpl[package=test]
CLASS_BODY
CLASS[classId=test/NamedCompanionObject.B.NamedInB.C, fqName=test.NamedCompanionObject.B.NamedInB.C, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=C, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=C]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -88,7 +88,7 @@ PsiJetFileStubImpl[package=test]
CLASS_BODY
CLASS[classId=test/NamedCompanionObject.B.NamedInB.C.NamedInC.D, fqName=test.NamedCompanionObject.B.NamedInB.C.NamedInC.D, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=D, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=D]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -112,7 +112,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION[referencedName=Unit]
CLASS[classId=test/NamedCompanionObject.B.NamedInB.C.NamedInC.D.Companion.Anno, fqName=test.NamedCompanionObject.B.NamedInB.C.NamedInC.D.Companion.Anno, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Anno, superNames=[Annotation]]
MODIFIER_LIST[public final annotation]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Anno]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -125,7 +125,7 @@ PsiJetFileStubImpl[package=test]
CLASS_BODY
CLASS[classId=test/NamedCompanionObject.B.NamedInB.C.NamedInC.D.Companion.En, fqName=test.NamedCompanionObject.B.NamedInB.C.NamedInC.D.Companion.En, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=En, superNames=[Enum]]
MODIFIER_LIST[enum public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=En]
MODIFIER_LIST[private]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -6,7 +6,7 @@ PsiJetFileStubImpl[package=test]
MODIFIER_LIST[public final]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=TOuter]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=NestedClasses]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -32,7 +32,7 @@ PsiJetFileStubImpl[package=test]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=TOuter]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Inner]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -52,7 +52,7 @@ PsiJetFileStubImpl[package=test]
MODIFIER_LIST[inner private final]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=TII]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=II]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -108,7 +108,7 @@ PsiJetFileStubImpl[package=test]
MODIFIER_LIST[private final]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=TN]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Nested]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -138,7 +138,7 @@ PsiJetFileStubImpl[package=test]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=TN]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=NI]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -162,7 +162,7 @@ PsiJetFileStubImpl[package=test]
MODIFIER_LIST[public final]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=TNN]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=NN]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -5,6 +5,8 @@ public object Objects {
fun f() {
}
fun g() = 1
private object InnerObject : A {
val c = 0
@@ -19,6 +19,14 @@ PsiJetFileStubImpl[package=]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=kotlin]
REFERENCE_EXPRESSION[referencedName=Unit]
FUN[fqName=Objects.g, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=g]
MODIFIER_LIST[public final]
VALUE_PARAMETER_LIST
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=kotlin]
REFERENCE_EXPRESSION[referencedName=Int]
OBJECT_DECLARATION[classId=/Objects.InnerObject, fqName=Objects.InnerObject, isCompanion=false, isLocal=false, isObjectLiteral=false, isTopLevel=false, name=InnerObject, superNames=[A]]
MODIFIER_LIST[private]
SUPER_TYPE_LIST
@@ -44,7 +52,7 @@ PsiJetFileStubImpl[package=]
REFERENCE_EXPRESSION[referencedName=Unit]
CLASS[classId=/Objects.NestedClass, fqName=Objects.NestedClass, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=NestedClass, superNames=[]]
MODIFIER_LIST[open public]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=NestedClass]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/PrivateConstField, fqName=test.PrivateConstField, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=PrivateConstField, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=PrivateConstField]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -7,7 +7,7 @@ PsiJetFileStubImpl[package=p]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=true, isOutVariance=false, name=I]
MODIFIER_LIST[in]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=PrivateToThis]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -4,13 +4,13 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/Sealed, fqName=test.Sealed, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Sealed, superNames=[]]
MODIFIER_LIST[public sealed]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Sealed]
MODIFIER_LIST[protected]
VALUE_PARAMETER_LIST
CLASS_BODY
CLASS[classId=test/Sealed.Nested, fqName=test.Sealed.Nested, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Nested, superNames=[Sealed]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Nested]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/SecondaryConstructors, fqName=test.SecondaryConstructors, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=SecondaryConstructors, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=SecondaryConstructors]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
@@ -14,7 +14,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION[referencedName=kotlin]
REFERENCE_EXPRESSION[referencedName=Boolean]
CLASS_BODY
SECONDARY_CONSTRUCTOR
SECONDARY_CONSTRUCTOR[fqName=null, hasBody=true, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=SecondaryConstructors]
MODIFIER_LIST[public]
ANNOTATION_ENTRY[hasValueArguments=false, shortName=anno]
CONSTRUCTOR_CALLEE
@@ -30,7 +30,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=kotlin]
REFERENCE_EXPRESSION[referencedName=String]
SECONDARY_CONSTRUCTOR
SECONDARY_CONSTRUCTOR[fqName=null, hasBody=true, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=SecondaryConstructors]
MODIFIER_LIST[private]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
@@ -65,7 +65,7 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION[referencedName=io]
REFERENCE_EXPRESSION[referencedName=Serializable]
CLASS_BODY
SECONDARY_CONSTRUCTOR
SECONDARY_CONSTRUCTOR[fqName=null, hasBody=true, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Inner]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
@@ -79,7 +79,7 @@ PsiJetFileStubImpl[package=test]
CLASS[classId=test/SecondaryConstructors.Nested, fqName=test.SecondaryConstructors.Nested, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Nested, superNames=[]]
MODIFIER_LIST[public final]
CLASS_BODY
SECONDARY_CONSTRUCTOR
SECONDARY_CONSTRUCTOR[fqName=null, hasBody=true, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Nested]
MODIFIER_LIST[public]
ANNOTATION_ENTRY[hasValueArguments=false, shortName=anno]
CONSTRUCTOR_CALLEE
@@ -95,6 +95,6 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=kotlin]
REFERENCE_EXPRESSION[referencedName=Int]
SECONDARY_CONSTRUCTOR
SECONDARY_CONSTRUCTOR[fqName=null, hasBody=true, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Nested]
MODIFIER_LIST[internal]
VALUE_PARAMETER_LIST
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/SuspendLambda, fqName=test.SuspendLambda, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=SuspendLambda, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=SuspendLambda]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/TypeAliases, fqName=test.TypeAliases, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=TypeAliases, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=TypeAliases]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -97,13 +97,13 @@ PsiJetFileStubImpl[package=test]
REFERENCE_EXPRESSION[referencedName=Unit]
CLASS[classId=test/TypeAliases.OrderA, fqName=test.TypeAliases.OrderA, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=OrderA, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=OrderA]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
CLASS[classId=test/TypeAliases.OrderB, fqName=test.TypeAliases.OrderB, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=OrderB, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=OrderB]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -18,7 +18,7 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=test]
REFERENCE_EXPRESSION[referencedName=T]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=TypeBoundsAndDelegationSpecifiers]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
SUPER_TYPE_LIST
@@ -3,7 +3,7 @@ PsiJetFileStubImpl[package=]
IMPORT_LIST
CLASS[classId=/TypeModifiers, fqName=TypeModifiers, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=TypeModifiers, superNames=[]]
MODIFIER_LIST[public final]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=TypeModifiers]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -44,7 +44,7 @@ PsiJetFileStubImpl[package=test]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=T6]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=TypeParams]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
TYPE_CONSTRAINT_LIST
@@ -4,7 +4,7 @@ PsiJetFileStubImpl[package=test]
IMPORT_LIST
CLASS[classId=test/Types, fqName=test.Types, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Types, superNames=[]]
MODIFIER_LIST[abstract public]
PRIMARY_CONSTRUCTOR
PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, isDelegatedCallToThis=false, isExtension=false, isTopLevel=false, name=Types]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
CLASS_BODY
@@ -12,8 +12,8 @@ import org.jetbrains.kotlin.metadata.ProtoBuf.Modality
import org.jetbrains.kotlin.metadata.deserialization.*
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes
import org.jetbrains.kotlin.psi.stubs.impl.KotlinConstructorStubImpl
import org.jetbrains.kotlin.psi.stubs.impl.KotlinFunctionStubImpl
import org.jetbrains.kotlin.psi.stubs.impl.KotlinPlaceHolderStubImpl
import org.jetbrains.kotlin.psi.stubs.impl.KotlinPropertyStubImpl
import org.jetbrains.kotlin.resolve.DataClassResolver
import org.jetbrains.kotlin.serialization.deserialization.AnnotatedCallableKind
@@ -170,6 +170,9 @@ private class FunctionClsStubBuilder(
override fun doCreateCallableStub(parent: StubElement<out PsiElement>): StubElement<out PsiElement> {
val callableName = c.nameResolver.getName(functionProto.name)
// Note that arguments passed to stubs here and elsewhere are based on what stabs would be generated based on decompiled code
// As functions are never decompiled to fun f() = 1 form, hasBlockBody is always true
// This info is anyway irrelevant for the purposes these stubs are used
return KotlinFunctionStubImpl(
parent,
callableName.ref(),
@@ -237,6 +240,8 @@ private class PropertyClsStubBuilder(
override fun doCreateCallableStub(parent: StubElement<out PsiElement>): StubElement<out PsiElement> {
val callableName = c.nameResolver.getName(propertyProto.name)
// Note that arguments passed to stubs here and elsewhere are based on what stabs would be generated based on decompiled code
// This info is anyway irrelevant for the purposes these stubs are used
return KotlinPropertyStubImpl(
parent,
callableName.ref(),
@@ -287,9 +292,14 @@ private class ConstructorClsStubBuilder(
}
override fun doCreateCallableStub(parent: StubElement<out PsiElement>): StubElement<out PsiElement> {
val name = (protoContainer as ProtoContainer.Class).classId.shortClassName.ref()
// Note that arguments passed to stubs here and elsewhere are based on what stabs would be generated based on decompiled code
// As decompiled code for secondary constructor would be just constructor(args) { /* compiled code */ } every secondary constructor
// delegated call is not to this (as there is no this keyword) and it has body (while primary does not have one)
// This info is anyway irrelevant for the purposes these stubs are used
return if (Flags.IS_SECONDARY.get(constructorProto.flags))
KotlinPlaceHolderStubImpl(parent, KtStubElementTypes.SECONDARY_CONSTRUCTOR)
KotlinConstructorStubImpl(parent, KtStubElementTypes.SECONDARY_CONSTRUCTOR, name, hasBody = true, isDelegatedCallToThis = false)
else
KotlinPlaceHolderStubImpl(parent, KtStubElementTypes.PRIMARY_CONSTRUCTOR)
KotlinConstructorStubImpl(parent, KtStubElementTypes.PRIMARY_CONSTRUCTOR, name, hasBody = false, isDelegatedCallToThis = false)
}
}
@@ -7,9 +7,9 @@ package org.jetbrains.kotlin.analysis.decompiler.stub
import com.intellij.psi.stubs.StubElement
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.psi.KtContextReceiver
import org.jetbrains.kotlin.psi.KtContextReceiverList
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes
import org.jetbrains.kotlin.psi.stubs.impl.KotlinContextReceiverStubImpl
import org.jetbrains.kotlin.psi.stubs.impl.KotlinPlaceHolderStubImpl
internal class ContextReceiversListStubBuilder(c: ClsStubBuilderContext) {
@@ -21,7 +21,7 @@ internal class ContextReceiversListStubBuilder(c: ClsStubBuilderContext) {
KotlinPlaceHolderStubImpl<KtContextReceiverList>(parent, KtStubElementTypes.CONTEXT_RECEIVER_LIST)
for (contextReceiverType in contextReceiverTypes) {
val contextReceiverStub =
KotlinPlaceHolderStubImpl<KtContextReceiver>(contextReceiverListStub, KtStubElementTypes.CONTEXT_RECEIVER)
KotlinContextReceiverStubImpl(contextReceiverListStub, KtStubElementTypes.CONTEXT_RECEIVER, label = null)
typeStubBuilder.createTypeReferenceStub(contextReceiverStub, contextReceiverType)
}
}
@@ -22,13 +22,13 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.search.SearchScope
import com.intellij.util.IncorrectOperationException
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.stubs.KotlinPlaceHolderStub
import org.jetbrains.kotlin.psi.stubs.elements.KtPlaceHolderStubElementType
import org.jetbrains.kotlin.psi.stubs.KotlinConstructorStub
import org.jetbrains.kotlin.psi.stubs.elements.KtConstructorElementType
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes
abstract class KtConstructor<T : KtConstructor<T>> : KtDeclarationStub<KotlinPlaceHolderStub<T>>, KtFunction {
abstract class KtConstructor<T : KtConstructor<T>> : KtDeclarationStub<KotlinConstructorStub<T>>, KtFunction {
protected constructor(node: ASTNode) : super(node)
protected constructor(stub: KotlinPlaceHolderStub<T>, nodeType: KtPlaceHolderStubElementType<T>) : super(stub, nodeType)
protected constructor(stub: KotlinConstructorStub<T>, nodeType: KtConstructorElementType<T>) : super(stub, nodeType)
abstract fun getContainingClassOrObject(): KtClassOrObject
@@ -53,9 +53,21 @@ abstract class KtConstructor<T : KtConstructor<T>> : KtDeclarationStub<KotlinPla
override fun getEqualsToken() = null
override fun hasBlockBody() = bodyExpression != null
override fun hasBlockBody() = hasBody()
override fun hasBody() = bodyExpression != null
fun isDelegatedCallToThis(): Boolean {
stub?.let { return it.isDelegatedCallToThis() }
return when (this) {
is KtPrimaryConstructor -> false
is KtSecondaryConstructor -> getDelegationCallOrNull()?.isCallToThis() ?: true
else -> throw IllegalStateException("Unknown constructor type: $this")
}
}
override fun hasBody(): Boolean {
stub?.let { return it.hasBody() }
return bodyExpression != null
}
override fun hasDeclaredReturnType() = false
@@ -90,8 +102,8 @@ abstract class KtConstructor<T : KtConstructor<T>> : KtDeclarationStub<KotlinPla
override fun getTextOffset(): Int {
return getConstructorKeyword()?.textOffset
?: valueParameterList?.textOffset
?: super.getTextOffset()
?: valueParameterList?.textOffset
?: super.getTextOffset()
}
override fun getUseScope(): SearchScope {
@@ -8,21 +8,25 @@ package org.jetbrains.kotlin.psi
import com.intellij.lang.ASTNode
import org.jetbrains.kotlin.KtNodeTypes
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.stubs.KotlinPlaceHolderStub
import org.jetbrains.kotlin.psi.stubs.KotlinContextReceiverStub
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes
class KtContextReceiver : KtElementImplStub<KotlinPlaceHolderStub<KtContextReceiver>> {
class KtContextReceiver : KtElementImplStub<KotlinContextReceiverStub> {
constructor(node: ASTNode) : super(node)
constructor(stub: KotlinPlaceHolderStub<KtContextReceiver>) : super(stub, KtStubElementTypes.CONTEXT_RECEIVER)
constructor(stub: KotlinContextReceiverStub) : super(stub, KtStubElementTypes.CONTEXT_RECEIVER)
fun targetLabel(): KtSimpleNameExpression? =
findChildByType<KtContainerNode?>(KtNodeTypes.LABEL_QUALIFIER)
?.findChildByType(KtNodeTypes.LABEL)
fun labelName(): String? = targetLabel()?.getReferencedName()
fun labelName(): String? {
stub?.let { return it.getLabel() }
return targetLabel()?.getReferencedName()
}
fun labelNameAsName(): Name? = targetLabel()?.getReferencedNameAsName()
fun typeReference(): KtTypeReference? = findChildByType(KtNodeTypes.TYPE_REFERENCE)
fun typeReference(): KtTypeReference? = getStubOrPsiChild(KtStubElementTypes.TYPE_REFERENCE)
fun name(): String? = labelName() ?: typeReference()?.nameForReceiverLabel()
}
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.psi
import com.intellij.lang.ASTNode
import org.jetbrains.kotlin.KtNodeTypes
import org.jetbrains.kotlin.psi.stubs.KotlinPlaceHolderStub
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes
@@ -18,7 +17,7 @@ class KtContextReceiverList : KtElementImplStub<KotlinPlaceHolderStub<KtContextR
return visitor.visitContextReceiverList(this, data)
}
fun contextReceivers(): List<KtContextReceiver> = findChildrenByType(KtNodeTypes.CONTEXT_RECEIVER)
fun contextReceivers(): List<KtContextReceiver> = getStubOrPsiChildrenAsList(KtStubElementTypes.CONTEXT_RECEIVER)
fun typeReferences(): List<KtTypeReference> = contextReceivers().mapNotNull { it.typeReference() }
@@ -259,7 +259,7 @@ public class KtNamedFunction extends KtTypeParameterListOwnerStub<KotlinFunction
@Override
public KtContractEffectList getContractDescription() {
return findChildByType(KtNodeTypes.CONTRACT_EFFECT_LIST);
return getStubOrPsiChild(KtStubElementTypes.CONTRACT_EFFECT_LIST);
}
public boolean mayHaveContract() {
@@ -22,12 +22,12 @@ import com.intellij.psi.PsiWhiteSpace
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.addRemoveModifier.addModifier
import org.jetbrains.kotlin.psi.stubs.KotlinPlaceHolderStub
import org.jetbrains.kotlin.psi.stubs.KotlinConstructorStub
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes
class KtPrimaryConstructor : KtConstructor<KtPrimaryConstructor> {
constructor(node: ASTNode) : super(node)
constructor(stub: KotlinPlaceHolderStub<KtPrimaryConstructor>) : super(stub, KtStubElementTypes.PRIMARY_CONSTRUCTOR)
constructor(stub: KotlinConstructorStub<KtPrimaryConstructor>) : super(stub, KtStubElementTypes.PRIMARY_CONSTRUCTOR)
override fun <R, D> accept(visitor: KtVisitor<R, D>, data: D) = visitor.visitPrimaryConstructor(this, data)
@@ -140,7 +140,7 @@ public class KtPropertyAccessor extends KtDeclarationStub<KotlinPropertyAccessor
@Override
public KtContractEffectList getContractDescription() {
return findChildByType(KtNodeTypes.CONTRACT_EFFECT_LIST);
return getStubOrPsiChild(KtStubElementTypes.CONTRACT_EFFECT_LIST);
}
@Override
@@ -18,18 +18,23 @@ package org.jetbrains.kotlin.psi
import com.intellij.lang.ASTNode
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.psi.stubs.KotlinPlaceHolderStub
import org.jetbrains.kotlin.psi.stubs.KotlinConstructorStub
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes
class KtSecondaryConstructor : KtConstructor<KtSecondaryConstructor> {
constructor(node: ASTNode) : super(node)
constructor(stub: KotlinPlaceHolderStub<KtSecondaryConstructor>) : super(stub, KtStubElementTypes.SECONDARY_CONSTRUCTOR)
constructor(stub: KotlinConstructorStub<KtSecondaryConstructor>) : super(stub, KtStubElementTypes.SECONDARY_CONSTRUCTOR)
override fun <R, D> accept(visitor: KtVisitor<R, D>, data: D) = visitor.visitSecondaryConstructor(this, data)
override fun getContainingClassOrObject() = parent.parent as KtClassOrObject
override fun getBodyExpression() = findChildByClass(KtBlockExpression::class.java)
override fun getBodyExpression(): KtBlockExpression? {
if (stub?.hasBody() == false) {
return null
}
return findChildByClass(KtBlockExpression::class.java)
}
override fun getConstructorKeyword() = notNullChild<PsiElement>(super.getConstructorKeyword())
@@ -85,5 +85,4 @@ public class KtSuperTypeCallEntry extends KtSuperTypeListEntry implements KtCall
KtUserType userType = getTypeAsUserType();
return userType != null ? userType.getTypeArgumentList() : null;
}
}
@@ -23,12 +23,12 @@ object KotlinStubVersions {
// Though only kotlin declarations (no code in the bodies) are stubbed, please do increase this version
// if you are not 100% sure it can be avoided.
// Increasing this version will lead to reindexing of all kotlin source files on the first IDE startup with the new version.
const val SOURCE_STUB_VERSION = 144
const val SOURCE_STUB_VERSION = 145
// Binary stub version should be increased if stub format (org.jetbrains.kotlin.psi.stubs.impl) is changed
// or changes are made to the core stub building code (org.jetbrains.kotlin.idea.decompiler.stubBuilder).
// Increasing this version will lead to reindexing of all binary files that are potentially kotlin binaries (including all class files).
private const val BINARY_STUB_VERSION = 81
private const val BINARY_STUB_VERSION = 82
// Classfile stub version should be increased if changes are made to classfile stub building subsystem (org.jetbrains.kotlin.idea.decompiler.classFile)
// Increasing this version will lead to reindexing of all classfiles.
@@ -87,6 +87,12 @@ interface KotlinFunctionStub : KotlinCallableStubBase<KtNamedFunction> {
fun mayHaveContract(): Boolean
}
interface KotlinConstructorStub<T : KtConstructor<T>> :
KotlinCallableStubBase<T> {
fun hasBody(): Boolean
fun isDelegatedCallToThis(): Boolean
}
interface KotlinImportAliasStub : StubElement<KtImportAlias> {
fun getName(): String?
}
@@ -163,3 +169,7 @@ interface KotlinUserTypeStub : StubElement<KtUserType>
interface KotlinScriptStub : KotlinStubWithFqName<KtScript> {
override fun getFqName(): FqName
}
interface KotlinContextReceiverStub : StubElement<KtContextReceiver> {
fun getLabel(): String?
}
@@ -0,0 +1,55 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.psi.stubs.elements
import com.intellij.psi.stubs.IndexSink
import com.intellij.psi.stubs.StubElement
import com.intellij.psi.stubs.StubInputStream
import com.intellij.psi.stubs.StubOutputStream
import com.intellij.util.io.StringRef
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.psi.KtConstructor
import org.jetbrains.kotlin.psi.stubs.KotlinConstructorStub
import org.jetbrains.kotlin.psi.stubs.elements.StubIndexService.Companion.getInstance
import java.io.IOException
abstract class KtConstructorElementType<T : KtConstructor<T>>(
@NonNls debugName: String,
tClass: Class<T>,
stubClass: Class<KotlinConstructorStub<*>>
) : KtStubElementType<KotlinConstructorStub<T>, T>(debugName, tClass, stubClass) {
protected abstract fun newStub(
parentStub: StubElement<*>,
nameRef: StringRef?,
hasBody: Boolean,
isDelegatedCallToThis: Boolean,
): KotlinConstructorStub<T>
protected abstract fun isDelegatedCallToThis(constructor: T): Boolean
override fun createStub(psi: T, parentStub: StubElement<*>): KotlinConstructorStub<T> {
val hasBody = psi.hasBody()
val isDelegatedCallToThis = isDelegatedCallToThis(psi)
return newStub(parentStub, StringRef.fromString(psi.name), hasBody, isDelegatedCallToThis)
}
@Throws(IOException::class)
override fun serialize(stub: KotlinConstructorStub<T>, dataStream: StubOutputStream) {
dataStream.writeName(stub.name)
dataStream.writeBoolean(stub.hasBody())
dataStream.writeBoolean(stub.isDelegatedCallToThis())
}
@Throws(IOException::class)
override fun deserialize(dataStream: StubInputStream, parentStub: StubElement<*>): KotlinConstructorStub<T> {
val name = dataStream.readName()
val hasBody = dataStream.readBoolean()
val isDelegatedCallToThis = dataStream.readBoolean()
return newStub(parentStub, name, hasBody, isDelegatedCallToThis)
}
override fun indexStub(stub: KotlinConstructorStub<T>, sink: IndexSink) {
}
}
@@ -0,0 +1,30 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.psi.stubs.elements
import com.intellij.psi.stubs.StubElement
import com.intellij.psi.stubs.StubInputStream
import com.intellij.psi.stubs.StubOutputStream
import org.jetbrains.kotlin.psi.KtContextReceiver
import org.jetbrains.kotlin.psi.stubs.KotlinContextReceiverStub
import org.jetbrains.kotlin.psi.stubs.impl.KotlinContextReceiverStubImpl
class KtContextReceiverElementType(debugName: String) : KtStubElementType<KotlinContextReceiverStub, KtContextReceiver>(
debugName,
KtContextReceiver::class.java,
KotlinContextReceiverStub::class.java
) {
override fun createStub(
element: KtContextReceiver,
parentStub: StubElement<*>?
): KotlinContextReceiverStub = KotlinContextReceiverStubImpl(parentStub, this, element.labelName())
override fun serialize(stub: KotlinContextReceiverStub, dataStream: StubOutputStream) =
dataStream.writeName(stub.getLabel())
override fun deserialize(dataStream: StubInputStream, parentStub: StubElement<*>?) =
KotlinContextReceiverStubImpl(parentStub, this, dataStream.readNameString())
}
@@ -0,0 +1,27 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.psi.stubs.elements
import com.intellij.psi.stubs.StubElement
import com.intellij.util.io.StringRef
import org.jetbrains.kotlin.psi.KtPrimaryConstructor
import org.jetbrains.kotlin.psi.stubs.KotlinConstructorStub
import org.jetbrains.kotlin.psi.stubs.impl.KotlinConstructorStubImpl
class KtPrimaryConstructorElementType(debugName: String) :
KtConstructorElementType<KtPrimaryConstructor>(debugName, KtPrimaryConstructor::class.java, KotlinConstructorStub::class.java) {
override fun newStub(
parentStub: StubElement<*>,
nameRef: StringRef?,
hasBody: Boolean,
isDelegatedCallToThis: Boolean,
): KotlinConstructorStub<KtPrimaryConstructor> {
return KotlinConstructorStubImpl(
parentStub, KtStubElementTypes.PRIMARY_CONSTRUCTOR, nameRef, hasBody, isDelegatedCallToThis
)
}
override fun isDelegatedCallToThis(constructor: KtPrimaryConstructor) = false
}
@@ -0,0 +1,27 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.psi.stubs.elements
import com.intellij.psi.stubs.StubElement
import com.intellij.util.io.StringRef
import org.jetbrains.kotlin.psi.KtSecondaryConstructor
import org.jetbrains.kotlin.psi.stubs.KotlinConstructorStub
import org.jetbrains.kotlin.psi.stubs.impl.KotlinConstructorStubImpl
class KtSecondaryConstructorElementType(debugName: String) :
KtConstructorElementType<KtSecondaryConstructor>(debugName, KtSecondaryConstructor::class.java, KotlinConstructorStub::class.java) {
override fun newStub(
parentStub: StubElement<*>,
nameRef: StringRef?,
hasBody: Boolean,
isDelegatedCallToThis: Boolean,
): KotlinConstructorStub<KtSecondaryConstructor> {
return KotlinConstructorStubImpl(
parentStub, KtStubElementTypes.SECONDARY_CONSTRUCTOR, nameRef, hasBody, isDelegatedCallToThis
)
}
override fun isDelegatedCallToThis(constructor: KtSecondaryConstructor) = constructor.getDelegationCallOrNull()?.isCallToThis ?: true
}
@@ -37,10 +37,10 @@ public interface KtStubElementTypes {
KtObjectElementType OBJECT_DECLARATION = new KtObjectElementType("OBJECT_DECLARATION");
KtPlaceHolderStubElementType<KtClassInitializer> CLASS_INITIALIZER =
new KtPlaceHolderStubElementType<>("CLASS_INITIALIZER", KtClassInitializer.class);
KtPlaceHolderStubElementType<KtSecondaryConstructor> SECONDARY_CONSTRUCTOR =
new KtPlaceHolderStubElementType<>("SECONDARY_CONSTRUCTOR", KtSecondaryConstructor.class);
KtPlaceHolderStubElementType<KtPrimaryConstructor> PRIMARY_CONSTRUCTOR =
new KtPlaceHolderStubElementType<>("PRIMARY_CONSTRUCTOR", KtPrimaryConstructor.class);
KtSecondaryConstructorElementType SECONDARY_CONSTRUCTOR =
new KtSecondaryConstructorElementType("SECONDARY_CONSTRUCTOR");
KtPrimaryConstructorElementType PRIMARY_CONSTRUCTOR =
new KtPrimaryConstructorElementType("PRIMARY_CONSTRUCTOR");
KtParameterElementType VALUE_PARAMETER = new KtParameterElementType("VALUE_PARAMETER");
KtPlaceHolderStubElementType<KtParameterList> VALUE_PARAMETER_LIST =
@@ -109,7 +109,8 @@ public interface KtStubElementTypes {
KtNameReferenceExpressionElementType REFERENCE_EXPRESSION = new KtNameReferenceExpressionElementType("REFERENCE_EXPRESSION");
KtDotQualifiedExpressionElementType DOT_QUALIFIED_EXPRESSION = new KtDotQualifiedExpressionElementType("DOT_QUALIFIED_EXPRESSION");
KtEnumEntrySuperClassReferenceExpressionElementType
ENUM_ENTRY_SUPERCLASS_REFERENCE_EXPRESSION = new KtEnumEntrySuperClassReferenceExpressionElementType("ENUM_ENTRY_SUPERCLASS_REFERENCE_EXPRESSION");
ENUM_ENTRY_SUPERCLASS_REFERENCE_EXPRESSION =
new KtEnumEntrySuperClassReferenceExpressionElementType("ENUM_ENTRY_SUPERCLASS_REFERENCE_EXPRESSION");
KtPlaceHolderStubElementType<KtTypeArgumentList> TYPE_ARGUMENT_LIST =
new KtPlaceHolderStubElementType<>("TYPE_ARGUMENT_LIST", KtTypeArgumentList.class);
@@ -147,8 +148,7 @@ public interface KtStubElementTypes {
KtPlaceHolderStubElementType<KtConstructorCalleeExpression> CONSTRUCTOR_CALLEE =
new KtPlaceHolderStubElementType<>("CONSTRUCTOR_CALLEE", KtConstructorCalleeExpression.class);
KtPlaceHolderStubElementType<KtContextReceiver> CONTEXT_RECEIVER =
new KtPlaceHolderStubElementType<>("CONTEXT_RECEIVER", KtContextReceiver.class);
KtContextReceiverElementType CONTEXT_RECEIVER = new KtContextReceiverElementType("CONTEXT_RECEIVER");
KtPlaceHolderStubElementType<KtContextReceiverList> CONTEXT_RECEIVER_LIST =
new KtPlaceHolderStubElementType<>("CONTEXT_RECEIVER_LIST", KtContextReceiverList.class);
@@ -174,5 +174,4 @@ public interface KtStubElementTypes {
new KtPlaceHolderWithTextStubElementType<>("ESCAPE_STRING_TEMPLATE_ENTRY", KtEscapeStringTemplateEntry.class);
KtScriptElementType SCRIPT = new KtScriptElementType("SCRIPT");
}
@@ -20,6 +20,7 @@ import com.intellij.openapi.components.ServiceManager
import com.intellij.psi.stubs.IndexSink
import com.intellij.psi.stubs.StubInputStream
import com.intellij.psi.stubs.StubOutputStream
import org.jetbrains.kotlin.psi.KtConstructor
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.psi.stubs.*
import org.jetbrains.kotlin.psi.stubs.impl.KotlinFileStubImpl
@@ -0,0 +1,28 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.psi.stubs.impl
import com.intellij.psi.stubs.StubElement
import com.intellij.util.io.StringRef
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.psi.KtConstructor
import org.jetbrains.kotlin.psi.stubs.KotlinConstructorStub
import org.jetbrains.kotlin.psi.stubs.elements.KtConstructorElementType
class KotlinConstructorStubImpl<T : KtConstructor<T>>(
parent: StubElement<out PsiElement>?,
elementType: KtConstructorElementType<T>,
private val containingClassName: StringRef?,
private val hasBody: Boolean,
private val isDelegatedCallToThis: Boolean,
) : KotlinStubBaseImpl<T>(parent, elementType), KotlinConstructorStub<T> {
override fun getFqName() = null
override fun getName() = StringRef.toString(containingClassName)
override fun isTopLevel() = false
override fun isExtension() = false
override fun hasBody() = hasBody
override fun isDelegatedCallToThis() = isDelegatedCallToThis
}
@@ -0,0 +1,20 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.psi.stubs.impl
import com.intellij.psi.stubs.StubElement
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.psi.KtContextReceiver
import org.jetbrains.kotlin.psi.stubs.KotlinContextReceiverStub
import org.jetbrains.kotlin.psi.stubs.elements.KtContextReceiverElementType
class KotlinContextReceiverStubImpl(
parent: StubElement<out PsiElement>?,
elementType: KtContextReceiverElementType,
private val label: String?,
) : KotlinStubBaseImpl<KtContextReceiver>(parent, elementType), KotlinContextReceiverStub {
override fun getLabel() = label
}