PsiJetFileStubImpl[package=test] PACKAGE_DIRECTIVE REFERENCE_EXPRESSION[referencedName=test] IMPORT_LIST CLASS[fqName=test.FunInterfaceDeclaration, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=FunInterfaceDeclaration, superNames=[]] MODIFIER_LIST[public final] PRIMARY_CONSTRUCTOR MODIFIER_LIST[public] VALUE_PARAMETER_LIST CLASS_BODY CLASS[fqName=test.FunInterfaceDeclaration.GenericKRunnable, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=false, name=GenericKRunnable, superNames=[]] MODIFIER_LIST[public fun] TYPE_PARAMETER_LIST TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T] TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=R] CLASS_BODY FUN[fqName=test.FunInterfaceDeclaration.GenericKRunnable.invoke, hasBlockBody=true, hasBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=invoke] MODIFIER_LIST[abstract public] VALUE_PARAMETER_LIST VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=t] TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION[referencedName=T] TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION[referencedName=R] CLASS[fqName=test.FunInterfaceDeclaration.KRunnable, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=false, name=KRunnable, superNames=[]] MODIFIER_LIST[public fun] CLASS_BODY FUN[fqName=test.FunInterfaceDeclaration.KRunnable.invoke, hasBlockBody=true, hasBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=invoke] MODIFIER_LIST[abstract public] VALUE_PARAMETER_LIST TYPE_REFERENCE USER_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=kotlin] REFERENCE_EXPRESSION[referencedName=Unit]