Copy disabled (too large)
Download .txt
Showing preview only (106,814K chars total). Download the full file to get everything.
Repository: Kotlin/kotlin-spec
Branch: release
Commit: 2f7aa0524ec2
Files: 6926
Total size: 168.8 MB
Directory structure:
gitextract_iqnl2ub6/
├── .fleet/
│ ├── run.json
│ └── settings.json
├── .github/
│ ├── actions/
│ │ ├── build-spec-in-docker/
│ │ │ └── action.yml
│ │ └── upload-spec-artifacts/
│ │ └── action.yml
│ └── workflows/
│ ├── build-spec-on-pr-in-docker.yml
│ └── build-spec-on-pr.yml
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── ROADMAP.md
├── build.gradle.kts
├── docker/
│ ├── Dockerfile
│ └── build-spec.sh
├── docs/
│ ├── build.gradle.kts
│ ├── html/
│ │ └── build.gradle.kts
│ ├── htmlSections/
│ │ └── build.gradle.kts
│ ├── pdf/
│ │ └── build.gradle.kts
│ ├── pdfSections/
│ │ └── build.gradle.kts
│ ├── scripts/
│ │ ├── build/
│ │ │ ├── buildHtml.sh
│ │ │ ├── buildHtmlBySections.sh
│ │ │ ├── buildPdf.sh
│ │ │ ├── buildPdfBySections.sh
│ │ │ ├── directories.sh
│ │ │ └── settings.sh
│ │ └── filters/
│ │ ├── brokenReferencesReportFilter.sh
│ │ ├── compoundFilter.sh
│ │ ├── copyPasteFilter.sh
│ │ ├── inlineDiagramFilter.sh
│ │ ├── inlineKatexFilter.sh
│ │ ├── markSentencesFilter.sh
│ │ ├── mathInCodeFilter.sh
│ │ ├── processTodoFilter.sh
│ │ └── splitSections.sh
│ └── src/
│ ├── main/
│ │ └── kotlin/
│ │ └── org/
│ │ └── jetbrains/
│ │ └── kotlin/
│ │ └── spec/
│ │ ├── brokenReferencesReporter.kt
│ │ ├── compoundFilter.kt
│ │ ├── convertGrammar.kt
│ │ ├── copyPasteFilter.kt
│ │ ├── inlineDiagramFilter.kt
│ │ ├── inlineKatex.kt
│ │ ├── markSentencesFilter.kt
│ │ ├── mathInCodeFilter.kt
│ │ ├── processTodoFilter.kt
│ │ └── splitDocument.kt
│ └── md/
│ ├── commands.md
│ ├── dynamic_math.html
│ ├── epilogue.html
│ ├── index.md
│ ├── kotlin.core/
│ │ ├── annotations.md
│ │ ├── builtins.md
│ │ ├── cdfa.md
│ │ ├── concurrency.md
│ │ ├── coroutines.md
│ │ ├── declarations.md
│ │ ├── exceptions.md
│ │ ├── expressions.md
│ │ ├── index.md
│ │ ├── inheritance.md
│ │ ├── introduction.md
│ │ ├── operators.md
│ │ ├── overload-resolution.md
│ │ ├── packages.md
│ │ ├── rtti.md
│ │ ├── scoping.md
│ │ ├── statements.md
│ │ ├── syntax.md
│ │ ├── type-constraints.md
│ │ ├── type-inference.md
│ │ └── type-system.md
│ ├── kotlin.jvm/
│ │ ├── declarations.md
│ │ ├── index.md
│ │ ├── lambda-expressions.md
│ │ ├── rtti.md
│ │ └── type-system.md
│ ├── kotlin.xml
│ ├── preamble.html
│ ├── preamble.tex
│ └── preface.html
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── grammar/
│ ├── README.md
│ ├── build.gradle.kts
│ ├── gradle/
│ │ └── wrapper/
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── scripts/
│ │ ├── compareActuals.sh
│ │ ├── processActuals.sh
│ │ └── processModified.sh
│ ├── src/
│ │ ├── main/
│ │ │ └── antlr/
│ │ │ ├── KotlinLexer.g4
│ │ │ ├── KotlinLexer.tokens
│ │ │ ├── KotlinParser.g4
│ │ │ ├── UnicodeClasses.g4
│ │ │ └── UnicodeClasses.tokens
│ │ └── test/
│ │ └── org/
│ │ └── jetbrains/
│ │ └── kotlin/
│ │ └── spec/
│ │ └── grammar/
│ │ ├── TestRunner.kt
│ │ ├── parsetree/
│ │ │ ├── ComparisonTree.kt
│ │ │ ├── KotlinParseTree.kt
│ │ │ └── ParseTreeUtil.kt
│ │ ├── psi/
│ │ │ └── PsiTextParser.kt
│ │ └── util/
│ │ └── TestUtil.kt
│ └── testData/
│ ├── diagnostics/
│ │ ├── Abstract.b.antlrtree.txt
│ │ ├── Abstract.c.antlrtree.txt
│ │ ├── AbstractAccessor.antlrtree.txt
│ │ ├── AbstractInAbstractClass.antlrtree.txt
│ │ ├── AbstractInClass.antlrtree.txt
│ │ ├── AbstractInTrait.antlrtree.txt
│ │ ├── AnonymousInitializerVarAndConstructor.antlrtree.txt
│ │ ├── AnonymousInitializers.antlrtree.txt
│ │ ├── AssignToArrayElement.antlrtree.txt
│ │ ├── AutoCreatedIt.antlrtree.txt
│ │ ├── BacktickNames.antlrtree.txt
│ │ ├── Basic.antlrtree.txt
│ │ ├── BinaryCallsOnNullableValues.antlrtree.txt
│ │ ├── Bounds.a.antlrtree.txt
│ │ ├── Bounds.b.antlrtree.txt
│ │ ├── BreakContinue.antlrtree.txt
│ │ ├── BreakContinueInWhen_after.antlrtree.txt
│ │ ├── BreakContinueInWhen_before.antlrtree.txt
│ │ ├── Builders.a.antlrtree.txt
│ │ ├── Casts.antlrtree.txt
│ │ ├── CharacterLiterals.antlrtree.txt
│ │ ├── CompareToWithErrorType.antlrtree.txt
│ │ ├── Constants.antlrtree.txt
│ │ ├── Constructors.antlrtree.txt
│ │ ├── ConstructorsOfPrimitives.antlrtree.txt
│ │ ├── CovariantOverrideType.antlrtree.txt
│ │ ├── DefaultValueForParameterInFunctionType.antlrtree.txt
│ │ ├── DefaultValuesCheckWithoutBody.antlrtree.txt
│ │ ├── DefaultValuesTypechecking.antlrtree.txt
│ │ ├── DeferredTypes.antlrtree.txt
│ │ ├── DeprecatedGetSetPropertyDelegateConvention.antlrtree.txt
│ │ ├── DeprecatedUnaryOperatorConventions.antlrtree.txt
│ │ ├── DiamondFunction.antlrtree.txt
│ │ ├── DiamondFunctionGeneric.antlrtree.txt
│ │ ├── DiamondProperty.antlrtree.txt
│ │ ├── Dollar.antlrtree.txt
│ │ ├── EnumEntryAsType.antlrtree.txt
│ │ ├── ExtensionCallInvoke.antlrtree.txt
│ │ ├── ExternalAccessors.antlrtree.txt
│ │ ├── ExternalAndAbstract.antlrtree.txt
│ │ ├── ForRangeConventions.antlrtree.txt
│ │ ├── FreeFunctionCalledAsExtension.antlrtree.txt
│ │ ├── FreeFunctionCalledAsExtension.reversed.antlrtree.txt
│ │ ├── FunctionCalleeExpressions.antlrtree.txt
│ │ ├── FunctionParameterWithoutType.antlrtree.txt
│ │ ├── FunctionReturnTypes.antlrtree.txt
│ │ ├── GenericArgumentConsistency.a.antlrtree.txt
│ │ ├── GenericArgumentConsistency.b.antlrtree.txt
│ │ ├── GenericArgumentConsistency.c.antlrtree.txt
│ │ ├── GenericArgumentConsistency.d.antlrtree.txt
│ │ ├── GenericArgumentConsistency.e.antlrtree.txt
│ │ ├── GenericArgumentConsistency.f.antlrtree.txt
│ │ ├── GenericFunctionIsLessSpecific.antlrtree.txt
│ │ ├── IdentityComparisonWithPrimitives.antlrtree.txt
│ │ ├── IncDec.antlrtree.txt
│ │ ├── IncDecOperatorsInExpectClass.antlrtree.txt
│ │ ├── IncorrectCharacterLiterals.antlrtree.txt
│ │ ├── InferNullabilityInThenBlock.antlrtree.txt
│ │ ├── Infix.antlrtree.txt
│ │ ├── InfixModifierApplicability.antlrtree.txt
│ │ ├── InvokeAndRecursiveResolve.antlrtree.txt
│ │ ├── IsExpressions.KotlinFile.antlrtree.txt
│ │ ├── LValueAssignment.antlrtree.txt
│ │ ├── LValueAssignment.diff
│ │ ├── LiteralAsResult.antlrtree.txt
│ │ ├── LocalClassAndShortSubpackageNames.A.antlrtree.txt
│ │ ├── LocalClassAndShortSubpackageNames.B.antlrtree.txt
│ │ ├── MultilineStringTemplates.antlrtree.txt
│ │ ├── MultipleBounds.antlrtree.txt
│ │ ├── NamedFunctionTypeParameterInSupertype.antlrtree.txt
│ │ ├── Nullability.antlrtree.txt
│ │ ├── NumberPrefixAndSuffix.antlrtree.txt
│ │ ├── ObjectWithConstructor.antlrtree.txt
│ │ ├── OperatorChecks.antlrtree.txt
│ │ ├── Operators.antlrtree.txt
│ │ ├── OperatorsWithWrongNames.antlrtree.txt
│ │ ├── OverrideFunctionWithParamDefaultValue.antlrtree.txt
│ │ ├── OverridenFunctionAndSpecifiedTypeParameter.antlrtree.txt
│ │ ├── OverridenSetterVisibility.antlrtree.txt
│ │ ├── OverridingVarByVal.antlrtree.txt
│ │ ├── PackageInExpressionPosition.antlrtree.txt
│ │ ├── PackageInTypePosition.a.antlrtree.txt
│ │ ├── PackageInTypePosition.b.antlrtree.txt
│ │ ├── PackageQualified.a.antlrtree.txt
│ │ ├── PackageQualified.b.antlrtree.txt
│ │ ├── PackageQualified.c.antlrtree.txt
│ │ ├── PackageQualified.d.antlrtree.txt
│ │ ├── PrimaryConstructors.antlrtree.txt
│ │ ├── PrivateFromOuterPackage.a.antlrtree.txt
│ │ ├── PrivateFromOuterPackage.b.antlrtree.txt
│ │ ├── PrivateFromOuterPackage.c.antlrtree.txt
│ │ ├── PrivateSetterForOverridden.antlrtree.txt
│ │ ├── ProcessingEmptyImport.antlrtree.txt
│ │ ├── ProjectionOnFunctionArgumentErrror.antlrtree.txt
│ │ ├── ProjectionsInSupertypes.antlrtree.txt
│ │ ├── Properties.antlrtree.txt
│ │ ├── PropertyInitializers.antlrtree.txt
│ │ ├── QualifiedExpressions.antlrtree.txt
│ │ ├── RecursiveResolve.antlrtree.txt
│ │ ├── RecursiveTypeInference.a.antlrtree.txt
│ │ ├── RecursiveTypeInference.b.antlrtree.txt
│ │ ├── RecursiveTypeInference.c.antlrtree.txt
│ │ ├── RecursiveTypeInference.d.antlrtree.txt
│ │ ├── RecursiveTypeInference.e.antlrtree.txt
│ │ ├── RecursiveTypeInference.f.antlrtree.txt
│ │ ├── RecursiveTypeParameterEqualityCheck.antlrtree.txt
│ │ ├── ReserveYield.1.antlrtree.txt
│ │ ├── ReserveYield.2.antlrtree.txt
│ │ ├── ReserveYield2.1.antlrtree.txt
│ │ ├── ReserveYield2.2.antlrtree.txt
│ │ ├── ReserveYield2.3.antlrtree.txt
│ │ ├── ReserveYield2.4.antlrtree.txt
│ │ ├── ReserveYieldNoMore.1.antlrtree.txt
│ │ ├── ReserveYieldNoMore.2.antlrtree.txt
│ │ ├── ReserveYieldNoMore2.1.antlrtree.txt
│ │ ├── ReserveYieldNoMore2.2.antlrtree.txt
│ │ ├── ReserveYieldNoMore2.3.antlrtree.txt
│ │ ├── ReserveYieldNoMore2.4.antlrtree.txt
│ │ ├── ResolveOfJavaGenerics.antlrtree.txt
│ │ ├── ResolveToJava.a.antlrtree.txt
│ │ ├── ResolveToJava.b.antlrtree.txt
│ │ ├── Return.antlrtree.txt
│ │ ├── ReturnInFunctionWithoutBody.antlrtree.txt
│ │ ├── SafeCallInvoke.antlrtree.txt
│ │ ├── SafeCallNonNullReceiver.antlrtree.txt
│ │ ├── SafeCallNonNullReceiver2.antlrtree.txt
│ │ ├── SafeCallNonNullReceiverReturnNull.antlrtree.txt
│ │ ├── SafeCallOnFakePackage.anotherTest.antlrtree.txt
│ │ ├── SafeCallOnFakePackage.test.antlrtree.txt
│ │ ├── SafeCallOnSuperReceiver.antlrtree.txt
│ │ ├── SafeCallUnknownType.antlrtree.txt
│ │ ├── Serializable.antlrtree.txt
│ │ ├── SetterVisibility.antlrtree.txt
│ │ ├── ShiftFunctionTypes.a.antlrtree.txt
│ │ ├── ShiftFunctionTypes.b.antlrtree.txt
│ │ ├── ShiftFunctionTypes.c.antlrtree.txt
│ │ ├── StarsInFunctionCalls.antlrtree.txt
│ │ ├── StringPrefixAndSuffix.antlrtree.txt
│ │ ├── StringTemplates.antlrtree.txt
│ │ ├── SupertypeListChecks.antlrtree.txt
│ │ ├── SyntaxErrorInTestHighlighting.antlrtree.txt
│ │ ├── SyntaxErrorInTestHighlightingEof.antlrtree.txt
│ │ ├── TraitOverrideObjectMethods.antlrtree.txt
│ │ ├── TraitWithConstructor.antlrtree.txt
│ │ ├── TypeInference.antlrtree.txt
│ │ ├── TypeMismatchOnOverrideWithSyntaxErrors.antlrtree.txt
│ │ ├── Underscore.antlrtree.txt
│ │ ├── UnderscoreUsageInAnnotation.antlrtree.txt
│ │ ├── UnderscoreUsageInCall.antlrtree.txt
│ │ ├── UnderscoreUsageInCallableRefTypeLHS.antlrtree.txt
│ │ ├── UnderscoreUsageInType.antlrtree.txt
│ │ ├── UnderscoreUsageInVariableAsFunctionCall.antlrtree.txt
│ │ ├── UnitByDefaultForFunctionTypes.antlrtree.txt
│ │ ├── UnitValue.antlrtree.txt
│ │ ├── Unresolved.antlrtree.txt
│ │ ├── UnusedInDestructuring.antlrtree.txt
│ │ ├── UnusedParameters.antlrtree.txt
│ │ ├── UnusedVariables.antlrtree.txt
│ │ ├── ValAndFunOverrideCompatibilityClash.antlrtree.txt
│ │ ├── VarargTypes.antlrtree.txt
│ │ ├── Varargs.antlrtree.txt
│ │ ├── Variance.antlrtree.txt
│ │ ├── abstractClassReference.antlrtree.txt
│ │ ├── ambiguityNamedVararg.antlrtree.txt
│ │ ├── annotationArgumentWithAliasedArrayType.antlrtree.txt
│ │ ├── annotations/
│ │ │ ├── AmbigiousAnnotationConstructor.antlrtree.txt
│ │ │ ├── AnnotatedBlock.antlrtree.txt
│ │ │ ├── AnnotatedConstructor.antlrtree.txt
│ │ │ ├── AnnotatedConstructorParams.antlrtree.txt
│ │ │ ├── AnnotatedLocalObjectFun.antlrtree.txt
│ │ │ ├── AnnotatedLocalObjectProperty.antlrtree.txt
│ │ │ ├── AnnotatedLoop.antlrtree.txt
│ │ │ ├── AnnotatedNullableTypes.antlrtree.txt
│ │ │ ├── AnnotatedResultType.antlrtree.txt
│ │ │ ├── AnnotatedTryCatch.antlrtree.txt
│ │ │ ├── AnnotationAsDefaultParameter.antlrtree.txt
│ │ │ ├── AnnotationForClassTypeParameter_15.antlrtree.txt
│ │ │ ├── AnnotationForClassTypeParameter_16.antlrtree.txt
│ │ │ ├── AnnotationForClassTypeParameter_typeUseFlag.antlrtree.txt
│ │ │ ├── AnnotationForFunctionTypeParameter.antlrtree.txt
│ │ │ ├── AnnotationForObject.antlrtree.txt
│ │ │ ├── AnnotationIdentifier.a.antlrtree.txt
│ │ │ ├── AnnotationIdentifier.other_c.antlrtree.txt
│ │ │ ├── AnnotationIdentifier.test_b.antlrtree.txt
│ │ │ ├── AnnotationOnObject.antlrtree.txt
│ │ │ ├── AnnotationsForClasses.antlrtree.txt
│ │ │ ├── AnnotationsForPropertyTypeParameter.antlrtree.txt
│ │ │ ├── BasicAnnotations.antlrtree.txt
│ │ │ ├── ConstructorCall.antlrtree.txt
│ │ │ ├── ConstructorCallAllowed.antlrtree.txt
│ │ │ ├── DanglingMixed.antlrtree.txt
│ │ │ ├── DanglingNoBrackets.antlrtree.txt
│ │ │ ├── DanglingWithBrackets.antlrtree.txt
│ │ │ ├── Deprecated.antlrtree.txt
│ │ │ ├── InheritingAnnotationClass.antlrtree.txt
│ │ │ ├── JavaAnnotationConstructors.antlrtree.txt
│ │ │ ├── JvmSerializableLambdaAnnotation.antlrtree.txt
│ │ │ ├── MultiDeclaration.antlrtree.txt
│ │ │ ├── MutuallyRecursivelyAnnotatedGlobalFunction.antlrtree.txt
│ │ │ ├── MutuallyRecursivelyAnnotatedGlobalFunction.reversed.antlrtree.txt
│ │ │ ├── NonAnnotationClass.antlrtree.txt
│ │ │ ├── RecursivelyAnnotated.antlrtree.txt
│ │ │ ├── RecursivelyAnnotatedFunctionParameter.antlrtree.txt
│ │ │ ├── RecursivelyAnnotatedGlobalFunction.antlrtree.txt
│ │ │ ├── RecursivelyAnnotatedGlobalProperty.antlrtree.txt
│ │ │ ├── RecursivelyAnnotatedParameter.antlrtree.txt
│ │ │ ├── RecursivelyAnnotatedParameterType.antlrtree.txt
│ │ │ ├── RecursivelyAnnotatedParameterWithAt.antlrtree.txt
│ │ │ ├── RecursivelyAnnotatedProperty.antlrtree.txt
│ │ │ ├── RecursivelyIncorrectlyAnnotatedParameter.antlrtree.txt
│ │ │ ├── RetentionsOfAnnotationWithExpressionTarget_after.antlrtree.txt
│ │ │ ├── RetentionsOfAnnotationWithExpressionTarget_before.antlrtree.txt
│ │ │ ├── UnresolvedAnnotationOnObject.antlrtree.txt
│ │ │ ├── WrongAnnotationArgsOnObject.antlrtree.txt
│ │ │ ├── annotatedExpressionInsideAnnotation.antlrtree.txt
│ │ │ ├── annotationInheritance.antlrtree.txt
│ │ │ ├── annotationModifier.antlrtree.txt
│ │ │ ├── annotationOnParameterInFunctionType.antlrtree.txt
│ │ │ ├── annotationParameterMustBeConstant/
│ │ │ │ ├── annotationConstructorDefaultParameter.antlrtree.txt
│ │ │ │ ├── booleanLocalVal.antlrtree.txt
│ │ │ │ ├── compareAndEquals.antlrtree.txt
│ │ │ │ ├── enumConst_after.antlrtree.txt
│ │ │ │ ├── enumConst_before.antlrtree.txt
│ │ │ │ ├── javaProperties.a.antlrtree.txt
│ │ │ │ ├── kotlinProperties.antlrtree.txt
│ │ │ │ ├── standaloneInExpression.antlrtree.txt
│ │ │ │ └── strings.antlrtree.txt
│ │ │ ├── annotationRenderingInTypes.antlrtree.txt
│ │ │ ├── annotationsOnDataClassCopy.antlrtree.txt
│ │ │ ├── annotationsOnLambdaAsCallArgument.antlrtree.txt
│ │ │ ├── annotationsOnNullableTypes.antlrtree.txt
│ │ │ ├── arrayLiteralInAnnotationCompanion_after.antlrtree.txt
│ │ │ ├── arrayLiteralInAnnotationCompanion_before.antlrtree.txt
│ │ │ ├── atAnnotationResolve.antlrtree.txt
│ │ │ ├── blockLevelOnTheSameLineWarning.antlrtree.txt
│ │ │ ├── cycleInParameters_after.antlrtree.txt
│ │ │ ├── cycleInParameters_array.antlrtree.txt
│ │ │ ├── cycleInParameters_before.antlrtree.txt
│ │ │ ├── dontReportWarningAboutChangingExecutionOrderForVararg.antlrtree.txt
│ │ │ ├── extensionFunctionType.antlrtree.txt
│ │ │ ├── forParameterAnnotationResolve.antlrtree.txt
│ │ │ ├── functionalTypes/
│ │ │ │ ├── nonParenthesizedAnnotationsWithError.antlrtree.txt
│ │ │ │ ├── nonParenthesizedAnnotationsWithoutError.antlrtree.txt
│ │ │ │ ├── parenthesizedAnnotations.antlrtree.txt
│ │ │ │ └── propagteAnyAnnotations.antlrtree.txt
│ │ │ ├── illegalRequireKotlinValue.antlrtree.txt
│ │ │ ├── illegalSinceKotlinValue.antlrtree.txt
│ │ │ ├── inheritFromAnnotationClass.antlrtree.txt
│ │ │ ├── inheritFromAnnotationClass2.test.antlrtree.txt
│ │ │ ├── invalidTypesInAnnotationConstructor.antlrtree.txt
│ │ │ ├── javaAnnotationAndJavaClassWithIt.foo_AnotherTarget.antlrtree.txt
│ │ │ ├── javaAnnotationWithClassArray.main.antlrtree.txt
│ │ │ ├── kt1860-negative.antlrtree.txt
│ │ │ ├── kt1860-positive.antlrtree.txt
│ │ │ ├── kt1886annotationBody_after.antlrtree.txt
│ │ │ ├── kt1886annotationBody_before.antlrtree.txt
│ │ │ ├── missingValOnParameter.antlrtree.txt
│ │ │ ├── nestedClassesInAnnotations.antlrtree.txt
│ │ │ ├── noNameProperty.antlrtree.txt
│ │ │ ├── onExpression.antlrtree.txt
│ │ │ ├── onFunctionParameter.antlrtree.txt
│ │ │ ├── onInitializer.antlrtree.txt
│ │ │ ├── onLoops.antlrtree.txt
│ │ │ ├── onLoopsUnreachable.antlrtree.txt
│ │ │ ├── onMultiDeclaration.antlrtree.txt
│ │ │ ├── options/
│ │ │ │ ├── annotationAsArg.antlrtree.txt
│ │ │ │ ├── annotationAsArgComplex.antlrtree.txt
│ │ │ │ ├── assignment.antlrtree.txt
│ │ │ │ ├── documented.antlrtree.txt
│ │ │ │ ├── forParam.antlrtree.txt
│ │ │ │ ├── functionExpression.antlrtree.txt
│ │ │ │ ├── functions.antlrtree.txt
│ │ │ │ ├── javaDocumented.DocumentedAnnotations.antlrtree.txt
│ │ │ │ ├── javaKotlinTargetRetention.antlrtree.txt
│ │ │ │ ├── javaKotlinTargetRetentionWithExplicitImport.antlrtree.txt
│ │ │ │ ├── javaretention.AnnotationRetentions.antlrtree.txt
│ │ │ │ ├── multiDeclaration.antlrtree.txt
│ │ │ │ ├── objectLiteral.antlrtree.txt
│ │ │ │ ├── prefix.antlrtree.txt
│ │ │ │ ├── retention.antlrtree.txt
│ │ │ │ ├── setterParam.antlrtree.txt
│ │ │ │ ├── target.antlrtree.txt
│ │ │ │ ├── targets/
│ │ │ │ │ ├── accessors.antlrtree.txt
│ │ │ │ │ ├── annotation.antlrtree.txt
│ │ │ │ │ ├── classifier.antlrtree.txt
│ │ │ │ │ ├── constructor.antlrtree.txt
│ │ │ │ │ ├── empty.antlrtree.txt
│ │ │ │ │ ├── expr.antlrtree.txt
│ │ │ │ │ ├── field.antlrtree.txt
│ │ │ │ │ ├── file.annotation.antlrtree.txt
│ │ │ │ │ ├── file.another.antlrtree.txt
│ │ │ │ │ ├── file.other.antlrtree.txt
│ │ │ │ │ ├── function.antlrtree.txt
│ │ │ │ │ ├── funtypeargs.antlrtree.txt
│ │ │ │ │ ├── incorrect.antlrtree.txt
│ │ │ │ │ ├── init.antlrtree.txt
│ │ │ │ │ ├── java.test_AnnotationTargets.antlrtree.txt
│ │ │ │ │ ├── local.antlrtree.txt
│ │ │ │ │ ├── nested.antlrtree.txt
│ │ │ │ │ ├── property.antlrtree.txt
│ │ │ │ │ ├── returntype.antlrtree.txt
│ │ │ │ │ ├── suppress.antlrtree.txt
│ │ │ │ │ ├── type.antlrtree.txt
│ │ │ │ │ ├── typeParams.antlrtree.txt
│ │ │ │ │ ├── typeargs.antlrtree.txt
│ │ │ │ │ └── valueparam.antlrtree.txt
│ │ │ │ └── unrepeatable.antlrtree.txt
│ │ │ ├── parameters/
│ │ │ │ ├── byte.antlrtree.txt
│ │ │ │ ├── char.antlrtree.txt
│ │ │ │ ├── double.antlrtree.txt
│ │ │ │ ├── expressions/
│ │ │ │ │ ├── andAnd.antlrtree.txt
│ │ │ │ │ ├── boolean.antlrtree.txt
│ │ │ │ │ ├── char.antlrtree.txt
│ │ │ │ │ ├── compositeCallBinary.antlrtree.txt
│ │ │ │ │ ├── divide.antlrtree.txt
│ │ │ │ │ ├── double.antlrtree.txt
│ │ │ │ │ ├── eqeq.antlrtree.txt
│ │ │ │ │ ├── escapedString.antlrtree.txt
│ │ │ │ │ ├── float.antlrtree.txt
│ │ │ │ │ ├── gt.antlrtree.txt
│ │ │ │ │ ├── gteq.antlrtree.txt
│ │ │ │ │ ├── intrincics.antlrtree.txt
│ │ │ │ │ ├── labeled.antlrtree.txt
│ │ │ │ │ ├── long.antlrtree.txt
│ │ │ │ │ ├── lt.antlrtree.txt
│ │ │ │ │ ├── lteq.antlrtree.txt
│ │ │ │ │ ├── maxValue.antlrtree.txt
│ │ │ │ │ ├── maxValueByte.antlrtree.txt
│ │ │ │ │ ├── maxValueInt.antlrtree.txt
│ │ │ │ │ ├── miltiply.antlrtree.txt
│ │ │ │ │ ├── minus.antlrtree.txt
│ │ │ │ │ ├── mod.antlrtree.txt
│ │ │ │ │ ├── multilineString.antlrtree.txt
│ │ │ │ │ ├── not.antlrtree.txt
│ │ │ │ │ ├── noteq.antlrtree.txt
│ │ │ │ │ ├── orOr.antlrtree.txt
│ │ │ │ │ ├── paranthesized.antlrtree.txt
│ │ │ │ │ ├── plus.antlrtree.txt
│ │ │ │ │ ├── simpleCallBinary.antlrtree.txt
│ │ │ │ │ ├── stringPlusInt.antlrtree.txt
│ │ │ │ │ ├── stringTemplate.antlrtree.txt
│ │ │ │ │ ├── strings.antlrtree.txt
│ │ │ │ │ ├── unaryMinus.antlrtree.txt
│ │ │ │ │ └── unaryPlus.antlrtree.txt
│ │ │ │ ├── float.antlrtree.txt
│ │ │ │ ├── int.antlrtree.txt
│ │ │ │ ├── long.antlrtree.txt
│ │ │ │ └── short.antlrtree.txt
│ │ │ ├── rendering/
│ │ │ │ ├── cannotOverrideInvisibleMember.antlrtree.txt
│ │ │ │ ├── conflictingOverloads.antlrtree.txt
│ │ │ │ ├── differentNamesForParameter.antlrtree.txt
│ │ │ │ ├── memberProjectedOut.antlrtree.txt
│ │ │ │ ├── multipleInheritedDefaults.antlrtree.txt
│ │ │ │ ├── notImplementedMembers.antlrtree.txt
│ │ │ │ ├── notImplementedMembersAroundJava.main.antlrtree.txt
│ │ │ │ ├── tooManyArguments.antlrtree.txt
│ │ │ │ ├── typeMismatchDueToTypeProjections.antlrtree.txt
│ │ │ │ ├── typeMismatchOnOverride.antlrtree.txt
│ │ │ │ ├── typeMismatchOnOverrideJavaNullable.k.antlrtree.txt
│ │ │ │ ├── typeMismatchOnOverrideJavaNullable.ll.k.antlrtree.txt
│ │ │ │ └── unusedValue.antlrtree.txt
│ │ │ ├── repeatable/
│ │ │ │ ├── containerAndAnnotationAreBothApplied_1_5.KR.antlrtree.txt
│ │ │ │ ├── containerAndAnnotationAreBothApplied_1_5.KS.antlrtree.txt
│ │ │ │ ├── containerAndAnnotationAreBothApplied_1_5.test.antlrtree.txt
│ │ │ │ ├── containerAndAnnotationAreBothApplied_1_6.KR.antlrtree.txt
│ │ │ │ ├── containerAndAnnotationAreBothApplied_1_6.KS.antlrtree.txt
│ │ │ │ ├── containerAndAnnotationAreBothApplied_1_6.test.antlrtree.txt
│ │ │ │ ├── containerArguments_1_5.antlrtree.txt
│ │ │ │ ├── containerArguments_1_6.antlrtree.txt
│ │ │ │ ├── containerRetention_1_5.antlrtree.txt
│ │ │ │ ├── containerRetention_1_6.antlrtree.txt
│ │ │ │ ├── containerTarget_1_6.antlrtree.txt
│ │ │ │ ├── javaRepeatableInKotlin.antlrtree.txt
│ │ │ │ ├── javaRepeatable_1_5.usage.antlrtree.txt
│ │ │ │ ├── javaRepeatable_1_6.usage.antlrtree.txt
│ │ │ │ ├── javaUnrepeatable_1_5.usage.antlrtree.txt
│ │ │ │ ├── javaUnrepeatable_1_6.usage.antlrtree.txt
│ │ │ │ ├── kotlinRepeatable_1_5.antlrtree.txt
│ │ │ │ ├── kotlinRepeatable_1_6.antlrtree.txt
│ │ │ │ ├── nestedClassContainer_1_5.antlrtree.txt
│ │ │ │ └── nestedClassContainer_1_6.antlrtree.txt
│ │ │ ├── requireKotlin.antlrtree.txt
│ │ │ ├── typeAnnotations.antlrtree.txt
│ │ │ ├── typeArgumentsInAnnotation.antlrtree.txt
│ │ │ ├── typeParameterAsAnnotation.antlrtree.txt
│ │ │ ├── typeUse/
│ │ │ │ ├── kt19455.antlrtree.txt
│ │ │ │ ├── kt25876.antlrtree.txt
│ │ │ │ ├── kt45905.main.antlrtree.txt
│ │ │ │ ├── kt46173.antlrtree.txt
│ │ │ │ ├── kt47772.antlrtree.txt
│ │ │ │ ├── kt8325.antlrtree.txt
│ │ │ │ └── nonTypeUseAnnotationOnType.antlrtree.txt
│ │ │ ├── unresolvedReferenceRange.antlrtree.txt
│ │ │ └── withUseSiteTarget/
│ │ │ ├── DelegateAnnotations.antlrtree.txt
│ │ │ ├── FieldAnnotations.antlrtree.txt
│ │ │ ├── FileAnnotations.1.antlrtree.txt
│ │ │ ├── FileAnnotations.2.antlrtree.txt
│ │ │ ├── FileAnnotations.annotations.antlrtree.txt
│ │ │ ├── GetterAnnotations.antlrtree.txt
│ │ │ ├── ParamAnnotations.antlrtree.txt
│ │ │ ├── PropertyAnnotations.antlrtree.txt
│ │ │ ├── ReceiverAnnotations.antlrtree.txt
│ │ │ ├── SetterAnnotations.antlrtree.txt
│ │ │ ├── SparamAnnotations.antlrtree.txt
│ │ │ ├── diagnosticFileAnnotationInWrongPlace.antlrtree.txt
│ │ │ ├── diagnosticWithoutPackage.antlrtree.txt
│ │ │ ├── diagnosticWithoutPackageWithSimpleAnnotation.antlrtree.txt
│ │ │ ├── fileAnnotationWithoutColon_after.antlrtree.txt
│ │ │ ├── fileAnnotationWithoutColon_before.antlrtree.txt
│ │ │ ├── kt23992.antlrtree.txt
│ │ │ ├── kt23992_after.antlrtree.txt
│ │ │ ├── kt26638.antlrtree.txt
│ │ │ ├── kt26638_after.antlrtree.txt
│ │ │ ├── prohibitUseSiteGetTargetAnnotationsOff.antlrtree.txt
│ │ │ ├── prohibitUseSiteGetTargetAnnotationsOn.antlrtree.txt
│ │ │ ├── receiverUseSiteTargetOnExtensionFunction_after.antlrtree.txt
│ │ │ ├── receiverUseSiteTargetOnExtensionFunction_before.antlrtree.txt
│ │ │ ├── repeatable.antlrtree.txt
│ │ │ ├── wrongParamAnnotationsOnTypesError.antlrtree.txt
│ │ │ ├── wrongParamAnnotationsOnTypes_after.antlrtree.txt
│ │ │ └── wrongParamAnnotationsOnTypes_before.antlrtree.txt
│ │ ├── backingField/
│ │ │ ├── CustomGetSet.antlrtree.txt
│ │ │ ├── CustomGetVal.antlrtree.txt
│ │ │ ├── CustomGetValGlobal.antlrtree.txt
│ │ │ ├── CustomGetVar.antlrtree.txt
│ │ │ ├── CustomSet.antlrtree.txt
│ │ │ ├── ExtensionProperty.antlrtree.txt
│ │ │ ├── FieldAsParam.antlrtree.txt
│ │ │ ├── FieldAsProperty.antlrtree.txt
│ │ │ ├── FieldDerived.antlrtree.txt
│ │ │ ├── FieldInInterface.antlrtree.txt
│ │ │ ├── FieldInLocal.antlrtree.txt
│ │ │ ├── FieldOnVal.antlrtree.txt
│ │ │ ├── FieldOnVar.antlrtree.txt
│ │ │ ├── FieldReassignment_after.antlrtree.txt
│ │ │ ├── FieldReassignment_before.antlrtree.txt
│ │ │ ├── FieldShadow.antlrtree.txt
│ │ │ ├── InitCustomSetter.antlrtree.txt
│ │ │ ├── InitOpenSetter.antlrtree.txt
│ │ │ ├── LocalDeclarations.antlrtree.txt
│ │ │ ├── MustBeInitializedEffectivelyFinalOff.antlrtree.txt
│ │ │ ├── MustBeInitializedEffectivelyFinalOn.antlrtree.txt
│ │ │ ├── OpenValPartialDeferredInitErrorAnyway.antlrtree.txt
│ │ │ ├── OpenValPartialDeferredInitSecondaryConstructorErrorAnyway.antlrtree.txt
│ │ │ ├── OpenValPartialDeferredInitTwoSecondaryConstructorsErrorAnyway.antlrtree.txt
│ │ │ ├── SetterWithExplicitType.antlrtree.txt
│ │ │ ├── ValDeferredInitInFinalClass.antlrtree.txt
│ │ │ ├── ValDeferredInitInOpenClassOpenValError.antlrtree.txt
│ │ │ ├── ValDeferredInitInOpenClassOpenValWarning.antlrtree.txt
│ │ │ ├── ValWithSetterDeferredInit.antlrtree.txt
│ │ │ ├── VarDeferredInitInFinalClass.antlrtree.txt
│ │ │ ├── VarDeferredInitInOpenClass.antlrtree.txt
│ │ │ ├── kt782packageLevel.antlrtree.txt
│ │ │ └── prohibitMissedMustBeInitializedWhenThereIsNoPrimaryConstructor/
│ │ │ ├── implicitPrimaryConstructor_errorAnyway.antlrtree.txt
│ │ │ ├── noPrimary_oneInheritedSecondary_mustBeInitializedError.antlrtree.txt
│ │ │ ├── noPrimary_oneInheritedSecondary_mustBeInitializedWarning.antlrtree.txt
│ │ │ ├── noPrimary_oneSecondary_deferredInitInSecondary_mustBeInitializedError.antlrtree.txt
│ │ │ ├── noPrimary_oneSecondary_deferredInitInSecondary_mustBeInitializedWarning.antlrtree.txt
│ │ │ ├── noPrimary_oneSecondary_mustBeInitializedError.antlrtree.txt
│ │ │ ├── noPrimary_oneSecondary_mustBeInitializedWarning.antlrtree.txt
│ │ │ ├── noPrimary_oneSecondary_openValError_mustBeInitializedError.antlrtree.txt
│ │ │ ├── noPrimary_oneSecondary_openValError_mustBeInitializedWarning.antlrtree.txt
│ │ │ ├── noPrimary_oneSecondary_openValWarning_mustBeInitializedError.antlrtree.txt
│ │ │ ├── noPrimary_oneSecondary_openValWarning_mustBeInitializedWarning.antlrtree.txt
│ │ │ ├── noPrimary_oneSecondary_openVar_mustBeInitializedError.antlrtree.txt
│ │ │ ├── noPrimary_oneSecondary_openVar_mustBeInitializedWarning.antlrtree.txt
│ │ │ ├── noPrimary_partialDeferredInitInSecondary_errorAnyway.antlrtree.txt
│ │ │ ├── noPrimary_partialDeferredInitInTwoSecondaries_errorAnyway.antlrtree.txt
│ │ │ ├── noPrimary_twoSecondary_mustBeInitializedError.antlrtree.txt
│ │ │ ├── noPrimary_twoSecondary_mustBeInitializedWarning.antlrtree.txt
│ │ │ └── onePrimary_oneSecondary_errorAnyway.antlrtree.txt
│ │ ├── callableReference/
│ │ │ ├── adapted/
│ │ │ │ ├── adaptationByExpectTypeOutsideCall.antlrtree.txt
│ │ │ │ ├── adaptationInWhenWithMapOf.antlrtree.txt
│ │ │ │ ├── adaptationToOverridenWithoutDefault.antlrtree.txt
│ │ │ │ ├── noKFunctionForAdaptation.antlrtree.txt
│ │ │ │ └── simpleAdaptationOutsideOfCall.antlrtree.txt
│ │ │ ├── bareType.antlrtree.txt
│ │ │ ├── bound/
│ │ │ │ ├── classVsStarImportedCompanion.1.antlrtree.txt
│ │ │ │ ├── classVsStarImportedCompanion.2.antlrtree.txt
│ │ │ │ ├── classVsStarImportedObject.1.antlrtree.txt
│ │ │ │ ├── classVsStarImportedObject.2.antlrtree.txt
│ │ │ │ ├── companionObject.antlrtree.txt
│ │ │ │ ├── controlFlow.antlrtree.txt
│ │ │ │ ├── dataFlow.antlrtree.txt
│ │ │ │ ├── expectedType.antlrtree.txt
│ │ │ │ ├── expressionWithNullableType.test.antlrtree.txt
│ │ │ │ ├── functionCallWithoutArguments.antlrtree.txt
│ │ │ │ ├── innerNested.antlrtree.txt
│ │ │ │ ├── kt12843.antlrtree.txt
│ │ │ │ ├── noThisInSuperCall.antlrtree.txt
│ │ │ │ ├── object.antlrtree.txt
│ │ │ │ ├── privateToThis.antlrtree.txt
│ │ │ │ ├── referenceToStaticMethodOnInstance.test.antlrtree.txt
│ │ │ │ ├── reservedExpressionSyntax.antlrtree.txt
│ │ │ │ ├── reservedExpressionSyntax2.antlrtree.txt
│ │ │ │ ├── reservedExpressionSyntax3.antlrtree.txt
│ │ │ │ ├── syntheticExtensionOnLHS.test.antlrtree.txt
│ │ │ │ └── valueOfTypeParameterType.antlrtree.txt
│ │ │ ├── callableReferenceAsLastExpressionInBlock.antlrtree.txt
│ │ │ ├── callableReferenceAssignmentToVar.lib.antlrtree.txt
│ │ │ ├── callableReferenceAssignmentToVar.main.antlrtree.txt
│ │ │ ├── callableReferenceInWhenExpression.antlrtree.txt
│ │ │ ├── callableReferenceWithMostSpecificGenericTypeParameter.antlrtree.txt
│ │ │ ├── callableReferencesToCompanionMembers.antlrtree.txt
│ │ │ ├── classVsPackage.1.antlrtree.txt
│ │ │ ├── classVsPackage.2.antlrtree.txt
│ │ │ ├── classVsPackage.test.antlrtree.txt
│ │ │ ├── compatibilityResolveWithVarargAndOperatorCall.antlrtree.txt
│ │ │ ├── constraintFromLHSWithCorrectDirection.antlrtree.txt
│ │ │ ├── constraintFromLHSWithCorrectDirectionError.antlrtree.txt
│ │ │ ├── correctCandidateWithCompatibilityForSeveralCandidates.antlrtree.txt
│ │ │ ├── correctInfoAfterArrayLikeCall.antlrtree.txt
│ │ │ ├── deprecateTopLevelReferenceWithCompanionLHS.antlrtree.txt
│ │ │ ├── deprecatedCompanionReceiverInParentheses.lib.antlrtree.txt
│ │ │ ├── deprecatedCompanionReceiverInParentheses.main.antlrtree.txt
│ │ │ ├── ea81649_errorPropertyLHS.bar.antlrtree.txt
│ │ │ ├── ea81649_errorPropertyLHS.foo.antlrtree.txt
│ │ │ ├── emptyLhs.antlrtree.txt
│ │ │ ├── expectedTypeAsSubtypeOfFunctionType.antlrtree.txt
│ │ │ ├── function/
│ │ │ │ ├── abstractClassConstructors.antlrtree.txt
│ │ │ │ ├── ambiguityTopLevelVsTopLevel.antlrtree.txt
│ │ │ │ ├── annotationClassConstructor.antlrtree.txt
│ │ │ │ ├── callableRefrenceOnNestedObject.antlrtree.txt
│ │ │ │ ├── classMemberVsConstructorLikeFunction.Foo.antlrtree.txt
│ │ │ │ ├── classMemberVsConstructorLikeFunction.test.antlrtree.txt
│ │ │ │ ├── constructorFromClass.antlrtree.txt
│ │ │ │ ├── constructorFromCompanion.A.antlrtree.txt
│ │ │ │ ├── constructorFromCompanion.AFactory.antlrtree.txt
│ │ │ │ ├── constructorFromCompanion.B.antlrtree.txt
│ │ │ │ ├── constructorFromCompanion.Util.antlrtree.txt
│ │ │ │ ├── constructorFromExtension.antlrtree.txt
│ │ │ │ ├── constructorFromExtensionInClass.antlrtree.txt
│ │ │ │ ├── constructorFromTopLevel.antlrtree.txt
│ │ │ │ ├── constructorOfNestedClassInObject.antlrtree.txt
│ │ │ │ ├── differentPackageClass.a.antlrtree.txt
│ │ │ │ ├── differentPackageClass.b.antlrtree.txt
│ │ │ │ ├── differentPackageExtension.a.antlrtree.txt
│ │ │ │ ├── differentPackageExtension.b.antlrtree.txt
│ │ │ │ ├── differentPackageTopLevel.a.antlrtree.txt
│ │ │ │ ├── differentPackageTopLevel.b.antlrtree.txt
│ │ │ │ ├── empty.antlrtree.txt
│ │ │ │ ├── extensionFromTopLevel.antlrtree.txt
│ │ │ │ ├── extensionInClassDisallowed.antlrtree.txt
│ │ │ │ ├── extensionOnNullable.antlrtree.txt
│ │ │ │ ├── extensionToSupertype.antlrtree.txt
│ │ │ │ ├── fakeOverrideType.antlrtree.txt
│ │ │ │ ├── genericClassFromTopLevel.antlrtree.txt
│ │ │ │ ├── importedInnerConstructor.antlrtree.txt
│ │ │ │ ├── innerConstructorFromClass.antlrtree.txt
│ │ │ │ ├── innerConstructorFromExtension.antlrtree.txt
│ │ │ │ ├── innerConstructorFromTopLevel.antlrtree.txt
│ │ │ │ ├── javaStaticMethod.1.antlrtree.txt
│ │ │ │ ├── lhsNotAClass.antlrtree.txt
│ │ │ │ ├── localConstructor.antlrtree.txt
│ │ │ │ ├── localConstructorFromExtensionInLocalClass.antlrtree.txt
│ │ │ │ ├── localConstructorFromLocalClass.antlrtree.txt
│ │ │ │ ├── localConstructorFromLocalExtension.antlrtree.txt
│ │ │ │ ├── localNamedFun.antlrtree.txt
│ │ │ │ ├── localNamedFunFromExtensionInLocalClass.antlrtree.txt
│ │ │ │ ├── localNamedFunFromLocalClass.antlrtree.txt
│ │ │ │ ├── localNamedFunFromLocalExtension.antlrtree.txt
│ │ │ │ ├── longQualifiedName.a.antlrtree.txt
│ │ │ │ ├── longQualifiedName.b.antlrtree.txt
│ │ │ │ ├── longQualifiedNameGeneric.a.antlrtree.txt
│ │ │ │ ├── longQualifiedNameGeneric.b.antlrtree.txt
│ │ │ │ ├── memberFromTopLevel.antlrtree.txt
│ │ │ │ ├── nestedConstructorFromClass.antlrtree.txt
│ │ │ │ ├── nestedConstructorFromExtension.antlrtree.txt
│ │ │ │ ├── nestedConstructorFromTopLevel.antlrtree.txt
│ │ │ │ ├── noAmbiguityLocalVsTopLevel.antlrtree.txt
│ │ │ │ ├── noAmbiguityMemberVsExtension.antlrtree.txt
│ │ │ │ ├── noAmbiguityMemberVsTopLevel.antlrtree.txt
│ │ │ │ ├── privateStaticAndPublicMember.main.antlrtree.txt
│ │ │ │ ├── renameOnImport.a.antlrtree.txt
│ │ │ │ ├── renameOnImport.b.antlrtree.txt
│ │ │ │ ├── topLevelFromClass.antlrtree.txt
│ │ │ │ ├── topLevelFromExtension.antlrtree.txt
│ │ │ │ ├── topLevelFromExtensionInClass.antlrtree.txt
│ │ │ │ ├── topLevelFromTopLevel.antlrtree.txt
│ │ │ │ └── unresolved.antlrtree.txt
│ │ │ ├── functionReferenceWithDefaultValueAsOtherFunctionType.antlrtree.txt
│ │ │ ├── functionReferenceWithDefaultValueAsOtherFunctionType_enabled.antlrtree.txt
│ │ │ ├── generic/
│ │ │ │ ├── argumentAndReturnExpectedType.antlrtree.txt
│ │ │ │ ├── argumentExpectedType.antlrtree.txt
│ │ │ │ ├── boundViolated.antlrtree.txt
│ │ │ │ ├── dependOnArgumentType.1.antlrtree.txt
│ │ │ │ ├── expectedFunctionType.antlrtree.txt
│ │ │ │ ├── explicitTypeArguments.antlrtree.txt
│ │ │ │ ├── genericExtensionFunction.antlrtree.txt
│ │ │ │ ├── genericFunctionsWithNullableTypes.antlrtree.txt
│ │ │ │ ├── incorrectNumberOfTypeArguments.antlrtree.txt
│ │ │ │ ├── kt10968.antlrtree.txt
│ │ │ │ ├── kt11075.antlrtree.txt
│ │ │ │ ├── kt12286.antlrtree.txt
│ │ │ │ ├── kt35896.antlrtree.txt
│ │ │ │ ├── kt7470.antlrtree.txt
│ │ │ │ ├── nestedCallWithOverload.antlrtree.txt
│ │ │ │ ├── resolutionGenericCallableWithNullableTypes.antlrtree.txt
│ │ │ │ ├── resolutionWithGenericCallable.antlrtree.txt
│ │ │ │ └── specialCalls.antlrtree.txt
│ │ │ ├── genericCallWithReferenceAgainstVararg.antlrtree.txt
│ │ │ ├── genericCallWithReferenceAgainstVarargAndKFunction.antlrtree.txt
│ │ │ ├── genericTypealiasInLhs.antlrtree.txt
│ │ │ ├── kt15439_completeCall.antlrtree.txt
│ │ │ ├── kt25433.antlrtree.txt
│ │ │ ├── kt31981.antlrtree.txt
│ │ │ ├── kt32256.antlrtree.txt
│ │ │ ├── kt32267.antlrtree.txt
│ │ │ ├── kt34314.antlrtree.txt
│ │ │ ├── kt34314_lambda.antlrtree.txt
│ │ │ ├── kt35105.antlrtree.txt
│ │ │ ├── kt35959.antlrtree.txt
│ │ │ ├── kt37530.antlrtree.txt
│ │ │ ├── kt46437.antlrtree.txt
│ │ │ ├── kt49038.antlrtree.txt
│ │ │ ├── kt52503.antlrtree.txt
│ │ │ ├── kt7430_wrongClassOnLHS.antlrtree.txt
│ │ │ ├── lambdaResult.antlrtree.txt
│ │ │ ├── memberExtensionsImportedFromObjectsUnsupported.antlrtree.txt
│ │ │ ├── noAmbiguityWhenAllReferencesAreInapplicable.antlrtree.txt
│ │ │ ├── noCompatibilityResolveWithProressiveModeForNI.antlrtree.txt
│ │ │ ├── noExceptionOnRedCodeWithArrayLikeCall.antlrtree.txt
│ │ │ ├── overloadResolutionWithDefaults.antlrtree.txt
│ │ │ ├── packageInLhs.qualifiedName.antlrtree.txt
│ │ │ ├── packageInLhs.simpleName.antlrtree.txt
│ │ │ ├── parsingPriorityOfGenericArgumentsVsLess.antlrtree.txt
│ │ │ ├── property/
│ │ │ │ ├── abstractPropertyViaSubclasses.antlrtree.txt
│ │ │ │ ├── accessViaSubclass.antlrtree.txt
│ │ │ │ ├── backingField.antlrtree.txt
│ │ │ │ ├── classFromClass.antlrtree.txt
│ │ │ │ ├── extensionFromTopLevel.antlrtree.txt
│ │ │ │ ├── extensionPropertyOnNullable.antlrtree.txt
│ │ │ │ ├── extensionsSameName.antlrtree.txt
│ │ │ │ ├── genericClass.antlrtree.txt
│ │ │ │ ├── javaInstanceField.test.antlrtree.txt
│ │ │ │ ├── javaStaticFieldViaImport.test.antlrtree.txt
│ │ │ │ ├── kt7564.antlrtree.txt
│ │ │ │ ├── kt7945_unrelatedClass.antlrtree.txt
│ │ │ │ ├── memberFromTopLevel.antlrtree.txt
│ │ │ │ ├── mutablePropertyViaDelegation.antlrtree.txt
│ │ │ │ ├── propertyFromAbstractSuperClass.antlrtree.txt
│ │ │ │ ├── protectedVarFromClass.antlrtree.txt
│ │ │ │ ├── returnTypeDependentOnGenericProperty.antlrtree.txt
│ │ │ │ ├── samePriorityForFunctionsAndProperties.antlrtree.txt
│ │ │ │ └── topLevelFromTopLevel.antlrtree.txt
│ │ │ ├── propertyOfNestedGenericClass.antlrtree.txt
│ │ │ ├── referenceAdaptationCompatibility.antlrtree.txt
│ │ │ ├── referenceInCycleInProperties.antlrtree.txt
│ │ │ ├── referenceToCompanionObjectMemberViaClassName.antlrtree.txt
│ │ │ ├── referenceToCompanionObjectMemberViaClassNameCompatibility.antlrtree.txt
│ │ │ ├── resolve/
│ │ │ │ ├── adaptedReferenceAgainstKCallable.antlrtree.txt
│ │ │ │ ├── adaptedReferenceAgainstReflectionType.antlrtree.txt
│ │ │ │ ├── ambiguityWhenNoApplicableCallableReferenceCandidate.antlrtree.txt
│ │ │ │ ├── ambiguityWithBoundExtensionReceiver.antlrtree.txt
│ │ │ │ ├── ambiguousWithVararg.antlrtree.txt
│ │ │ │ ├── applicableCallableReferenceFromDistantScope.antlrtree.txt
│ │ │ │ ├── byArgType.antlrtree.txt
│ │ │ │ ├── byGenericArgType.antlrtree.txt
│ │ │ │ ├── byValType.antlrtree.txt
│ │ │ │ ├── callableReferenceToVarargWithOverload.antlrtree.txt
│ │ │ │ ├── chooseCallableReferenceDependingOnInferredReceiver.antlrtree.txt
│ │ │ │ ├── chooseMostSpecificCandidateUsingCandidateDescriptorNotReflectionType.antlrtree.txt
│ │ │ │ ├── chooseOuterCallBySingleCallableReference.antlrtree.txt
│ │ │ │ ├── commonSupertypeFromReturnTypesOfCallableReference.antlrtree.txt
│ │ │ │ ├── compatibilityWarningOnReferenceAgainstReflectiveType.antlrtree.txt
│ │ │ │ ├── constructor.antlrtree.txt
│ │ │ │ ├── eagerAndPostponedCallableReferences.antlrtree.txt
│ │ │ │ ├── eagerResolveOfSingleCallableReference.antlrtree.txt
│ │ │ │ ├── innerClassConstructorOnOuterClassInstance.antlrtree.txt
│ │ │ │ ├── intersectionTypeOverloadWithWrongParameter.antlrtree.txt
│ │ │ │ ├── kt10036.antlrtree.txt
│ │ │ │ ├── kt10036_bound.antlrtree.txt
│ │ │ │ ├── kt12338.antlrtree.txt
│ │ │ │ ├── kt12751.antlrtree.txt
│ │ │ │ ├── kt35887.antlrtree.txt
│ │ │ │ ├── kt35887_simple.antlrtree.txt
│ │ │ │ ├── kt35920.main.antlrtree.txt
│ │ │ │ ├── kt8596.antlrtree.txt
│ │ │ │ ├── kt9601.antlrtree.txt
│ │ │ │ ├── moreSpecificAmbiguousExtensions.antlrtree.txt
│ │ │ │ ├── moreSpecificSimple.antlrtree.txt
│ │ │ │ ├── multipleOutersAndMultipleCallableReferences.antlrtree.txt
│ │ │ │ ├── nestedReferenceCallAgainstExpectedType.antlrtree.txt
│ │ │ │ ├── noAmbiguityBetweenTopLevelAndMemberProperty.antlrtree.txt
│ │ │ │ ├── noFakeDescriptorForObject.antlrtree.txt
│ │ │ │ ├── onlyInputTypesOnCallableReference.antlrtree.txt
│ │ │ │ ├── overloadAmbiguityForSimpleLastExpressionOfBlock.antlrtree.txt
│ │ │ │ ├── overloads.antlrtree.txt
│ │ │ │ ├── overloadsBound.antlrtree.txt
│ │ │ │ ├── overloadsMember.antlrtree.txt
│ │ │ │ ├── postponedResolveOfManyCallableReference.antlrtree.txt
│ │ │ │ ├── resolveCallableReferencesAfterAllSimpleArguments.antlrtree.txt
│ │ │ │ ├── resolveEqualsOperatorWithAnyExpectedType.antlrtree.txt
│ │ │ │ ├── resolveReferenceAgainstKFunctionAndKPrpoerty.antlrtree.txt
│ │ │ │ ├── resolveTwoReferencesAgainstGenerics.antlrtree.txt
│ │ │ │ ├── valVsFun.antlrtree.txt
│ │ │ │ ├── withAs.antlrtree.txt
│ │ │ │ ├── withExtFun.antlrtree.txt
│ │ │ │ ├── withGenericFun.antlrtree.txt
│ │ │ │ ├── withPlaceholderTypes.antlrtree.txt
│ │ │ │ └── withVararg.antlrtree.txt
│ │ │ ├── rewriteAtSliceOnGetOperator.antlrtree.txt
│ │ │ ├── sam.test.antlrtree.txt
│ │ │ ├── subtypeArgumentFromRHSForReference.antlrtree.txt
│ │ │ ├── suspendCallableReference.antlrtree.txt
│ │ │ ├── typealiases.antlrtree.txt
│ │ │ ├── unitAdaptationForReferenceCompatibility.test.antlrtree.txt
│ │ │ ├── unsupported/
│ │ │ │ ├── callableReferenceToLocalVariable.antlrtree.txt
│ │ │ │ ├── classLiteralsWithEmptyLHS.antlrtree.txt
│ │ │ │ ├── javaOverridesKotlinProperty.Main.antlrtree.txt
│ │ │ │ ├── localVariable.antlrtree.txt
│ │ │ │ ├── localVariableWithSubstitution.antlrtree.txt
│ │ │ │ ├── parameterWithSubstitution.antlrtree.txt
│ │ │ │ ├── referenceToKotlinPropertyViaIntermediateJavaClass.Main.antlrtree.txt
│ │ │ │ ├── syntheticProperties.test.antlrtree.txt
│ │ │ │ └── syntheticPropertiesOnJavaAnnotation.Main.antlrtree.txt
│ │ │ ├── unused.antlrtree.txt
│ │ │ ├── whitespacesInExpression.antlrtree.txt
│ │ │ └── withQuestionMarks.antlrtree.txt
│ │ ├── cast/
│ │ │ ├── AsArray.antlrtree.txt
│ │ │ ├── AsErasedError.antlrtree.txt
│ │ │ ├── AsErasedFine.antlrtree.txt
│ │ │ ├── AsErasedStar.antlrtree.txt
│ │ │ ├── AsErasedWarning.antlrtree.txt
│ │ │ ├── AsInBinaryUnary.antlrtree.txt
│ │ │ ├── AsInBlockWithReturnType.antlrtree.txt
│ │ │ ├── AsInCompoundAssignment.antlrtree.txt
│ │ │ ├── AsInExpressionBody.antlrtree.txt
│ │ │ ├── AsInPropertyAndPropertyAccessor.antlrtree.txt
│ │ │ ├── AsNothing.antlrtree.txt
│ │ │ ├── AsTypeAlias.antlrtree.txt
│ │ │ ├── AsWithOtherParameter.antlrtree.txt
│ │ │ ├── DowncastMap.antlrtree.txt
│ │ │ ├── ExtensionAsNonExtension.antlrtree.txt
│ │ │ ├── FlexibleTargetType.sample.antlrtree.txt
│ │ │ ├── IsErasedAllowForDerivedWithOneSubstitutedAndOneSameGeneric.antlrtree.txt
│ │ │ ├── IsErasedAllowForExactSupertypeCheck.antlrtree.txt
│ │ │ ├── IsErasedAllowForOverridenVarianceWithProjection.antlrtree.txt
│ │ │ ├── IsErasedAllowForSupertypeCheckWithContrvariance.antlrtree.txt
│ │ │ ├── IsErasedAllowForSupertypeCheckWithCovariance.antlrtree.txt
│ │ │ ├── IsErasedAllowForTypeWithIrrelevantMixin.antlrtree.txt
│ │ │ ├── IsErasedAllowForTypeWithTwoSameTypeSubstitutions.antlrtree.txt
│ │ │ ├── IsErasedAllowForTypeWithoutTypeArguments.antlrtree.txt
│ │ │ ├── IsErasedAllowFromOut.antlrtree.txt
│ │ │ ├── IsErasedAllowFromOut2.antlrtree.txt
│ │ │ ├── IsErasedAllowFromOut3.antlrtree.txt
│ │ │ ├── IsErasedAllowFromOutAtClass.antlrtree.txt
│ │ │ ├── IsErasedAllowParameterSubtype.antlrtree.txt
│ │ │ ├── IsErasedAllowSameClassParameter.antlrtree.txt
│ │ │ ├── IsErasedAllowSameParameterParameter.antlrtree.txt
│ │ │ ├── IsErasedDisallowDifferentArgInvariantPosition.antlrtree.txt
│ │ │ ├── IsErasedDisallowForOverridenVariance.antlrtree.txt
│ │ │ ├── IsErasedDisallowForTypeWithConstraints.antlrtree.txt
│ │ │ ├── IsErasedDisallowFromAny.antlrtree.txt
│ │ │ ├── IsErasedDisallowFromIn.antlrtree.txt
│ │ │ ├── IsErasedDisallowFromOut.antlrtree.txt
│ │ │ ├── IsErasedDisallowFromOutAtClass.antlrtree.txt
│ │ │ ├── IsErasedDissallowForSubtypeMappedToTwoParamsWithFirstInvalid.antlrtree.txt
│ │ │ ├── IsErasedDissallowForSubtypeMappedToTwoParamsWithSecondInvalid.antlrtree.txt
│ │ │ ├── IsErasedNonGeneric.antlrtree.txt
│ │ │ ├── IsErasedNullableTasT.antlrtree.txt
│ │ │ ├── IsErasedStar.antlrtree.txt
│ │ │ ├── IsErasedTasT.antlrtree.txt
│ │ │ ├── IsErasedToErrorType.antlrtree.txt
│ │ │ ├── IsErasedUpcastToNonReified.antlrtree.txt
│ │ │ ├── IsForTypeWithComplexUpperBound.antlrtree.txt
│ │ │ ├── IsRecursionSustainable.antlrtree.txt
│ │ │ ├── IsTraits.antlrtree.txt
│ │ │ ├── IsWithCycleUpperBounds.antlrtree.txt
│ │ │ ├── NullableToNullable.antlrtree.txt
│ │ │ ├── StableTypeForUselessCast.antlrtree.txt
│ │ │ ├── UselessSafeCast.antlrtree.txt
│ │ │ ├── WhenErasedDisallowFromAny.antlrtree.txt
│ │ │ ├── WhenWithExpression.antlrtree.txt
│ │ │ ├── bare/
│ │ │ │ ├── AsNestedBare.antlrtree.txt
│ │ │ │ ├── AsNullable.antlrtree.txt
│ │ │ │ ├── AsNullableNotEnough.antlrtree.txt
│ │ │ │ ├── EitherAs.antlrtree.txt
│ │ │ │ ├── EitherIs.antlrtree.txt
│ │ │ │ ├── EitherNotIs.antlrtree.txt
│ │ │ │ ├── EitherSafeAs.antlrtree.txt
│ │ │ │ ├── EitherWhen.antlrtree.txt
│ │ │ │ ├── ErrorsInSubstitution.antlrtree.txt
│ │ │ │ ├── FromErrorType.antlrtree.txt
│ │ │ │ ├── NullableAs.antlrtree.txt
│ │ │ │ ├── NullableAsNotEnough.antlrtree.txt
│ │ │ │ ├── NullableAsNullable.antlrtree.txt
│ │ │ │ ├── NullableAsNullableNotEnough.antlrtree.txt
│ │ │ │ ├── RedundantNullable.antlrtree.txt
│ │ │ │ ├── SupertypeChain.antlrtree.txt
│ │ │ │ ├── ToErrorType.antlrtree.txt
│ │ │ │ ├── UnrelatedAs.antlrtree.txt
│ │ │ │ ├── UnrelatedColon.antlrtree.txt
│ │ │ │ └── UnrelatedIs.antlrtree.txt
│ │ │ ├── checkCastToNullableType.test.antlrtree.txt
│ │ │ ├── constants.antlrtree.txt
│ │ │ ├── isAlwaysFalse.antlrtree.txt
│ │ │ ├── isErasedAnyAndStarred.antlrtree.txt
│ │ │ ├── isErasedTAndStarred.antlrtree.txt
│ │ │ ├── isErasedUnrelatedAndStarred.antlrtree.txt
│ │ │ ├── kt15161.antlrtree.txt
│ │ │ ├── kt47685.antlrtree.txt
│ │ │ ├── kt614.antlrtree.txt
│ │ │ ├── neverSucceeds/
│ │ │ │ ├── CastToNotNullSuper.antlrtree.txt
│ │ │ │ ├── MappedDirect.antlrtree.txt
│ │ │ │ ├── MappedSubtypes.antlrtree.txt
│ │ │ │ ├── NoGenericsRelated.antlrtree.txt
│ │ │ │ └── NoGenericsUnrelated.antlrtree.txt
│ │ │ └── nothingAs.antlrtree.txt
│ │ ├── checkArguments/
│ │ │ ├── SpreadVarargs.antlrtree.txt
│ │ │ ├── arrayAccessSet.antlrtree.txt
│ │ │ ├── arrayAccessSetNotEnoughArgs.antlrtree.txt
│ │ │ ├── arrayAccessSetTooManyArgs.antlrtree.txt
│ │ │ ├── booleanExpressions.antlrtree.txt
│ │ │ ├── kt17691.antlrtree.txt
│ │ │ ├── kt17691WithEnabledFeature.antlrtree.txt
│ │ │ ├── kt1897_diagnostic_part.antlrtree.txt
│ │ │ ├── kt1940.antlrtree.txt
│ │ │ ├── kt49276.antlrtree.txt
│ │ │ ├── kt49276Disabled.antlrtree.txt
│ │ │ ├── kt49276Error.antlrtree.txt
│ │ │ ├── kt51062.main.antlrtree.txt
│ │ │ ├── kt51062Error.main.antlrtree.txt
│ │ │ ├── overloadedFunction.antlrtree.txt
│ │ │ └── twoLambdasFunction.antlrtree.txt
│ │ ├── checkTypeTest.antlrtree.txt
│ │ ├── checkTypeWithExactTest.antlrtree.txt
│ │ ├── classLiteral/
│ │ │ ├── arrays.antlrtree.txt
│ │ │ ├── classAndObjectLiteralType.antlrtree.txt
│ │ │ ├── classLiteralType.antlrtree.txt
│ │ │ ├── expressionWithNullableType.test.antlrtree.txt
│ │ │ ├── genericArrays.antlrtree.txt
│ │ │ ├── genericClasses.antlrtree.txt
│ │ │ ├── inAnnotationArguments.antlrtree.txt
│ │ │ ├── inAnnotationArguments_noTypeParams.antlrtree.txt
│ │ │ ├── integerValueType.antlrtree.txt
│ │ │ ├── nonClassesOnLHS.antlrtree.txt
│ │ │ ├── parameterizedTypeAlias.antlrtree.txt
│ │ │ ├── qualifiedClassLiteral.antlrtree.txt
│ │ │ ├── simpleClassLiteral.antlrtree.txt
│ │ │ ├── smartCast.antlrtree.txt
│ │ │ ├── typealiases.antlrtree.txt
│ │ │ └── unresolvedClass.antlrtree.txt
│ │ ├── classObjects/
│ │ │ ├── ClassObjectCannotAccessClassFields.antlrtree.txt
│ │ │ ├── ClassObjectVisibility.antlrtree.txt
│ │ │ ├── ClassObjects.antlrtree.txt
│ │ │ ├── InnerClassAccessThroughClassObject.antlrtree.txt
│ │ │ ├── InnerClassAccessThroughEnum_after.antlrtree.txt
│ │ │ ├── InnerClassAccessThroughEnum_before.antlrtree.txt
│ │ │ ├── InnerClassClassObject.antlrtree.txt
│ │ │ ├── builtInClassObjects.antlrtree.txt
│ │ │ ├── classObjectHeader.antlrtree.txt
│ │ │ ├── classObjectInLocalClass.antlrtree.txt
│ │ │ ├── classObjectRedeclaration.antlrtree.txt
│ │ │ ├── classWithFunctionSupertype_after.antlrtree.txt
│ │ │ ├── classWithFunctionSupertype_before.antlrtree.txt
│ │ │ ├── companionObjectOfPrivateClassVisibility.antlrtree.txt
│ │ │ ├── importClassInClassObject.antlrtree.txt
│ │ │ ├── invisibleClassObjects.a.antlrtree.txt
│ │ │ ├── invisibleClassObjects.b.antlrtree.txt
│ │ │ ├── kt3866.antlrtree.txt
│ │ │ ├── multipleDissallowedDefaultObjects.antlrtree.txt
│ │ │ ├── nestedClassInPrivateClassObject.antlrtree.txt
│ │ │ ├── resolveFunctionInsideClassObject.antlrtree.txt
│ │ │ ├── selfCallsInCompanionSuperConstructor_error.antlrtree.txt
│ │ │ ├── selfCallsInCompanionSuperConstructor_warning.antlrtree.txt
│ │ │ ├── typeParametersInAnnonymousObject.antlrtree.txt
│ │ │ ├── typeParametersInAnnonymousObject_after.antlrtree.txt
│ │ │ └── typeParametersInObject.antlrtree.txt
│ │ ├── collectionLiterals/
│ │ │ ├── argumentsOfAnnotation.antlrtree.txt
│ │ │ ├── argumentsOfAnnotationWithKClass.antlrtree.txt
│ │ │ ├── basicCollectionLiterals.antlrtree.txt
│ │ │ ├── collectionLiteralsAsPrimitiveArrays.antlrtree.txt
│ │ │ ├── collectionLiteralsOutsideOfAnnotations.antlrtree.txt
│ │ │ ├── collectionLiteralsWithVarargs.antlrtree.txt
│ │ │ ├── defaultValuesInAnnotation.antlrtree.txt
│ │ │ ├── defaultValuesWithConstantsInAnnotation.antlrtree.txt
│ │ │ ├── kt34515.antlrtree.txt
│ │ │ ├── noCollectionLiterals.antlrtree.txt
│ │ │ └── resolveToFunctionFromBuiltIns.antlrtree.txt
│ │ ├── comparingArbitraryClasses.antlrtree.txt
│ │ ├── comparingCallableReferencesWithInstanceOfJavaClass.Main.antlrtree.txt
│ │ ├── comparisonOfGenericInterfaceWithGenericClass.antlrtree.txt
│ │ ├── constantEvaluator/
│ │ │ ├── constant/
│ │ │ │ ├── classObjectProperty.antlrtree.txt
│ │ │ │ ├── compareTo.antlrtree.txt
│ │ │ │ ├── differentTypes.antlrtree.txt
│ │ │ │ ├── divideByZero.antlrtree.txt
│ │ │ │ ├── duplicateLabelWithNonTrivialCondition_disabled.antlrtree.txt
│ │ │ │ ├── duplicateLabelWithNonTrivialCondition_enabled.antlrtree.txt
│ │ │ │ ├── equals.antlrtree.txt
│ │ │ │ ├── exceptionWhenEvaluate.antlrtree.txt
│ │ │ │ ├── finalProperty.antlrtree.txt
│ │ │ │ ├── float.antlrtree.txt
│ │ │ │ ├── floatsAndDoubles.antlrtree.txt
│ │ │ │ ├── integer.antlrtree.txt
│ │ │ │ ├── integerOperations.antlrtree.txt
│ │ │ │ ├── integers.antlrtree.txt
│ │ │ │ ├── invAsCompileTimeCall.antlrtree.txt
│ │ │ │ ├── localVal.antlrtree.txt
│ │ │ │ ├── localVar.antlrtree.txt
│ │ │ │ ├── nonFinalProperty.antlrtree.txt
│ │ │ │ ├── objectProperty.antlrtree.txt
│ │ │ │ ├── strings.antlrtree.txt
│ │ │ │ ├── topLevelVal.antlrtree.txt
│ │ │ │ ├── topLevelVar.antlrtree.txt
│ │ │ │ ├── unaryMinusIndepWoExpType.antlrtree.txt
│ │ │ │ └── unaryMinusIndependentExpType.antlrtree.txt
│ │ │ ├── isPure/
│ │ │ │ ├── innerToType.antlrtree.txt
│ │ │ │ ├── namedConstants.antlrtree.txt
│ │ │ │ ├── toType.antlrtree.txt
│ │ │ │ ├── unaryMinusIndepWoExpType.antlrtree.txt
│ │ │ │ └── unaryMinusIndependentExpType.antlrtree.txt
│ │ │ └── usesVariableAsConstant/
│ │ │ ├── NamedConstants.antlrtree.txt
│ │ │ ├── OtherTypes.antlrtree.txt
│ │ │ ├── binaryTypes.antlrtree.txt
│ │ │ └── simpleTypes.antlrtree.txt
│ │ ├── constructorConsistency/
│ │ │ ├── afterInitialization.antlrtree.txt
│ │ │ ├── aliencall.antlrtree.txt
│ │ │ ├── assignment.antlrtree.txt
│ │ │ ├── backing.antlrtree.txt
│ │ │ ├── basic.antlrtree.txt
│ │ │ ├── companion.antlrtree.txt
│ │ │ ├── comparison.antlrtree.txt
│ │ │ ├── delegate.antlrtree.txt
│ │ │ ├── derived.antlrtree.txt
│ │ │ ├── derivedProperty.antlrtree.txt
│ │ │ ├── errorInsideDelegationCallNoPrimary.antlrtree.txt
│ │ │ ├── getset.antlrtree.txt
│ │ │ ├── init.antlrtree.txt
│ │ │ ├── initializerWithSecondaryConstructor.antlrtree.txt
│ │ │ ├── initwithgetter.antlrtree.txt
│ │ │ ├── inspection.antlrtree.txt
│ │ │ ├── lambdaInObject.antlrtree.txt
│ │ │ ├── lateInit.antlrtree.txt
│ │ │ ├── localObject.antlrtree.txt
│ │ │ ├── multipleAreNull.antlrtree.txt
│ │ │ ├── nobacking.antlrtree.txt
│ │ │ ├── open.antlrtree.txt
│ │ │ ├── openProperty.antlrtree.txt
│ │ │ ├── outer.antlrtree.txt
│ │ │ ├── parametersVsPropertiesFromPrimaryConstructor.antlrtree.txt
│ │ │ ├── property.antlrtree.txt
│ │ │ ├── propertyAccess.antlrtree.txt
│ │ │ ├── twoSecondaryConstructors.antlrtree.txt
│ │ │ └── twoSuperTypeCalls.antlrtree.txt
│ │ ├── controlFlowAnalysis/
│ │ │ ├── UninitializedEnumCompanionVals.antlrtree.txt
│ │ │ ├── UninitializedOrReassignedVariables.antlrtree.txt
│ │ │ ├── accessToCompanionInBaseEnumInitSection_function.antlrtree.txt
│ │ │ ├── accessToCompanionInBaseEnumInitSection_property.antlrtree.txt
│ │ │ ├── accessValueParameterInDefaultValue_after.antlrtree.txt
│ │ │ ├── accessValueParameterInDefaultValue_before.antlrtree.txt
│ │ │ ├── assignedInFinally.antlrtree.txt
│ │ │ ├── assignedInIfElse.antlrtree.txt
│ │ │ ├── assignedInTryWithCatch.antlrtree.txt
│ │ │ ├── assignedInTryWithoutCatch.antlrtree.txt
│ │ │ ├── assignmentInLocalsInConstructor.antlrtree.txt
│ │ │ ├── assignmentOfSyntheticVarWithInconsistentNullability.KotlinBase.antlrtree.txt
│ │ │ ├── assignmentOfSyntheticVarWithInconsistentNullability.main.antlrtree.txt
│ │ │ ├── backingFieldInsideGetter_after.antlrtree.txt
│ │ │ ├── backingFieldInsideGetter_before.antlrtree.txt
│ │ │ ├── breakContinueInTryFinally.antlrtree.txt
│ │ │ ├── breakContinueInTryFinallyInLoop.antlrtree.txt
│ │ │ ├── breakContinueNoinline.antlrtree.txt
│ │ │ ├── breakInLambdaPassedToDirectInvoke.antlrtree.txt
│ │ │ ├── breakInsideLocal.antlrtree.txt
│ │ │ ├── breakOrContinueInLoopCondition.antlrtree.txt
│ │ │ ├── capturingUninitializedVariableInNonInPlaceLambda.antlrtree.txt
│ │ │ ├── cfgOfFullyIncorrectCode.antlrtree.txt
│ │ │ ├── checkInnerLocalDeclarations.antlrtree.txt
│ │ │ ├── checkPropertyAccessor.antlrtree.txt
│ │ │ ├── constructorPropertyInterdependence.antlrtree.txt
│ │ │ ├── deadCode/
│ │ │ │ ├── commasAndWhitespaces.antlrtree.txt
│ │ │ │ ├── commentsInDeadCode.antlrtree.txt
│ │ │ │ ├── deadCallInInvokeCall.antlrtree.txt
│ │ │ │ ├── deadCallInReceiver.antlrtree.txt
│ │ │ │ ├── deadCodeDifferentExamples.antlrtree.txt
│ │ │ │ ├── deadCodeFromDifferentSources.antlrtree.txt
│ │ │ │ ├── deadCodeInArrayAccess.antlrtree.txt
│ │ │ │ ├── deadCodeInAssignment.antlrtree.txt
│ │ │ │ ├── deadCodeInBinaryExpressions.antlrtree.txt
│ │ │ │ ├── deadCodeInCalls.antlrtree.txt
│ │ │ │ ├── deadCodeInDeadCode.antlrtree.txt
│ │ │ │ ├── deadCodeInIf.antlrtree.txt
│ │ │ │ ├── deadCodeInInnerExpressions.antlrtree.txt
│ │ │ │ ├── deadCodeInLocalDeclarations.antlrtree.txt
│ │ │ │ ├── deadCodeInLoops.antlrtree.txt
│ │ │ │ ├── deadCodeInReturn.antlrtree.txt
│ │ │ │ ├── deadCodeInUnaryExpr.antlrtree.txt
│ │ │ │ ├── deadCodeInWhileFromBreak.antlrtree.txt
│ │ │ │ ├── expressionInUnitLiteral.antlrtree.txt
│ │ │ │ ├── initializationInUnreachableCode.antlrtree.txt
│ │ │ │ ├── kt2585_1.antlrtree.txt
│ │ │ │ ├── kt2585_2.antlrtree.txt
│ │ │ │ ├── kt2585_3.antlrtree.txt
│ │ │ │ ├── kt3162tryAsInitializer.antlrtree.txt
│ │ │ │ ├── kt5200DeadCodeInLambdas.antlrtree.txt
│ │ │ │ ├── reassignementInUnreachableCode.antlrtree.txt
│ │ │ │ └── returnInDeadLambda.antlrtree.txt
│ │ │ ├── definiteReturn/
│ │ │ │ ├── ReturnFromFunctionInObject.antlrtree.txt
│ │ │ │ ├── kt3444_ReturnFromLocalFunctions.antlrtree.txt
│ │ │ │ ├── kt4034.antlrtree.txt
│ │ │ │ ├── lambdaInTryFalsePositive.antlrtree.txt
│ │ │ │ ├── returnAliasedUnitNotRequired.antlrtree.txt
│ │ │ │ ├── simpleClass.a.antlrtree.txt
│ │ │ │ ├── simpleClass.b.antlrtree.txt
│ │ │ │ ├── simpleClass.c.antlrtree.txt
│ │ │ │ ├── simpleClass.d.antlrtree.txt
│ │ │ │ ├── simpleClass.e.antlrtree.txt
│ │ │ │ ├── simpleClass.f.antlrtree.txt
│ │ │ │ └── singleReturnFromTry.antlrtree.txt
│ │ │ ├── definiteReturnInWhen.antlrtree.txt
│ │ │ ├── delegatedConstructorArguments.antlrtree.txt
│ │ │ ├── delegatedMemberProperyWriteInInit.antlrtree.txt
│ │ │ ├── delegatedPropertyEarlyAccess.antlrtree.txt
│ │ │ ├── doWhileAssignment.antlrtree.txt
│ │ │ ├── doWhileNotDefined.antlrtree.txt
│ │ │ ├── elvisNotProcessed.antlrtree.txt
│ │ │ ├── enumCompanionInterdependence.antlrtree.txt
│ │ │ ├── enumInterdependence.antlrtree.txt
│ │ │ ├── fieldAsClassDelegate.antlrtree.txt
│ │ │ ├── fieldInitialization.antlrtree.txt
│ │ │ ├── infiniteLoops.antlrtree.txt
│ │ │ ├── initializationInLambda.antlrtree.txt
│ │ │ ├── initializationInLocalClass.antlrtree.txt
│ │ │ ├── initializationInLocalFun.antlrtree.txt
│ │ │ ├── initializationInLocalViaExplicitThis_after.antlrtree.txt
│ │ │ ├── initializationInLocalViaExplicitThis_before.antlrtree.txt
│ │ │ ├── inlinedBreakContinueFeatureDisabled.antlrtree.txt
│ │ │ ├── kt1001.antlrtree.txt
│ │ │ ├── kt1027.antlrtree.txt
│ │ │ ├── kt1066.antlrtree.txt
│ │ │ ├── kt10805.antlrtree.txt
│ │ │ ├── kt10823.antlrtree.txt
│ │ │ ├── kt1156.antlrtree.txt
│ │ │ ├── kt1185enums.antlrtree.txt
│ │ │ ├── kt1189.antlrtree.txt
│ │ │ ├── kt1191.antlrtree.txt
│ │ │ ├── kt1219.1301.antlrtree.txt
│ │ │ ├── kt1571.antlrtree.txt
│ │ │ ├── kt1977.antlrtree.txt
│ │ │ ├── kt2166_kt2103.antlrtree.txt
│ │ │ ├── kt2226.antlrtree.txt
│ │ │ ├── kt2330.antlrtree.txt
│ │ │ ├── kt2334.antlrtree.txt
│ │ │ ├── kt2369.antlrtree.txt
│ │ │ ├── kt2845.antlrtree.txt
│ │ │ ├── kt2960.antlrtree.txt
│ │ │ ├── kt2972.antlrtree.txt
│ │ │ ├── kt3444.antlrtree.txt
│ │ │ ├── kt3501.antlrtree.txt
│ │ │ ├── kt4126.antlrtree.txt
│ │ │ ├── kt4405.antlrtree.txt
│ │ │ ├── kt510.antlrtree.txt
│ │ │ ├── kt52131.antlrtree.txt
│ │ │ ├── kt607.antlrtree.txt
│ │ │ ├── kt609.antlrtree.txt
│ │ │ ├── kt610.antlrtree.txt
│ │ │ ├── kt6788.antlrtree.txt
│ │ │ ├── kt776.antlrtree.txt
│ │ │ ├── kt843.antlrtree.txt
│ │ │ ├── kt897.antlrtree.txt
│ │ │ ├── localClasses.antlrtree.txt
│ │ │ ├── localObjectInConstructor.antlrtree.txt
│ │ │ ├── loopWithNonTrivialBooleanConst_error.antlrtree.txt
│ │ │ ├── loopWithNonTrivialBooleanConst_warning.antlrtree.txt
│ │ │ ├── mainWithWarningOnUnusedParam.antlrtree.txt
│ │ │ ├── mainWithoutWarningOnUnusedParam.antlrtree.txt
│ │ │ ├── nestedTryFinally.antlrtree.txt
│ │ │ ├── nonLocalReturnUnreachable.antlrtree.txt
│ │ │ ├── nonLocalReturnWithFinally.antlrtree.txt
│ │ │ ├── privateSetter.antlrtree.txt
│ │ │ ├── propertiesInitWithOtherInstance.antlrtree.txt
│ │ │ ├── propertiesInitWithOtherInstanceInner.antlrtree.txt
│ │ │ ├── propertiesInitWithOtherInstanceThisLabel.antlrtree.txt
│ │ │ ├── propertiesOrderInPackage.antlrtree.txt
│ │ │ ├── reassignmentInCatch.antlrtree.txt
│ │ │ ├── reassignmentInTryCatch.antlrtree.txt
│ │ │ ├── reassignmentInTryCatchWithJumps.antlrtree.txt
│ │ │ ├── referenceToPropertyInitializer.antlrtree.txt
│ │ │ ├── repeatUnitializedErrorOnlyForLocalVars.antlrtree.txt
│ │ │ ├── safeCallAfterVariableInitialization.antlrtree.txt
│ │ │ ├── scopeOfAnonymousInitializer.antlrtree.txt
│ │ │ ├── smartCastInCatch.antlrtree.txt
│ │ │ ├── throwInLambda.antlrtree.txt
│ │ │ ├── tryWithAssignmentUsedInCatch.antlrtree.txt
│ │ │ ├── uninintializedProperyWithDirectAndDelayedInitialization.antlrtree.txt
│ │ │ ├── uninitializedCompanionOfEnum_after.antlrtree.txt
│ │ │ ├── uninitializedCompanionOfEnum_before.antlrtree.txt
│ │ │ ├── uninitializedInLocalDeclarations.antlrtree.txt
│ │ │ ├── uninitializedQualifiedEnumEntry.antlrtree.txt
│ │ │ ├── unmappedArgs.antlrtree.txt
│ │ │ ├── unnecessaryLateinit/
│ │ │ │ ├── lateinitRecursiveInLambda.antlrtree.txt
│ │ │ │ ├── lateinitWithConstructor.antlrtree.txt
│ │ │ │ ├── lateinitWithErroneousDelegation.antlrtree.txt
│ │ │ │ ├── lateinitWithInit.antlrtree.txt
│ │ │ │ ├── lateinitWithMultipleConstructors.antlrtree.txt
│ │ │ │ ├── lateinitWithMultipleConstructorsAndDelegation.antlrtree.txt
│ │ │ │ ├── lateinitWithPlusAssign.antlrtree.txt
│ │ │ │ ├── lateinitWithPrimaryConstructorAndConstructor.antlrtree.txt
│ │ │ │ ├── normalLateinit.antlrtree.txt
│ │ │ │ ├── normalLateinitWithTwoConstructors.antlrtree.txt
│ │ │ │ ├── secondaryConstructorDelegateItself.antlrtree.txt
│ │ │ │ └── secondaryConstructorDelegateLoop.antlrtree.txt
│ │ │ ├── unresolvedReference.antlrtree.txt
│ │ │ ├── unusedPropertyWithCustomAccessors.antlrtree.txt
│ │ │ ├── useUninitializedInLambda.antlrtree.txt
│ │ │ └── varInitializationInIfInCycle.antlrtree.txt
│ │ ├── controlStructures/
│ │ │ ├── ForLoopWithExtensionIteratorOnNullable.antlrtree.txt
│ │ │ ├── ForWithoutBraces.antlrtree.txt
│ │ │ ├── ForbidStatementAsDirectFunctionBody.antlrtree.txt
│ │ │ ├── breakContinueInCrossInlineLambda.antlrtree.txt
│ │ │ ├── breakContinueInNoInlineLambda.antlrtree.txt
│ │ │ ├── breakToLabel.antlrtree.txt
│ │ │ ├── catchGenerics.antlrtree.txt
│ │ │ ├── catchInnerClassesOfGenerics.antlrtree.txt
│ │ │ ├── catchInnerClassesOfGenerics_deprecation.antlrtree.txt
│ │ │ ├── catchWithDefault.antlrtree.txt
│ │ │ ├── catchingLocalClassesCapturingTypeParameters.antlrtree.txt
│ │ │ ├── commonSupertypeOfT.antlrtree.txt
│ │ │ ├── continueAndBreakLabelWithSameFunctionName.antlrtree.txt
│ │ │ ├── continueInInitBlock.antlrtree.txt
│ │ │ ├── emptyIf.antlrtree.txt
│ │ │ ├── forLoopWithNullableRange.antlrtree.txt
│ │ │ ├── forWithIncorrectTypeSpecializer.antlrtree.txt
│ │ │ ├── forWithNullableIterator.antlrtree.txt
│ │ │ ├── ifElseIntersection.antlrtree.txt
│ │ │ ├── ifInResultOfLambda.antlrtree.txt
│ │ │ ├── ifToAnyDiscriminatingUsages.antlrtree.txt
│ │ │ ├── ifWhenToAnyComplexExpressions.antlrtree.txt
│ │ │ ├── ifWhenWithoutElse.antlrtree.txt
│ │ │ ├── improperElseInExpression.antlrtree.txt
│ │ │ ├── incorrectElvis.antlrtree.txt
│ │ │ ├── jumpAcrossFunctionBoundary.antlrtree.txt
│ │ │ ├── kt10322.antlrtree.txt
│ │ │ ├── kt10706.antlrtree.txt
│ │ │ ├── kt10717.antlrtree.txt
│ │ │ ├── kt1075.antlrtree.txt
│ │ │ ├── kt30406.antlrtree.txt
│ │ │ ├── kt4310.antlrtree.txt
│ │ │ ├── kt51711.antlrtree.txt
│ │ │ ├── kt657.antlrtree.txt
│ │ │ ├── kt770.kt351.kt735_StatementType.antlrtree.txt
│ │ │ ├── kt786.antlrtree.txt
│ │ │ ├── kt799.antlrtree.txt
│ │ │ ├── lambdasInExclExclAndElvis.antlrtree.txt
│ │ │ ├── localReturnInsidePropertyAccessor.antlrtree.txt
│ │ │ ├── nestedLoopsWithMultipleLabels.antlrtree.txt
│ │ │ ├── nonExhaustiveIfInElvis_after.antlrtree.txt
│ │ │ ├── nonExhaustiveIfInElvis_before.antlrtree.txt
│ │ │ ├── notAFunctionLabel_after.antlrtree.txt
│ │ │ ├── notAFunctionLabel_before.antlrtree.txt
│ │ │ ├── redundantLabel.antlrtree.txt
│ │ │ ├── specialConstructsAndPlatformTypes.k.antlrtree.txt
│ │ │ ├── specialConstructsWithNullableExpectedType.antlrtree.txt
│ │ │ ├── tryReturnType.antlrtree.txt
│ │ │ ├── typeInferenceForExclExcl.b.antlrtree.txt
│ │ │ ├── valVarCatchParameter.antlrtree.txt
│ │ │ ├── valVarLoopParameter.antlrtree.txt
│ │ │ ├── when.kt234.kt973.antlrtree.txt
│ │ │ ├── whenInResultOfLambda.antlrtree.txt
│ │ │ ├── whenToAnyDiscriminatingUsages.antlrtree.txt
│ │ │ ├── whenWithNoSubjectAndCommas.antlrtree.txt
│ │ │ └── whenWithNothingTypedSubject.antlrtree.txt
│ │ ├── coroutines/
│ │ │ ├── callableReference/
│ │ │ │ ├── invokeOutideSuspend.antlrtree.txt
│ │ │ │ └── outsideSuspend.antlrtree.txt
│ │ │ ├── inlineSuspendTypealias.antlrtree.txt
│ │ │ ├── modifierFormBuiltinSuspendFun.antlrtree.txt
│ │ │ ├── suspendFunctionAsSupertype/
│ │ │ │ ├── kSuspendFunctionN/
│ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypes.antlrtree.txt
│ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperClass.antlrtree.txt
│ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperFunInterface.antlrtree.txt
│ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperinterface.antlrtree.txt
│ │ │ │ │ └── simple.antlrtree.txt
│ │ │ │ ├── simple/
│ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypes.antlrtree.txt
│ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperClass.antlrtree.txt
│ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperFunInterface.antlrtree.txt
│ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperinterface.antlrtree.txt
│ │ │ │ │ └── simple.antlrtree.txt
│ │ │ │ └── suspendFunctionN/
│ │ │ │ ├── mixingSuspendAndNonSuspendSupertypes.antlrtree.txt
│ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperClass.antlrtree.txt
│ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperFunInterface.antlrtree.txt
│ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperinterface.antlrtree.txt
│ │ │ │ └── simple.antlrtree.txt
│ │ │ ├── suspendInvokeInsideTry.antlrtree.txt
│ │ │ ├── suspendInvokeInsideWhen.antlrtree.txt
│ │ │ ├── suspendInvokeWithReceiver.antlrtree.txt
│ │ │ └── suspendLambdaFromExpectedType.antlrtree.txt
│ │ ├── cyclicHierarchy/
│ │ │ ├── classIndirectlyInheritsNested.antlrtree.txt
│ │ │ ├── classInheritsNested.antlrtree.txt
│ │ │ ├── commonSupertypeForCyclicAndUsualTypes.antlrtree.txt
│ │ │ ├── commonSupertypeForCyclicTypes.antlrtree.txt
│ │ │ ├── cyclicHierarchy.antlrtree.txt
│ │ │ ├── javaJavaCycle.main.antlrtree.txt
│ │ │ ├── javaKotlinJavaCycle.B.antlrtree.txt
│ │ │ ├── kotlinJavaCycle.K.antlrtree.txt
│ │ │ ├── kotlinJavaKotlinCycle.I.antlrtree.txt
│ │ │ ├── kotlinJavaKotlinCycle.K.antlrtree.txt
│ │ │ ├── kotlinJavaKotlinCycle.ll.I.antlrtree.txt
│ │ │ ├── kotlinJavaKotlinCycle.ll.K.antlrtree.txt
│ │ │ ├── kotlinJavaNestedCycle.ExceptionTracker.antlrtree.txt
│ │ │ ├── kotlinJavaNestedCycle.StorageManager.antlrtree.txt
│ │ │ ├── kotlinJavaNestedCycle.ll.ExceptionTracker.antlrtree.txt
│ │ │ ├── kotlinJavaNestedCycle.ll.StorageManager.antlrtree.txt
│ │ │ ├── kt303.antlrtree.txt
│ │ │ ├── nestedClassInSuperClassParameter.antlrtree.txt
│ │ │ ├── objectInheritsNested.antlrtree.txt
│ │ │ ├── twoClassesWithNestedCycle.antlrtree.txt
│ │ │ └── withCompanion/
│ │ │ ├── everythingInOneScope_after.antlrtree.txt
│ │ │ ├── everythingInOneScope_before.antlrtree.txt
│ │ │ ├── noMembers_after.antlrtree.txt
│ │ │ ├── noMembers_before.antlrtree.txt
│ │ │ ├── onlyInterfaces_after.antlrtree.txt
│ │ │ ├── onlyInterfaces_before.antlrtree.txt
│ │ │ ├── typeIsLowEnough.antlrtree.txt
│ │ │ ├── withIrrelevantInterface_after.antlrtree.txt
│ │ │ ├── withIrrelevantInterface_before.antlrtree.txt
│ │ │ ├── withMembers_after.antlrtree.txt
│ │ │ ├── withMembers_before.antlrtree.txt
│ │ │ └── withoutTypeReference.antlrtree.txt
│ │ ├── dataClasses/
│ │ │ ├── companionDataObject.antlrtree.txt
│ │ │ ├── componentNamedComponent1.antlrtree.txt
│ │ │ ├── conflictingCopyOverloads.antlrtree.txt
│ │ │ ├── conflictingOverloads.antlrtree.txt
│ │ │ ├── copyOfPrivateClass.antlrtree.txt
│ │ │ ├── dataClassExplicitlyOverridingCopyNoDefaults.antlrtree.txt
│ │ │ ├── dataClassExplicitlyOverridingCopyWithDefaults.antlrtree.txt
│ │ │ ├── dataClassNoName.antlrtree.txt
│ │ │ ├── dataClassNotOverridingCopy.antlrtree.txt
│ │ │ ├── dataClassOverridingCopy_lv12.antlrtree.txt
│ │ │ ├── dataClassOverridingCopy_lv13.antlrtree.txt
│ │ │ ├── dataClassVarargParam.antlrtree.txt
│ │ │ ├── dataInheritance.antlrtree.txt
│ │ │ ├── dataObjectDisabled.antlrtree.txt
│ │ │ ├── dataObjectEnabled.antlrtree.txt
│ │ │ ├── dataObjectLiteral.antlrtree.txt
│ │ │ ├── emptyConstructor.antlrtree.txt
│ │ │ ├── errorTypesInDataClasses.antlrtree.txt
│ │ │ ├── extensionComponentsOnNullable.antlrtree.txt
│ │ │ ├── finalMembersInBaseClass.antlrtree.txt
│ │ │ ├── implementMethodsFromInterface.antlrtree.txt
│ │ │ ├── implementTraitWhichHasComponent1.antlrtree.txt
│ │ │ ├── implementTraitWhichHasFinalComponent1.antlrtree.txt
│ │ │ ├── innerDataClass.antlrtree.txt
│ │ │ ├── innerOuterDataClass.antlrtree.txt
│ │ │ ├── multiDeclaration.antlrtree.txt
│ │ │ ├── multiDeclarationFor.antlrtree.txt
│ │ │ ├── noConstructor.antlrtree.txt
│ │ │ ├── notADataClass.antlrtree.txt
│ │ │ ├── oneValParam.antlrtree.txt
│ │ │ ├── repeatedProperties.antlrtree.txt
│ │ │ ├── sealedDataClass.antlrtree.txt
│ │ │ ├── strange.antlrtree.txt
│ │ │ ├── twoValParams.antlrtree.txt
│ │ │ └── twoVarParams.antlrtree.txt
│ │ ├── dataFlow/
│ │ │ ├── CalleeExpression.antlrtree.txt
│ │ │ ├── EmptyIf.antlrtree.txt
│ │ │ ├── IsExpression.antlrtree.txt
│ │ │ ├── WhenSubject.antlrtree.txt
│ │ │ ├── assignment/
│ │ │ │ ├── assignToNewVal.antlrtree.txt
│ │ │ │ ├── kt6118.antlrtree.txt
│ │ │ │ ├── uninitializedValIsCheck.antlrtree.txt
│ │ │ │ ├── uninitializedValNullability.antlrtree.txt
│ │ │ │ └── when.antlrtree.txt
│ │ │ ├── local/
│ │ │ │ ├── LocalClassBase.antlrtree.txt
│ │ │ │ ├── LocalClassDefaultParameters.antlrtree.txt
│ │ │ │ ├── LocalClassDelegatedProperties.antlrtree.txt
│ │ │ │ ├── LocalClassDelegation.antlrtree.txt
│ │ │ │ ├── LocalClassFunctions.antlrtree.txt
│ │ │ │ ├── LocalClassInMemberOfLocalClass.antlrtree.txt
│ │ │ │ ├── LocalClassInitializer.antlrtree.txt
│ │ │ │ ├── LocalClassProperty.antlrtree.txt
│ │ │ │ ├── LocalObject.antlrtree.txt
│ │ │ │ ├── LocalObjectDelegation.antlrtree.txt
│ │ │ │ ├── NestedLocalClass.antlrtree.txt
│ │ │ │ └── kt2835.antlrtree.txt
│ │ │ └── smartCastWithLambdaAndCallableReference.antlrtree.txt
│ │ ├── dataFlowInfoTraversal/
│ │ │ ├── AndOr.antlrtree.txt
│ │ │ ├── ArrayAccess.antlrtree.txt
│ │ │ ├── ArrayExpression.antlrtree.txt
│ │ │ ├── ArrayGetSetConvention.antlrtree.txt
│ │ │ ├── ArrayIndices.antlrtree.txt
│ │ │ ├── Assignment.antlrtree.txt
│ │ │ ├── AssignmentInInitializer.antlrtree.txt
│ │ │ ├── AssignmentOperation.antlrtree.txt
│ │ │ ├── AssignmentToArrayElement.antlrtree.txt
│ │ │ ├── BinaryExpression.antlrtree.txt
│ │ │ ├── BinaryExpressionBooleanOperations.antlrtree.txt
│ │ │ ├── BinaryExpressionCompareToConvention.antlrtree.txt
│ │ │ ├── BinaryExpressionContainsConvention.antlrtree.txt
│ │ │ ├── BinaryExpressionElvis.antlrtree.txt
│ │ │ ├── BinaryExpressionEqualsConvention.antlrtree.txt
│ │ │ ├── BinaryExpressionIdentifier.antlrtree.txt
│ │ │ ├── BinaryExpressionPlusConvention.antlrtree.txt
│ │ │ ├── Condition.antlrtree.txt
│ │ │ ├── ContinueOuterLoop.antlrtree.txt
│ │ │ ├── DeepIf.antlrtree.txt
│ │ │ ├── DoWhile.antlrtree.txt
│ │ │ ├── DoWhileCondition.antlrtree.txt
│ │ │ ├── Elvis.antlrtree.txt
│ │ │ ├── ExclExcl.antlrtree.txt
│ │ │ ├── For.antlrtree.txt
│ │ │ ├── ForLoopRange.antlrtree.txt
│ │ │ ├── FunctionLiteral.antlrtree.txt
│ │ │ ├── IfStatement.antlrtree.txt
│ │ │ ├── IfThenElse.antlrtree.txt
│ │ │ ├── IfThenElseBothInvalid.antlrtree.txt
│ │ │ ├── IsExpression.antlrtree.txt
│ │ │ ├── ManyIfs.antlrtree.txt
│ │ │ ├── MultiDeclaration.antlrtree.txt
│ │ │ ├── ObjectExpression.antlrtree.txt
│ │ │ ├── QualifiedExpression.antlrtree.txt
│ │ │ ├── Return.antlrtree.txt
│ │ │ ├── StringTemplate.antlrtree.txt
│ │ │ ├── ThisSuper.antlrtree.txt
│ │ │ ├── Throw.antlrtree.txt
│ │ │ ├── TryCatch.antlrtree.txt
│ │ │ ├── TryFinally.antlrtree.txt
│ │ │ ├── UnaryExpression.antlrtree.txt
│ │ │ ├── When.antlrtree.txt
│ │ │ ├── WhenEntryAs.antlrtree.txt
│ │ │ ├── WhenEntryIs.antlrtree.txt
│ │ │ ├── WhenIn.antlrtree.txt
│ │ │ ├── WhenSubject.antlrtree.txt
│ │ │ ├── While.antlrtree.txt
│ │ │ ├── WhileCondition.antlrtree.txt
│ │ │ ├── kt4332WhenBranches.antlrtree.txt
│ │ │ ├── kt5155WhenBranches.antlrtree.txt
│ │ │ ├── kt5182WhenBranches.antlrtree.txt
│ │ │ └── smartcasts/
│ │ │ ├── SmartcastAmbiguitites.antlrtree.txt
│ │ │ ├── SmartcastsForStableIdentifiers.a.antlrtree.txt
│ │ │ └── SmartcastsForStableIdentifiers.b.antlrtree.txt
│ │ ├── dataObjects/
│ │ │ └── overrideEqualsAndHashCode.antlrtree.txt
│ │ ├── declarationChecks/
│ │ │ ├── ComponentFunctionReturnTypeMismatch.antlrtree.txt
│ │ │ ├── ConflictingAndRedundantProjections.antlrtree.txt
│ │ │ ├── DataFlowInMultiDeclInFor.antlrtree.txt
│ │ │ ├── DataFlowInfoInMultiDecl.antlrtree.txt
│ │ │ ├── FunctionWithMissingNames.antlrtree.txt
│ │ │ ├── LocalVariableWithNoTypeInformation.antlrtree.txt
│ │ │ ├── MultiDeclarationErrors.antlrtree.txt
│ │ │ ├── RedeclarationsInMultiDecl.antlrtree.txt
│ │ │ ├── ScalaLikeNamedFun.antlrtree.txt
│ │ │ ├── VarianceOnFunctionAndPropertyTypeParameters.antlrtree.txt
│ │ │ ├── ambiguousObjectExpressionType.antlrtree.txt
│ │ │ ├── anonymousFunAsLastExpressionInBlock.antlrtree.txt
│ │ │ ├── anonymousFunUnusedLastExpressionInBlock.antlrtree.txt
│ │ │ ├── destructuringDeclarations/
│ │ │ │ ├── DoubleDeclForLoop.antlrtree.txt
│ │ │ │ ├── FolLoopTypeComponentTypeMismatch.antlrtree.txt
│ │ │ │ ├── ForLoopComponentFunctionAmbiguity.antlrtree.txt
│ │ │ │ ├── ForLoopComponentFunctionMissing.antlrtree.txt
│ │ │ │ ├── ForLoopMissingLoopParameter.antlrtree.txt
│ │ │ │ ├── ForLoopWithExtensions.antlrtree.txt
│ │ │ │ ├── ForWithExplicitTypes.antlrtree.txt
│ │ │ │ ├── RedeclarationInForLoop.antlrtree.txt
│ │ │ │ ├── SingleDeclForLoop.antlrtree.txt
│ │ │ │ ├── destructuringDeclarationAssignedUnresolved.antlrtree.txt
│ │ │ │ ├── destructuringDeclarationMissingInitializer.antlrtree.txt
│ │ │ │ ├── kt2829.antlrtree.txt
│ │ │ │ ├── lastDestructuringDeclarationInBlock.antlrtree.txt
│ │ │ │ └── underscore.antlrtree.txt
│ │ │ ├── finiteBoundRestriction/
│ │ │ │ ├── CasesWithOneTypeParameter.antlrtree.txt
│ │ │ │ ├── CasesWithTwoTypeParameters.antlrtree.txt
│ │ │ │ └── JavaSuperType.1.antlrtree.txt
│ │ │ ├── illegalModifiersOnClass.antlrtree.txt
│ │ │ ├── kClassInSignature.antlrtree.txt
│ │ │ ├── kt1141.antlrtree.txt
│ │ │ ├── kt1193.antlrtree.txt
│ │ │ ├── kt2096.antlrtree.txt
│ │ │ ├── kt2142.antlrtree.txt
│ │ │ ├── kt2397.antlrtree.txt
│ │ │ ├── kt2631_MultipleDeclaration.antlrtree.txt
│ │ │ ├── kt2643MultiDeclInControlFlow.antlrtree.txt
│ │ │ ├── kt559.antlrtree.txt
│ │ │ ├── localDeclarationModifiers.antlrtree.txt
│ │ │ ├── localFunctionNoInheritVisibility.antlrtree.txt
│ │ │ ├── localObjectInInnerClass.antlrtree.txt
│ │ │ ├── localVariablesWithTypeParameters_1_3.antlrtree.txt
│ │ │ ├── localVariablesWithTypeParameters_1_4.antlrtree.txt
│ │ │ ├── mappedFunctionNotImplemented.CharSeq.antlrtree.txt
│ │ │ ├── mulitpleVarargParameters.antlrtree.txt
│ │ │ ├── nameWithDangerousCharacters.antlrtree.txt
│ │ │ ├── namedFunAsLastExpressionInBlock.antlrtree.txt
│ │ │ ├── nonExpansiveInheritanceRestriction/
│ │ │ │ ├── JavaWithKotlin.1.antlrtree.txt
│ │ │ │ ├── JavaWithKotlin2.1.antlrtree.txt
│ │ │ │ └── PureKotlin.antlrtree.txt
│ │ │ ├── packageDeclarationModifiers.antlrtree.txt
│ │ │ ├── propertyInPackageHasNoInheritVisibility.antlrtree.txt
│ │ │ ├── sealedOnMembers.antlrtree.txt
│ │ │ ├── unambiguousObjectExpressionType.antlrtree.txt
│ │ │ └── valVarFunctionParameter.antlrtree.txt
│ │ ├── defaultArguments/
│ │ │ ├── kt5232.antlrtree.txt
│ │ │ └── superCall.antlrtree.txt
│ │ ├── delegatedProperty/
│ │ │ ├── absentErrorAboutInitializer.antlrtree.txt
│ │ │ ├── absentErrorAboutType.antlrtree.txt
│ │ │ ├── abstractDelegatedProperty.antlrtree.txt
│ │ │ ├── backingField.antlrtree.txt
│ │ │ ├── defaultGetter.antlrtree.txt
│ │ │ ├── defaultSetter.antlrtree.txt
│ │ │ ├── delegatedPropertyOverridedInTrait.antlrtree.txt
│ │ │ ├── delegatedPropertyOverridedInTraitTypeMismatch.antlrtree.txt
│ │ │ ├── disallowImplInTypeParameter.antlrtree.txt
│ │ │ ├── genericGetter.antlrtree.txt
│ │ │ ├── getterWithSubtype.antlrtree.txt
│ │ │ ├── inTrait.antlrtree.txt
│ │ │ ├── incompleteTypeInference.antlrtree.txt
│ │ │ ├── inference/
│ │ │ │ ├── callableReferenceArgumentInDelegatedExpression.antlrtree.txt
│ │ │ │ ├── decoratedLambda.antlrtree.txt
│ │ │ │ ├── delegateExpressionAsLambda.antlrtree.txt
│ │ │ │ ├── delegatedExpressionWithLabeledReturnInsideLambda.antlrtree.txt
│ │ │ │ ├── differentDelegatedExpressions.antlrtree.txt
│ │ │ │ ├── elvisInDelegated.antlrtree.txt
│ │ │ │ ├── extensionGet.antlrtree.txt
│ │ │ │ ├── extensionProperty.antlrtree.txt
│ │ │ │ ├── genericMethodInGenericClass.antlrtree.txt
│ │ │ │ ├── genericMethods.antlrtree.txt
│ │ │ │ ├── ifInDelegated.antlrtree.txt
│ │ │ │ ├── kt41952.antlrtree.txt
│ │ │ │ ├── labeledDelegatedExpression.antlrtree.txt
│ │ │ │ ├── manyIncompleteCandidates.first.antlrtree.txt
│ │ │ │ ├── manyIncompleteCandidates.main.antlrtree.txt
│ │ │ │ ├── manyIncompleteCandidates.second.antlrtree.txt
│ │ │ │ ├── nestedPartiallyResolvedCalls.main.antlrtree.txt
│ │ │ │ ├── nestedPartiallyResolvedCallsSimple.antlrtree.txt
│ │ │ │ ├── noErrorsForImplicitConstraints.antlrtree.txt
│ │ │ │ ├── noExpectedTypeForSupertypeConstraint.antlrtree.txt
│ │ │ │ ├── notNullAssertionInLocalDelegated.antlrtree.txt
│ │ │ │ ├── resultTypeOfLambdaForConventionMethods.antlrtree.txt
│ │ │ │ ├── tryInGenerated.antlrtree.txt
│ │ │ │ ├── typeOfLazyDelegatedPropertyWithObject.antlrtree.txt
│ │ │ │ ├── useCompleterWithoutExpectedType.antlrtree.txt
│ │ │ │ ├── useExpectedType.antlrtree.txt
│ │ │ │ └── useExpectedTypeForVal.antlrtree.txt
│ │ │ ├── kt4640.antlrtree.txt
│ │ │ ├── kt48546.antlrtree.txt
│ │ │ ├── kt48546Strict.antlrtree.txt
│ │ │ ├── localVariable.antlrtree.txt
│ │ │ ├── localWithSmartCast.antlrtree.txt
│ │ │ ├── missedGetter.antlrtree.txt
│ │ │ ├── missedSetter.antlrtree.txt
│ │ │ ├── noInferenceFromGetValueThroughSetValue.antlrtree.txt
│ │ │ ├── noInferenceFromWrappedDelegate.antlrtree.txt
│ │ │ ├── noPreliminarySetterInferenceForImplicitlyTypedVar.antlrtree.txt
│ │ │ ├── nonDefaultAccessors.antlrtree.txt
│ │ │ ├── propertyDefferedType.antlrtree.txt
│ │ │ ├── provideDelegate/
│ │ │ │ ├── commonCaseForInference.antlrtree.txt
│ │ │ │ ├── genericProvideDelegate.antlrtree.txt
│ │ │ │ ├── hostAndReceiver1.antlrtree.txt
│ │ │ │ ├── hostAndReceiver2.antlrtree.txt
│ │ │ │ ├── hostAndReceiver3.antlrtree.txt
│ │ │ │ ├── inferenceFromReceiver1.antlrtree.txt
│ │ │ │ ├── inferenceFromReceiver2.antlrtree.txt
│ │ │ │ ├── kt38714.antlrtree.txt
│ │ │ │ ├── localDelegatedProperty.antlrtree.txt
│ │ │ │ ├── noOperatorModifierOnProvideDelegate.antlrtree.txt
│ │ │ │ ├── notNullAssertionInLocalDelegated.antlrtree.txt
│ │ │ │ ├── onObject.antlrtree.txt
│ │ │ │ ├── overloadResolutionForSeveralProvideDelegates.antlrtree.txt
│ │ │ │ ├── provideDelegateOnFunctionalTypeWithThis.antlrtree.txt
│ │ │ │ ├── provideDelegateOperatorDeclaration.antlrtree.txt
│ │ │ │ ├── provideDelegateResolutionWithStubTypes.antlrtree.txt
│ │ │ │ ├── setValue.antlrtree.txt
│ │ │ │ └── simpleProvideDelegate.antlrtree.txt
│ │ │ ├── recursiveType.antlrtree.txt
│ │ │ ├── recursiveType.reversed.antlrtree.txt
│ │ │ ├── redundantGetter.antlrtree.txt
│ │ │ ├── redundantSetter.antlrtree.txt
│ │ │ ├── setterThisTypeMismatch.antlrtree.txt
│ │ │ ├── setterWithSupertype.antlrtree.txt
│ │ │ ├── severalReceivers.antlrtree.txt
│ │ │ ├── thisInDelegate.antlrtree.txt
│ │ │ ├── thisOfAnyType.antlrtree.txt
│ │ │ ├── thisOfNothingNullableType.antlrtree.txt
│ │ │ ├── thisOfNothingType.antlrtree.txt
│ │ │ ├── twoGetMethods.antlrtree.txt
│ │ │ ├── typeMismatchForGetReturnType.antlrtree.txt
│ │ │ ├── typeMismatchForGetWithGeneric.antlrtree.txt
│ │ │ ├── typeMismatchForSetParameter.antlrtree.txt
│ │ │ ├── typeMismatchForThisGetParameter.antlrtree.txt
│ │ │ ├── useTypeParameterOfExtensionProperty.antlrtree.txt
│ │ │ ├── useTypeParameterOfExtensionProperty2.antlrtree.txt
│ │ │ ├── useTypeParameterOfExtensionProperty_Disabled.antlrtree.txt
│ │ │ ├── wrongCountOfParametersInGet.antlrtree.txt
│ │ │ ├── wrongCountOfParametersInSet.antlrtree.txt
│ │ │ └── wrongSetterReturnType.antlrtree.txt
│ │ ├── delegation/
│ │ │ ├── DelegationAndOverriding.antlrtree.txt
│ │ │ ├── DelegationExpectedType.antlrtree.txt
│ │ │ ├── DelegationNotTotrait.antlrtree.txt
│ │ │ ├── DelegationToJavaIface.antlrtree.txt
│ │ │ ├── Delegation_ClashingFunctions.antlrtree.txt
│ │ │ ├── Delegation_Hierarchy.antlrtree.txt
│ │ │ ├── Delegation_MultipleDelegates.antlrtree.txt
│ │ │ ├── Delegation_ScopeInitializationOrder.antlrtree.txt
│ │ │ ├── clashes/
│ │ │ │ ├── finalMemberOverridden.antlrtree.txt
│ │ │ │ ├── propertyTypeMismatch.antlrtree.txt
│ │ │ │ ├── returnTypeMismatch.antlrtree.txt
│ │ │ │ └── varOverriddenByVal.antlrtree.txt
│ │ │ ├── covariantOverrides/
│ │ │ │ ├── fromClass.antlrtree.txt
│ │ │ │ ├── irrelevant.antlrtree.txt
│ │ │ │ ├── kt13952.antlrtree.txt
│ │ │ │ └── simple.antlrtree.txt
│ │ │ ├── kt40510.main.antlrtree.txt
│ │ │ ├── kt44843.lt_neworld_compiler_Foo.antlrtree.txt
│ │ │ ├── kt44843.lt_neworld_compiler_bar_Bar.antlrtree.txt
│ │ │ ├── kt44843.test.antlrtree.txt
│ │ │ ├── kt48546.antlrtree.txt
│ │ │ ├── kt49477.antlrtree.txt
│ │ │ ├── kt49477.reversed.antlrtree.txt
│ │ │ ├── kt49477Error.antlrtree.txt
│ │ │ ├── kt49477Error.reversed.antlrtree.txt
│ │ │ ├── kt8154.antlrtree.txt
│ │ │ └── memberHidesSupertypeOverride/
│ │ │ ├── abstractOverride.antlrtree.txt
│ │ │ ├── delegationToSubType.antlrtree.txt
│ │ │ ├── delegationToSubTypeProperty.antlrtree.txt
│ │ │ ├── delegationToSubTypeWithOverride.antlrtree.txt
│ │ │ ├── delegationToSubTypeWithOverrideProperty.antlrtree.txt
│ │ │ ├── diamond.antlrtree.txt
│ │ │ ├── explicitOverride.antlrtree.txt
│ │ │ ├── fakeOverrideInTheMiddle.antlrtree.txt
│ │ │ ├── generic.antlrtree.txt
│ │ │ ├── sameDelegationInHierarchy.antlrtree.txt
│ │ │ ├── sameDelegationInHierarchy2.antlrtree.txt
│ │ │ ├── severalDelegates.antlrtree.txt
│ │ │ ├── simple.antlrtree.txt
│ │ │ ├── simpleNoOverride.antlrtree.txt
│ │ │ └── simpleProp.antlrtree.txt
│ │ ├── delegationTypeMismatch.antlrtree.txt
│ │ ├── deparenthesize/
│ │ │ ├── ParenthesizedVariable.antlrtree.txt
│ │ │ ├── annotatedSafeCall.antlrtree.txt
│ │ │ ├── checkDeparenthesizedType.antlrtree.txt
│ │ │ ├── labeledSafeCall.antlrtree.txt
│ │ │ ├── multiParenthesizedSafeCall.antlrtree.txt
│ │ │ └── parenthesizedSafeCall.antlrtree.txt
│ │ ├── deprecated/
│ │ │ ├── annotationUsage.antlrtree.txt
│ │ │ ├── candidateBehindHiddenPropertyAccessors.antlrtree.txt
│ │ │ ├── classWithCompanionObject.antlrtree.txt
│ │ │ ├── companionObjectUsage.antlrtree.txt
│ │ │ ├── componentUsage.antlrtree.txt
│ │ │ ├── deprecatedCompanionAndClassReference.antlrtree.txt
│ │ │ ├── deprecatedConstructor.A.antlrtree.txt
│ │ │ ├── deprecatedConstructor.C.antlrtree.txt
│ │ │ ├── deprecatedConstructor.use.antlrtree.txt
│ │ │ ├── deprecatedConstructorProperty.A.antlrtree.txt
│ │ │ ├── deprecatedConstructorProperty.use.antlrtree.txt
│ │ │ ├── deprecatedEnumEntry.A.antlrtree.txt
│ │ │ ├── deprecatedEnumEntry.use.antlrtree.txt
│ │ │ ├── deprecatedError.antlrtree.txt
│ │ │ ├── deprecatedErrorBuilder.antlrtree.txt
│ │ │ ├── deprecatedField.use.antlrtree.txt
│ │ │ ├── deprecatedHidden.antlrtree.txt
│ │ │ ├── deprecatedHiddenOnCallableReferenceArgument.antlrtree.txt
│ │ │ ├── deprecatedInheritance_after.antlrtree.txt
│ │ │ ├── deprecatedInheritance_before.antlrtree.txt
│ │ │ ├── deprecatedPropertyInheritance_after.antlrtree.txt
│ │ │ ├── deprecatedPropertyInheritance_before.antlrtree.txt
│ │ │ ├── deprecatedSinceKotlin/
│ │ │ │ ├── checkValuesAreParseableAsVersion.antlrtree.txt
│ │ │ │ ├── deprecatedSinceKotlinDeclaration.antlrtree.txt
│ │ │ │ ├── deprecatedSinceKotlinHiddenOnReferenceArgument.antlrtree.txt
│ │ │ │ ├── deprecatedSinceKotlinOutsideKotlinPackage.antlrtree.txt
│ │ │ │ ├── deprecatedSinceKotlinWithoutArguments.antlrtree.txt
│ │ │ │ ├── error.antlrtree.txt
│ │ │ │ ├── hidden.antlrtree.txt
│ │ │ │ ├── messageFromDeprecatedAnnotation.antlrtree.txt
│ │ │ │ └── warning.antlrtree.txt
│ │ │ ├── duplicatedOverrideDeprecationOnProperty.antlrtree.txt
│ │ │ ├── functionUsage.antlrtree.txt
│ │ │ ├── genericConstructorUsage.antlrtree.txt
│ │ │ ├── hiddenPropertyAccessors.antlrtree.txt
│ │ │ ├── importJavaSamInterface.K.antlrtree.txt
│ │ │ ├── imports.antlrtree.txt
│ │ │ ├── iteratorUsage.antlrtree.txt
│ │ │ ├── javaDeprecated.B.antlrtree.txt
│ │ │ ├── javaDeprecatedInheritance.use.antlrtree.txt
│ │ │ ├── javaDocDeprecated.B.antlrtree.txt
│ │ │ ├── nestedTypesUsage.antlrtree.txt
│ │ │ ├── objectUsage.antlrtree.txt
│ │ │ ├── propertyUsage.antlrtree.txt
│ │ │ ├── propertyUseSiteTargetedAnnotations.antlrtree.txt
│ │ │ ├── propertyWithInvoke.antlrtree.txt
│ │ │ ├── thisUsage.antlrtree.txt
│ │ │ ├── typeUsage.antlrtree.txt
│ │ │ ├── typealiasCompanionObject.antlrtree.txt
│ │ │ ├── typealiasConstructor.antlrtree.txt
│ │ │ ├── typealiasForDeprecatedClass.antlrtree.txt
│ │ │ ├── typealiasUsage.antlrtree.txt
│ │ │ ├── unusedImport.A.antlrtree.txt
│ │ │ ├── unusedImport.B.antlrtree.txt
│ │ │ ├── usageOnEnum.antlrtree.txt
│ │ │ └── warningOnConstructorErrorOnClass.antlrtree.txt
│ │ ├── derivedIntersectionPropertyShadowsBaseClassField.test.antlrtree.txt
│ │ ├── differentNumericTypesFromSmartCast.antlrtree.txt
│ │ ├── duplicateJvmSignature/
│ │ │ ├── accidentalOverrides/
│ │ │ │ ├── accidentalOverrideFromGrandparent.antlrtree.txt
│ │ │ │ ├── classFunctionOverriddenByProperty.antlrtree.txt
│ │ │ │ ├── classFunctionOverriddenByPropertyInConstructor.antlrtree.txt
│ │ │ │ ├── classFunctionOverriddenByPropertyNoGetter.antlrtree.txt
│ │ │ │ ├── classPropertyOverriddenByFunction.antlrtree.txt
│ │ │ │ ├── defaultFunction.antlrtree.txt
│ │ │ │ ├── delegatedFunctionOverriddenByProperty.antlrtree.txt
│ │ │ │ ├── genericClassFunction.antlrtree.txt
│ │ │ │ ├── overridesNothing.antlrtree.txt
│ │ │ │ ├── privateClassFunctionOverriddenByProperty.antlrtree.txt
│ │ │ │ ├── require.antlrtree.txt
│ │ │ │ ├── traitFunctionOverriddenByProperty.antlrtree.txt
│ │ │ │ ├── traitFunctionOverriddenByPropertyNoImpl.antlrtree.txt
│ │ │ │ ├── traitPropertyOverriddenByFunction.antlrtree.txt
│ │ │ │ └── traitPropertyOverriddenByFunctionNoImpl.antlrtree.txt
│ │ │ ├── bridges/
│ │ │ │ ├── class.antlrtree.txt
│ │ │ │ ├── fakeOverrideTrait.antlrtree.txt
│ │ │ │ └── trait.antlrtree.txt
│ │ │ ├── caseInProperties.antlrtree.txt
│ │ │ ├── erasure/
│ │ │ │ ├── clashFromInterfaceAndSuperClass.antlrtree.txt
│ │ │ │ ├── collections.antlrtree.txt
│ │ │ │ ├── delegateToTwoTraits.antlrtree.txt
│ │ │ │ ├── delegationAndOwnMethod.antlrtree.txt
│ │ │ │ ├── delegationToTraitImplAndOwnMethod.antlrtree.txt
│ │ │ │ ├── extensionProperties.antlrtree.txt
│ │ │ │ ├── genericType.antlrtree.txt
│ │ │ │ ├── inheritFromTwoTraits.antlrtree.txt
│ │ │ │ ├── kotlinAndJavaCollections.antlrtree.txt
│ │ │ │ ├── nullableType.antlrtree.txt
│ │ │ │ ├── superTraitAndDelegationToTraitImpl.antlrtree.txt
│ │ │ │ ├── twoTraitsAndOwnFunction.antlrtree.txt
│ │ │ │ ├── typeMappedToJava.antlrtree.txt
│ │ │ │ ├── typeParameter.antlrtree.txt
│ │ │ │ ├── typeParameterWithBound.antlrtree.txt
│ │ │ │ ├── typeParameterWithTwoBounds.antlrtree.txt
│ │ │ │ └── typeParameterWithTwoBoundsInWhere.antlrtree.txt
│ │ │ ├── finalMembersFromBuiltIns/
│ │ │ │ ├── enumMembers.antlrtree.txt
│ │ │ │ └── waitNotifyGetClass.antlrtree.txt
│ │ │ ├── functionAndProperty/
│ │ │ │ ├── class.antlrtree.txt
│ │ │ │ ├── classObject.antlrtree.txt
│ │ │ │ ├── classPropertyInConstructor.antlrtree.txt
│ │ │ │ ├── extensionFunctionAndNormalFunction.antlrtree.txt
│ │ │ │ ├── extensionPropertyAndFunction.antlrtree.txt
│ │ │ │ ├── functionAndSetter.antlrtree.txt
│ │ │ │ ├── functionAndVar.antlrtree.txt
│ │ │ │ ├── localClass.antlrtree.txt
│ │ │ │ ├── localClassInClass.antlrtree.txt
│ │ │ │ ├── nestedClass.antlrtree.txt
│ │ │ │ ├── object.antlrtree.txt
│ │ │ │ ├── objectExpression.antlrtree.txt
│ │ │ │ ├── objectExpressionInConstructor.antlrtree.txt
│ │ │ │ ├── privateClassPropertyNoClash.B.antlrtree.txt
│ │ │ │ ├── topLevel.antlrtree.txt
│ │ │ │ ├── topLevelDifferentFiles.a.antlrtree.txt
│ │ │ │ ├── topLevelDifferentFiles.b.antlrtree.txt
│ │ │ │ ├── topLevelGetter.antlrtree.txt
│ │ │ │ ├── trait.antlrtree.txt
│ │ │ │ └── withErrorTypes.antlrtree.txt
│ │ │ ├── missingNames.antlrtree.txt
│ │ │ ├── specialNames/
│ │ │ │ ├── classObject.antlrtree.txt
│ │ │ │ ├── classObjectCopiedField.antlrtree.txt
│ │ │ │ ├── classObjectCopiedFieldObject.antlrtree.txt
│ │ │ │ ├── dataClassCopy.antlrtree.txt
│ │ │ │ ├── delegationBy.antlrtree.txt
│ │ │ │ ├── enum.antlrtree.txt
│ │ │ │ ├── innerClassField.antlrtree.txt
│ │ │ │ ├── instance.antlrtree.txt
│ │ │ │ └── propertyMetadataCache.antlrtree.txt
│ │ │ ├── statics/
│ │ │ │ ├── jkjk.B.antlrtree.txt
│ │ │ │ ├── jkjk.K.antlrtree.txt
│ │ │ │ ├── kotlinClassExtendsJavaClass.K.antlrtree.txt
│ │ │ │ ├── kotlinClassExtendsJavaClassExtendsJavaClass.K.antlrtree.txt
│ │ │ │ ├── kotlinClassImplementsJavaInterface.K.antlrtree.txt
│ │ │ │ ├── kotlinClassImplementsJavaInterfaceExtendsJavaInteface.K.antlrtree.txt
│ │ │ │ └── kotlinMembersVsJavaNonVisibleStatics.K.antlrtree.txt
│ │ │ ├── synthesized/
│ │ │ │ └── enumValuesValueOf.antlrtree.txt
│ │ │ ├── traitImpl/
│ │ │ │ ├── oneTrait.antlrtree.txt
│ │ │ │ ├── traitFunctionOverriddenByPropertyInTrait.antlrtree.txt
│ │ │ │ ├── traitPropertyOverriddenByFunctionInTrait.antlrtree.txt
│ │ │ │ └── twoTraits.antlrtree.txt
│ │ │ └── vararg.antlrtree.txt
│ │ ├── dynamicTypes/
│ │ │ ├── delegationBy.antlrtree.txt
│ │ │ ├── unsupported.antlrtree.txt
│ │ │ └── withInvisibleSynthesized.k.antlrtree.txt
│ │ ├── enum/
│ │ │ ├── AbstractEnum.antlrtree.txt
│ │ │ ├── AbstractInEnum.antlrtree.txt
│ │ │ ├── AbstractOverrideInEnum.antlrtree.txt
│ │ │ ├── ConstructorCallFromOutside.antlrtree.txt
│ │ │ ├── ExplicitConstructorCall.antlrtree.txt
│ │ │ ├── InsideEntryConstructorCall.antlrtree.txt
│ │ │ ├── InsideSecondaryConstructorCall.antlrtree.txt
│ │ │ ├── NonPrivateConstructor.antlrtree.txt
│ │ │ ├── SecondaryConstructorCall.antlrtree.txt
│ │ │ ├── classObjectInEnum.antlrtree.txt
│ │ │ ├── classObjectInEnumPrivate.antlrtree.txt
│ │ │ ├── commonSupertype.antlrtree.txt
│ │ │ ├── compareTwoDifferentEnums.test.antlrtree.txt
│ │ │ ├── constructorWithDefaultParametersOnly.antlrtree.txt
│ │ │ ├── declaringClass.antlrtree.txt
│ │ │ ├── dontCreatePackageTypeForEnumEntry_after.antlrtree.txt
│ │ │ ├── dontCreatePackageTypeForEnumEntry_before.antlrtree.txt
│ │ │ ├── emptyConstructor.antlrtree.txt
│ │ │ ├── entries/
│ │ │ │ ├── conflictingPropertyEntriesAndReference.antlrtree.txt
│ │ │ │ ├── conflictingPropertyEntriesAndReferenceOn.antlrtree.txt
│ │ │ │ ├── conflictingPropertyEntriesAndReferencePrioritized.antlrtree.txt
│ │ │ │ ├── entriesPropertyAsExtensionClash.antlrtree.txt
│ │ │ │ ├── entriesPropertyAsExtensionClashOn.antlrtree.txt
│ │ │ │ ├── entriesPropertyAsExtensionClashPrioritized.antlrtree.txt
│ │ │ │ ├── entriesPropertyImportedClash.antlrtree.txt
│ │ │ │ ├── entriesPropertyImportedClashOn.antlrtree.txt
│ │ │ │ ├── entriesPropertyImportedClashPrioritized.antlrtree.txt
│ │ │ │ ├── entriesPropertyInCompanionClash.antlrtree.txt
│ │ │ │ ├── entriesPropertyInCompanionClashOn.antlrtree.txt
│ │ │ │ ├── entriesPropertyWithJvmStaticClash.antlrtree.txt
│ │ │ │ ├── entriesPropertyWithJvmStaticClashOn.antlrtree.txt
│ │ │ │ ├── entriesPropertyWithJvmStaticClashPrioritized.antlrtree.txt
│ │ │ │ ├── entriesUnsupported.antlrtree.txt
│ │ │ │ ├── enumEntriesAmbiguity.antlrtree.txt
│ │ │ │ ├── genericEntriesPropertyClash.antlrtree.txt
│ │ │ │ ├── genericEntriesPropertyClashOn.antlrtree.txt
│ │ │ │ ├── javaEnumEntriesAmbiguity.test.antlrtree.txt
│ │ │ │ ├── javaEnumEntriesAmbiguityOn.test.antlrtree.txt
│ │ │ │ ├── javaFakeEnumEntries.test.antlrtree.txt
│ │ │ │ ├── nameShadowingOfExternallyDefinedEntries.antlrtree.txt
│ │ │ │ ├── nameShadowingOfExternallyDefinedEntriesOn.antlrtree.txt
│ │ │ │ ├── nameShadowingOfExternallyDefinedEntriesPrioritized.antlrtree.txt
│ │ │ │ ├── redeclarationOfEnumEntriesNameWithIntrinsic.antlrtree.txt
│ │ │ │ └── redeclarationOfEnumEntriesNameWithIntrinsicOn.antlrtree.txt
│ │ │ ├── entryShouldBeOfEnumType.antlrtree.txt
│ │ │ ├── enumEntryCannotHaveClassObject.antlrtree.txt
│ │ │ ├── enumEntryInAbstractEnum.antlrtree.txt
│ │ │ ├── enumImplementingTrait.antlrtree.txt
│ │ │ ├── enumInheritance.test.antlrtree.txt
│ │ │ ├── enumIsAssignableToBuiltInEnum.antlrtree.txt
│ │ │ ├── enumMissingName.antlrtree.txt
│ │ │ ├── enumModifier.antlrtree.txt
│ │ │ ├── enumStarImport.enum.antlrtree.txt
│ │ │ ├── enumStarImport.user.antlrtree.txt
│ │ │ ├── enumSubjectTypeCheck.antlrtree.txt
│ │ │ ├── enumWithAnnotationKeyword.antlrtree.txt
│ │ │ ├── enumWithEmptyName.antlrtree.txt
│ │ │ ├── equalityOfEnumAndParameter.antlrtree.txt
│ │ │ ├── equalityOfFlexibleTypeParameters.B.antlrtree.txt
│ │ │ ├── extendingEnumDirectly.antlrtree.txt
│ │ │ ├── extensionNamedAsEnumEntry.antlrtree.txt
│ │ │ ├── ifEnumEntry.antlrtree.txt
│ │ │ ├── importEnumFromJava.test.antlrtree.txt
│ │ │ ├── incompatibleEnumEntryClasses.antlrtree.txt
│ │ │ ├── incompatibleEnums.antlrtree.txt
│ │ │ ├── incompatibleEnums_1_4.antlrtree.txt
│ │ │ ├── inheritFromEnumEntry.antlrtree.txt
│ │ │ ├── inheritanceFromEnum.test.antlrtree.txt
│ │ │ ├── inline.antlrtree.txt
│ │ │ ├── inner/
│ │ │ │ ├── existingClassObject.antlrtree.txt
│ │ │ │ ├── insideClass.antlrtree.txt
│ │ │ │ ├── insideClassObject.antlrtree.txt
│ │ │ │ ├── insideEnum.antlrtree.txt
│ │ │ │ ├── insideEnumEntry_after.antlrtree.txt
│ │ │ │ ├── insideEnumEntry_before.antlrtree.txt
│ │ │ │ ├── insideInnerClassNotAllowed.antlrtree.txt
│ │ │ │ ├── insideObject.antlrtree.txt
│ │ │ │ ├── insideTrait.antlrtree.txt
│ │ │ │ ├── redeclarationInClassObject.antlrtree.txt
│ │ │ │ ├── twoEnums.antlrtree.txt
│ │ │ │ └── twoEnumsInClassObjectAndInnerClass.antlrtree.txt
│ │ │ ├── interfaceWithEnumKeyword.antlrtree.txt
│ │ │ ├── isEnumEntry.antlrtree.txt
│ │ │ ├── javaEnumValueOfMethod.test.antlrtree.txt
│ │ │ ├── javaEnumValuesMethod.test.antlrtree.txt
│ │ │ ├── javaEnumWithAbstractFun.test.antlrtree.txt
│ │ │ ├── javaEnumWithFuns.test.antlrtree.txt
│ │ │ ├── javaEnumWithNameClashing.test.antlrtree.txt
│ │ │ ├── javaEnumWithProperty.test.antlrtree.txt
│ │ │ ├── kt2834.antlrtree.txt
│ │ │ ├── kt8972_cloneNotAllowed.antlrtree.txt
│ │ │ ├── localEnums.antlrtree.txt
│ │ │ ├── modifiersOnEnumEntry.antlrtree.txt
│ │ │ ├── multipleConstructors.antlrtree.txt
│ │ │ ├── openMemberInEnum.antlrtree.txt
│ │ │ ├── overrideFinalEnumMethods.antlrtree.txt
│ │ │ ├── referenceToEnumEntry.antlrtree.txt
│ │ │ ├── secondaryConstructorWithoutDelegatingToPrimaryOne.antlrtree.txt
│ │ │ ├── secondaryConstructorWithoutDelegatingToPrimaryOneWithEnabledFeature.antlrtree.txt
│ │ │ ├── starImportNestedClassAndEntries.E.antlrtree.txt
│ │ │ ├── starImportNestedClassAndEntries.main.antlrtree.txt
│ │ │ ├── typeCompatibility.antlrtree.txt
│ │ │ ├── typeParametersInEnum.antlrtree.txt
│ │ │ ├── valuesValueOfAndEntriesAccessibility.antlrtree.txt
│ │ │ └── wrongUnitializedEnumCompanion.antlrtree.txt
│ │ ├── equalityComparisonToSelf.antlrtree.txt
│ │ ├── equalityWithSmartCastInIfBlock.antlrtree.txt
│ │ ├── evaluate/
│ │ │ ├── binaryMinusDepOnExpType.antlrtree.txt
│ │ │ ├── binaryMinusIndepWoExpType.antlrtree.txt
│ │ │ ├── binaryMinusIndependentExpType.antlrtree.txt
│ │ │ ├── customExtensionOverKotlinExtensionInConst.antlrtree.txt
│ │ │ ├── divisionByZero.antlrtree.txt
│ │ │ ├── float.antlrtree.txt
│ │ │ ├── floatLiteralOutOfRange.antlrtree.txt
│ │ │ ├── infixFunOverBuiltinMemberInConst.antlrtree.txt
│ │ │ ├── inlineClasses/
│ │ │ │ ├── constructorOfUnsignedType.test.antlrtree.txt
│ │ │ │ └── constructorOfUnsignedType.uint.antlrtree.txt
│ │ │ ├── intOverflow.antlrtree.txt
│ │ │ ├── intOverflowWithJavaProperties.A.antlrtree.txt
│ │ │ ├── integer.antlrtree.txt
│ │ │ ├── logicWithNumber.antlrtree.txt
│ │ │ ├── longOverflow.antlrtree.txt
│ │ │ ├── noOverflowWithZero.antlrtree.txt
│ │ │ ├── numberBinaryOperations.antlrtree.txt
│ │ │ ├── numberBinaryOperationsCall.antlrtree.txt
│ │ │ ├── numberBinaryOperationsInfixCall.antlrtree.txt
│ │ │ ├── otherOverflow.antlrtree.txt
│ │ │ ├── parentesized.antlrtree.txt
│ │ │ ├── qualifiedExpressions.a.antlrtree.txt
│ │ │ ├── qualifiedExpressions.b.antlrtree.txt
│ │ │ ├── unaryMinusDepOnExpType.antlrtree.txt
│ │ │ ├── unaryMinusIndepWoExpType.antlrtree.txt
│ │ │ ├── unaryMinusIndependentExpType.antlrtree.txt
│ │ │ └── wrongLongSuffix.antlrtree.txt
│ │ ├── exceptions/
│ │ │ ├── expectedSomeTypesOnBranchForWhenExpressionOfErroneousType.antlrtree.txt
│ │ │ └── kt24158.antlrtree.txt
│ │ ├── explicitDefinitelyNotNullableViaIntersection/
│ │ │ ├── approximation.antlrtree.txt
│ │ │ ├── bareTypes.antlrtree.txt
│ │ │ ├── disabledFeature.antlrtree.txt
│ │ │ ├── inference.antlrtree.txt
│ │ │ ├── isAsOperators.antlrtree.txt
│ │ │ ├── isAsOperatorsEnabled.antlrtree.txt
│ │ │ ├── notApplicable.antlrtree.txt
│ │ │ ├── overrides.antlrtree.txt
│ │ │ ├── overridesJavaAnnotated.main.antlrtree.txt
│ │ │ ├── recursiveBounds.antlrtree.txt
│ │ │ ├── reifiedArguments.antlrtree.txt
│ │ │ └── simple.antlrtree.txt
│ │ ├── exposed/
│ │ │ ├── delegate.antlrtree.txt
│ │ │ ├── exceptionOnFakeInvisible.antlrtree.txt
│ │ │ ├── functional.antlrtree.txt
│ │ │ ├── implements.antlrtree.txt
│ │ │ ├── inaccessibleType.k_Client.antlrtree.txt
│ │ │ ├── internal.antlrtree.txt
│ │ │ ├── internalAndProtected.antlrtree.txt
│ │ │ ├── internalFromLocal.antlrtree.txt
│ │ │ ├── local.antlrtree.txt
│ │ │ ├── localFromInternal.antlrtree.txt
│ │ │ ├── localFromPrivate.antlrtree.txt
│ │ │ ├── localInFunReturnType.antlrtree.txt
│ │ │ ├── localInMemberType.antlrtree.txt
│ │ │ ├── localInPropertyType.antlrtree.txt
│ │ │ ├── nested.antlrtree.txt
│ │ │ ├── object.antlrtree.txt
│ │ │ ├── packagePrivate.other_Your.antlrtree.txt
│ │ │ ├── packagePrivate.test_His.antlrtree.txt
│ │ │ ├── privateFromLocal.antlrtree.txt
│ │ │ ├── privateInFile.antlrtree.txt
│ │ │ ├── privateInFileDisabled.antlrtree.txt
│ │ │ ├── privatePropertyInPrivateConstructor.antlrtree.txt
│ │ │ ├── propertyInConstructorOfPrivateClass.antlrtree.txt
│ │ │ ├── propertyInPrivateConstructor.antlrtree.txt
│ │ │ ├── propertyInPrivateConstructorError.antlrtree.txt
│ │ │ ├── propertyInSimpleConstructor.antlrtree.txt
│ │ │ ├── protected.antlrtree.txt
│ │ │ ├── protectedInProtected.antlrtree.txt
│ │ │ ├── protectedJava.OuterDerived.antlrtree.txt
│ │ │ ├── protectedSameWay.antlrtree.txt
│ │ │ ├── simple.antlrtree.txt
│ │ │ └── typeArgs.antlrtree.txt
│ │ ├── extensions/
│ │ │ ├── ExtensionFunctions.a.antlrtree.txt
│ │ │ ├── ExtensionFunctions.b.antlrtree.txt
│ │ │ ├── ExtensionsCalledOnSuper.antlrtree.txt
│ │ │ ├── GenericIterator.antlrtree.txt
│ │ │ ├── GenericIterator2.antlrtree.txt
│ │ │ ├── classObject.antlrtree.txt
│ │ │ ├── contextReceivers/
│ │ │ │ ├── ambiguityInGroup.antlrtree.txt
│ │ │ │ ├── conflicting.antlrtree.txt
│ │ │ │ ├── conflictingWithDifferentOrder.antlrtree.txt
│ │ │ │ ├── contextKeywordWithElvis.antlrtree.txt
│ │ │ │ ├── contextReceiverTypeParamsUsage.antlrtree.txt
│ │ │ │ ├── contextReceiverTypeParamsUsageError.antlrtree.txt
│ │ │ │ ├── contextualFunctionalTypeConversion.antlrtree.txt
│ │ │ │ ├── fromKEEP/
│ │ │ │ │ ├── autoCloseScope.antlrtree.txt
│ │ │ │ │ ├── canvas.antlrtree.txt
│ │ │ │ │ ├── clickHandler.antlrtree.txt
│ │ │ │ │ ├── compareTo.antlrtree.txt
│ │ │ │ │ ├── decimateEveryEvenThird.antlrtree.txt
│ │ │ │ │ ├── dp.antlrtree.txt
│ │ │ │ │ ├── functionalType.antlrtree.txt
│ │ │ │ │ ├── iterableClass.antlrtree.txt
│ │ │ │ │ ├── json.antlrtree.txt
│ │ │ │ │ ├── loggingContext.antlrtree.txt
│ │ │ │ │ ├── monoidSum.antlrtree.txt
│ │ │ │ │ ├── transaction.antlrtree.txt
│ │ │ │ │ └── userStorage.antlrtree.txt
│ │ │ │ ├── functionalType.antlrtree.txt
│ │ │ │ ├── genericOuterClass.antlrtree.txt
│ │ │ │ ├── insideDeclaration.antlrtree.txt
│ │ │ │ ├── labelFromFunctionName.antlrtree.txt
│ │ │ │ ├── labelsFromClassNameForbidden.antlrtree.txt
│ │ │ │ ├── lazy.antlrtree.txt
│ │ │ │ ├── manyReceivers.antlrtree.txt
│ │ │ │ ├── noBackingField.antlrtree.txt
│ │ │ │ ├── noContextReceiversOnValueClasses.antlrtree.txt
│ │ │ │ ├── noExplicitReceiver.antlrtree.txt
│ │ │ │ ├── noLabelsByClassName.antlrtree.txt
│ │ │ │ ├── nonConflicting.antlrtree.txt
│ │ │ │ ├── outerClass.antlrtree.txt
│ │ │ │ ├── overloadPriority.antlrtree.txt
│ │ │ │ ├── overloading.antlrtree.txt
│ │ │ │ ├── parameterizedContextualLambda.antlrtree.txt
│ │ │ │ ├── plusMatrix.antlrtree.txt
│ │ │ │ ├── subtypingBetweenContextReceivers.antlrtree.txt
│ │ │ │ ├── superWithContext.antlrtree.txt
│ │ │ │ ├── syntaxError.antlrtree.txt
│ │ │ │ ├── thisIdentifierInfo.antlrtree.txt
│ │ │ │ ├── thisWithCustomLabel.antlrtree.txt
│ │ │ │ ├── thisWithReceiverLabelsClasses.antlrtree.txt
│ │ │ │ ├── thisWithReceiverLabelsFunctions.antlrtree.txt
│ │ │ │ ├── thisWithReceiverLabelsProperties.antlrtree.txt
│ │ │ │ ├── twoReceiverCandidatesError.antlrtree.txt
│ │ │ │ ├── typeParameterAsContextReceiver.antlrtree.txt
│ │ │ │ ├── typeParameterized.antlrtree.txt
│ │ │ │ ├── typeParameterizedList.antlrtree.txt
│ │ │ │ ├── unsupported.antlrtree.txt
│ │ │ │ ├── withExplicitReceiver.antlrtree.txt
│ │ │ │ └── withExplicitReceiverError.antlrtree.txt
│ │ │ ├── extensionMemberInClassObject.antlrtree.txt
│ │ │ ├── extensionPropertyVsParameter.antlrtree.txt
│ │ │ ├── kt1875.antlrtree.txt
│ │ │ ├── kt2317.antlrtree.txt
│ │ │ ├── kt3470.antlrtree.txt
│ │ │ ├── kt3563.antlrtree.txt
│ │ │ ├── kt819ExtensionProperties.antlrtree.txt
│ │ │ ├── noClassObjectsInJava.B.antlrtree.txt
│ │ │ ├── object.antlrtree.txt
│ │ │ ├── throwOutCandidatesByReceiver.antlrtree.txt
│ │ │ ├── throwOutCandidatesByReceiver2.antlrtree.txt
│ │ │ └── variableInvoke.antlrtree.txt
│ │ ├── external/
│ │ │ └── noExternalModifierInheritance.antlrtree.txt
│ │ ├── fieldRename/
│ │ │ ├── derivedClassPropertyShadowsBaseClassField.test.antlrtree.txt
│ │ │ ├── derivedClassPropertyShadowsBaseClassField13.test.antlrtree.txt
│ │ │ ├── javaFieldKotlinPropertyDifferentType.Main.antlrtree.txt
│ │ │ ├── javaFieldKotlinPropertyDifferentType2.Main.antlrtree.txt
│ │ │ ├── javaFieldKotlinPropertyJavaFieldInPackagePrivate.B.antlrtree.txt
│ │ │ ├── javaFieldKotlinPropertyJavaFieldInPackagePrivate.test.antlrtree.txt
│ │ │ ├── javaFieldKotlinPropertyJavaPackagePrivateField.B.antlrtree.txt
│ │ │ ├── javaFieldKotlinPropertyJavaPackagePrivateField.test.antlrtree.txt
│ │ │ ├── javaProtectedFieldAndKotlinInvisiblePropertyReference.Base.antlrtree.txt
│ │ │ └── javaProtectedFieldAndKotlinInvisiblePropertyReference.Derived.antlrtree.txt
│ │ ├── fileDependencyRecursion.fileDependencyRecursion.antlrtree.txt
│ │ ├── fileDependencyRecursion.fileDependencyRecursionOther.antlrtree.txt
│ │ ├── finalSupertype.antlrtree.txt
│ │ ├── funInterface/
│ │ │ ├── basicFunInterface.antlrtree.txt
│ │ │ ├── basicFunInterfaceConversion.antlrtree.txt
│ │ │ ├── basicFunInterfaceDisabled.antlrtree.txt
│ │ │ ├── funInterfaceConstructorReferences_after.antlrtree.txt
│ │ │ ├── funInterfaceConstructorReferences_before.antlrtree.txt
│ │ │ ├── funInterfaceConversionOnReceiver.antlrtree.txt
│ │ │ ├── funInterfaceDeclarationCheck.antlrtree.txt
│ │ │ ├── funInterfaceSyntheticConstructors.antlrtree.txt
│ │ │ ├── funIsNotInheritedFromBaseInterface.antlrtree.txt
│ │ │ ├── functionDelegateClashOnJvm.antlrtree.txt
│ │ │ ├── genericSubstitutionForFunInterface.antlrtree.txt
│ │ │ ├── noCompatibilityResolveForFunInterfaces.antlrtree.txt
│ │ │ ├── resolveFunInterfaceWithoutMainMethod.antlrtree.txt
│ │ │ ├── severalConversionsForFunInterface.1.antlrtree.txt
│ │ │ └── suspendFunInterfaceConversion.antlrtree.txt
│ │ ├── funReturnsAny.antlrtree.txt
│ │ ├── functionAsExpression/
│ │ │ ├── AutoLabels.antlrtree.txt
│ │ │ ├── Common.antlrtree.txt
│ │ │ ├── DifficultInferenceForParameter.antlrtree.txt
│ │ │ ├── ForbiddenNonLocalReturn.antlrtree.txt
│ │ │ ├── FunctionType.antlrtree.txt
│ │ │ ├── InferenceParametersTypes.antlrtree.txt
│ │ │ ├── MissingParameterTypes.antlrtree.txt
│ │ │ ├── NameDeprecation.antlrtree.txt
│ │ │ ├── NoOverloadError.antlrtree.txt
│ │ │ ├── Parameters.antlrtree.txt
│ │ │ ├── ReceiverByExpectedType.antlrtree.txt
│ │ │ ├── ReturnAndLabels.antlrtree.txt
│ │ │ ├── ReturnTypeCheck.antlrtree.txt
│ │ │ ├── ScopeCheck.antlrtree.txt
│ │ │ ├── WithGenericParameters.antlrtree.txt
│ │ │ ├── WithOuterGeneric.antlrtree.txt
│ │ │ └── WithoutBody.antlrtree.txt
│ │ ├── functionLiterals/
│ │ │ ├── DeprecatedSyntax.antlrtree.txt
│ │ │ ├── ExpectedParameterTypeMismatchVariance.antlrtree.txt
│ │ │ ├── ExpectedParametersTypesMismatch.antlrtree.txt
│ │ │ ├── LabeledFunctionLiterals.antlrtree.txt
│ │ │ ├── assignmentOperationInLambda.antlrtree.txt
│ │ │ ├── assignmentOperationInLambdaWithExpectedType.antlrtree.txt
│ │ │ ├── destructuringInLambdas/
│ │ │ │ ├── complexInference.antlrtree.txt
│ │ │ │ ├── extensionComponents.antlrtree.txt
│ │ │ │ ├── inferredFunctionalType.antlrtree.txt
│ │ │ │ ├── modifiers.antlrtree.txt
│ │ │ │ ├── noExpectedType.antlrtree.txt
│ │ │ │ ├── redeclaration.antlrtree.txt
│ │ │ │ ├── shadowing.antlrtree.txt
│ │ │ │ ├── simple.antlrtree.txt
│ │ │ │ ├── underscore.antlrtree.txt
│ │ │ │ └── unusedParameters.antlrtree.txt
│ │ │ ├── functionExpressionAsLastExpressionInBlock.antlrtree.txt
│ │ │ ├── functionLIteralInBlockInIf.antlrtree.txt
│ │ │ ├── functionLiteralAsArgumentForFunction.antlrtree.txt
│ │ │ ├── functionLiteralInIf.antlrtree.txt
│ │ │ ├── functionLiteralWithoutArgumentList.antlrtree.txt
│ │ │ ├── genericFunctionalTypeOnRHSOfPlusAssign.antlrtree.txt
│ │ │ ├── higherOrderCallMissingParameters.antlrtree.txt
│ │ │ ├── kt11733.antlrtree.txt
│ │ │ ├── kt11733_1.Main.antlrtree.txt
│ │ │ ├── kt16016.antlrtree.txt
│ │ │ ├── kt2906.antlrtree.txt
│ │ │ ├── kt3343.antlrtree.txt
│ │ │ ├── kt4529.antlrtree.txt
│ │ │ ├── kt47493.antlrtree.txt
│ │ │ ├── kt51317.antlrtree.txt
│ │ │ ├── kt56138.antlrtree.txt
│ │ │ ├── kt6541_extensionForExtensionFunction.antlrtree.txt
│ │ │ ├── kt6869.antlrtree.txt
│ │ │ ├── kt7383_starProjectedFunction.antlrtree.txt
│ │ │ ├── lambdaInLambda2.main.antlrtree.txt
│ │ │ ├── missedTypeMismatch.antlrtree.txt
│ │ │ ├── prematurelyAnalyzingLambdaWhileFixingTypeVariableForAnotherArgument.antlrtree.txt
│ │ │ ├── return/
│ │ │ │ ├── AutoLabels.antlrtree.txt
│ │ │ │ ├── AutoLabelsNonLocal.antlrtree.txt
│ │ │ │ ├── ForbiddenNonLocalReturnNoType.antlrtree.txt
│ │ │ │ ├── IfInReturnedExpression.antlrtree.txt
│ │ │ │ ├── IfWithoutElse.antlrtree.txt
│ │ │ │ ├── IfWithoutElseWithExplicitType.antlrtree.txt
│ │ │ │ ├── LambdaWithParameter.antlrtree.txt
│ │ │ │ ├── LocalAndNonLocalReturnInLambda.antlrtree.txt
│ │ │ │ ├── LocalReturnExplicitLabelNoParens.antlrtree.txt
│ │ │ │ ├── LocalReturnExplicitLabelParens.antlrtree.txt
│ │ │ │ ├── LocalReturnHasTypeNothing.antlrtree.txt
│ │ │ │ ├── LocalReturnInNestedFunction.antlrtree.txt
│ │ │ │ ├── LocalReturnInNestedLambda.antlrtree.txt
│ │ │ │ ├── LocalReturnNoCoercionToUnit.antlrtree.txt
│ │ │ │ ├── LocalReturnNull.antlrtree.txt
│ │ │ │ ├── LocalReturnSecondUnit.antlrtree.txt
│ │ │ │ ├── LocalReturnUnit.antlrtree.txt
│ │ │ │ ├── LocalReturnUnitAndDontCareType.antlrtree.txt
│ │ │ │ ├── LocalReturnUnitWithBodyExpression.antlrtree.txt
│ │ │ │ ├── LocalReturnWithExpectedType.antlrtree.txt
│ │ │ │ ├── LocalReturnWithExplicitUnit.antlrtree.txt
│ │ │ │ ├── LocalReturnsWithExplicitReturnType.antlrtree.txt
│ │ │ │ ├── MixedReturnsFromLambda.antlrtree.txt
│ │ │ │ ├── NoCommonSystem.antlrtree.txt
│ │ │ │ ├── SmartCast.antlrtree.txt
│ │ │ │ ├── SmartCastWithExplicitType.antlrtree.txt
│ │ │ │ └── unresolvedReferenceInReturnBlock.antlrtree.txt
│ │ │ ├── returnNull.antlrtree.txt
│ │ │ ├── returnNullWithReturn.antlrtree.txt
│ │ │ ├── underscopeParameters.antlrtree.txt
│ │ │ ├── unusedLiteral.antlrtree.txt
│ │ │ └── unusedLiteralInsideUnitLiteral.antlrtree.txt
│ │ ├── generics/
│ │ │ ├── InconsistentTypeParameterBounds.antlrtree.txt
│ │ │ ├── Projections.antlrtree.txt
│ │ │ ├── PseudoRawTypes.Kotlin.antlrtree.txt
│ │ │ ├── RawTypeInIsExpression.antlrtree.txt
│ │ │ ├── RawTypeInIsPattern.antlrtree.txt
│ │ │ ├── RecursiveUpperBoundCheck.antlrtree.txt
│ │ │ ├── RecursiveUpperBoundWithTwoArguments.antlrtree.txt
│ │ │ ├── TypeParameterBounds.antlrtree.txt
│ │ │ ├── TypeParametersInTypeParameterBounds.antlrtree.txt
│ │ │ ├── anonymousObjectSupertypeWithTypeParameterFromFunction.antlrtree.txt
│ │ │ ├── approximationOfInProjection.antlrtree.txt
│ │ │ ├── argumentsForT.antlrtree.txt
│ │ │ ├── bareTypesWithStarProjections.antlrtree.txt
│ │ │ ├── capturedParameters/
│ │ │ │ ├── captured.antlrtree.txt
│ │ │ │ ├── innerLocalClass.antlrtree.txt
│ │ │ │ ├── localClass.antlrtree.txt
│ │ │ │ ├── localWithTypeParameter.antlrtree.txt
│ │ │ │ ├── objectLiteral.antlrtree.txt
│ │ │ │ └── uncheckedCast.antlrtree.txt
│ │ │ ├── commonSupertypeContravariant.antlrtree.txt
│ │ │ ├── commonSupertypeContravariant2.antlrtree.txt
│ │ │ ├── cyclicBounds/
│ │ │ │ ├── functions.antlrtree.txt
│ │ │ │ └── inClass.antlrtree.txt
│ │ │ ├── doNotCaptureSupertype.antlrtree.txt
│ │ │ ├── finalUpperBoundWithOverride.antlrtree.txt
│ │ │ ├── finalUpperBoundWithoutOverride.antlrtree.txt
│ │ │ ├── genericsInType.antlrtree.txt
│ │ │ ├── innerClasses/
│ │ │ │ ├── bareTypes.antlrtree.txt
│ │ │ │ ├── bareTypesComplex.antlrtree.txt
│ │ │ │ ├── checkBoundsOuter.antlrtree.txt
│ │ │ │ ├── implicitArguments/
│ │ │ │ │ ├── fromCompanionObject_after.antlrtree.txt
│ │ │ │ │ ├── fromCompanionObject_before.antlrtree.txt
│ │ │ │ │ ├── fromOuterClassInObjectLiteral.antlrtree.txt
│ │ │ │ │ ├── fromSuperClasses.antlrtree.txt
│ │ │ │ │ ├── fromSuperClassesLocal.antlrtree.txt
│ │ │ │ │ ├── fromSuperClassesLocalInsideInner.antlrtree.txt
│ │ │ │ │ ├── fromSuperClassesTransitive.antlrtree.txt
│ │ │ │ │ ├── inStaticScope.antlrtree.txt
│ │ │ │ │ └── secondLevelDepth.antlrtree.txt
│ │ │ │ ├── importedInner.antlrtree.txt
│ │ │ │ ├── innerSuperCall.antlrtree.txt
│ │ │ │ ├── innerSuperCallSecondary.antlrtree.txt
│ │ │ │ ├── innerTP.antlrtree.txt
│ │ │ │ ├── innerUncheckedCast.antlrtree.txt
│ │ │ │ ├── innerVariance.antlrtree.txt
│ │ │ │ ├── iterator.antlrtree.txt
│ │ │ │ ├── j+k.main.antlrtree.txt
│ │ │ │ ├── j+k_complex.main.antlrtree.txt
│ │ │ │ ├── kt3357.antlrtree.txt
│ │ │ │ ├── kt408.antlrtree.txt
│ │ │ │ ├── kt6325.antlrtree.txt
│ │ │ │ ├── noTypeVarianceConflictInNestedClass.antlrtree.txt
│ │ │ │ ├── outerArgumentsRequired.antlrtree.txt
│ │ │ │ ├── parameterShadowing.antlrtree.txt
│ │ │ │ ├── qualifiedOuter.antlrtree.txt
│ │ │ │ ├── qualifiedTypesResolution.main.antlrtree.txt
│ │ │ │ ├── qualifiedTypesResolution.test.antlrtree.txt
│ │ │ │ ├── simple.antlrtree.txt
│ │ │ │ ├── simpleIn.antlrtree.txt
│ │ │ │ ├── simpleOut.antlrtree.txt
│ │ │ │ ├── simpleOutUseSite.antlrtree.txt
│ │ │ │ └── substitutedMemberScope.antlrtree.txt
│ │ │ ├── invalidArgumentsNumberInWhere.antlrtree.txt
│ │ │ ├── kt1575-Class.antlrtree.txt
│ │ │ ├── kt1575-Function.antlrtree.txt
│ │ │ ├── kt30590.antlrtree.txt
│ │ │ ├── kt34729.antlrtree.txt
│ │ │ ├── kt53656.antlrtree.txt
│ │ │ ├── kt5508.antlrtree.txt
│ │ │ ├── kt9203.antlrtree.txt
│ │ │ ├── kt9203_1.antlrtree.txt
│ │ │ ├── kt9985.A.antlrtree.txt
│ │ │ ├── localClassTypeRefWithTypeParameterFromFunction.antlrtree.txt
│ │ │ ├── multipleBoundsMemberScope/
│ │ │ │ ├── conflictingReturnType.antlrtree.txt
│ │ │ │ ├── flexibleTypes.main.antlrtree.txt
│ │ │ │ ├── mostSpecific.antlrtree.txt
│ │ │ │ ├── properties.antlrtree.txt
│ │ │ │ ├── propertiesConflict.antlrtree.txt
│ │ │ │ ├── simple.antlrtree.txt
│ │ │ │ └── validTypeParameters.antlrtree.txt
│ │ │ ├── nullability/
│ │ │ │ ├── capturedTypeWithPlatformSupertype.test.antlrtree.txt
│ │ │ │ ├── considerTypeNotNullOnlyIfItHasNotNullBound.antlrtree.txt
│ │ │ │ ├── correctSubstitutionForIncorporationConstraint.test.antlrtree.txt
│ │ │ │ ├── declarationsBoundsViolation.antlrtree.txt
│ │ │ │ ├── expressionsBoundsViolation.antlrtree.txt
│ │ │ │ ├── functionalBound.antlrtree.txt
│ │ │ │ ├── inferNotNullTypeFromIntersectionOfNullableTypes.antlrtree.txt
│ │ │ │ ├── kt25182.antlrtree.txt
│ │ │ │ ├── notNullSmartcastOnIntersectionOfNullables.antlrtree.txt
│ │ │ │ ├── nullToGeneric.antlrtree.txt
│ │ │ │ ├── smartCastRefinedClass.antlrtree.txt
│ │ │ │ ├── smartCasts.antlrtree.txt
│ │ │ │ ├── smartCastsOnThis.antlrtree.txt
│ │ │ │ ├── smartCastsValueArgument.antlrtree.txt
│ │ │ │ ├── tpBoundsViolation.antlrtree.txt
│ │ │ │ ├── tpBoundsViolationVariance.antlrtree.txt
│ │ │ │ ├── tpInBounds.antlrtree.txt
│ │ │ │ ├── useAsReceiver.antlrtree.txt
│ │ │ │ └── useAsValueArgument.antlrtree.txt
│ │ │ ├── nullableTypeParameterScope.antlrtree.txt
│ │ │ ├── outerTypeParametersInNestedClasses.antlrtree.txt
│ │ │ ├── projectionsScope/
│ │ │ │ ├── MLOut.main.antlrtree.txt
│ │ │ │ ├── addAll.antlrtree.txt
│ │ │ │ ├── approximateDispatchReceiver.antlrtree.txt
│ │ │ │ ├── extensionReceiverTypeMismatch.antlrtree.txt
│ │ │ │ ├── extensionResultSubstitution.antlrtree.txt
│ │ │ │ ├── flexibleProjectedScope.main.antlrtree.txt
│ │ │ │ ├── inValueParameter.antlrtree.txt
│ │ │ │ ├── iterateOnExtension.antlrtree.txt
│ │ │ │ ├── kt7296.antlrtree.txt
│ │ │ │ ├── kt8647.antlrtree.txt
│ │ │ │ ├── lambdaArgument.antlrtree.txt
│ │ │ │ ├── leakedApproximatedType.antlrtree.txt
│ │ │ │ ├── multipleArgumentProjectedOut.antlrtree.txt
│ │ │ │ ├── platformSuperClass.main.antlrtree.txt
│ │ │ │ ├── projectedOutConventions.antlrtree.txt
│ │ │ │ ├── projectedOutSmartCast.antlrtree.txt
│ │ │ │ ├── recursiveUpperBoundStar.antlrtree.txt
│ │ │ │ ├── recursiveUpperBoundStarOut.antlrtree.txt
│ │ │ │ ├── starNullability.antlrtree.txt
│ │ │ │ ├── starNullabilityRecursive.antlrtree.txt
│ │ │ │ ├── superClass.antlrtree.txt
│ │ │ │ ├── typeMismatchConventions.antlrtree.txt
│ │ │ │ ├── typeMismatchInLambda.antlrtree.txt
│ │ │ │ ├── typeParameterBounds.antlrtree.txt
│ │ │ │ ├── unsafeVarianceInAliasedFunctionalType.antlrtree.txt
│ │ │ │ ├── unsafeVarianceOnInputTypeOfFunctionalType.antlrtree.txt
│ │ │ │ ├── unsafeVarianceStar.antlrtree.txt
│ │ │ │ ├── unsafeVarianceWithRecursiveGenerics.antlrtree.txt
│ │ │ │ └── varargs.antlrtree.txt
│ │ │ ├── protectedSuperCall.GA.antlrtree.txt
│ │ │ ├── protectedSuperCall.Main.antlrtree.txt
│ │ │ ├── recursive.antlrtree.txt
│ │ │ ├── resolveGenericBoundsBeforeSupertypes.antlrtree.txt
│ │ │ ├── sameTypeParameterUse.antlrtree.txt
│ │ │ ├── starProjections/
│ │ │ │ ├── checkBounds.antlrtree.txt
│ │ │ │ ├── collectionInheritedFromJava.k.antlrtree.txt
│ │ │ │ ├── foldRecursiveTypesToStarProjection.antlrtree.txt
│ │ │ │ ├── inheritedFromJava.k.antlrtree.txt
│ │ │ │ ├── inheritedFromKotlin.antlrtree.txt
│ │ │ │ └── invalid.main.antlrtree.txt
│ │ │ ├── suppressVarianceConflict.antlrtree.txt
│ │ │ ├── tpAsReified/
│ │ │ │ ├── CapturedAsReified.antlrtree.txt
│ │ │ │ ├── ClassDereference.antlrtree.txt
│ │ │ │ ├── Conventions.antlrtree.txt
│ │ │ │ ├── GenericArrayAsReifiedArgument.antlrtree.txt
│ │ │ │ ├── GenericArrayAsReifiedArgumentWarning.antlrtree.txt
│ │ │ │ ├── GenericAsReifiedArgument.antlrtree.txt
│ │ │ │ ├── InConstructor.antlrtree.txt
│ │ │ │ ├── InFunction.antlrtree.txt
│ │ │ │ ├── InProperty.antlrtree.txt
│ │ │ │ ├── InType.antlrtree.txt
│ │ │ │ ├── InlineableReified.antlrtree.txt
│ │ │ │ ├── LocalFun.antlrtree.txt
│ │ │ │ ├── NotInlineableReified.antlrtree.txt
│ │ │ │ └── ReifiedClass.antlrtree.txt
│ │ │ ├── unresolvedClassifierInWhere.antlrtree.txt
│ │ │ ├── varProjection/
│ │ │ │ ├── setterNotProjectedOutAssign.antlrtree.txt
│ │ │ │ ├── setterProjectedOutAssign.test.antlrtree.txt
│ │ │ │ ├── setterProjectedOutNoPlusAssign.antlrtree.txt
│ │ │ │ └── setterProjectedOutPlusAssignDefined.antlrtree.txt
│ │ │ ├── wildcardInValueParameter.main.antlrtree.txt
│ │ │ └── wrongNumberOfTypeArgumentsDiagnostic.antlrtree.txt
│ │ ├── implicitIntersection.antlrtree.txt
│ │ ├── implicitNestedIntersection.antlrtree.txt
│ │ ├── implicitNothing.antlrtree.txt
│ │ ├── imports/
│ │ │ ├── AllUnderImportsAmbiguity.a.antlrtree.txt
│ │ │ ├── AllUnderImportsAmbiguity.b.antlrtree.txt
│ │ │ ├── AllUnderImportsAmbiguity.c.antlrtree.txt
│ │ │ ├── AllUnderImportsLessPriority.a.antlrtree.txt
│ │ │ ├── AllUnderImportsLessPriority.b.antlrtree.txt
│ │ │ ├── AllUnderImportsLessPriority.c.antlrtree.txt
│ │ │ ├── AllUnderImportsSamePriorityForFunction.a.antlrtree.txt
│ │ │ ├── AllUnderImportsSamePriorityForFunction.b.antlrtree.txt
│ │ │ ├── AllUnderImportsSamePriorityForFunction.c.antlrtree.txt
│ │ │ ├── AllUnderImportsSamePriorityForProperty.a.antlrtree.txt
│ │ │ ├── AllUnderImportsSamePriorityForProperty.b.antlrtree.txt
│ │ │ ├── AllUnderImportsSamePriorityForProperty.c.antlrtree.txt
│ │ │ ├── CheckJavaVisibility.k1.antlrtree.txt
│ │ │ ├── CheckJavaVisibility.k2.antlrtree.txt
│ │ │ ├── CheckJavaVisibility2.j.antlrtree.txt
│ │ │ ├── CheckJavaVisibility2.k.antlrtree.txt
│ │ │ ├── CheckVisibility.k1.antlrtree.txt
│ │ │ ├── CheckVisibility.k2.antlrtree.txt
│ │ │ ├── CheckVisibility.k3.antlrtree.txt
│ │ │ ├── ClassClash.a.antlrtree.txt
│ │ │ ├── ClassClash.b.antlrtree.txt
│ │ │ ├── ClassClash.c.antlrtree.txt
│ │ │ ├── ClassClash.top_a.antlrtree.txt
│ │ │ ├── ClassClash.top_b.antlrtree.txt
│ │ │ ├── ClassClash.top_c.antlrtree.txt
│ │ │ ├── ClassClash.top_d.antlrtree.txt
│ │ │ ├── ClassClashStarImport.a.antlrtree.txt
│ │ │ ├── ClassClashStarImport.b.antlrtree.txt
│ │ │ ├── ClassClashStarImport.top_a.antlrtree.txt
│ │ │ ├── ClassClashStarImport.top_b.antlrtree.txt
│ │ │ ├── ClassClashStarImport.top_c.antlrtree.txt
│ │ │ ├── ClassImportsConflicting.a.antlrtree.txt
│ │ │ ├── ClassImportsConflicting.b.antlrtree.txt
│ │ │ ├── ClassImportsConflicting.c.antlrtree.txt
│ │ │ ├── CurrentPackageAndAllUnderImport.a.antlrtree.txt
│ │ │ ├── CurrentPackageAndAllUnderImport.b.antlrtree.txt
│ │ │ ├── CurrentPackageAndAllUnderImport.b1.antlrtree.txt
│ │ │ ├── CurrentPackageAndExplicitImport.a.antlrtree.txt
│ │ │ ├── CurrentPackageAndExplicitImport.b.antlrtree.txt
│ │ │ ├── CurrentPackageAndExplicitImport.b1.antlrtree.txt
│ │ │ ├── DefaultImportsPriority.antlrtree.txt
│ │ │ ├── DoubleImports.ExplicitImported.antlrtree.txt
│ │ │ ├── DoubleImports.StarImported.antlrtree.txt
│ │ │ ├── DoubleImports.Test.antlrtree.txt
│ │ │ ├── EnumEntryVsStaticAmbiguity.SomeEnum.antlrtree.txt
│ │ │ ├── EnumEntryVsStaticAmbiguity.test.antlrtree.txt
│ │ │ ├── EnumEntryVsStaticAmbiguity2.OtherEnum.antlrtree.txt
│ │ │ ├── EnumEntryVsStaticAmbiguity2.SomeEnum.antlrtree.txt
│ │ │ ├── EnumEntryVsStaticAmbiguity2.test.antlrtree.txt
│ │ │ ├── EnumEntryVsStaticAmbiguity3.SomeEnum.antlrtree.txt
│ │ │ ├── EnumEntryVsStaticAmbiguity3.test.antlrtree.txt
│ │ │ ├── EnumEntryVsStaticAmbiguity4.SomeEnum.antlrtree.txt
│ │ │ ├── EnumEntryVsStaticAmbiguity4.test.antlrtree.txt
│ │ │ ├── ExplicitImportsAmbiguity.a.antlrtree.txt
│ │ │ ├── ExplicitImportsAmbiguity.b.antlrtree.txt
│ │ │ ├── ExplicitImportsAmbiguity.c.antlrtree.txt
│ │ │ ├── ExplicitImportsUnambiguityForFunction.a.antlrtree.txt
│ │ │ ├── ExplicitImportsUnambiguityForFunction.b.antlrtree.txt
│ │ │ ├── ExplicitImportsUnambiguityForFunction.c.antlrtree.txt
│ │ │ ├── ExplicitPackageImportsAmbiguity.a.antlrtree.txt
│ │ │ ├── ExplicitPackageImportsAmbiguity.b.antlrtree.txt
│ │ │ ├── ExplicitPackageImportsAmbiguity.c.antlrtree.txt
│ │ │ ├── ImportClassClash.1.antlrtree.txt
│ │ │ ├── ImportClassClash.2.antlrtree.txt
│ │ │ ├── ImportClassClash.3.antlrtree.txt
│ │ │ ├── ImportClassClash.4.antlrtree.txt
│ │ │ ├── ImportClassClash.5.antlrtree.txt
│ │ │ ├── ImportClassClash.6.antlrtree.txt
│ │ │ ├── ImportClassClash.7.antlrtree.txt
│ │ │ ├── ImportFromCompanionObject.a.antlrtree.txt
│ │ │ ├── ImportFromCompanionObject.b.antlrtree.txt
│ │ │ ├── ImportFromCompanionObject.c.antlrtree.txt
│ │ │ ├── ImportFromCompanionObject.d.antlrtree.txt
│ │ │ ├── ImportFromCompanionObject.e.antlrtree.txt
│ │ │ ├── ImportFromCurrentWithDifferentName.antlrtree.txt
│ │ │ ├── ImportFromCurrentWithDifferentNameComplex.antlrtree.txt
│ │ │ ├── ImportFromObject.a.antlrtree.txt
│ │ │ ├── ImportFromObject.b.antlrtree.txt
│ │ │ ├── ImportFromObject.c.antlrtree.txt
│ │ │ ├── ImportFromObject.d.antlrtree.txt
│ │ │ ├── ImportFromObject.e.antlrtree.txt
│ │ │ ├── ImportFromRootPackage.anotherFromRootPackage.antlrtree.txt
│ │ │ ├── ImportFromRootPackage.rootPackage.antlrtree.txt
│ │ │ ├── ImportFromRootPackage.yetAnotherFromRootPackage.antlrtree.txt
│ │ │ ├── ImportFunctionWithPackageName.a.antlrtree.txt
│ │ │ ├── ImportFunctionWithPackageName.b.antlrtree.txt
│ │ │ ├── ImportFunctionWithPackageName.c.antlrtree.txt
│ │ │ ├── ImportHidingDefinitionInTheSameFile.antlrtree.txt
│ │ │ ├── ImportNestedWithDifferentName.antlrtree.txt
│ │ │ ├── ImportObjectAndUseAsSupertype.a.antlrtree.txt
│ │ │ ├── ImportObjectAndUseAsSupertype.b.antlrtree.txt
│ │ │ ├── ImportObjectHidesCurrentPackage.a.antlrtree.txt
│ │ │ ├── ImportObjectHidesCurrentPackage.b.antlrtree.txt
│ │ │ ├── ImportOverloadFunctions.1.antlrtree.txt
│ │ │ ├── ImportOverloadFunctions.2.antlrtree.txt
│ │ │ ├── ImportPrivateMember.antlrtree.txt
│ │ │ ├── ImportPrivateMemberFromOtherFile.A.antlrtree.txt
│ │ │ ├── ImportPrivateMemberFromOtherFile.C.antlrtree.txt
│ │ │ ├── ImportPrivateMembersWithStar.antlrtree.txt
│ │ │ ├── ImportProtectedClass.antlrtree.txt
│ │ │ ├── ImportResolutionOrder.a.antlrtree.txt
│ │ │ ├── ImportResolutionOrder.b.antlrtree.txt
│ │ │ ├── ImportResolutionOrder.c.antlrtree.txt
│ │ │ ├── ImportResolutionOrder.d.antlrtree.txt
│ │ │ ├── ImportStaticFunctionWithNonStaticSibling.test.antlrtree.txt
│ │ │ ├── ImportTwoTimes.a.antlrtree.txt
│ │ │ ├── ImportTwoTimes.b.antlrtree.txt
│ │ │ ├── ImportTwoTimesStar.a.antlrtree.txt
│ │ │ ├── ImportTwoTimesStar.b.antlrtree.txt
│ │ │ ├── Imports.a.antlrtree.txt
│ │ │ ├── Imports.b.antlrtree.txt
│ │ │ ├── Imports.c.antlrtree.txt
│ │ │ ├── Imports.d.antlrtree.txt
│ │ │ ├── ImportsConflicting.a.antlrtree.txt
│ │ │ ├── ImportsConflicting.b.antlrtree.txt
│ │ │ ├── ImportsConflicting.c.antlrtree.txt
│ │ │ ├── InaccessiblePrivateClass.a.antlrtree.txt
│ │ │ ├── InaccessiblePrivateClass.b.antlrtree.txt
│ │ │ ├── InaccessiblePrivateClass.c.antlrtree.txt
│ │ │ ├── InaccessiblePrivateInFile.f11.antlrtree.txt
│ │ │ ├── InaccessiblePrivateInFile.f12.antlrtree.txt
│ │ │ ├── InaccessiblePrivateInFile.f21.antlrtree.txt
│ │ │ ├── InaccessiblePrivateInFile.f22.antlrtree.txt
│ │ │ ├── JavaPackageLocalClassNotImported.File.antlrtree.txt
│ │ │ ├── JavaPackageLocalClassNotImported.Main.antlrtree.txt
│ │ │ ├── MalformedImports.antlrtree.txt
│ │ │ ├── NestedClassClash.a.antlrtree.txt
│ │ │ ├── NestedClassClash.b.antlrtree.txt
│ │ │ ├── NestedClassClash.c.antlrtree.txt
│ │ │ ├── NestedClassClash.d.antlrtree.txt
│ │ │ ├── OperatorRenameOnImport.a.antlrtree.txt
│ │ │ ├── OperatorRenameOnImport.b.antlrtree.txt
│ │ │ ├── OptionalAnnotationClasses.antlrtree.txt
│ │ │ ├── PackageLocalClassNotImported.File1.antlrtree.txt
│ │ │ ├── PackageLocalClassNotImported.File2.antlrtree.txt
│ │ │ ├── PackageLocalClassNotImported.Main.antlrtree.txt
│ │ │ ├── PackageLocalClassReferencedError.File1.antlrtree.txt
│ │ │ ├── PackageLocalClassReferencedError.Main.antlrtree.txt
│ │ │ ├── PackageVsClass.a.antlrtree.txt
│ │ │ ├── PackageVsClass.b.antlrtree.txt
│ │ │ ├── PackageVsClass.c.antlrtree.txt
│ │ │ ├── PackageVsClass.d.antlrtree.txt
│ │ │ ├── PrivateClassNotImported.File1.antlrtree.txt
│ │ │ ├── PrivateClassNotImported.File2.antlrtree.txt
│ │ │ ├── PrivateClassNotImported.Main.antlrtree.txt
│ │ │ ├── PrivateClassReferencedError.File1.antlrtree.txt
│ │ │ ├── PrivateClassReferencedError.Main.antlrtree.txt
│ │ │ ├── RenameOnImport.a.antlrtree.txt
│ │ │ ├── RenameOnImport.b.antlrtree.txt
│ │ │ ├── RenameOnImport.c.antlrtree.txt
│ │ │ ├── StarImportFromObject.antlrtree.txt
│ │ │ ├── SyntaxError.a.antlrtree.txt
│ │ │ ├── SyntaxError.b.antlrtree.txt
│ │ │ ├── SyntaxError.c.antlrtree.txt
│ │ │ ├── SyntaxError.d.antlrtree.txt
│ │ │ ├── TopLevelClassVsPackage.a.antlrtree.txt
│ │ │ ├── TopLevelClassVsPackage.b.antlrtree.txt
│ │ │ ├── TopLevelClassVsPackage.c.antlrtree.txt
│ │ │ ├── TopLevelClassVsPackage.d.antlrtree.txt
│ │ │ ├── TopLevelClassVsPackage.e.antlrtree.txt
│ │ │ ├── WrongImport.a.antlrtree.txt
│ │ │ ├── WrongImport.b.antlrtree.txt
│ │ │ ├── WrongImport.c.antlrtree.txt
│ │ │ ├── brokenImport.Klass.antlrtree.txt
│ │ │ ├── brokenImport.test.antlrtree.txt
│ │ │ ├── importFunctionWithAllUnderImport.importFunctionWithAllUnderImport.antlrtree.txt
│ │ │ ├── importFunctionWithAllUnderImport.importFunctionWithAllUnderImportOther.antlrtree.txt
│ │ │ ├── importFunctionWithAllUnderImportAfterNamedImport.mainFile.antlrtree.txt
│ │ │ ├── importFunctionWithAllUnderImportAfterNamedImport.testing.antlrtree.txt
│ │ │ ├── importFunctionWithAllUnderImportAfterNamedImport.testingOther.antlrtree.txt
│ │ │ ├── invisibleFakeReferenceInImport.A.antlrtree.txt
│ │ │ ├── invisibleFakeReferenceInImport.B.antlrtree.txt
│ │ │ ├── invisibleFakeReferenceInImport.C.antlrtree.txt
│ │ │ ├── kt13112.1.antlrtree.txt
│ │ │ ├── kt13112.2.antlrtree.txt
│ │ │ ├── kt13112.3.antlrtree.txt
│ │ │ ├── propertyClassFileDependencyRecursion.propertyClassFileDependencyRecursion.antlrtree.txt
│ │ │ ├── propertyClassFileDependencyRecursion.propertyClassFileDependencyRecursionOther.antlrtree.txt
│ │ │ ├── renamedImportInDifferentFile.first.antlrtree.txt
│ │ │ ├── renamedImportInDifferentFile.main.antlrtree.txt
│ │ │ ├── twoImportLists.a.antlrtree.txt
│ │ │ ├── twoImportLists.b.antlrtree.txt
│ │ │ ├── twoImportLists.c.antlrtree.txt
│ │ │ └── twoImportLists.d.antlrtree.txt
│ │ ├── incompleteCode/
│ │ │ ├── NoSenselessComparisonForErrorType.antlrtree.txt
│ │ │ ├── SupertypeOfErrorType.antlrtree.txt
│ │ │ ├── arrayBracketsRange.antlrtree.txt
│ │ │ ├── checkNothingIsSubtype.antlrtree.txt
│ │ │ ├── controlStructuresErrors.antlrtree.txt
│ │ │ ├── diagnosticWithSyntaxError/
│ │ │ │ ├── arrayExpression.antlrtree.txt
│ │ │ │ ├── checkBackingFieldException.antlrtree.txt
│ │ │ │ ├── completeFunctionArgumentsOfNestedCalls.antlrtree.txt
│ │ │ │ ├── declarationAfterDotSelectorExpected.antlrtree.txt
│ │ │ │ ├── declarationAfterIncompleteElvis.antlrtree.txt
│ │ │ │ ├── funEquals.antlrtree.txt
│ │ │ │ ├── funKeyword.antlrtree.txt
│ │ │ │ ├── funcitonTypes.antlrtree.txt
│ │ │ │ ├── incompleteEnumReference.antlrtree.txt
│ │ │ │ ├── incompleteVal.antlrtree.txt
│ │ │ │ ├── incompleteValWithAccessor.antlrtree.txt
│ │ │ │ ├── incompleteWhen.antlrtree.txt
│ │ │ │ ├── namedFun.antlrtree.txt
│ │ │ │ ├── noTypeParamsInReturnType.antlrtree.txt
│ │ │ │ ├── typeReferenceError.antlrtree.txt
│ │ │ │ ├── valNoName.antlrtree.txt
│ │ │ │ ├── valWithNoNameBeforeNextDeclarationWithModifiers.antlrtree.txt
│ │ │ │ └── valWithNoNameInBlock.antlrtree.txt
│ │ │ ├── illegalSelectorCallableReference.antlrtree.txt
│ │ │ ├── inExpr.antlrtree.txt
│ │ │ ├── incompleteAssignment.antlrtree.txt
│ │ │ ├── incompleteEquals.antlrtree.txt
│ │ │ ├── incompleteTryCatchBlock.antlrtree.txt
│ │ │ ├── kt1955.antlrtree.txt
│ │ │ ├── kt2014.antlrtree.txt
│ │ │ ├── kt4866UnresolvedArrayAccess.antlrtree.txt
│ │ │ ├── kt59041.antlrtree.txt
│ │ │ ├── plusOnTheRight.antlrtree.txt
│ │ │ ├── pseudocodeTraverseNextInstructions.antlrtree.txt
│ │ │ ├── senselessComparisonWithNull.antlrtree.txt
│ │ │ ├── typeParameterOnLhsOfDot.antlrtree.txt
│ │ │ ├── unresolvedArguments.antlrtree.txt
│ │ │ ├── unresolvedOperation.antlrtree.txt
│ │ │ ├── unresolvedTypeWithTypeArguments.antlrtree.txt
│ │ │ └── variableDeclarationInSelector.antlrtree.txt
│ │ ├── incrementDecrementOnFullyQualified.antlrtree.txt
│ │ ├── incrementDecrementOnObject.antlrtree.txt
│ │ ├── inference/
│ │ │ ├── NoInferenceFromDeclaredBounds.antlrtree.txt
│ │ │ ├── annotatedUnderscoredTypeArgument.antlrtree.txt
│ │ │ ├── builderInference/
│ │ │ │ ├── changingResolveIfDontUseBuilderInference.antlrtree.txt
│ │ │ │ ├── constraints/
│ │ │ │ │ └── violating.antlrtree.txt
│ │ │ │ ├── equalityChecksOnIntegerTypes.antlrtree.txt
│ │ │ │ ├── equalityChecksOnIntegerTypesProgressive.antlrtree.txt
│ │ │ │ ├── errorOnStubReceiver.antlrtree.txt
│ │ │ │ ├── incompleteCallInReturnArgumentsWithProperExpectType.antlrtree.txt
│ │ │ │ ├── invalidateKeys.antlrtree.txt
│ │ │ │ ├── kt47744.antlrtree.txt
│ │ │ │ ├── kt47986Default.antlrtree.txt
│ │ │ │ ├── kt47986Disabled.antlrtree.txt
│ │ │ │ ├── kt47986Enabled.antlrtree.txt
│ │ │ │ ├── kt47986_2.antlrtree.txt
│ │ │ │ ├── kt47986_3.antlrtree.txt
│ │ │ │ ├── kt47986_4.antlrtree.txt
│ │ │ │ ├── kt48031.antlrtree.txt
│ │ │ │ ├── kt49285.antlrtree.txt
│ │ │ │ ├── kt49828.antlrtree.txt
│ │ │ │ ├── kt49829.antlrtree.txt
│ │ │ │ ├── kt50498.antlrtree.txt
│ │ │ │ ├── kt50989.antlrtree.txt
│ │ │ │ ├── kt51148.antlrtree.txt
│ │ │ │ ├── kt51464.antlrtree.txt
│ │ │ │ ├── kt53422.antlrtree.txt
│ │ │ │ ├── kt53639.antlrtree.txt
│ │ │ │ ├── labaledCall.main.antlrtree.txt
│ │ │ │ ├── multiLambdaRestriction.antlrtree.txt
│ │ │ │ ├── multiLambdaRestrictionDisabled.antlrtree.txt
│ │ │ │ ├── noBuilderInferenceRestrictionReceiverInconsistency.antlrtree.txt
│ │ │ │ ├── propertySubstitution.antlrtree.txt
│ │ │ │ ├── simpleLambdaInCallWithAnotherLambdaWithBuilderInference.antlrtree.txt
│ │ │ │ ├── skipedUnresolvedInBuilderInferenceWithStubReceiverType.antlrtree.txt
│ │ │ │ ├── specialCallsWithCallableReferences.antlrtree.txt
│ │ │ │ ├── specialCallsWithCallableReferencesDontCareTypeInBlockExression.antlrtree.txt
│ │ │ │ ├── specialCallsWithCallableReferencesDontRewriteAtSlice.antlrtree.txt
│ │ │ │ ├── specialCallsWithCallableReferencesErrorType.antlrtree.txt
│ │ │ │ ├── specialCallsWithCallableReferencesErrorTypeUnrestricted.antlrtree.txt
│ │ │ │ ├── specialCallsWithCallableReferencesNonStrictOnlyInputTypes.antlrtree.txt
│ │ │ │ ├── specialCallsWithCallableReferencesUnrestricted.antlrtree.txt
│ │ │ │ ├── specialCallsWithLambdas.antlrtree.txt
│ │ │ │ ├── stubTypes/
│ │ │ │ │ ├── capturedTypes.main.antlrtree.txt
│ │ │ │ │ ├── commonSuperType.main.antlrtree.txt
│ │ │ │ │ ├── commonSuperTypeContravariant.main.antlrtree.txt
│ │ │ │ │ ├── commonSuperTypeCovariant.main.antlrtree.txt
│ │ │ │ │ ├── commonSuperTypeInvariant.main.antlrtree.txt
│ │ │ │ │ ├── commonSuperTypeNullable.main.antlrtree.txt
│ │ │ │ │ ├── intersect.main.antlrtree.txt
│ │ │ │ │ ├── memberScope.main.antlrtree.txt
│ │ │ │ │ ├── nullability.main.antlrtree.txt
│ │ │ │ │ ├── renderingStubTypes.antlrtree.txt
│ │ │ │ │ ├── stubTypeReceiverRestriction.antlrtree.txt
│ │ │ │ │ └── stubTypeReceiverRestrictionDisabled.antlrtree.txt
│ │ │ │ └── withoutAnnotationDisabledFeature.antlrtree.txt
│ │ │ ├── callableReferences/
│ │ │ │ ├── conversionLastStatementInLambda.antlrtree.txt
│ │ │ │ ├── kt55931.antlrtree.txt
│ │ │ │ └── kt56227.antlrtree.txt
│ │ │ ├── cannotCompleteResolveAmbiguity.antlrtree.txt
│ │ │ ├── cannotCompleteResolveFunctionLiteralsNoUse.antlrtree.txt
│ │ │ ├── cannotCompleteResolveNoInfoForParameter.antlrtree.txt
│ │ │ ├── cannotCompleteResolveNoneApplicable.antlrtree.txt
│ │ │ ├── cannotCompleteResolveWithFunctionLiterals.antlrtree.txt
│ │ │ ├── capturedInProjectedFlexibleType.main.antlrtree.txt
│ │ │ ├── capturedTypes/
│ │ │ │ ├── approximateBeforeFixation.antlrtree.txt
│ │ │ │ ├── approximateContravariantCapturedTypes.antlrtree.txt
│ │ │ │ ├── approximationLeavesNonTrivialLowerBound.antlrtree.txt
│ │ │ │ ├── avoidCreatingUselessCapturedTypes.antlrtree.txt
│ │ │ │ ├── cannotCaptureInProjection.antlrtree.txt
│ │ │ │ ├── captureForNullableTypes.antlrtree.txt
│ │ │ │ ├── captureForPlatformTypes.b.antlrtree.txt
│ │ │ │ ├── captureFromNullableTypeInScope.antlrtree.txt
│ │ │ │ ├── captureFromNullableTypeInScopeAny.antlrtree.txt
│ │ │ │ ├── captureFromNullableTypeVariable.antlrtree.txt
│ │ │ │ ├── captureFromSubtyping.antlrtree.txt
│ │ │ │ ├── captureFromTypeParameterUpperBound.antlrtree.txt
│ │ │ │ ├── captureTypeOnlyOnTopLevel.antlrtree.txt
│ │ │ │ ├── capturedFlexibleIntersectionTypesWithDifferentBounds.main.antlrtree.txt
│ │ │ │ ├── capturedFlexibleIntersectionTypesWithDifferentConstructors.main.antlrtree.txt
│ │ │ │ ├── capturedType.antlrtree.txt
│ │ │ │ ├── capturedTypeAndApproximation.antlrtree.txt
│ │ │ │ ├── capturedTypeSubstitutedIntoOppositeProjection.antlrtree.txt
│ │ │ │ ├── capturedTypeWithInnerTypealias.antlrtree.txt
│ │ │ │ ├── capturedTypeWithTypeVariableSubtyping.antlrtree.txt
│ │ │ │ ├── capturedTypesSubstitutionIntoAbbreviation.antlrtree.txt
│ │ │ │ ├── capturingFromArgumentOfFlexibleType.main.antlrtree.txt
│ │ │ │ ├── differentCapturedTypes.antlrtree.txt
│ │ │ │ ├── dontCheckNewCapturedTypeSpecificChecksForOldOnes.antlrtree.txt
│ │ │ │ ├── expectedTypeMismatchWithInVariance.antlrtree.txt
│ │ │ │ ├── invokeCallWithCapturedReceiver.antlrtree.txt
│ │ │ │ ├── kt25302.antlrtree.txt
│ │ │ │ ├── kt2570.antlrtree.txt
│ │ │ │ ├── kt2872.antlrtree.txt
│ │ │ │ ├── kt46727.main.antlrtree.txt
│ │ │ │ ├── kt46727Warnings.main.antlrtree.txt
│ │ │ │ ├── kt49101.antlrtree.txt
│ │ │ │ ├── kt52782.main.antlrtree.txt
│ │ │ │ ├── memberScopeOfCaptured.antlrtree.txt
│ │ │ │ ├── noCaptureTypeErrorForNonTopLevel.antlrtree.txt
│ │ │ │ ├── notApproximateWhenCopyDescriptors.antlrtree.txt
│ │ │ │ ├── nullableCaptruredTypeAgainstNullableVariable.main.antlrtree.txt
│ │ │ │ ├── nullableCaptruredTypeAgainstNullableVariableWithDisabledComplatibilityFlag.main.antlrtree.txt
│ │ │ │ ├── overApproximationForInCaptured.antlrtree.txt
│ │ │ │ ├── overApproximationForOutCaptured.antlrtree.txt
│ │ │ │ ├── propagateNullailityOnSupertypesWhenCaptureTypes.antlrtree.txt
│ │ │ │ ├── starProjectionRegression.antlrtree.txt
│ │ │ │ ├── substituteCapturedTypesWithTypeVariables.antlrtree.txt
│ │ │ │ └── topLevelCapturingInsideReturnType.antlrtree.txt
│ │ │ ├── capturedTypesInSelfType.antlrtree.txt
│ │ │ ├── coerceFunctionLiteralToSuspend.antlrtree.txt
│ │ │ ├── coercionToUnit/
│ │ │ │ ├── afterBareReturn.antlrtree.txt
│ │ │ │ ├── coercionToUnitForIfAsLastExpressionInLambda.antlrtree.txt
│ │ │ │ ├── coercionToUnitForLastLambdaInLambda.antlrtree.txt
│ │ │ │ ├── coercionToUnitReference.antlrtree.txt
│ │ │ │ ├── coercionToUnitWithNothingType.test.antlrtree.txt
│ │ │ │ ├── coercionWithExpectedType.antlrtree.txt
│ │ │ │ ├── coercionWithExpectedTypeAndBound.antlrtree.txt
│ │ │ │ ├── coercionWithExplicitTypeArgument.antlrtree.txt
│ │ │ │ ├── coercionWithoutExpectedType.antlrtree.txt
│ │ │ │ ├── coerctionToUnitForATypeWithUpperBound.antlrtree.txt
│ │ │ │ ├── coersionWithAnonymousFunctionsAndUnresolved.antlrtree.txt
│ │ │ │ ├── indirectCoercionWithExpectedType.antlrtree.txt
│ │ │ │ ├── kt30242.antlrtree.txt
│ │ │ │ ├── lambdaWithNullableUnitInElvis.antlrtree.txt
│ │ │ │ ├── nestedLambda.antlrtree.txt
│ │ │ │ ├── noCoercion.antlrtree.txt
│ │ │ │ └── nonPropagationOfCoercionToUnitInsideNestedLambda.antlrtree.txt
│ │ │ ├── commonSuperTypeOfErrorTypes.antlrtree.txt
│ │ │ ├── commonSuperTypeOfTypesWithErrorSupertypes.antlrtree.txt
│ │ │ ├── commonSystem/
│ │ │ │ ├── boundOnNullableVariable.antlrtree.txt
│ │ │ │ ├── castToSubtype.antlrtree.txt
│ │ │ │ ├── cstFromNullableChildAndNonParameterizedType.antlrtree.txt
│ │ │ │ ├── cstWithTypeContainingNonFixedVariable.antlrtree.txt
│ │ │ │ ├── dontCaptureTypeVariable.antlrtree.txt
│ │ │ │ ├── exactOnElvis.antlrtree.txt
│ │ │ │ ├── fixVariablesInRightOrder.antlrtree.txt
│ │ │ │ ├── genericCandidateInGenericClass.antlrtree.txt
│ │ │ │ ├── iltInsideSeveralCalls.antlrtree.txt
│ │ │ │ ├── inferenceWithUpperBoundsInLambda.antlrtree.txt
│ │ │ │ ├── kt30300.antlrtree.txt
│ │ │ │ ├── kt31969.antlrtree.txt
│ │ │ │ ├── kt32818.antlrtree.txt
│ │ │ │ ├── kt33197.antlrtree.txt
│ │ │ │ ├── kt3372toCollection.antlrtree.txt
│ │ │ │ ├── lessSpecificTypeForArgumentCallWithExactAnnotation.antlrtree.txt
│ │ │ │ ├── lessSpecificTypeForArgumentCallWithExactAnnotation_ni.antlrtree.txt
│ │ │ │ ├── manyArgumentsForVararg.antlrtree.txt
│ │ │ │ ├── nestedLambdas.antlrtree.txt
│ │ │ │ ├── nonFixedVariableFromBothBranches.test.antlrtree.txt
│ │ │ │ ├── nonFixedVariableInsideFlexibleType.test.antlrtree.txt
│ │ │ │ ├── outProjectedTypeToOutProjected.antlrtree.txt
│ │ │ │ ├── postponedCompletionWithExactAnnotation.antlrtree.txt
│ │ │ │ ├── postponedCompletionWithExactAnnotation_ni.antlrtree.txt
│ │ │ │ ├── selectFromTwoIncompatibleTypes.antlrtree.txt
│ │ │ │ ├── selectIntegerValueTypeFromIf.antlrtree.txt
│ │ │ │ └── theSameFunctionInArgs.antlrtree.txt
│ │ │ ├── completeInferenceIfManyFailed.antlrtree.txt
│ │ │ ├── completion/
│ │ │ │ ├── anonymousFunction.antlrtree.txt
│ │ │ │ ├── basic.antlrtree.txt
│ │ │ │ ├── definitelyNotNullType.antlrtree.txt
│ │ │ │ ├── equalityConstraintUpstairs.antlrtree.txt
│ │ │ │ ├── errorAfterCompletion.antlrtree.txt
│ │ │ │ ├── flexibleType.Test.antlrtree.txt
│ │ │ │ ├── inferLabeledElementTypeForLambdaInReturnInCatch.antlrtree.txt
│ │ │ │ ├── intersectionType.antlrtree.txt
│ │ │ │ ├── kt33166.test.antlrtree.txt
│ │ │ │ ├── kt36233.antlrtree.txt
│ │ │ │ ├── lambdaWithVariableAndNothing.antlrtree.txt
│ │ │ │ ├── nestedVariance.antlrtree.txt
│ │ │ │ ├── nothingFromNestedCall.antlrtree.txt
│ │ │ │ ├── partialForIlt.antlrtree.txt
│ │ │ │ ├── partialForIltWithNothing.antlrtree.txt
│ │ │ │ ├── postponedArgumentsAnalysis/
│ │ │ │ │ ├── basic.antlrtree.txt
│ │ │ │ │ ├── callableReferenceLambdaCombinationInsideCall.antlrtree.txt
│ │ │ │ │ ├── callableReferences.antlrtree.txt
│ │ │ │ │ ├── fixingVariableDuringAddingConstraintForFirstPosponedArgument.antlrtree.txt
│ │ │ │ │ ├── lackOfDeepIncorporation.antlrtree.txt
│ │ │ │ │ ├── lambdasInTryCatch.antlrtree.txt
│ │ │ │ │ ├── notInferableParameterOfAnonymousFunction.antlrtree.txt
│ │ │ │ │ ├── takingExtensibilityFromDeclarationOfAnonymousFunction.antlrtree.txt
│ │ │ │ │ ├── wrongVariableFixationOrder.antlrtree.txt
│ │ │ │ │ └── wrongVariableFixationOrder2.antlrtree.txt
│ │ │ │ ├── transitiveConstraint.antlrtree.txt
│ │ │ │ └── withExact.antlrtree.txt
│ │ │ ├── completionOfMultipleLambdas.antlrtree.txt
│ │ │ ├── conflictingSubstitutions.antlrtree.txt
│ │ │ ├── constraints/
│ │ │ │ ├── approximationWithDefNotNullInInvPositionDuringInference.antlrtree.txt
│ │ │ │ ├── complexDependencyWihtoutProperConstraints.antlrtree.txt
│ │ │ │ ├── constraintFromVariantTypeWithNestedProjection.antlrtree.txt
│ │ │ │ ├── constraintOnFunctionLiteral.antlrtree.txt
│ │ │ │ ├── definitelyNotNullTypeInArguments.antlrtree.txt
│ │ │ │ ├── definitelyNotNullTypeInReturnPosition.antlrtree.txt
│ │ │ │ ├── definitelyNotNullTypeInvariantPosition.antlrtree.txt
│ │ │ │ ├── earlyCompletionForCalls.antlrtree.txt
│ │ │ │ ├── equalityConstraintOnNullableType.antlrtree.txt
│ │ │ │ ├── errorUpperBoundConstraint.test.antlrtree.txt
│ │ │ │ ├── fixTypeVariableWithNothingConstraintEarlierThanComplexVariable.antlrtree.txt
│ │ │ │ ├── ignoreConstraintFromImplicitInNothing.antlrtree.txt
│ │ │ │ ├── inferTypeFromCapturedStarProjection.antlrtree.txt
│ │ │ │ ├── kt6320.antlrtree.txt
│ │ │ │ ├── kt7351ConstraintFromUnitExpectedType.antlrtree.txt
│ │ │ │ ├── kt7433.antlrtree.txt
│ │ │ │ ├── kt8879.antlrtree.txt
│ │ │ │ ├── manyConstraintsDueToFlexibleRawTypes.test.antlrtree.txt
│ │ │ │ ├── manyConstraintsDueToRecursiveFlexibleTypesWithWildcards.test.antlrtree.txt
│ │ │ │ ├── notNullConstraintOnNullableType.antlrtree.txt
│ │ │ │ ├── operationsOnIntegerValueTypes.antlrtree.txt
│ │ │ │ ├── recursiveJavaTypeWithStarProjection.test.antlrtree.txt
│ │ │ │ ├── remainConstraintContainingTypeWithoutProjection.main.antlrtree.txt
│ │ │ │ ├── returnLambdaFromLambda.antlrtree.txt
│ │ │ │ ├── subtypeConstraintOnNullableType.antlrtree.txt
│ │ │ │ ├── supertypeConstraintOnNullableType.antlrtree.txt
│ │ │ │ └── wrongApproximationWithDefNotNullTypesAndDelegates.antlrtree.txt
│ │ │ ├── cstFromErrorAndNonErrorTypes.antlrtree.txt
│ │ │ ├── dependOnExpectedType.antlrtree.txt
│ │ │ ├── dependantOnVariance.antlrtree.txt
│ │ │ ├── dependantOnVarianceNullable.antlrtree.txt
│ │ │ ├── discardInapplicableCandidateWithNotSatisfyingSelfType.antlrtree.txt
│ │ │ ├── dontThrowEmptyIntersectionException.main.antlrtree.txt
│ │ │ ├── elvisInsideWhen.antlrtree.txt
│ │ │ ├── emptyIntersectionTypes/
│ │ │ │ ├── compatibilityResolveWhenVariableHasComplexIntersectionType.antlrtree.txt
│ │ │ │ ├── contravariance.antlrtree.txt
│ │ │ │ ├── covariance.antlrtree.txt
│ │ │ │ ├── emptyIntersectionOnIf.antlrtree.txt
│ │ │ │ ├── kt45461.antlrtree.txt
│ │ │ │ ├── kt45461_10.antlrtree.txt
│ │ │ │ ├── kt45461_11.antlrtree.txt
│ │ │ │ ├── kt45461_12.antlrtree.txt
│ │ │ │ ├── kt45461_13.antlrtree.txt
│ │ │ │ ├── kt45461_14.antlrtree.txt
│ │ │ │ ├── kt45461_15.antlrtree.txt
│ │ │ │ ├── kt45461_16.antlrtree.txt
│ │ │ │ ├── kt45461_17.antlrtree.txt
│ │ │ │ ├── kt45461_18.antlrtree.txt
│ │ │ │ ├── kt45461_19.antlrtree.txt
│ │ │ │ ├── kt45461_2.antlrtree.txt
│ │ │ │ ├── kt45461_20.antlrtree.txt
│ │ │ │ ├── kt45461_21.antlrtree.txt
│ │ │ │ ├── kt45461_22.antlrtree.txt
│ │ │ │ ├── kt45461_23.antlrtree.txt
│ │ │ │ ├── kt45461_24.antlrtree.txt
│ │ │ │ ├── kt45461_25.antlrtree.txt
│ │ │ │ ├── kt45461_26.antlrtree.txt
│ │ │ │ ├── kt45461_27.antlrtree.txt
│ │ │ │ ├── kt45461_28.antlrtree.txt
│ │ │ │ ├── kt45461_29.antlrtree.txt
│ │ │ │ ├── kt45461_3.antlrtree.txt
│ │ │ │ ├── kt45461_30.antlrtree.txt
│ │ │ │ ├── kt45461_31.antlrtree.txt
│ │ │ │ ├── kt45461_32.antlrtree.txt
│ │ │ │ ├── kt45461_33.antlrtree.txt
│ │ │ │ ├── kt45461_34.antlrtree.txt
│ │ │ │ ├── kt45461_35.antlrtree.txt
│ │ │ │ ├── kt45461_35_Enabled.antlrtree.txt
│ │ │ │ ├── kt45461_4.antlrtree.txt
│ │ │ │ ├── kt45461_5.antlrtree.txt
│ │ │ │ ├── kt45461_6.antlrtree.txt
│ │ │ │ ├── kt45461_7.antlrtree.txt
│ │ │ │ ├── kt45461_8.antlrtree.txt
│ │ │ │ ├── kt45461_9.antlrtree.txt
│ │ │ │ ├── kt48765.antlrtree.txt
│ │ │ │ ├── kt48935.antlrtree.txt
│ │ │ │ ├── kt48935_2.antlrtree.txt
│ │ │ │ ├── kt48935_3.antlrtree.txt
│ │ │ │ ├── kt48935_4.antlrtree.txt
│ │ │ │ ├── kt48935_5.antlrtree.txt
│ │ │ │ ├── kt48935_6.antlrtree.txt
│ │ │ │ ├── kt48987.antlrtree.txt
│ │ │ │ ├── kt49661.antlrtree.txt
│ │ │ │ ├── kt51016.antlrtree.txt
│ │ │ │ ├── kt52364.antlrtree.txt
│ │ │ │ ├── kt52393.antlrtree.txt
│ │ │ │ ├── kt52431.antlrtree.txt
│ │ │ │ ├── kt54411.antlrtree.txt
│ │ │ │ ├── nullableEmptyIntersection.antlrtree.txt
│ │ │ │ ├── recursiveTypeParameters.antlrtree.txt
│ │ │ │ ├── selectFromCovariantAndContravariantTypes.antlrtree.txt
│ │ │ │ ├── substitutingSuperTypes.antlrtree.txt
│ │ │ │ └── substitutingSuperTypes2.antlrtree.txt
│ │ │ ├── equalitySubstitutionInsideNonInvariantType.antlrtree.txt
│ │ │ ├── errorsOnImplicitInvokeInSimpleCall.antlrtree.txt
│ │ │ ├── exclExclInference.antlrtree.txt
│ │ │ ├── expectedTypeAdditionalTest.antlrtree.txt
│ │ │ ├── expectedTypeDoubleReceiver.antlrtree.txt
│ │ │ ├── expectedTypeFromCast.antlrtree.txt
│ │ │ ├── expectedTypeFromCastComplexExpression.antlrtree.txt
│ │ │ ├── expectedTypeFromCastParenthesized.antlrtree.txt
│ │ │ ├── expectedTypeWithGenerics.antlrtree.txt
│ │ │ ├── expectedTypeWithGenericsSafeCalls.antlrtree.txt
│ │ │ ├── extensionLambdasAndArrow.antlrtree.txt
│ │ │ ├── findViewById.1.antlrtree.txt
│ │ │ ├── fixVariableToNothing.antlrtree.txt
│ │ │ ├── fixationOrderForProperConstraints.antlrtree.txt
│ │ │ ├── flexibleTypesAsUpperBound.1.antlrtree.txt
│ │ │ ├── forks/
│ │ │ │ ├── nestedCallVariableFixation.main.antlrtree.txt
│ │ │ │ ├── nestedCallVariableFixationSimple.antlrtree.txt
│ │ │ │ └── overloadResolutionByLambdaReturnTypeAndExpectedType.antlrtree.txt
│ │ │ ├── functionPlaceholderError.antlrtree.txt
│ │ │ ├── genericAssignmentOperator.antlrtree.txt
│ │ │ ├── genericCallInThrow.antlrtree.txt
│ │ │ ├── hasErrorInConstrainingTypes.antlrtree.txt
│ │ │ ├── ifWithDependentBranches.antlrtree.txt
│ │ │ ├── illegalUnderscoredTypeArgument.antlrtree.txt
│ │ │ ├── immutableArrayList.k.antlrtree.txt
│ │ │ ├── implicitInvokeExtensionWithFunctionalArgument.antlrtree.txt
│ │ │ ├── implicitInvokeInCompanionObjectWithFunctionalArgument.antlrtree.txt
│ │ │ ├── implicitInvokeInObjectWithFunctionalArgument.antlrtree.txt
│ │ │ ├── implicitInvokeWithFunctionLiteralArgument.antlrtree.txt
│ │ │ ├── inferInFunctionLiterals.antlrtree.txt
│ │ │ ├── inferInFunctionLiteralsWithReturn.antlrtree.txt
│ │ │ ├── inferenceForkRegression.antlrtree.txt
│ │ │ ├── inferenceForkRegressionSimple.antlrtree.txt
│ │ │ ├── intersectionTypeMultipleBoundsAsReceiver.antlrtree.txt
│ │ │ ├── intersectionTypesWithContravariantTypes.antlrtree.txt
│ │ │ ├── intersectionWithEnum.antlrtree.txt
│ │ │ ├── invokeLambdaAsFunction.antlrtree.txt
│ │ │ ├── knownTypeParameters.antlrtree.txt
│ │ │ ├── kt11963.antlrtree.txt
│ │ │ ├── kt12399.antlrtree.txt
│ │ │ ├── kt1293.antlrtree.txt
│ │ │ ├── kt28598.antlrtree.txt
│ │ │ ├── kt28654.antlrtree.txt
│ │ │ ├── kt30405.antlrtree.txt
│ │ │ ├── kt3184.antlrtree.txt
│ │ │ ├── kt32196.antlrtree.txt
│ │ │ ├── kt32415.antlrtree.txt
│ │ │ ├── kt32434.main.antlrtree.txt
│ │ │ ├── kt32462.antlrtree.txt
│ │ │ ├── kt33263.antlrtree.txt
│ │ │ ├── kt35702.antlrtree.txt
│ │ │ ├── kt36044.antlrtree.txt
│ │ │ ├── kt36819.antlrtree.txt
│ │ │ ├── kt37853.antlrtree.txt
│ │ │ ├── kt39220.antlrtree.txt
│ │ │ ├── kt40396.antlrtree.txt
│ │ │ ├── kt46515.antlrtree.txt
│ │ │ ├── kt47316.main.antlrtree.txt
│ │ │ ├── kt49658.antlrtree.txt
│ │ │ ├── kt49658Strict.antlrtree.txt
│ │ │ ├── kt49961.antlrtree.txt
│ │ │ ├── kt50232a.antlrtree.txt
│ │ │ ├── kt53124.exp_main.antlrtree.txt
│ │ │ ├── kt6175.antlrtree.txt
│ │ │ ├── kt619.antlrtree.txt
│ │ │ ├── lambdaArgumentWithLabel.antlrtree.txt
│ │ │ ├── lambdaInValInitializerWithAnonymousFunctions.antlrtree.txt
│ │ │ ├── lambdaParameterTypeInElvis.antlrtree.txt
│ │ │ ├── listConstructor.antlrtree.txt
│ │ │ ├── localFunctionInsideIfBlock.antlrtree.txt
│ │ │ ├── mapFunction.antlrtree.txt
│ │ │ ├── mostSpecificAfterInference.antlrtree.txt
│ │ │ ├── nestedCalls/
│ │ │ │ ├── arrayAccess.antlrtree.txt
│ │ │ │ ├── binaryExpressions.antlrtree.txt
│ │ │ │ ├── checkTypesForQualifiedProperties.antlrtree.txt
│ │ │ │ ├── completeNestedCallsForArraySetExpression.antlrtree.txt
│ │ │ │ ├── completeNestedCallsInference.antlrtree.txt
│ │ │ │ ├── completeNestedForVariableAsFunctionCall.antlrtree.txt
│ │ │ │ ├── externalTypeParameter.antlrtree.txt
│ │ │ │ ├── inferenceForNestedBinaryCall.antlrtree.txt
│ │ │ │ ├── kt3395.antlrtree.txt
│ │ │ │ ├── kt3461checkTypes.antlrtree.txt
│ │ │ │ ├── makeNullableIfSafeCall.antlrtree.txt
│ │ │ │ ├── nontrivialCallExpression.antlrtree.txt
│ │ │ │ ├── preferArgumentToNullability.antlrtree.txt
│ │ │ │ └── preferNothingToBound.antlrtree.txt
│ │ │ ├── noInformationForParameter.antlrtree.txt
│ │ │ ├── nonFunctionalExpectedTypeForLambdaArgument.antlrtree.txt
│ │ │ ├── nothingType/
│ │ │ │ ├── complexDependancyOnVariableWithTrivialConstraint.antlrtree.txt
│ │ │ │ ├── discriminateNothingForReifiedParameter.antlrtree.txt
│ │ │ │ ├── discriminatedNothingAndSmartCast.antlrtree.txt
│ │ │ │ ├── discriminatedNothingInsideComplexNestedCall.antlrtree.txt
│ │ │ │ ├── generateConstraintWithInnerNothingType.antlrtree.txt
│ │ │ │ ├── genericOverride.antlrtree.txt
│ │ │ │ ├── implicitInferenceTToFlexibleNothing.antlrtree.txt
│ │ │ │ ├── implicitNothingConstraintFromReturn.antlrtree.txt
│ │ │ │ ├── inferArgumentToNothingFromNullConstant.antlrtree.txt
│ │ │ │ ├── inferenceWithRecursiveGenericsAndNothing.antlrtree.txt
│ │ │ │ ├── kt24490.antlrtree.txt
│ │ │ │ ├── kt32051.antlrtree.txt
│ │ │ │ ├── kt32081.antlrtree.txt
│ │ │ │ ├── kt32207.antlrtree.txt
│ │ │ │ ├── kt32388.antlrtree.txt
│ │ │ │ ├── kt34335.antlrtree.txt
│ │ │ │ ├── kt56448.main.antlrtree.txt
│ │ │ │ ├── lambdaNothingAndExpectedType.antlrtree.txt
│ │ │ │ ├── nestedLambdaInferenceWithIncorporationOfVariables.antlrtree.txt
│ │ │ │ ├── notEnoughInformationAndNothing.antlrtree.txt
│ │ │ │ ├── notEnoughInformationFromNullabilityConstraint.antlrtree.txt
│ │ │ │ ├── nothingWithCallableReference.antlrtree.txt
│ │ │ │ ├── nullableExpectedTypeFromVariable.antlrtree.txt
│ │ │ │ ├── platformNothingAsUsefulConstraint.test.antlrtree.txt
│ │ │ │ ├── reifiedParameterWithRecursiveBound.antlrtree.txt
│ │ │ │ ├── reportImplicitNothingOnlyForOwnTypeParameters.antlrtree.txt
│ │ │ │ ├── returnAsLastStatementInLambda.antlrtree.txt
│ │ │ │ ├── selectWithNull.antlrtree.txt
│ │ │ │ └── specialCallWithMaterializeAndExpectedType.antlrtree.txt
│ │ │ ├── nothingVsParameterBound.antlrtree.txt
│ │ │ ├── nullableArgumentForDnn.antlrtree.txt
│ │ │ ├── nullableTypeArgumentWithNotNullUpperBound.antlrtree.txt
│ │ │ ├── nullableUpperBound.antlrtree.txt
│ │ │ ├── onlyInputTypesWithMultilevelIncorporation.antlrtree.txt
│ │ │ ├── opposite.antlrtree.txt
│ │ │ ├── possibleCycleOnConstraints.antlrtree.txt
│ │ │ ├── publicApproximation/
│ │ │ │ ├── approximatedIntersectionMorePreciseThanBound.antlrtree.txt
│ │ │ │ ├── chainedLambdas.antlrtree.txt
│ │ │ │ ├── declarationTypes.antlrtree.txt
│ │ │ │ ├── intersectionAfterSmartCastInLambdaReturn.antlrtree.txt
│ │ │ │ ├── intersectionAlternative.antlrtree.txt
│ │ │ │ ├── intersectionLocations.antlrtree.txt
│ │ │ │ ├── lambdaReturnArgumentCall.antlrtree.txt
│ │ │ │ ├── lambdaReturnTypeApproximation.antlrtree.txt
│ │ │ │ ├── nonTrivialVariance.antlrtree.txt
│ │ │ │ ├── parameterInBound.antlrtree.txt
│ │ │ │ ├── projections.antlrtree.txt
│ │ │ │ ├── smartCastInLambdaReturnAfterIntersection.antlrtree.txt
│ │ │ │ └── twoIntersections.antlrtree.txt
│ │ │ ├── receiverTypeMismatch_withProper.Main.antlrtree.txt
│ │ │ ├── receiverTypeMismatch_withoutProper.Main.antlrtree.txt
│ │ │ ├── recursiveCalls/
│ │ │ │ ├── kt23531.antlrtree.txt
│ │ │ │ └── kt23531.reversed.antlrtree.txt
│ │ │ ├── recursiveLocalFuns/
│ │ │ │ ├── localFactorial.antlrtree.txt
│ │ │ │ ├── recursiveFun.antlrtree.txt
│ │ │ │ ├── recursiveLambda.antlrtree.txt
│ │ │ │ └── selfCall.antlrtree.txt
│ │ │ ├── recursiveTypes/
│ │ │ │ ├── multirecursion.antlrtree.txt
│ │ │ │ ├── recursiveInIn.antlrtree.txt
│ │ │ │ ├── recursiveInInv.antlrtree.txt
│ │ │ │ ├── recursiveInOut.antlrtree.txt
│ │ │ │ ├── recursiveInvIn.antlrtree.txt
│ │ │ │ ├── recursiveInvOut.antlrtree.txt
│ │ │ │ ├── recursiveOutIn.antlrtree.txt
│ │ │ │ ├── recursiveOutInv.antlrtree.txt
│ │ │ │ ├── recursiveOutOut.antlrtree.txt
│ │ │ │ ├── recursiveTypeWithNonStarResult.antlrtree.txt
│ │ │ │ ├── recursiveTypes.antlrtree.txt
│ │ │ │ ├── selfTypes/
│ │ │ │ │ ├── disabledInferenceOnSelfTypes/
│ │ │ │ │ │ ├── basicInferenceForImplicitSelfType.antlrtree.txt
│ │ │ │ │ │ ├── recursiveTypeWithTwoTypeParams.antlrtree.txt
│ │ │ │ │ │ └── writerAppenderExampleRecursive.antlrtree.txt
│ │ │ │ │ └── enabledInferenceOnSelfTypes/
│ │ │ │ │ ├── basicInferenceForImplicitSelfType.main.antlrtree.txt
│ │ │ │ │ ├── recursiveTypeWithTwoTypeParams.main.antlrtree.txt
│ │ │ │ │ └── writerAppenderExampleRecursive.main.antlrtree.txt
│ │ │ │ └── twoTypeConstructors.antlrtree.txt
│ │ │ ├── regressions/
│ │ │ │ ├── compareBy.antlrtree.txt
│ │ │ │ ├── kt1029.antlrtree.txt
│ │ │ │ ├── kt1031.antlrtree.txt
│ │ │ │ ├── kt1127.antlrtree.txt
│ │ │ │ ├── kt1145.antlrtree.txt
│ │ │ │ ├── kt1358.antlrtree.txt
│ │ │ │ ├── kt1410.antlrtree.txt
│ │ │ │ ├── kt1718.antlrtree.txt
│ │ │ │ ├── kt1944.antlrtree.txt
│ │ │ │ ├── kt2057.antlrtree.txt
│ │ │ │ ├── kt2179.antlrtree.txt
│ │ │ │ ├── kt2200.antlrtree.txt
│ │ │ │ ├── kt2283.antlrtree.txt
│ │ │ │ ├── kt2286.antlrtree.txt
│ │ │ │ ├── kt2294.antlrtree.txt
│ │ │ │ ├── kt2320.antlrtree.txt
│ │ │ │ ├── kt2324.antlrtree.txt
│ │ │ │ ├── kt2407.antlrtree.txt
│ │ │ │ ├── kt2445.antlrtree.txt
│ │ │ │ ├── kt2459.antlrtree.txt
│ │ │ │ ├── kt2484.antlrtree.txt
│ │ │ │ ├── kt2505.antlrtree.txt
│ │ │ │ ├── kt2514.antlrtree.txt
│ │ │ │ ├── kt2588.antlrtree.txt
│ │ │ │ ├── kt2741.antlrtree.txt
│ │ │ │ ├── kt2754.antlrtree.txt
│ │ │ │ ├── kt2838.antlrtree.txt
│ │ │ │ ├── kt2841.antlrtree.txt
│ │ │ │ ├── kt2841_it.antlrtree.txt
│ │ │ │ ├── kt2841_it_this.antlrtree.txt
│ │ │ │ ├── kt2841_this.antlrtree.txt
│ │ │ │ ├── kt2842.antlrtree.txt
│ │ │ │ ├── kt2883.antlrtree.txt
│ │ │ │ ├── kt3007.antlrtree.txt
│ │ │ │ ├── kt3038.antlrtree.txt
│ │ │ │ ├── kt3150.antlrtree.txt
│ │ │ │ ├── kt3174.antlrtree.txt
│ │ │ │ ├── kt32106.antlrtree.txt
│ │ │ │ ├── kt32250.antlrtree.txt
│ │ │ │ ├── kt32862_both.antlrtree.txt
│ │ │ │ ├── kt32862_none.antlrtree.txt
│ │ │ │ ├── kt3301.antlrtree.txt
│ │ │ │ ├── kt3344.antlrtree.txt
│ │ │ │ ├── kt33629.antlrtree.txt
│ │ │ │ ├── kt34029.antlrtree.txt
│ │ │ │ ├── kt34282.antlrtree.txt
│ │ │ │ ├── kt3496.antlrtree.txt
│ │ │ │ ├── kt3496_2.antlrtree.txt
│ │ │ │ ├── kt3559.antlrtree.txt
│ │ │ │ ├── kt35844.antlrtree.txt
│ │ │ │ ├── kt35943.antlrtree.txt
│ │ │ │ ├── kt36342.antlrtree.txt
│ │ │ │ ├── kt36342_2.antlrtree.txt
│ │ │ │ ├── kt37043.main.antlrtree.txt
│ │ │ │ ├── kt37043_2.antlrtree.txt
│ │ │ │ ├── kt37419.antlrtree.txt
│ │ │ │ ├── kt37650.antlrtree.txt
│ │ │ │ ├── kt38549.antlrtree.txt
│ │ │ │ ├── kt38691.antlrtree.txt
│ │ │ │ ├── kt41386.antlrtree.txt
│ │ │ │ ├── kt41394.antlrtree.txt
│ │ │ │ ├── kt4420.antlrtree.txt
│ │ │ │ ├── kt44440.antlrtree.txt
│ │ │ │ ├── kt47941.antlrtree.txt
│ │ │ │ ├── kt702.antlrtree.txt
│ │ │ │ ├── kt731.antlrtree.txt
│ │ │ │ ├── kt742.antlrtree.txt
│ │ │ │ ├── kt8132.antlrtree.txt
│ │ │ │ ├── kt832.antlrtree.txt
│ │ │ │ ├── kt943.antlrtree.txt
│ │ │ │ ├── kt9461.antlrtree.txt
│ │ │ │ ├── kt948.antlrtree.txt
│ │ │ │ └── noRecursionOnCallingPureKotlinFunctionAsSyntheticJavaAccessor.antlrtree.txt
│ │ │ ├── reportAboutUnresolvedReferenceAsUnresolved.antlrtree.txt
│ │ │ ├── reportNotEnoughTypeInformationErrorsOnBlockExpressions.antlrtree.txt
│ │ │ ├── reportingImprovements/
│ │ │ │ ├── ErrorTypeAsGenericParameter.antlrtree.txt
│ │ │ │ ├── FunctionPlaceholder.antlrtree.txt
│ │ │ │ ├── NoAmbiguityForDifferentFunctionTypes.antlrtree.txt
│ │ │ │ ├── cannotInferParameterTypeWithInference.antlrtree.txt
│ │ │ │ ├── inferTypeFromUnresolvedArgument.antlrtree.txt
│ │ │ │ ├── kt42620.antlrtree.txt
│ │ │ │ ├── reportUnresolvedReferenceWrongReceiverForManyCandidates.antlrtree.txt
│ │ │ │ ├── subtypeForInvariantWithErrorGenerics.antlrtree.txt
│ │ │ │ ├── typeInferenceFailedOnComponentN.antlrtree.txt
│ │ │ │ ├── typeInferenceFailedOnIteratorCall.antlrtree.txt
│ │ │ │ ├── wrongArgumentExtensionFunction.antlrtree.txt
│ │ │ │ └── wrongArgumentPassedToLocalExtensionFunction.antlrtree.txt
│ │ │ ├── resolveWithUnknownLambdaParameterType.antlrtree.txt
│ │ │ ├── returningLambdaInSuspendContext.antlrtree.txt
│ │ │ ├── selectOfLambdaWithExtension.antlrtree.txt
│ │ │ ├── selectOfLambdaWithExtensionDisabled.antlrtree.txt
│ │ │ ├── selectOfLambdaWithExtensionEnabled.antlrtree.txt
│ │ │ ├── smartCastFork.antlrtree.txt
│ │ │ ├── smartCastForkForExpectType.antlrtree.txt
│ │ │ ├── smartCastForkForExpectedTypeNested.antlrtree.txt
│ │ │ ├── specialCallsWithCallableReferences.antlrtree.txt
│ │ │ ├── specialCallsWithLambdas.antlrtree.txt
│ │ │ ├── starApproximation.antlrtree.txt
│ │ │ ├── starApproximationBangBang.antlrtree.txt
│ │ │ ├── starApproximationFlexible.main.antlrtree.txt
│ │ │ ├── starApproximationFromDifferentTypeParameter.antlrtree.txt
│ │ │ ├── stubTypeForSubtyping.antlrtree.txt
│ │ │ ├── substitutions/
│ │ │ │ ├── delegationAndInference.antlrtree.txt
│ │ │ │ ├── hideFlexibleLocalTypeInPublicPosition.main.antlrtree.txt
│ │ │ │ ├── hideFlexibleLocalTypeInPublicPosition_before.main.antlrtree.txt
│ │ │ │ ├── hideLocalTypeForReturnTypeOfSingleExpressionFunction.antlrtree.txt
│ │ │ │ ├── hideNullableLocalTypeInPublicPosition.antlrtree.txt
│ │ │ │ ├── hideNullableLocalTypeInPublicPosition_before.antlrtree.txt
│ │ │ │ ├── kt32189returnTypeWithTypealiasSubtitution.antlrtree.txt
│ │ │ │ ├── kt6081SubstituteIntoClassCorrectly.antlrtree.txt
│ │ │ │ ├── simpleSubstitutionCheckTypeArgumentsNotTypeParameters.antlrtree.txt
│ │ │ │ ├── substitutionIntoAnonymousClass.antlrtree.txt
│ │ │ │ ├── substitutionIntoInnerClass.antlrtree.txt
│ │ │ │ └── substitutionOfTypeEnhancement.main.antlrtree.txt
│ │ │ ├── tooEagerSmartcast.antlrtree.txt
│ │ │ ├── topLevelIntersection.antlrtree.txt
│ │ │ ├── tryNumberLowerBoundsBeforeUpperBounds.antlrtree.txt
│ │ │ ├── typeConstructorMismatch.antlrtree.txt
│ │ │ ├── typeInferenceExpectedTypeMismatch.antlrtree.txt
│ │ │ ├── typeParameterInConstructor.antlrtree.txt
│ │ │ ├── underscoredTypeArgument.antlrtree.txt
│ │ │ ├── underscoredTypeInForbiddenPositions.antlrtree.txt
│ │ │ ├── unsoundness1.antlrtree.txt
│ │ │ ├── unsoundness2.antlrtree.txt
│ │ │ ├── upperBounds/
│ │ │ │ ├── conflictingSubstitutionsFromUpperBound.antlrtree.txt
│ │ │ │ ├── doNotInferFromBoundsOnly.antlrtree.txt
│ │ │ │ ├── flexibilityInCommonSuperTypeCalculation.main.antlrtree.txt
│ │ │ │ ├── flexibilityInCommonSuperTypeCalculation.ni.main.antlrtree.txt
│ │ │ │ ├── inferringVariableByMaterializeAndUpperBound.antlrtree.txt
│ │ │ │ ├── intersectUpperBounds.antlrtree.txt
│ │ │ │ ├── kt2856.antlrtree.txt
│ │ │ │ ├── nonNullUpperBound.antlrtree.txt
│ │ │ │ ├── typeParameterAsUpperBound.antlrtree.txt
│ │ │ │ ├── useBoundsIfUnknownParameters.antlrtree.txt
│ │ │ │ └── useBoundsToInferTypeParamsSimple.antlrtree.txt
│ │ │ ├── useFunctionLiteralsToInferType.antlrtree.txt
│ │ │ ├── violatingUpperBoundForSelfType.antlrtree.txt
│ │ │ └── violatingUpperBoundForSelfTypeError.antlrtree.txt
│ │ ├── infos/
│ │ │ ├── PropertiesWithBackingFields.antlrtree.txt
│ │ │ └── SmartCasts.antlrtree.txt
│ │ ├── initializedAfterRethrow.antlrtree.txt
│ │ ├── inline/
│ │ │ ├── anonymousObjects.antlrtree.txt
│ │ │ ├── approximateReturnedAnonymousObjects.antlrtree.txt
│ │ │ ├── assignment.antlrtree.txt
│ │ │ ├── binaryExpressions/
│ │ │ │ ├── andOr.antlrtree.txt
│ │ │ │ ├── arrayAccess.antlrtree.txt
│ │ │ │ ├── assignment.antlrtree.txt
│ │ │ │ ├── comparison.antlrtree.txt
│ │ │ │ ├── componentAccess.antlrtree.txt
│ │ │ │ ├── contains.antlrtree.txt
│ │ │ │ ├── mathOperations.antlrtree.txt
│ │ │ │ └── rangeTo.antlrtree.txt
│ │ │ ├── capture.antlrtree.txt
│ │ │ ├── constructor.antlrtree.txt
│ │ │ ├── default.antlrtree.txt
│ │ │ ├── defaultLambdaInlineSuspend.antlrtree.txt
│ │ │ ├── defaultLambdaInlining.antlrtree.txt
│ │ │ ├── extensionOnFunction.antlrtree.txt
│ │ │ ├── forbidExtensionCallsOnInlineFunctionalParameters_after.antlrtree.txt
│ │ │ ├── forbidExtensionCallsOnInlineFunctionalParameters_before.antlrtree.txt
│ │ │ ├── fromInlineToNoInline.antlrtree.txt
│ │ │ ├── functions.antlrtree.txt
│ │ │ ├── inlineLambdaInDefaultInlineParameter.antlrtree.txt
│ │ │ ├── inlineReified.antlrtree.txt
│ │ │ ├── inlinedReturnInBranch.antlrtree.txt
│ │ │ ├── invoke.antlrtree.txt
│ │ │ ├── isCheck.antlrtree.txt
│ │ │ ├── kt15410.antlrtree.txt
│ │ │ ├── kt19679.antlrtree.txt
│ │ │ ├── kt21177.antlrtree.txt
│ │ │ ├── kt21177Warning.antlrtree.txt
│ │ │ ├── kt4869.antlrtree.txt
│ │ │ ├── labeled.antlrtree.txt
│ │ │ ├── lambdaCast.antlrtree.txt
│ │ │ ├── localFun.antlrtree.txt
│ │ │ ├── messagesForUnsupportedInInline.antlrtree.txt
│ │ │ ├── nonLocalReturns/
│ │ │ │ ├── anonymousObjects.antlrtree.txt
│ │ │ │ ├── anonymousObjectsNested.antlrtree.txt
│ │ │ │ ├── explicitReturnType.antlrtree.txt
│ │ │ │ ├── fromOnlyLocal.antlrtree.txt
│ │ │ │ ├── inlineLambda.antlrtree.txt
│ │ │ │ ├── labeledReturn.antlrtree.txt
│ │ │ │ ├── lambdaAsGeneric.antlrtree.txt
│ │ │ │ ├── lambdaAsNonFunction.antlrtree.txt
│ │ │ │ ├── lambdaWithGlobalReturnsInsideOnlyLocalOne.antlrtree.txt
│ │ │ │ ├── localFun.antlrtree.txt
│ │ │ │ ├── nestedNonLocals.antlrtree.txt
│ │ │ │ ├── noInlineAnnotation.antlrtree.txt
│ │ │ │ ├── noInlineLambda.antlrtree.txt
│ │ │ │ ├── nonInlinedClass.antlrtree.txt
│ │ │ │ ├── onlyLocalReturnLambda.antlrtree.txt
│ │ │ │ ├── onlyLocalReturnLambdaBinaryExpr.antlrtree.txt
│ │ │ │ ├── propertyAccessorsAndConstructor.antlrtree.txt
│ │ │ │ └── toOnlyLocal.antlrtree.txt
│ │ │ ├── nonPublicMember/
│ │ │ │ ├── inNonPublicClass.antlrtree.txt
│ │ │ │ ├── inNonPublicInnerClass.antlrtree.txt
│ │ │ │ ├── inPackage.antlrtree.txt
│ │ │ │ ├── inPublicClass.antlrtree.txt
│ │ │ │ ├── kt14887.antlrtree.txt
│ │ │ │ ├── kt55179.antlrtree.txt
│ │ │ │ ├── localClass.antlrtree.txt
│ │ │ │ ├── localClass2.antlrtree.txt
│ │ │ │ ├── localFun.antlrtree.txt
│ │ │ │ ├── protectedInlineInsideInternal.antlrtree.txt
│ │ │ │ └── publishedApi.antlrtree.txt
│ │ │ ├── nonVirtualMembersWithInline.antlrtree.txt
│ │ │ ├── nothingToInline.antlrtree.txt
│ │ │ ├── nullabilityOperations.antlrtree.txt
│ │ │ ├── nullableFunction.antlrtree.txt
│ │ │ ├── overrideWithInline.antlrtree.txt
│ │ │ ├── parenthesized.antlrtree.txt
│ │ │ ├── privateClass.antlrtree.txt
│ │ │ ├── propagation.antlrtree.txt
│ │ │ ├── property/
│ │ │ │ ├── invoke.antlrtree.txt
│ │ │ │ ├── propertyWithBackingField.antlrtree.txt
│ │ │ │ ├── unsupportedConstruction.antlrtree.txt
│ │ │ │ └── virtualProperty.antlrtree.txt
│ │ │ ├── protectedCallDepecation.main.antlrtree.txt
│ │ │ ├── protectedCallError.main.antlrtree.txt
│ │ │ ├── publishedApi.antlrtree.txt
│ │ │ ├── recursion.antlrtree.txt
│ │ │ ├── recursiveTypeInPrivateInlineFunction.antlrtree.txt
│ │ │ ├── regressions/
│ │ │ │ └── kt4341.antlrtree.txt
│ │ │ ├── returnedAnonymousObjects.antlrtree.txt
│ │ │ ├── returnedAnonymousObjects_2.antlrtree.txt
│ │ │ ├── returns.antlrtree.txt
│ │ │ ├── sam.test.antlrtree.txt
│ │ │ ├── stringTemplate.antlrtree.txt
│ │ │ ├── superCall.1.antlrtree.txt
│ │ │ ├── superCall.2.antlrtree.txt
│ │ │ ├── superCallDepecation.main.antlrtree.txt
│ │ │ ├── superCallDepecationWarning.main.antlrtree.txt
│ │ │ ├── superCallFromMultipleSubclasses.1.antlrtree.txt
│ │ │ ├── superCallFromMultipleSubclasses.2.antlrtree.txt
│ │ │ ├── superProperty.1.antlrtree.txt
│ │ │ ├── superProperty.2.antlrtree.txt
│ │ │ ├── unaryExpressions/
│ │ │ │ ├── mathOperation.antlrtree.txt
│ │ │ │ ├── notOnCall.antlrtree.txt
│ │ │ │ └── notOperation.antlrtree.txt
│ │ │ ├── valueClasses.antlrtree.txt
│ │ │ ├── vararg.antlrtree.txt
│ │ │ ├── virtualMemberInEnum.antlrtree.txt
│ │ │ ├── virtualValInEnum.antlrtree.txt
│ │ │ ├── when.antlrtree.txt
│ │ │ └── wrongUsage.antlrtree.txt
│ │ ├── inlineClasses/
│ │ │ ├── basicInlineClassDeclaration.antlrtree.txt
│ │ │ ├── basicInlineClassDeclarationDisabled.antlrtree.txt
│ │ │ ├── changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.antlrtree.txt
│ │ │ ├── constructorsJvmSignaturesClash.antlrtree.txt
│ │ │ ├── delegatedPropertyInInlineClass.antlrtree.txt
│ │ │ ├── functionsJvmSignaturesClash.antlrtree.txt
│ │ │ ├── functionsJvmSignaturesConflictOnInheritance.antlrtree.txt
│ │ │ ├── genericInlineClass.antlrtree.txt
│ │ │ ├── identityComparisonWithInlineClasses.antlrtree.txt
│ │ │ ├── inefficientEqualsOverridingInInlineClass.antlrtree.txt
│ │ │ ├── inlineClassCanImplementInterfaceByDelegation.antlrtree.txt
│ │ │ ├── inlineClassCanOnlyImplementInterfaces.antlrtree.txt
│ │ │ ├── inlineClassCannotImplementInterfaceByDelegation.antlrtree.txt
│ │ │ ├── inlineClassConstructorParameterWithDefaultValue.antlrtree.txt
│ │ │ ├── inlineClassDeclarationCheck.antlrtree.txt
│ │ │ ├── inlineClassDeprecated.antlrtree.txt
│ │ │ ├── inlineClassImplementsCollection.antlrtree.txt
│ │ │ ├── inlineClassWithForbiddenUnderlyingType.antlrtree.txt
│ │ │ ├── inlineClassesInsideAnnotations.antlrtree.txt
│ │ │ ├── innerClassInsideInlineClass.antlrtree.txt
│ │ │ ├── lateinitInlineClassesOff.antlrtree.txt
│ │ │ ├── lateinitInlineClassesOn.antlrtree.txt
│ │ │ ├── presenceOfInitializerBlockInsideInlineClass.antlrtree.txt
│ │ │ ├── presenceOfPublicPrimaryConstructorForInlineClass.antlrtree.txt
│ │ │ ├── propertiesWithBackingFieldsInsideInlineClass.antlrtree.txt
│ │ │ ├── recursiveInlineClasses.antlrtree.txt
│ │ │ ├── reifiedGenericUnderlyingType.antlrtree.txt
│ │ │ ├── reservedConstructorsBodyInKotlinPre19.antlrtree.txt
│ │ │ ├── reservedMembersAndConstructsInsideInlineClass.antlrtree.txt
│ │ │ ├── synchronizedForbidden.antlrtree.txt
│ │ │ ├── typedEqualsOperatorDeclarationCheck.antlrtree.txt
│ │ │ ├── typedEqualsOperatorModifierInInlineClass.antlrtree.txt
│ │ │ ├── unsignedLiteralsWithoutArtifactOnClasspath.antlrtree.txt
│ │ │ └── varargsOnParametersOfInlineClassType.antlrtree.txt
│ │ ├── inlineDeprecationsOnImplicitCalls.antlrtree.txt
│ │ ├── inner/
│ │ │ ├── InnerClassNameClash.antlrtree.txt
│ │ │ ├── accessingToJavaNestedClass.K.antlrtree.txt
│ │ │ ├── accessingToJavaNestedClass.test.antlrtree.txt
│ │ │ ├── accessingToKotlinNestedClass.antlrtree.txt
│ │ │ ├── annotationInInnerClass.antlrtree.txt
│ │ │ ├── classesInClassObjectHeader.antlrtree.txt
│ │ │ ├── constructorAccess.antlrtree.txt
│ │ │ ├── deepInnerClass.antlrtree.txt
│ │ │ ├── enumEntries.antlrtree.txt
│ │ │ ├── enumInInnerClass.antlrtree.txt
│ │ │ ├── extensionFun.antlrtree.txt
│ │ │ ├── extensionLambdaInsideNestedClass.antlrtree.txt
│ │ │ ├── illegalModifier_lv12.antlrtree.txt
│ │ │ ├── innerClassInEnumEntryClassMemberResolve.antlrtree.txt
│ │ │ ├── innerClassInEnumEntryClass_lv12.antlrtree.txt
│ │ │ ├── innerClassInEnumEntryClass_lv13.antlrtree.txt
│ │ │ ├── innerClassesInStaticParameters.antlrtree.txt
│ │ │ ├── innerConstructorsFromQualifiers.Outer.antlrtree.txt
│ │ │ ├── innerConstructorsFromQualifiers.imported.antlrtree.txt
│ │ │ ├── innerConstructorsFromQualifiersWithIrrelevantCandidate.Outer.antlrtree.txt
│ │ │ ├── innerConstructorsFromQualifiersWithIrrelevantCandidate.imported.antlrtree.txt
│ │ │ ├── innerErrorForClassObjects.antlrtree.txt
│ │ │ ├── innerErrorForObjects.antlrtree.txt
│ │ │ ├── innerThisSuper.antlrtree.txt
│ │ │ ├── interfaceInInnerClass.antlrtree.txt
│ │ │ ├── kt5854.antlrtree.txt
│ │ │ ├── kt6026.antlrtree.txt
│ │ │ ├── localClass.antlrtree.txt
│ │ │ ├── localClassInsideNested.antlrtree.txt
│ │ │ ├── localThisSuper.antlrtree.txt
│ │ │ ├── modality.antlrtree.txt
│ │ │ ├── nestedClassAccessedViaInstanceReference.antlrtree.txt
│ │ │ ├── nestedClassExtendsOuter.antlrtree.txt
│ │ │ ├── nestedClassExtendsOuterGeneric.antlrtree.txt
│ │ │ ├── nestedClassInObject.antlrtree.txt
│ │ │ ├── nestedClassNotAllowed_after.antlrtree.txt
│ │ │ ├── nestedClassNotAllowed_before.antlrtree.txt
│ │ │ ├── nestedClassTypeParameterNameCollision.antlrtree.txt
│ │ │ ├── nestedObject.antlrtree.txt
│ │ │ ├── nestedVsInnerAccessOuterMember.antlrtree.txt
│ │ │ ├── outerGenericParam.antlrtree.txt
│ │ │ ├── outerProtectedMember.antlrtree.txt
│ │ │ ├── outerSuperClassMember.antlrtree.txt
│ │ │ ├── qualifiedExpression/
│ │ │ │ ├── classObjectOfNestedClass.antlrtree.txt
│ │ │ │ ├── constructNestedClass.antlrtree.txt
│ │ │ │ ├── dataLocalVariable.antlrtree.txt
│ │ │ │ ├── enumConstant.antlrtree.txt
│ │ │ │ ├── genericNestedClass.antlrtree.txt
│ │ │ │ ├── importNestedClass.a.antlrtree.txt
│ │ │ │ ├── importNestedClass.b.antlrtree.txt
│ │ │ │ ├── nestedClassInPackage.antlrtree.txt
│ │ │ │ ├── nestedEnumConstant.antlrtree.txt
│ │ │ │ ├── nestedObjects.antlrtree.txt
│ │ │ │ └── typePosition.antlrtree.txt
│ │ │ ├── referenceToSelfInLocal.antlrtree.txt
│ │ │ ├── resolvePackageClassInObjects.antlrtree.txt
│ │ │ ├── selfAnnotationForClassObject.antlrtree.txt
│ │ │ ├── traits.antlrtree.txt
│ │ │ ├── typeVarianceConflict.antlrtree.txt
│ │ │ ├── typeVarianceConflictFeatureOn.antlrtree.txt
│
================================================
FILE CONTENTS
================================================
================================================
FILE: .fleet/run.json
================================================
{
"configurations": [
{
"type": "gradle",
"name": "Build web version",
"tasks": [
"buildWeb"
]
},
{
"type": "gradle",
"name": "Build pdf version",
"tasks": [
"buildPdf"
]
}
]
}
================================================
FILE: .fleet/settings.json
================================================
{
"backend.maxHeapSizeMb": 4096
}
================================================
FILE: .github/actions/build-spec-in-docker/action.yml
================================================
name: 'Build Kotlin spec in its Docker container'
runs:
using: 'docker'
image: '../../../docker/Dockerfile'
entrypoint: '/build-spec.sh'
================================================
FILE: .github/actions/upload-spec-artifacts/action.yml
================================================
name: 'Upload Kotlin spec artifacts'
runs:
using: 'composite'
steps:
- name: 'Upload Kotlin spec PDF artifacts'
uses: actions/upload-artifact@v4
with:
name: kotlin-spec-pdf
path: |
build/spec/pdf/
- name: 'Upload Kotlin spec HTML artifacts'
uses: actions/upload-artifact@v4
with:
name: kotlin-spec-html
path: |
build/spec/html/
================================================
FILE: .github/workflows/build-spec-on-pr-in-docker.yml
================================================
name: 'Build Kotlin spec on PRs (Docker version)'
on: [pull_request]
jobs:
build-spec:
runs-on: ubuntu-20.04
steps:
- name: 'Checkout'
uses: actions/checkout@v3
- name: 'Build Kotlin spec in its Docker container'
uses: ./.github/actions/build-spec-in-docker
- name: 'Upload Kotlin spec artifacts'
uses: ./.github/actions/upload-spec-artifacts
================================================
FILE: .github/workflows/build-spec-on-pr.yml
================================================
name: Build Kotlin spec on PRs
on: [pull_request]
jobs:
build-spec:
runs-on: ubuntu-20.04
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup Java 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'zulu'
cache: 'gradle'
- name: Setup pandoc
env:
PANDOC_VERSION: 2.14.2
PANDOC_DEB: pandoc-2.14.2-1-amd64.deb
run: |
curl -sLO https://github.com/jgm/pandoc/releases/download/$PANDOC_VERSION/$PANDOC_DEB
sudo dpkg -i $PANDOC_DEB
rm $PANDOC_DEB
- name: Setup Kotlin spec dependencies
run: |
sudo apt-get update
sudo apt-get install -y gpp
sudo apt-get install -y librsvg2-bin
sudo apt-get install -y npm
curl -sL https://deb.nodesource.com/setup_18.x | sudo bash -
sudo apt-get install -y nodejs
sudo apt-get install -y --no-install-recommends texlive-latex-extra
sudo apt-get install -y --no-install-recommends texlive-fonts-extra
sudo apt-get install -y --no-install-recommends texlive-bibtex-extra
sudo apt-get install -y --no-install-recommends texlive-science
sudo apt-get install -y --no-install-recommends fontconfig
sudo apt-get install -y --no-install-recommends lmodern
- name: Build Kotlin spec
run: |
./gradlew buildPdf buildWeb
- name: Smoke test Kotlin grammar
run: |
./gradlew :grammar:jar
- name: 'Upload Kotlin spec artifacts'
uses: ./.github/actions/upload-spec-artifacts
================================================
FILE: .gitignore
================================================
*.generated.md
grammar/testData/psi/**/*.*
!grammar/testData/psi/**/*.antlrtree.txt
!grammar/testData/psi/**/*.diff
grammar/testData/diagnostics/**/*.*
!grammar/testData/diagnostics/**/*.antlrtree.txt
!grammar/testData/diagnostics/**/*.diff
grammar/src/main/java/**/*
.idea
.gradle
.pages
build
!docs/scripts/build
!scripts/build
kotlin-js-store
*.pws
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Code of Conduct
This project and the corresponding community is governed by the [JetBrains Open Source and Community Code of Conduct](https://github.com/JetBrains#code-of-conduct).
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing
If you want to contribute to the Kotlin language specification, welcome!
This document describes the ways one could help with the specification together with the most important contribution guidelines.
## How to contribute?
You have several options on how to contribute.
1. Create an [issue](https://github.com/Kotlin/kotlin-spec/issues)
1. Make a [pull request](https://github.com/Kotlin/kotlin-spec/pulls)
1. Drop an email to [Marat Akhin](mailto:marat.akhin@jetbrains.com) or [Mikhail Belyaev](mailto:mikhail.belyaev@jetbrains.com)
> Note: if doing a pull request, it should be based on the `develop` branch.
In any of these cases, if we are talking about semantic changes to the specification, please try to include not only the improvements themselves, but also the reasoning on why you believe such a change is needed.
> If we are talking about simple, but still very much appreciated improvements, e.g., fixing grammar, spelling or punctuation mistakes, no justification is required for those.
If you are contributing information specific to a particular Kotlin version or an known experimental feature, be sure to mention them in the changes.
## What to contribute?
There are three main ways how you can contribute to the Kotlin specification, which we outline below.
However, if your idea does not fit into these categories, do not hesitate and still send it our way, as we welcome all contributions and will carefully consider even the most unconventional ones.
### Improve the text
The most straightforward way of improving the specification is making its text better.
The specification is written in Markdown and compiled to the resulting HTML and PDF files via [Pandoc](https://pandoc.org/).
As Markdown is pretty lightweight and flexible, we have only a limited set of guidelines on how it should be written.
* A sentence should be placed on a single line, such an arrangement makes it easier to compare changes between different versions.
* Kotlin code blocks should be marked as such using `` ```kotlin ... ``` `` markdown.
* As we are using implicit header references, a preferred way of referencing to a section named `Awesome section title` is `[as follows][Awesome section title]`.
- The few exceptions to this rule are when you need to reference a particular section with a duplicated name, these sections usually have a predefined `{#anchor}`.
They should be referenced using the explicit anchor either `[in place](#anchor)` or via a `[reference][anchor reference]` defined separately as `[anchor reference]: #anchor`.
### Provide additional tests
Besides being a description of how Kotlin should work in different situations, the specification also includes a number of *tests* which check whether a compiler implementation is compatible with the specification.
> Note: as of now, these tests cover only a subset of the specification; in the future, we hope for this test suite to evolve into a complete Kotlin compatibility testing kit.
To access these tests, one may use the "Load tests" link available next to every section header in the HTML version.
After loading the tests, the section will be marked into paragraphs (represented as numbered outlines) and sentences (represented as numbered highlights), with available tests linked to the sentences.
A specification test is linked to one *primary* sentence, which is the main thing the test is checking, and zero or more *secondary* sentences, which are somewhat related to what the test is about.
Sentences are identified by their section path plus their paragraph number plus their sentence number (aka sentence identifier).
If a sentence have one or more tests linked to it (aka a *tested sentence*), it is highlighted in green; otherwise, it is highlighted in gray.
When you click on a tested sentence, a popup window is shown, which contains the available test cases for the sentence as a code snippet, augmented with the following information:
* Test kind; currently we support these kinds of tests:
+ front-end diagnostics tests;
+ codegen box tests;
* Test type; currently we support these kinds of tests:
+ positive tests, which should successfully compile;
+ negative tests, which should not compile with a compile-time error;
* Test linkage: primary or secondary;
* Test description.
The test code can be run from the popup by clicking the green arrow icon; you can also tweak the code by switching to edit mode via the plus sign icon.
As of now, these tests are hosted in the main [Kotlin compiler repository][spec-test-data], and are used in its continuous integration process.
Because of this, we do not currently have a very user-friendly story of contributing additional specification tests.
If you nonetheless want to contribute a new test for a statement in the specification, you should do the following.
* Write the test case itself as a standalone code snippet;
* Link it to one primary sentence and zero or more secondary sentences via their sentence identifiers;
* Describe the test using the aforementioned classification (kind, type, linkage, description);
* Drop us an email with this information.
TODO(Maybe provide a test case template somewhere?)
[spec-test-data]: https://github.com/JetBrains/kotlin/tree/master/compiler/tests-spec
### Enhance the grammar
Kotlin grammar included in the specification is actually compiled from a standalone grammar description.
It is written in ANTLR v4 format and available in the [`grammar`](./grammar) folder.
Further information about how it can be used is available in the [grammar README.md](./grammar/README.md).
If you want to contribute any grammar improvements, they should be made against the ANTLR version and not against the compiled version included in the specification.
To send them, please follow the general instructions on how to contribute.
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2000-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
# Kotlin Language Specification
[](https://github.com/JetBrains#jetbrains-on-github)
[](https://teamcity.jetbrains.com/viewType.html?buildTypeId=Kotlin_Spec_DocsMaster&branch_Kotlin_dev=%3Cdefault%3E&tab=buildTypeStatusDiv)
[](https://www.apache.org/licenses/LICENSE-2.0)
[](https://github.com/Kotlin/kotlin-spec/releases)
This repository contains the specification of the [Kotlin programming language](https://kotlinlang.org), which describes how parts of the language should function *in more detail*, as compared to a more traditional user documentation on the [Kotlin Website](https://kotlinlang.org/docs/reference/).
It would be most useful to those who are interested in how Kotlin works on a finer level and how its features interoperate, e.g., language enthusiasts, compiler writers and Kotlin power-users.
However, if you are simply wondering, why some code you wrote works the way it does, this specification might help you get an answer to that.
Currently, the specification covers only what we call *Kotlin/Core*: fundamental parts of Kotlin which should function the same way irregardless of the underlying platform.
In the future, we plan to extend it with additional platform-specific sections covering Kotlin/JVM, Kotlin/JS and Kotlin/Native.
## Compatibility
Kotlin Language Specification is still in progress and has **experimental** stability level, meaning no compatibility should be expected between even incremental releases, any functionality can be added, removed or changed without warning.
## Artifacts
HTML version of the specification is available on the [Kotlin Website](https://kotlinlang.org/spec).
PDF version can be downloaded using the links in the HTML version or using the [direct link](https://kotlinlang.org/spec/pdf/kotlin-spec.pdf).
## Kotlin grammar
The grammar is a part of the specification and is also contained in this repository.
The reference grammar files in ANTLR4 format are located in the [grammar folder](./grammar/src/main/antlr/).
The human-friendly version is available on the [Kotlin Website](https://kotlinlang.org/docs/reference/grammar.html), in the [HTML](https://kotlinlang.org/spec/syntax-and-grammar.html) or [PDF](https://kotlinlang.org/spec/pdf/sections/syntax-and-grammar.pdf) version of the specification.
## Building the specification
The specification is built using [Gradle](https://gradle.org/).
Therefore, most dependencies are downloaded by the build system.
However, there are several external dependencies which should be installed separately.
For instructions on how to do this, please refer to your operating system documentation.
* [Pandoc](https://pandoc.org/) (tested with version 2.9.1)
* [npm](https://www.npmjs.com/) (tested with version 6.14.6)
* [gpp](https://logological.org/gpp) (tested with version 2.25)
* [bash](https://www.gnu.org/software/bash/) (tested with version 5.0.17)
After installing these dependencies, building the specification is as easy as running:
```
./gradlew buildWeb buildPdf
```
which creates both HTML and PDF versions of the specification in `./build/spec`.
> When doing the build for the very first time, you will see Gradle downloading `ideaIC-LATEST-EAP-SNAPSHOT.zip`, which may take quite a long time.
> This IDEA snapshot is used for specification and grammar tests, and will be cached (until a new version is available), so this lengthy download should happen only once (in a while).
The PDF version is available in two flavours: single-file PDF, containing the complete specification, and a set of section-based PDFs, containing their respective sections.
The HTML version consists of a set of section-based pages linked together via an interactive table of contents.
## Contributing
If you want to contribute to the specification, that's great!
You can help us make the Kotlin specification better by one of the following ways.
1. Create an [issue](https://github.com/Kotlin/kotlin-spec/issues) and describe what you think can be improved
1. Make a [pull request](https://github.com/Kotlin/kotlin-spec/pulls) and extends the specification
1. Discuss the specification on the Kotlin [forums](https://discuss.kotlinlang.org/)
1. Drop an email to [Marat Akhin](mailto:marat.akhin@jetbrains.com) or [Mikhail Belyaev](mailto:mikhail.belyaev@jetbrains.com) with your suggestions
> Note: if doing a pull request, it should be based on the `develop` branch.
We welcome any and all feedback to the specification, but may tweak, change or iterate with you on the contribution before including it in the specification.
Further details on how to contribute to the specification are available in [CONTRIBUTING.md](CONTRIBUTING.md).
## Reference
If one needs to reference this specification, they may use the following:
> Marat Akhin, Mikhail Belyaev et al. "Kotlin language specification: Kotlin/Core", JetBrains / JetBrains Research, 2020
================================================
FILE: ROADMAP.md
================================================
# Specification roadmap
## Short-term plans
* Improve Kotlin code examples
* Synchronize specification of complex features with their up-to-latest-date implementation
* Bound smart casts
* Operator expansions for non-trivial cases (aka operator desugaring)
* Fallthrough-like overload resolution (`provideDelegate` + `getValue`, `plusAssign` + `plus` with assignment, etc.)
* Describe type approximation and type decaying in more detail
## Long-term plans
* Describe Kotlin Multiplatform Project (MPP) support
* Implement platform-specific parts of Kotlin language specification
* Kotlin/JVM
* Kotlin/JS
* Kotlin/Native
================================================
FILE: build.gradle.kts
================================================
import at.phatbl.shellexec.ShellExec
plugins {
kotlin("jvm") version "1.7.0" apply false
id("at.phatbl.shellexec") version "1.5.2"
}
val htmlBuildDir = "$buildDir/spec/html"
val pdfBuildDir = "$buildDir/spec/pdf"
val resourcesBuildDir = "$htmlBuildDir/resources"
val jsBuildDir = "$resourcesBuildDir/js"
tasks.create<Copy>("copyStatic") {
group = "internal"
from("$projectDir/web/resources")
into(resourcesBuildDir)
}
tasks.create<Copy>("copyBuiltJs") {
group = "internal"
mustRunAfter("web:build")
from("$projectDir/web/build/js")
into(jsBuildDir)
}
tasks.create<Copy>("copyHtml") {
group = "internal"
mustRunAfter("docs:buildHtml", "docs:buildHtmlBySections")
from("$projectDir/docs/build/spec/html")
into(htmlBuildDir)
}
tasks.create<Copy>("copyPdf") {
group = "internal"
mustRunAfter("docs:buildPdf", "docs:buildPdfBySections")
from("$projectDir/docs/build/spec/pdf")
into(pdfBuildDir)
}
tasks.create<Copy>("copyStubIndexToRedirectToIntroduction") {
group = "internal"
mustRunAfter("docs:buildPdf", "docs:buildPdfBySections")
from("$projectDir/web/resources/html")
into(htmlBuildDir)
}
tasks.create("buildJs") {
group = "internal"
dependsOn("copyStatic")
dependsOn("web:build")
dependsOn("copyBuiltJs")
doFirst {
File(jsBuildDir).mkdirs()
}
}
tasks.create("buildWeb") {
group = "build"
dependsOn("docs:buildHtml")
dependsOn("docs:buildHtmlBySections")
dependsOn("copyHtml")
dependsOn("buildJs")
}
tasks.create("buildWebFullOnly") {
group = "build"
dependsOn("docs:buildHtml")
dependsOn("copyHtml")
dependsOn("buildJs")
}
tasks.create("buildWebBySectionsOnly") {
group = "build"
dependsOn("docs:buildHtmlBySections")
dependsOn("copyHtml")
dependsOn("buildJs")
dependsOn("copyStubIndexToRedirectToIntroduction")
}
tasks.create("buildPdf") {
group = "build"
dependsOn("docs:buildPdf")
dependsOn("docs:buildPdfBySections")
dependsOn("copyPdf")
}
tasks.create<ShellExec>("syncGrammarWithKotlinGrammarApache2Repo") {
group = "internal"
command = """echo -e "Run the following commands: git checkout release; ...; git subtree push --prefix grammar/src/main/antlr git@github.com:Kotlin/kotlin-grammar-apache2 release""""
}
================================================
FILE: docker/Dockerfile
================================================
FROM pandoc/latex:2.14.2-ubuntu
MAINTAINER Marat Akhin <marat.akhin@jetbrains.com>
WORKDIR /source
# install Java 11
RUN apt-get update
RUN apt-get install -y software-properties-common
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
RUN apt-add-repository 'deb http://repos.azulsystems.com/ubuntu stable main'
RUN apt-get update
RUN apt-get install -y zulu-11
# install packages for the Kotlin spec
RUN apt-get install -y git
RUN apt-get install -y gpp
RUN apt-get install -y librsvg2-bin
RUN apt-get install -y npm
RUN apt-get install -y curl
RUN curl -sL https://deb.nodesource.com/setup_18.x | bash -
RUN apt-get install -y nodejs
# install more TeX Live packages
RUN tlmgr install --no-persistent-downloads enumitem
RUN tlmgr install --no-persistent-downloads cancel
RUN tlmgr install --no-persistent-downloads todonotes
RUN tlmgr install --no-persistent-downloads titlesec
RUN tlmgr install --no-persistent-downloads newunicodechar
# add build-spec.sh file for GitHub Actions
COPY build-spec.sh /build-spec.sh
================================================
FILE: docker/build-spec.sh
================================================
#!/bin/bash
cd /github/workspace
./gradlew buildWeb buildPdf
./gradlew :grammar:jar
================================================
FILE: docs/build.gradle.kts
================================================
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import java.net.URI
plugins {
application
kotlin("jvm")
id("at.phatbl.shellexec")
}
group = "org.jetbrains.kotlin.spec"
version = "0.1"
val htmlBuildDir = "$buildDir/spec/html"
val pdfBuildDir = "$buildDir/spec/pdf"
val resourcesBuildDir = "$htmlBuildDir/resources"
val jsBuildDir = "$resourcesBuildDir/js"
val scriptsDir = "$projectDir/scripts/build"
val ls: String = System.lineSeparator()
repositories {
maven {
url = URI("https://packages.jetbrains.team/maven/p/plan/apal")
}
mavenCentral()
}
sourceSets {
main {
java.srcDir("src/main/kotlin")
}
}
dependencies {
implementation("ru.spbstu:g4-to-ebnf:0.0.0.4")
implementation("ru.spbstu:kotlin-pandoc:0.0.15")
implementation("ru.spbstu:simple-diagrammer:0.0.0.7")
constraints {
implementation("org.apache.commons:commons-text:1.10.0") {
because("versions below 1.10 are vulnerable (https://security.snyk.io/vuln/SNYK-JAVA-ORGAPACHECOMMONS-3043138)")
}
}
implementation("com.github.ajalt:clikt:2.8.0")
implementation("com.zaxxer:nuprocess:2.0.3")
implementation("org.antlr:antlr4:4.8")
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "11"
}
tasks.create<Jar>("filtersJar") {
from(
sourceSets.main.get().output,
*configurations.runtimeClasspath.get().map { if (it.isDirectory()) it else zipTree(it) }.toTypedArray()
)
archiveFileName.set("filters.jar")
with(tasks.jar.get())
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
tasks.create<JavaExec>("convertGrammar") {
val grammarsDir = "$rootDir/grammar/src/main/antlr"
val lexerGrammar = "KotlinLexer.g4"
val parserGrammar = "KotlinParser.g4"
val outputFile = "./src/md/kotlin.core/grammar.generated.md"
inputs.files("$grammarsDir/$lexerGrammar", "$grammarsDir/$parserGrammar")
outputs.file(outputFile)
classpath = sourceSets["main"].runtimeClasspath
mainClass.set("org.jetbrains.kotlin.spec.ConvertGrammarKt")
args = listOf("-d", grammarsDir, "-l", lexerGrammar, "-p", parserGrammar, "-o", outputFile)
}
tasks.create("prepareShell") {
group = "internal"
val disableTODOS = project.findProperty("disableTODOS") != null
val enableStaticMath = project.findProperty("enableStaticMath") != null
if (enableStaticMath) {
dependsOn(":kotlinNpmInstall") // we need npm to install Katex to run it
}
doFirst {
val res = with(StringBuilder()) {
appendLine("PROJECT_DIR=$projectDir")
if (disableTODOS) appendLine("TODO_OPTION=--disable-todos")
else appendLine("TODO_OPTION=--enable-todos")
if (enableStaticMath) {
appendLine("STATIC_MATH_OPTION=--enable-static-math")
appendLine("KATEX_BIN_OPTION=\"--katex=${rootProject.buildDir}/js/node_modules/.bin/katex\"")
}
else appendLine("STATIC_MATH_OPTION=--disable-static-math")
}
File("$buildDir/prepare.sh").writeText("$res")
}
}
tasks.create("buildPdf") {
group = "internal"
dependsOn("pdf:build")
}
tasks.create("buildPdfBySections") {
group = "internal"
dependsOn("pdfSections:build")
}
tasks.create("buildHtml") {
group = "internal"
dependsOn("html:build")
}
tasks.create("buildHtmlBySections") {
group = "internal"
dependsOn("htmlSections:build")
}
tasks.create<JavaExec>("execute") {
group = "internal"
classpath = sourceSets["main"].runtimeClasspath
mainClass.set(project.findProperty("mainClass") as? String ?: "")
args = (project.findProperty("args") as? String)?.split(" ") ?: emptyList()
val wd = project.findProperty("workDir") as? String
workingDir = wd?.let { File(it) } ?: File(".")
standardInput = System.`in`
standardOutput = System.out
errorOutput = System.err
}
================================================
FILE: docs/html/build.gradle.kts
================================================
val htmlBuildDir = "${project.parent?.buildDir}/spec/html"
val scriptsDir = "${project.parent?.projectDir}/scripts/build"
tasks.create<Exec>("build") {
group = "internal"
inputs.dir("${project.parent?.projectDir}/src/md/kotlin.core")
dependsOn(":docs:prepareShell")
dependsOn(":docs:convertGrammar")
dependsOn(":docs:filtersJar")
environment["PROJECT_DIR"] = project.parent?.projectDir!!
doFirst {
workingDir = File(scriptsDir)
commandLine = listOf("bash", "$scriptsDir/buildHtml.sh")
File(htmlBuildDir).mkdirs()
}
}
================================================
FILE: docs/htmlSections/build.gradle.kts
================================================
import java.nio.file.Paths
val htmlBuildDir = "${project.parent?.buildDir}/spec/html"
val scriptsDir = "${project.parent?.projectDir}/scripts/build"
tasks.create<Exec>("build") {
group = "internal"
inputs.dir("${project.parent?.projectDir}/src/md/kotlin.core")
dependsOn(":docs:prepareShell")
dependsOn(":docs:convertGrammar")
dependsOn(":docs:filtersJar")
environment["PROJECT_DIR"] = project.parent?.projectDir!!
doFirst {
workingDir = File(scriptsDir)
commandLine = listOf("bash", "$scriptsDir/buildHtmlBySections.sh")
Paths.get(htmlBuildDir).toFile().apply { deleteRecursively(); mkdirs() }
}
}
================================================
FILE: docs/pdf/build.gradle.kts
================================================
val pdfBuildDir = "${project.parent?.buildDir}/spec/pdf"
val scriptsDir = "${project.parent?.projectDir}/scripts/build"
tasks.create<Exec>("build") {
group = "internal"
inputs.dir("${project.parent?.projectDir}/src/md/kotlin.core")
outputs.files("${pdfBuildDir}/kotlin-spec.pdf")
dependsOn(":docs:prepareShell")
dependsOn(":docs:convertGrammar")
dependsOn(":docs:filtersJar")
environment["PROJECT_DIR"] = project.parent?.projectDir!!
doFirst {
workingDir = File(scriptsDir)
commandLine = listOf("bash", "$scriptsDir/buildPdf.sh")
File(pdfBuildDir).mkdirs()
}
}
================================================
FILE: docs/pdfSections/build.gradle.kts
================================================
import java.nio.file.Paths
val pdfBuildDir = "${project.parent?.buildDir}/spec/pdf"
val scriptsDir = "${project.parent?.projectDir}/scripts/build"
tasks.create<Exec>("build") {
group = "internal"
inputs.dir("${project.parent?.projectDir}/src/md/kotlin.core")
dependsOn(":docs:prepareShell")
dependsOn(":docs:convertGrammar")
dependsOn(":docs:filtersJar")
environment["PROJECT_DIR"] = project.parent?.projectDir!!
doFirst {
workingDir = File(scriptsDir)
commandLine = listOf("bash", "$scriptsDir/buildPdfBySections.sh")
Paths.get("$pdfBuildDir/sections").toFile().apply { deleteRecursively(); mkdirs() }
}
}
================================================
FILE: docs/scripts/build/buildHtml.sh
================================================
#!/bin/env bash
source directories.sh
source ${BUILD_DIR}/prepare.sh
source settings.sh
init_settings "html"
export PROJECT_DIR
export TODO_OPTION
export STATIC_MATH_OPTION
export KATEX_BIN_OPTION
cd ${PROJECT_DIR}/src/md
gpp -H ./index.md | pandoc \
--filter ${FILTERS_DIR}/compoundFilter.sh \
${PREAMBLE_OPTIONS} \
${COMMON_PANDOC_OPTIONS} \
${FORMAT_PANDOC_OPTIONS} \
${TOC_PANDOC_OPTIONS} \
${HTML_ASSETS_OPTIONS} \
-o ${BUILD_DIR}/spec/html/kotlin-spec.html
================================================
FILE: docs/scripts/build/buildHtmlBySections.sh
================================================
#!/bin/env bash
source directories.sh
source ${BUILD_DIR}/prepare.sh
source settings.sh
init_settings "html"
export PROJECT_DIR
export TODO_OPTION
export STATIC_MATH_OPTION
export KATEX_BIN_OPTION
cd ${PROJECT_DIR}/src/md
TMP_DIR=${BUILD_DIR}/~tmp/html
mkdir -p $TMP_DIR
gpp -H ./index.md \
| pandoc ${PREAMBLE_OPTIONS} ${COMMON_PANDOC_OPTIONS} ${FORMAT_PANDOC_OPTIONS} -t json \
| bash ${FILTERS_DIR}/compoundFilter.sh html --split --output-directory=$TMP_DIR --generate-toc
mkdir -p ${BUILD_DIR}/html
for f in $TMP_DIR/*.json;
do \
(pandoc \
${PREAMBLE_OPTIONS} \
${COMMON_PANDOC_OPTIONS} \
$f \
${HTML_ASSETS_OPTIONS} \
-o ${BUILD_DIR}/spec/html/"$(basename "$f" .json).html") &
done
wait
rm -rf $TMP_DIR
================================================
FILE: docs/scripts/build/buildPdf.sh
================================================
#!/bin/env bash
source directories.sh
source ${BUILD_DIR}/prepare.sh
source settings.sh
init_settings "pdf"
export PROJECT_DIR
export TODO_OPTION
export STATIC_MATH_OPTION
IMAGE_DIR_OPTION="--image-directory=${BUILD_DIR}/pdf/images"
export IMAGE_DIR_OPTION
cd ${PROJECT_DIR}/src/md
gpp -H ./index.md | pandoc \
--filter ${FILTERS_DIR}/compoundFilter.sh \
${PREAMBLE_OPTIONS} \
${COMMON_PANDOC_OPTIONS} \
${FORMAT_PANDOC_OPTIONS} \
${TOC_PANDOC_OPTIONS} \
--variable documentclass=book \
--number-sections \
-o ${BUILD_DIR}/spec/pdf/kotlin-spec.pdf
================================================
FILE: docs/scripts/build/buildPdfBySections.sh
================================================
#!/bin/env bash
source directories.sh
source ${BUILD_DIR}/prepare.sh
source settings.sh
init_settings "pdf"
export PROJECT_DIR
export TODO_OPTION
export STATIC_MATH_OPTION
cd ${PROJECT_DIR}/src/md
TMP_DIR=${BUILD_DIR}/~tmp/pdf
export IMAGE_DIR_OPTION="--image-directory=${TMP_DIR}/pdf/images"
mkdir -p $TMP_DIR
gpp -H ./index.md \
| pandoc ${PREAMBLE_OPTIONS} ${COMMON_PANDOC_OPTIONS} ${FORMAT_PANDOC_OPTIONS} -t json \
| bash ${FILTERS_DIR}/compoundFilter.sh latex --split --output-directory=$TMP_DIR
mkdir -p ${BUILD_DIR}/pdf/sections
for f in $TMP_DIR/*.json;
do \
(pandoc \
${PREAMBLE_OPTIONS} \
${COMMON_PANDOC_OPTIONS} \
$f \
--variable documentclass=book \
--number-sections \
-o ${BUILD_DIR}/spec/pdf/sections/"$(basename "$f" .json).pdf") &
done
wait
rm -rf $TMP_DIR
================================================
FILE: docs/scripts/build/directories.sh
================================================
#!/bin/env bash
export PROJECT_DIR
SECTIONS_DIR="$PROJECT_DIR/src/md/kotlin.core"
FILTERS_DIR="$PROJECT_DIR/scripts/filters"
BUILD_DIR="$PROJECT_DIR/build"
================================================
FILE: docs/scripts/build/settings.sh
================================================
#!/bin/env bash
FORMAT_PANDOC_OPTIONS="-f markdown-raw_html+smart+tex_math_double_backslash"
#--variable=subparagraph is a fix for https://stackoverflow.com/questions/42916124/not-able-to-use-titlesec-with-markdown-and-pandoc
COMMON_PANDOC_OPTIONS="\
-s \
--variable linkcolor=blue \
--variable filecolor=cyan \
--syntax-definition=kotlin.xml \
--variable=subparagraph \
--variable=math: \
--top-level-division=part"
TOC_PANDOC_OPTIONS="\
--toc \
--toc-depth=6"
HTML_ASSETS_OPTIONS="\
-c ./resources/css/main.css \
-c ./resources/js/katex/katex.min.css \
--katex=./resources/js/katex/"
PREAMBLE_OPTIONS=""
init_settings() {
local type=$1
if [ "${type}" == "pdf" ]; then
PREAMBLE_OPTIONS="-H ./preamble.tex"
elif [ "${type}" == "html" ]; then
PREAMBLE_OPTIONS="-H ./preamble.html --include-before-body ./preface.html --include-after-body ./epilogue.html"
if [ "${STATIC_MATH_OPTION}" == "--disable-static-math" ]; then
PREAMBLE_OPTIONS="$PREAMBLE_OPTIONS -H ./dynamic_math.html"
fi
fi
}
================================================
FILE: docs/scripts/filters/brokenReferencesReportFilter.sh
================================================
#!/bin/env bash
java -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.BrokenReferencesReporterKt $*
================================================
FILE: docs/scripts/filters/compoundFilter.sh
================================================
#!/bin/bash
java -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.CompoundFilterKt $* --embed $TODO_OPTION $STATIC_MATH_OPTION $KATEX_BIN_OPTION $IMAGE_DIR_OPTION
================================================
FILE: docs/scripts/filters/copyPasteFilter.sh
================================================
#!/bin/env bash
java -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.CopyPasteFilterKt $*
================================================
FILE: docs/scripts/filters/inlineDiagramFilter.sh
================================================
#!/bin/env bash
java -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.InlineDiagramFilterKt $* --embed
================================================
FILE: docs/scripts/filters/inlineKatexFilter.sh
================================================
#!/bin/env bash
java -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.InlineKatexKt $* $STATIC_MATH_OPTION $KATEX_BIN_OPTION
================================================
FILE: docs/scripts/filters/markSentencesFilter.sh
================================================
#!/bin/env bash
java -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.MarkSentencesFilterKt $*
================================================
FILE: docs/scripts/filters/mathInCodeFilter.sh
================================================
#!/bin/env bash
java -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.MathInCodeFilterKt $*
================================================
FILE: docs/scripts/filters/processTodoFilter.sh
================================================
#!/bin/env bash
java -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.ProcessTodoFilterKt $* $TODO_OPTION
================================================
FILE: docs/scripts/filters/splitSections.sh
================================================
#!/bin/env bash
java -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.SplitDocumentKt $*
================================================
FILE: docs/src/main/kotlin/org/jetbrains/kotlin/spec/brokenReferencesReporter.kt
================================================
package org.jetbrains.kotlin.spec
import ru.spbstu.pandoc.*
import ru.spbstu.pandoc.helper.*
private class ModifiedToStringVisitor: PandocVisitor() {
val builder = StringBuilder()
override fun visit(i: Inline.Code): Inline = i.also { builder.append("$") } // no code
override fun visit(i: Inline.Math): Inline = i.also { builder.append("$") } // no math
override fun visit(i: Inline.RawInline): Inline = i.also { builder.append("$") } // no LaTeX
override fun visit(i: Inline.Str): Inline {
builder.append(i.text)
return super.visit(i)
}
override fun visit(i: Inline.Quoted): Inline {
val quotes = when(i.type) {
QuoteType.DoubleQuote -> "\""
QuoteType.SingleQuote -> "\'"
}
builder.append(quotes)
val res = super.visit(i)
builder.append(quotes)
return res
}
override fun visit(i: Inline.Space): Inline {
builder.append(" ")
return super.visit(i)
}
override fun visit(i: Inline.SoftBreak): Inline {
builder.append("\n")
return super.visit(i)
}
override fun visit(i: Inline.LineBreak): Inline {
builder.append("\n")
return super.visit(i)
}
}
private fun toCharSequence(b: Block): CharSequence = ModifiedToStringVisitor().also { b.accept(it) }.builder
object BrokenReferencesReporter: PandocVisitor() {
var lastHeader: Block? = null
val re = """\[[^]]+\]\[[^]]+\]""".toRegex()
fun detect(b: Block): Block {
val matches = re.findAll(toCharSequence(b));
for(match in matches) {
System.err.println("Broken link detected in section '${lastHeader?.getContentsAsText()}': " + match.value)
}
return b
}
override fun visit(b: Block.Para) = detect(b)
override fun visit(b: Block.Plain) = detect(b)
override fun visit(b: Block.LineBlock) = detect(b)
override fun visit(b: Block.Header) = detect(b.also { lastHeader = b })
}
fun main() = makeFilter(BrokenReferencesReporter)
================================================
FILE: docs/src/main/kotlin/org/jetbrains/kotlin/spec/compoundFilter.kt
================================================
package org.jetbrains.kotlin.spec
import com.fasterxml.jackson.module.kotlin.readValue
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.arguments.argument
import com.github.ajalt.clikt.parameters.arguments.convert
import com.github.ajalt.clikt.parameters.options.convert
import com.github.ajalt.clikt.parameters.options.defaultLazy
import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.types.file
import ru.spbstu.pandoc.Format
import ru.spbstu.pandoc.Pandoc
import ru.spbstu.pandoc.PandocVisitor
import ru.spbstu.pandoc.jackson.constructObjectMapper
import ru.spbstu.pandoc.makeFilter
import java.io.File
operator fun PandocVisitor.plus(otherVisitor: PandocVisitor) = object : PandocVisitor() {
override fun visit(doc: Pandoc): Pandoc {
return otherVisitor.visit(this@plus.visit(doc))
}
}
private object CompoundFilter : CliktCommand() {
val format: Format by argument("Pandoc output format").convert { Format(it) }
val split: Boolean by option().flag("--no-split")
val disableTODOS: Boolean by option().flag("--enable-todos")
val imageDirectory: File? by option().file(canBeFile = false)
val embed: Boolean by option().flag()
val defaultFormat: String? by option()
val disableStaticMath by option().flag("--enable-static-math")
val katex by option()
val outputDirectory: File by option().file(canBeFile = false).defaultLazy { File(".") }
val generateTOC: Boolean by option().flag("--no-toc")
override fun run() {
outputDirectory.mkdirs()
imageDirectory?.mkdirs()
var visitor = listOf(
SpecTodoFilterVisitor(format, disableTODOS),
SpecSentencesFilterVisitor,
SpecCopyPasteFilterVisitor,
SpecInlineDiagramFilterVisitor(defaultFormat, format, imageDirectory, embed),
MathInCode,
BrokenReferencesReporter
).reduce { a, b -> a + b }
if (!disableStaticMath && format.isHTML())
visitor += InlineKatex(katex)
val om = constructObjectMapper()
val ii = om.readValue<Pandoc>(System.`in`)
if (split) {
visitor += Splitter(outputDirectory, format.format, generateTOC)
visitor.visit(ii)
} else {
om.writeValue(System.out, visitor.visit(ii))
}
}
}
fun main(args: Array<String>) = CompoundFilter.main(args)
================================================
FILE: docs/src/main/kotlin/org/jetbrains/kotlin/spec/convertGrammar.kt
================================================
package org.jetbrains.kotlin.spec
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.options.required
import org.antlr.v4.Tool
import org.antlr.v4.parse.ANTLRParser
import org.antlr.v4.tool.Grammar
import org.antlr.v4.tool.LexerGrammar
import org.antlr.v4.tool.ast.*
import ru.spbstu.grammarConverter.parseRules
import ru.spbstu.grammarConverter.toMarkdown
import java.io.File
import java.util.*
fun inlineGrammar(grammarDir: String, lexerGrammar: String, parserGrammar: String): String {
val tool = Tool().apply { libDirectory = grammarDir }
val lexerGrammarText = File("$grammarDir/$lexerGrammar").readText()
val parserGrammarSourceLines = File("$grammarDir/$parserGrammar").readLines()
val lexer = LexerGrammar(tool, tool.parseGrammarFromString(lexerGrammarText)).apply {
fileName = lexerGrammar
tool.process(this, false)
}
val parser = Grammar(tool, tool.parseGrammarFromString(parserGrammarSourceLines.joinToString(System.lineSeparator()))).apply {
fileName = parserGrammar
tool.process(this, false)
}
val visitor = GrammarVisitor(lexer, parserGrammarSourceLines).also { parser.ast.visit(it) }
return visitor.processedParserGrammarSourceLines.joinToString(System.lineSeparator())
}
private fun convertGrammar(outputMarkdownFilePath: String, grammarDir: String, lexerGrammar: String, parserGrammar: String) {
val parserGrammarWithInlinedLexerRules = inlineGrammar(grammarDir, lexerGrammar, parserGrammar)
val outputMarkdownFile = File(outputMarkdownFilePath).outputStream()
outputMarkdownFile.bufferedWriter().use { writer ->
val rules = parseRules(parserGrammarWithInlinedLexerRules.byteInputStream())
writer.append(rules.toMarkdown(true)).appendLine()
}
}
private object Driver : CliktCommand() {
val outputFilePath by option("-o", "--output", help="path to output file in markdown format (.md)").required()
val grammarDir by option("-d", "--grammar_dir", help="path to dir with lexer and parser grammars").required()
val lexerGrammar by option("-l", "--lexer_grammar", help="lexer grammar filename").required()
val parserGrammar by option("-p", "--parser_grammar", help="parser grammar filename").required()
override fun run() = convertGrammar(outputFilePath, grammarDir, lexerGrammar, parserGrammar)
}
class GrammarVisitor(private val lexer: LexerGrammar, parserGrammarSourceLines: List<String>): GrammarASTVisitor {
val processedParserGrammarSourceLines: MutableList<String> = parserGrammarSourceLines.toMutableList()
private val offsets = mutableMapOf<Int, TreeMap<Int, Int>>()
override fun visit(node: GrammarAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: GrammarRootAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: RuleAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: BlockAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: OptionalBlockAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: PlusBlockAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: StarBlockAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: AltAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: NotAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: PredAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: RangeAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: SetAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: RuleRefAST) { if (node.children != null) { node.childrenAsArray.map { it.visit(this) } } }
override fun visit(node: TerminalAST) {
val lexerRule = lexer.rules[node.token.text]
if (lexerRule == null || !isSimpleLexerRule(lexerRule.ast.childrenAsArray[1]) || node.token.text in excludedNodes)
return
val tokenValue = lexerRule.tokenRefs.singleOrNull() ?: return
val tokenNameLength = node.token.text.length
val startPositionInLine = node.charPositionInLine
val endPositionInLine = startPositionInLine + tokenNameLength
val lineIndex = node.line - 1
val offsetForLine = offsets[lineIndex]
val offset = offsetForLine?.subMap(0, startPositionInLine)?.values?.sum() ?: 0
processedParserGrammarSourceLines[lineIndex] = processedParserGrammarSourceLines[lineIndex].replaceRange(
range = (startPositionInLine - offset) until (endPositionInLine - offset),
replacement = tokenValue
)
if (lineIndex !in offsets) {
offsets[lineIndex] = TreeMap()
}
val offsetsTree = offsets[lineIndex]
if (offsetsTree != null) {
offsetsTree[startPositionInLine] = node.token.text.length - tokenValue.length
}
}
private fun isSimpleLexerRule(rule: GrammarAST): Boolean {
if (rule.children != null && rule.childrenAsArray.count { supportedNodes.contains(it.type) } > 1)
return false
if (rule.children == null || rule.children.size == 0)
return rule.type == ANTLRParser.STRING_LITERAL
return isSimpleLexerRule(rule.childrenAsArray[0])
}
companion object {
private val supportedNodes = setOf(
ANTLRParser.TOKEN_REF, ANTLRParser.LEXER_CHAR_SET, ANTLRParser.RULE_REF, ANTLRParser.BLOCK,
ANTLRParser.ALT, ANTLRParser.SET, ANTLRParser.RULE, ANTLRParser.STRING_LITERAL, ANTLRParser.RULEMODIFIERS,
ANTLRParser.POSITIVE_CLOSURE, ANTLRParser.CLOSURE, ANTLRParser.OPTIONAL
)
private val excludedNodes = setOf(
"AT_NO_WS", "AT_PRE_WS", "AT_POST_WS", "QUEST_NO_WS", "QUEST_WS", "NL", "EOF"
)
}
}
fun main(args: Array<String>) = Driver.main(args)
================================================
FILE: docs/src/main/kotlin/org/jetbrains/kotlin/spec/copyPasteFilter.kt
================================================
package org.jetbrains.kotlin.spec
import ru.spbstu.pandoc.*
import ru.spbstu.pandoc.helper.*
private class IdCollector : PandocVisitor() {
val blocks: MutableMap<String, Block> = mutableMapOf()
val inlines: MutableMap<String, Inline> = mutableMapOf()
override fun visit(b: Block): Block {
if(b is Attributes && b.attr.id.isNotBlank()) blocks[b.attr.id] = b
return super.visit(b)
}
override fun visit(i: Inline): Inline {
if(i is Attributes && i.attr.id.isNotBlank()) inlines[i.attr.id] = i
return super.visit(i)
}
}
object SpecCopyPasteFilterVisitor : PandocVisitor() {
var nextId: Int = 0
private val collector = IdCollector()
override fun visit(doc: Pandoc): Pandoc {
collector.visit(doc)
return super.visit(doc)
}
private fun getBlock(id: String): Block =
when(id) {
in collector.inlines -> {
val i = collector.inlines[id]!!
Block.Plain(listOf(i))
}
in collector.blocks -> collector.blocks[id]!!
else -> Block.Plain(listOf(Inline.Strong(listOf(Inline.Str("Id $id not found")))))
}
private fun getInline(id: String): Inline =
when(id) {
in collector.inlines -> collector.inlines[id]!!
in collector.blocks ->
Inline.Strong(listOf(Inline.Str("[Cannot paste block $id as inline]")))
else -> Inline.Strong(listOf(Inline.Str("[Id $id not found]")))
}
override fun visit(b: Block.Div): Block {
when {
"paste" in b.attr.classes -> {
val props = b.attr.propertiesMap
val target = props["target"] ?: return super.visit(b)
val block = getBlock(target)
if (block is Attributes) {
val id = if(b.attr.id.isNotBlank()) b.attr.id else "$target-pasted-${nextId++}"
return block.copy(attr = block.attr.copy(id = id))
}
return block
}
else -> return super.visit(b)
}
}
override fun visit(i: Inline.Span): Inline {
when {
"paste" in i.attr.classes -> {
val props = i.attr.propertiesMap
val target = props["target"] ?: return super.visit(i)
val inline = getInline(target)
if (inline is Attributes) {
val id = if(i.attr.id.isNotBlank()) i.attr.id else "$target-pasted-${nextId++}"
return inline.copy(attr = inline.attr.copy(id = id))
}
return inline
}
else -> return super.visit(i)
}
}
}
fun main() = makeFilter(SpecCopyPasteFilterVisitor)
================================================
FILE: docs/src/main/kotlin/org/jetbrains/kotlin/spec/inlineDiagramFilter.kt
================================================
package org.jetbrains.kotlin.spec
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.arguments.argument
import com.github.ajalt.clikt.parameters.arguments.convert
import com.github.ajalt.clikt.parameters.options.convert
import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.option
import ru.spbstu.diagrams.CharMatrix
import ru.spbstu.diagrams.Diagram
import ru.spbstu.diagrams.DiagramProperties
import ru.spbstu.diagrams.export.exportAsInlinePNG
import ru.spbstu.diagrams.export.exportAsInlineSVG
import ru.spbstu.diagrams.export.exportAsPNG
import ru.spbstu.diagrams.export.exportAsSVG
import ru.spbstu.pandoc.*
import ru.spbstu.pandoc.builder.InlineBuilder
import ru.spbstu.pandoc.builder.blocks
import java.io.File
private enum class ImgFormat(val suffix: String) { PNG(".png"), SVG(".svg");
companion object {
fun fromExtension(ext: String) = when (ext) {
"svg" -> SVG
"png" -> PNG
else -> throw IllegalArgumentException("Unknown format: $ext")
}
}
}
class SpecInlineDiagramFilterVisitor(
val defaultFormat: String?,
val format: Format,
val imageDirectory: File?,
val embed: Boolean
) : PandocVisitor() {
override fun visit(b: Block.CodeBlock): Block {
if ("diagram" !in b.attr.classes) return super.visit(b)
val props = b.attr.propertiesMap
val altText = props["alt-text"]
val imageFormat = props["format"] ?: defaultFormat ?: "svg"
// this is a hack, but for some reason the same svg is much smaller in HTML than in LaTeX
val scaling = if (format.isHTML()) 0.7 else 0.35
val dprops = DiagramProperties(
fontSpec = "Fira Mono;Consolas;Monospaced",
textScale = 1.5,
diagramScale = scaling
)
val diag = Diagram.fromMatrix(
CharMatrix.read(b.text.reader().buffered()),
dprops
)
return blocks {
div {
clazz = "diagram"
id = b.attr.id
plain {
renderToFile(
ImgFormat.fromExtension(imageFormat),
diag,
altText,
imageDirectory,
embed,
format
)
}
}
}.first()
}
}
private val htmlFormats = setOf("html", "html4", "html5", "revealjs", "s5", "slideous", "slidy")
private fun InlineBuilder.renderToFile(
imageFormat: ImgFormat,
diag: Diagram,
altText: String?,
imageDirectory: File?,
embed: Boolean,
format: Format
) {
if (format.isHTML() && embed) {
when(imageFormat) {
ImgFormat.SVG -> rawInline(format = Format.HTML) {
"<img src='${ exportAsInlineSVG(diag) }' />"
}
ImgFormat.PNG -> rawInline(format = Format.HTML) {
"<img src='${ exportAsInlinePNG(diag) }' />"
}
}
return
}
val file = File.createTempFile(/*prefix*/ "tmp", /*suffix*/ imageFormat.suffix, /*directory*/ imageDirectory)
when (imageFormat) {
ImgFormat.SVG -> exportAsSVG(diag, file)
ImgFormat.PNG -> exportAsPNG(diag, file)
}
image(Target(file.absolutePath, altText ?: file.absolutePath))
}
private object Main : CliktCommand() {
private val format: Format by argument("Pandoc output format").convert { Format(it) }
private val imageDirectory: File? by option().convert { File(it) }
private val embed: Boolean by option().flag()
private val defaultFormat: String? by option()
override fun run() {
makeFilter(SpecInlineDiagramFilterVisitor(defaultFormat, format, imageDirectory, embed))
}
}
fun main(args: Array<String>) = Main.main(args)
================================================
FILE: docs/src/main/kotlin/org/jetbrains/kotlin/spec/inlineKatex.kt
================================================
package org.jetbrains.kotlin.spec
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.arguments.argument
import com.github.ajalt.clikt.parameters.arguments.convert
import com.github.ajalt.clikt.parameters.options.convert
import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.options.required
import com.zaxxer.nuprocess.NuAbstractProcessHandler
import com.zaxxer.nuprocess.NuProcess
import com.zaxxer.nuprocess.NuProcessBuilder
import com.zaxxer.nuprocess.NuProcessHandler
import ru.spbstu.pandoc.*
import java.io.File
import java.nio.ByteBuffer
import java.util.concurrent.CompletableFuture
import java.util.concurrent.TimeUnit
class InlineKatex(val katexBinary: String?) : PandocVisitor() {
val katexCache: MutableMap<String, Inline> = mutableMapOf()
fun katex(text: String, display: Boolean): Inline {
val stdOut = StringBuilder()
val exitCode = CompletableFuture<Int>()
val processListener = object : NuAbstractProcessHandler() {
override fun onStderr(buffer: ByteBuffer, closed: Boolean) {
System.err.append(Charsets.UTF_8.decode(buffer))
super.onStderr(buffer, closed)
}
override fun onStdout(buffer: ByteBuffer, closed: Boolean) {
stdOut.append(Charsets.UTF_8.decode(buffer))
super.onStdout(buffer, closed)
}
override fun onExit(statusCode: Int) {
exitCode.complete(statusCode)
}
}
val npx = katexBinary ?: "katex"
val katex = if(display) NuProcessBuilder(processListener, npx, "--display-mode")
else NuProcessBuilder(processListener, npx)
with(katex.start()) {
writeStdin(Charsets.UTF_8.encode(text))
closeStdin(false)
exitCode.get()
return Inline.RawInline(Format.HTML, "$stdOut")
}
}
override fun visit(i: Inline.Math): Inline {
val display = i.type == MathType.DisplayMath
return katexCache.getOrPut(i.text) { katex(i.text, display) }
}
}
private object DoNothing: PandocVisitor() {
override fun visit(doc: Pandoc): Pandoc = doc
}
private object InlineKatexFilter : CliktCommand() {
val format: Format by argument("Pandoc output format").convert { Format(it) }
val disableStaticMath by option().flag("--enable-static-math")
val katex by option()
val isHTML get() = format.isHTML()
override fun run() {
if(isHTML && !disableStaticMath) makeFilter(InlineKatex(katexBinary = katex))
else makeFilter(DoNothing)
}
}
fun main(args: Array<String>) = InlineKatexFilter.main(args)
================================================
FILE: docs/src/main/kotlin/org/jetbrains/kotlin/spec/markSentencesFilter.kt
================================================
package org.jetbrains.kotlin.spec
import ru.spbstu.pandoc.*
private const val SENTENCE_CLASS = "sentence"
private const val PARAGRAPH_CLASS = "paragraph"
private fun <T> Iterable<T>.breakBy(f : (T) -> Boolean): Pair<MutableList<T>, MutableList<T>> {
val it = iterator()
val before: MutableList<T> = mutableListOf()
val after: MutableList<T> = mutableListOf()
for(t in it) {
if(f(t)) {
after += t
break
}
before += t
}
after.addAll(it.asSequence())
return before to after
}
private fun <T> MutableList<T>.unconsed() = first() to subList(1, lastIndex + 1)
private val stopList = setOf(
"e.g.", "i.e.", "w.r.t.", "ca.",
"cca.", "etc.", "f.", "ff.",
"i.a.", "Ph.D.", "Q.E.D.", "vs."
) // et.al. is commonly at the end of sentence => not here
private fun breakSentence(inlines: List<Inline>): Pair<List<Inline>, List<Inline>> {
fun isEndLine(i: Inline): Boolean = when {
i is Inline.Str
&& (i.text.endsWith(".") || i.text.endsWith("?") || i.text.endsWith("!"))
&& i.text !in stopList ->
true
i is Inline.LineBreak -> true
else -> false
}
val (ac, bc) = inlines.breakBy(::isEndLine)
if(bc.isEmpty()) return ac to emptyList()
if(bc.size == 1) return inlines to emptyList()
val (h, t_) = bc.unconsed()
val (h2, tail) = t_.unconsed()
when {
h2 is Inline.Space
|| h2 is Inline.SoftBreak
|| (h2 is Inline.Span && SENTENCE_CLASS in h2.attr.classes)
|| (h == Inline.Str(".")) && h2 is Inline.Str && h2.text.startsWith(")") -> {
ac += h
ac += h2
return ac to tail
}
(h is Inline.Str) && h.text.startsWith(".)")
|| (h is Inline.LineBreak) && h2 is Inline.Str && h2.text.startsWith(".") -> {
ac += h
tail.add(0, h2)
return ac to tail
}
else -> {
tail.add(0, h2)
val (dc, ec) = breakSentence(tail)
return (ac + h + dc) to ec
}
}
}
private fun splitSentences(inlines: List<Inline>): MutableList<List<Inline>> {
if(inlines.isEmpty()) return mutableListOf()
var (sent, rest) = breakSentence(inlines)
val res = mutableListOf(sent)
while(rest.isNotEmpty()) {
val (sent_, rest_) = breakSentence(rest)
rest = rest_
res += sent_
}
return res
}
private fun process(inlines: List<Inline>): List<Inline> =
splitSentences(inlines).map { Inline.Span(Attr(classes = listOf(SENTENCE_CLASS)), it) }
object SpecSentencesFilterVisitor : PandocVisitor() {
override fun visit(b: Block.Para): Block {
return Block.Div(
Attr(classes = listOf(PARAGRAPH_CLASS)),
listOf(b.copy(inlines = process(b.inlines)))
)
}
override fun visit(b: Block.Plain): Block {
return b.copy(inlines = process(b.inlines))
}
override fun visit(b: Block.Div): Block {
if(PARAGRAPH_CLASS in b.attr.classes) return b;
return super.visit(b)
}
override fun visit(i: Inline.Span): Inline {
if(SENTENCE_CLASS in i.attr.classes) return i
return super.visit(i)
}
}
fun main() = makeFilter(SpecSentencesFilterVisitor)
================================================
FILE: docs/src/main/kotlin/org/jetbrains/kotlin/spec/mathInCodeFilter.kt
================================================
package org.jetbrains.kotlin.spec
import ru.spbstu.pandoc.*
object MathInCode : PandocVisitor() {
override fun visit(b: Block.CodeBlock): Block {
b.attr.classes.any { it.endsWith("+math") } || return super.visit(b)
val newAttr = b.attr.copy(classes = b.attr.classes.map { it.replace("+math", "") })
val codeLines = b.text.lines()
val res = mutableListOf<Inline>()
for(line in codeLines) {
if("$$$" !in line) res += Inline.Code(attr = newAttr, text = line)
else {
for(chunk in line.split("$$$").chunked(2)) {
res += Inline.Code(attr = newAttr, text = chunk[0])
if(chunk.size > 1) {
res += Inline.Math(MathType.InlineMath, text = chunk[1].trimEnd().removeSuffix("$$$"))
}
}
}
res += Inline.LineBreak
}
return Block.Plain(res)
}
}
fun main() = makeFilter(MathInCode)
================================================
FILE: docs/src/main/kotlin/org/jetbrains/kotlin/spec/processTodoFilter.kt
================================================
package org.jetbrains.kotlin.spec
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.arguments.argument
import com.github.ajalt.clikt.parameters.arguments.convert
import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.option
import ru.spbstu.pandoc.*
private fun String.splitAt(index: Int) = substring(0, minOf(index, length)) to substring(minOf(index, length))
class SpecTodoFilterVisitor(val format: Format, val disableTODOS: Boolean) : PandocVisitor() {
fun makeInlineTODO(contents: List<Inline>): Inline? = when {
disableTODOS -> null
format.isLaTeX() -> {
Inline.Span(
Attr(classes = listOf("TODO")),
listOf(Inline.RawInline(Format.TeX, """\todo{""")) +
contents +
Inline.RawInline(Format.TeX, "}")
)
}
else -> Inline.Span(Attr(), listOf(
Inline.Span(Attr(classes = listOf("TODO")), contents),
Inline.Span(Attr(classes = listOf("TODO-marker")), listOf(Inline.Str("*")))
))
}
fun makeBlockTODO(contents: Block): Block = when {
disableTODOS -> Block.Null
format.isHTML() -> Block.Div(Attr(classes = listOf("TODO")), listOf(contents))
format.isLaTeX() ->
Block.Div(Attr(classes = listOf("TODO")),
listOf(
Block.RawBlock(Format.TeX, """\todo[inline]{"""),
contents,
Block.RawBlock(Format.TeX, """}""")
)
)
else -> contents
}
override fun visit(iis: List<Inline>, @Suppress("UNUSED") token: Inline?): List<Inline> {
val res: MutableList<Inline> = mutableListOf()
val transformed = super.visit(iis, token)
val it = transformed.iterator()
for(e in it) {
when {
e is Inline.Str && e.text.contains("(TODO") -> {
val (e1, e2) = e.text.splitAt(e.text.indexOf("(TODO"))
if(e1.isNotEmpty()) res.add(Inline.Str(e1))
val interm =
mutableListOf<Inline>()
var tail: Inline? = null
var levels = 0
val app = sequenceOf(Inline.Str(e2)) + it.asSequence()
outer@ for(e3 in app) {
if(e3 is Inline.Str) {
for((i, ch) in e3.text.withIndex()) {
when(ch) {
'(' -> ++levels
')' -> if(levels <= 1){
val (h, t) = e3.text.splitAt(i + 1)
interm.add(Inline.Str(h))
if (t.isNotEmpty()) tail = Inline.Str(t)
break@outer
} else --levels
}
}
}
interm.add(e3)
}
makeInlineTODO(interm)?.let { res.add(it) }
if(tail != null) res.add(tail)
}
else -> res.add(e)
}
}
return res
}
override fun visit(b: Block.Para): Block {
val sup = super.visit(b)
val first = b.inlines.firstOrNull()
if(first is Inline.Str && first.text.startsWith("TODO")) {
if(disableTODOS) return Block.Null
return makeBlockTODO(sup)
}
return sup
}
override fun visit(b: Block.Plain): Block {
val sup = super.visit(b)
val first = b.inlines.firstOrNull()
if(first is Inline.Str && first.text.startsWith("TODO")) {
return makeBlockTODO(sup)
}
return sup
}
}
object SpecTodoFilter : CliktCommand() {
val format: Format by argument("Pandoc output format").convert { Format(it) }
val disableTODOS: Boolean by option().flag("--enable-todos", default = false)
override fun run() {
makeFilter(SpecTodoFilterVisitor(format, disableTODOS))
}
}
fun main(args: Array<String>) = SpecTodoFilter.main(args)
================================================
FILE: docs/src/main/kotlin/org/jetbrains/kotlin/spec/splitDocument.kt
================================================
package org.jetbrains.kotlin.spec
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.convert
import com.github.ajalt.clikt.parameters.options.defaultLazy
import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.option
import kotlinx.warnings.Warnings
import ru.spbstu.pandoc.*
import ru.spbstu.pandoc.builder.BlockBuilder
import ru.spbstu.pandoc.builder.blocks
import ru.spbstu.pandoc.jackson.constructObjectMapper
import ru.spbstu.pandoc.jackson.readValue
import java.io.File
private class IdMapper(val splitLevel: Int) : PandocVisitor() {
var currentSection: String = ""
val entities: MutableMap<String, String> = mutableMapOf()
override fun visit(b: Block): Block =
super.visit(b).also {
if (b is Attributes && b.attr.id.isNotBlank()) entities["#${b.attr.id}"] = currentSection
}
override fun visit(i: Inline): Inline =
super.visit(i).also {
if (i is Attributes && i.attr.id.isNotBlank()) entities["#${i.attr.id}"] = currentSection
}
override fun visit(b: Block.Header): Block {
if (b.level <= splitLevel) currentSection = b.attr.id
return super.visit(b)
}
}
private class LinkFixer(splitLevel: Int, val format: String) : PandocVisitor() {
val ids: IdMapper = IdMapper(splitLevel)
val ext = if (format != "html") "pdf" else "html"
override fun visit(doc: Pandoc): Pandoc {
doc.accept(ids)
return super.visit(doc)
}
override fun visit(i: Inline.Link): Inline {
val targetId = i.target.v0
if (targetId in ids.entities) {
val sec = ids.entities[targetId]!!
return i.copy(target = i.target.copy(v0 = "${sec}.${ext}${targetId}"))
}
return super.visit(i)
}
}
val mapper = constructObjectMapper()
data class Section(val title: String, val number: Int?, val blocks: MutableList<Block> = mutableListOf())
data class TOCElement(val title: List<Inline>,
val id: String,
val numbered: Boolean = true,
val subSections: MutableList<TOCElement> = mutableListOf()) {
fun add(level: Int, title: List<Inline>, id: String, numbered: Boolean = true): Unit = when (level) {
0 -> subSections += TOCElement(title, id, numbered = numbered)
else -> {
when {
subSections.isEmpty() -> subSections.add(TOCElement(listOf(), ""))
}
subSections.last().add(level - 1, title, id, numbered = numbered)
}
}
fun toPandocList(): List<Block> = blocks { toPandocList(this@TOCElement) }
}
fun BlockBuilder.toPandocList(tocElement: TOCElement): Unit = with(tocElement) {
if (title.isNotEmpty()) {
plain {
link(Target("#${id}", "")) {
classes += "toc-element"
if (!numbered) classes += "unnumbered"
id = "toc-element-${this@with.id}"
+title
}
}
}
if (subSections.isNotEmpty()) {
bulletList {
for (subSec in subSections) {
item {
toPandocList(subSec)
}
}
}
}
}
class TOCMaker : PandocVisitor() {
val fakeTop = TOCElement(listOf(), "top")
/* this is a shallow visitor, not going below level 1 */
override fun visit(b: Block): Block =
@Suppress(Warnings.USELESS_CAST)
if (b is Block.Header) visit(b as Block.Header)
else b
override fun visit(b: Block.Header): Block {
fakeTop.add(b.level, b.text, b.attr.id, numbered = "unnumbered" !in b.attr.classes)
return b
}
fun buildPandocList(): Block =
fakeTop
.toPandocList()
.filterIsInstance<Block.BulletList>()
.first()
.items
.first()
.let { Block.Div(Attr(id = "TOC"), it) }
}
fun counterName(splitLevel: Int): String? = when (splitLevel) {
1 -> "part"
2 -> "chapter"
3 -> "section"
4 -> "subsection"
5 -> "subsubsection"
6 -> "paragraph"
else -> null
}
fun setSectionCounterLatex(secNumber: Int, splitLevel: Int): Block {
val counterName = counterName(splitLevel) ?: return Block.Null
return Block.RawBlock(Format.TeX, """\setcounter{$counterName}{${secNumber - 1}}""")
}
fun setSectionCounterHtml(secNumber: Int, splitLevel: Int): Block {
val counterName = counterName(splitLevel) ?: return Block.Null
return Block.RawBlock(Format.HTML, """<span style="visibility: hidden; counter-reset: $counterName ${secNumber - 1};"></span>""")
}
class Splitter(val outputDirectory: File, val format: String, val generateTOC: Boolean, val splitLevel: Int = 2) : PandocVisitor() {
override fun visit(doc: Pandoc): Pandoc {
val linkFixer = LinkFixer(splitLevel, format)
val newDoc = linkFixer.visit(doc)
val generatedTOC = when {
generateTOC -> TOCMaker()
.apply { visit(doc) }
.buildPandocList()
.let { linkFixer.visit(it) }
else -> null
}
val blockIt = newDoc.blocks.iterator()
val preamble = mutableListOf<Block>()
val sections = mutableListOf<Section>()
var secNumber = 0
for (block in blockIt) {
if (block is Block.Header && block.level <= splitLevel) {
if ("unnumbered" !in block.attr.classes && block.level == splitLevel) {
sections.add(Section(block.attr.id, ++secNumber))
} else {
sections.add(Section(block.attr.id, null))
}
sections.last().blocks.add(block)
break
}
preamble += block
}
for (block in blockIt) {
if (block is Block.Header && block.level <= splitLevel) {
if ("unnumbered" !in block.attr.classes && block.level == splitLevel) {
sections.add(Section(block.attr.id, ++secNumber))
} else {
sections.add(Section(block.attr.id, null))
}
}
sections.last().blocks.add(block)
}
for ((sectionTitle, sectionNumber, sectionBlocks) in sections) {
val secDoc = newDoc.copy(
blocks = blocks {
+preamble
if (generatedTOC != null) +generatedTOC
when {
sectionNumber == null -> {
}
format == "html" -> +setSectionCounterHtml(sectionNumber, splitLevel)
else -> +setSectionCounterLatex(sectionNumber, splitLevel)
}
+sectionBlocks
}
)
File(outputDirectory, "$sectionTitle.json").bufferedWriter().use {
mapper.writeValue(it, secDoc)
}
}
return doc // not actually a filter
}
}
private object SplitDocument : CliktCommand() {
val format: String by option("-f", "--format", help = "Format to use").defaultLazy { "html" }
val outputDirectory: File by option().convert { File(it) }.defaultLazy { File(".") }
val generateTOC: Boolean by option().flag("--toc")
override fun run() {
val doc: Pandoc = mapper.readValue(System.`in`)
outputDirectory.mkdirs()
Splitter(outputDirectory, format, generateTOC).visit(doc)
}
}
fun main(args: Array<String>) = SplitDocument.main(args)
================================================
FILE: docs/src/md/commands.md
================================================
<#mode quote>
\newcommand{\currentKotlinMajorVersion}{\textrm{1.9}}
\newcommand{\opMathTT}[2]{%
\expandafter\newcommand{#1}{\operatorname{\texttt{#2}}}%
}
\newcommand{\opMathIT}[2]{%
\expandafter\newcommand{#1}{\operatorname{\mathit{#2}}}%
}
\newcommand{\opMathTEXT}[2]{%
\expandafter\newcommand{#1}{\operatorname{\text{#2}}}%
}
\newcommand{\llbracket}{\left[\!\left[}
\newcommand{\rrbracket}{\right]\!\right]}
\newcommand{\sbn}{\mathrel{\operatorname{\stackrel{null}{<:}}}}
\newcommand{\sbnn}{\mathrel{\operatorname{\stackrel{!}{<:}}}}
\newcommand{\amp}{\mathbin{\operatorname{\&}}}
\newcommand{\hor}{\mathbin{\operatorname{|}}}
\newcommand{\sur}{\mathrel{\operatorname{\cancel{<:>}}}}
\newcommand{\notSubtype}{\mathrel{\operatorname{\cancel{<:}}}}
\newcommand{\Ss}{\mathbb{S}}
\opMathTEXT{\LUB}{LUB}
\opMathTEXT{\GLB}{GLB}
\opMathTT{\outV}{out\,}
\opMathTT{\invV}{inv\,}
\opMathTT{\inV}{in\,}
\opMathTT{\Any}{kotlin.Any}
\opMathTT{\AnyQ}{kotlin.Any?}
\opMathTT{\Nothing}{kotlin.Nothing}
\opMathTT{\NothingQ}{kotlin.Nothing?}
\opMathTT{\Unit}{kotlin.Unit}
\opMathTT{\Function}{kotlin.Function}
\opMathTT{\suspend}{suspend}
\opMathTEXT{\FunctionN}{FunctionN}
\opMathTEXT{\FT}{FT}
\opMathTEXT{\FTR}{FTR}
\opMathTEXT{\RT}{RT}
\opMathTEXT{\CSB}{CSB}
\opMathTT{\Array}{kotlin.Array}
\opMathTT{\Double}{kotlin.Double}
\opMathTT{\Float}{kotlin.Float}
\opMathTT{\Long}{kotlin.Long}
\opMathTT{\Int}{kotlin.Int}
\opMathTT{\Short}{kotlin.Short}
\opMathTT{\Byte}{kotlin.Byte}
\opMathTT{\Char}{kotlin.Char}
\opMathTT{\Boolean}{kotlin.Boolean}
\opMathTT{\Enum}{kotlin.Enum}
\opMathTEXT{\ATS}{ATS}
\opMathTEXT{\ILT}{ILT}
\opMathTEXT{\Widen}{Widen}
\opMathTEXT{\PD}{PD}
\opMathTEXT{\ND}{ND}
\opMathTEXT{\ID}{ID}
\opMathIT{\ptor}{ptor}
\opMathIT{\stor}{stor}
\opMathIT{\init}{init}
\opMathIT{\prop}{prop}
\opMathIT{\md}{md}
\opMathIT{\companionObj}{companionObj}
\opMathIT{\nested}{nested}
\opMathIT{\dataClass}{dataClass}
\opMathIT{\dataClassParam}{dp}
\opMathIT{\dataObject}{dataObject}
\opMathIT{\name}{name}
\opMathIT{\type}{type}
\opMathTEXT{\SmartCastData}{SmartCastData}
\opMathTEXT{\Expression}{Expression}
\opMathTEXT{\SmartCastType}{SmartCastType}
\opMathTEXT{\Type}{Type}
\opMathTEXT{\Nullability}{Nullability}
\newcommand{\join}{\sqcup}
\newcommand{\meet}{\sqcap}
\opMathTT{\is}{is}
\opMathTT{\notIs}{!is}
\opMathTT{\as}{as}
\opMathTT{\notAs}{!as}
\opMathTT{\eqq}{==}
\opMathTT{\notEqq}{!\!\!=}
\opMathTT{\refEqq}{===}
\opMathTT{\notRefEqq}{!\!\!==}
\opMathIT{\assume}{assume}
\opMathIT{\killDataFlow}{killDataFlow}
\opMathTT{\backedge}{backedge}
\opMathIT{\swap}{swap}
\opMathIT{\isNullable}{isNullable}
\opMathIT{\smartCastTypeOf}{smartCastTypeOf}
\opMathIT{\typeOf}{typeOf}
\opMathIT{\approxNegationType}{approxNegationType}
\opMathIT{\Assigned}{Assigned}
\opMathIT{\Unassigned}{Unassigned}
\newcommand{\coroutineSuspended}{\texttt{COROUTINE\_SUSPENDED}}
================================================
FILE: docs/src/md/dynamic_math.html
================================================
<script type="text/javascript">
require([
"resources/js/katex/katex.min.js"
], katex => {
let render = () => {
let mathElements = document.getElementsByClassName("math");
let macros = [];
for (let i = 0; i < mathElements.length; i++) {
let texText = mathElements[i].firstChild;
if (mathElements[i].tagName == "SPAN") {
katex.render(texText.data, mathElements[i], {
displayMode: mathElements[i].classList.contains("display"),
throwOnError: false,
macros: macros,
fleqn: false
});
}
}
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", render);
} else {
render();
}
});
</script>
================================================
FILE: docs/src/md/epilogue.html
================================================
================================================
FILE: docs/src/md/index.md
================================================
<#mode quote>
---
title: Kotlin language specification
author:
- Marat Akhin
- Mikhail Belyaev
subtitle: Version 1.9-rfc+0.1
---
<#include "commands.md">
<#include "kotlin.core/index.md">
================================================
FILE: docs/src/md/kotlin.core/annotations.md
================================================
## Annotations
Annotations are a form of syntactically-defined metadata which may be associated with different entities in a Kotlin program.
Annotations are specified in the source code of the program and may be accessed on a particular platform using platform-specific mechanisms both by the compiler (and source-processing tools) and at runtime (using [reflection][Reflection] facilities).
Values of annotation types can also be created directly, but are usually operated on using platform-specific facilities.
> Note: before Kotlin 1.6, annotation types could not be created directly.
### Annotation values
An annotation value is a value of a special [annotation type][Annotation declarations].
An annotation type is a special kind of class type which is allowed to include read-only properties of the following types:
- [Integer types][Built-in integer types];
- [Enum types][Enum class declaration];
- [String type][`kotlin.String`];
- Other annotation types;
- [Arrays][Array types] of any type listed above.
> Important: when we say "other annotation types", we mean an annotation type cannot reference itself, either directly or indirectly.
> For example, if annotation type `A` references annotation type `B` which references an array of `A`, it is prohibited and reported as a compile-time error.
Annotation classes are not allowed to have any member functions, constructors or mutable properties.
They are also not allowed to have declared supertypes and are considered to be implicitly derived from `kotlin.Annotation`.
### Annotation retention
The retention level of an annotation declares which compilation artifacts (for a particular compiler on a particular platform) *retain* this kind of annotation.
There are the following types of retention available:
- Source retention (accessible by source-processing tools);
- Binary retention (retained in compilation artifacts);
- Runtime retention (accessible at runtime).
> Each subsequent level inherits what is accessible on the previous levels.
For availability and particular ways of accessing the metadata specified by these annotations please refer to the corresponding platform-specific documentation.
### Annotation targets
The *target* of a particular type of annotations is the kind of program entity which this annotations may be placed on.
There are the following targets available:
- A [class declaration][Class declaration] (including annotation classes);
- An [annotation class declaration][Annotation class declaration];
- A [type parameter][Type parameters];
- A [property declaration][Property declaration];
- A [property backing field][Getters and setters];
- A [property getter][Getters and setters];
- A [property setter][Getters and setters];
- A [local property declaration][Local property declaration];
- A value parameter in [function][Function declaration] or [constructor][Constructor declaration] declaration;
- A [constructor][Constructor declaration];
- A [function declaration][Function declaration];
- A [type][Type system] usage;
- An arbitrary [expression][Expressions];
- A [Kotlin file][Scopes and identifiers];
- A [type alias declaration][Type alias].
### Annotation declarations
Annotations are declared using [annotation class declarations][Annotation class declaration].
See the corresponding section for details.
Annotations may be declared *repeatable* (meaning that the same annotation may be applied to the same entity more than once) or *non-repeatable* (meaning that only one annotation of a particular type may be applied to the same entity).
### Built-in annotations
#### `kotlin.annotation.Retention`
`kotlin.annotation.Retention` is an annotation which is only used on annotation classes to specify their annotation retention level.
It has the following single field:
* ```kotlin
val value: AnnotationRetention = AnnotationRetention.RUNTIME
```
The retention level of the annotated annotation.
`kotlin.annotation.AnnotationRetention` is an enum class with the following values (see [Annotation retention section][Annotation retention] for details):
* `SOURCE`;
* `BINARY`;
* `RUNTIME`.
#### `kotlin.annotation.Target`
`kotlin.annotation.Target` is an annotation which is only used on annotation classes to specify targets those annotations are valid for.
It has the following single field:
* ```kotlin
vararg val allowedTargets: AnnotationTarget
```
The allowed annotation targets of the annotated annotation.
`kotlin.annotation.AnnotationTarget` is an enum class with the following values (see [Annotation targets section][Annotation targets] for details):
* `CLASS`;
* `ANNOTATION_CLASS`;
* `TYPE_PARAMETER`;
* `PROPERTY`;
* `FIELD`;
* `LOCAL_VARIABLE`;
* `VALUE_PARAMETER`;
* `CONSTRUCTOR`;
* `FUNCTION`;
* `PROPERTY_GETTER`;
* `PROPERTY_SETTER`;
* `TYPE`;
* `EXPRESSION`;
* `FILE`;
* `TYPEALIAS`.
#### `kotlin.annotation.Repeatable`
`kotlin.annotation.Repeatable` is an annotation which is only used on annotation classes to specify whether this particular annotation is repeatable.
Annotations are non-repeatable by default.
#### `kotlin.RequiresOptIn` / `kotlin.OptIn`
`kotlin.RequiresOptIn` is an annotation class with two fields:
* ```kotlin
val message: String = ""
```
The message describing the particular opt-in requirements.
* ```kotlin
val level: Level = Level.ERROR
```
The severity level of the experimental status with two possible values: `Level.WARNING` and `Level.ERROR`.
This annotation is used to introduce implementation-defined experimental language or standard library features.
`kotlin.OptIn` is an annotation class with a single field:
* ```kotlin
vararg val markerClass: KClass<out Annotation>
```
The classes which this annotation allows to use.
This annotation is used to explicitly mark declarations which use experimental features marked by `kotlin.RequiresOptIn`.
It is implementation-defined how this annotation is processed.
> Note: before Kotlin 1.4.0, there were two other built-in annotations: `@Experimental` (now replaced by `@RequiresOptIn`) and `@UseExperimental` (now replaced by `@OptIn`) serving the same purpose which are now deprecated.
#### `kotlin.Deprecated` / `kotlin.ReplaceWith`
`kotlin.Deprecated` is an annotation class with the following fields:
* ```kotlin
val message: String
```
A message supporting the deprecation.
* ```kotlin
val replaceWith: ReplaceWith = ReplaceWith("")
```
An optional replacement for the deprecated code.
* ```kotlin
val level: DeprecationLevel = DeprecationLevel.WARNING
```
The deprecation level with three possible values: `DeprecationLevel.WARNING`, `DeprecationLevel.ERROR` and `DeprecationLevel.HIDDEN`.
`kotlin.ReplaceWith` is itself an annotation class containing the information on how to perform the replacement in case it is provided.
It has the following fields:
* ```kotlin
val expression: String
```
The replacement code.
* ```kotlin
vararg val imports: String
```
An array of imports needed for the replacement code to work correctly.
`kotlin.Deprecated` is a built-in annotation supporting the deprecation cycle for declarations: marking some declarations as outdated, soon to be replaced with other declarations, or not recommended for use.
It is implementation-defined how this annotation is processed, with the following recommendations:
* Attempting to use a declaration with deprecation level of `DeprecationLevel.WARNING` should produce a compile-time warning;
* Attempting to use a declaration with deprecation level of `DeprecationLevel.ERROR` should produce a compile-time error.
#### `kotlin.Suppress`
`kotlin.Suppress` is an annotation class with the following single field:
* ```kotlin
vararg val names: String
```
The names of features this annotation is suppressing.
`kotlin.Suppress` is used to optionally mark any piece of code as suppressing some language feature, such as a compiler warning, an IDE mechanism or a language feature.
The names of features which one can suppress with this annotation are implementation-defined, as is the processing of this annotation itself.
#### `kotlin.SinceKotlin`
`kotlin.SinceKotlin` is an annotation class with the following single field:
* ```kotlin
val version: String
```
The version of Kotlin language.
`kotlin.SinceKotlin` is used to mark a declaration which is only available since a particular version of the language.
These mostly refer to standard library declarations.
It is implementation-defined how this annotation is processed.
#### `kotlin.UnsafeVariance`
`kotlin.UnsafeVariance` is an annotation class with no fields which is only applicable to types.
Any type instance marked by this annotation explicitly states that the [variance][Type parameter variance] errors arising for this particular type instance are to be ignored by the compiler.
#### `kotlin.DslMarker`
`kotlin.DslMarker` is an annotation class with no fields which is applicable only to other annotation classes.
An annotation class annotated with `kotlin.DslMarker` is marked as a marker of a specific DSL (domain-specific language).
Any type annotated with such a marker is said to belong to that specific DSL.
This affects [overload resolution][Overload resolution] in the following way: no two implicit receivers with types belonging to the same DSL are available in the same scope.
See [Overload resolution section][Receivers] for details.
#### `kotlin.PublishedApi`
`kotlin.PublishedApi` is an annotation class with no fields which is applicable to any declaration.
It may be applied to any declaration with `internal` visibility to make it available to `public` `inline` declarations.
See [Declaration visibility section][Declaration visibility] for details.
#### `kotlin.BuilderInference`
Marks the annotated function of function argument as eligible for [builder-style type inference][Builder-style type inference].
See corresponding section for details.
> Note: as of Kotlin $\currentKotlinMajorVersion{}$, this annotation is experimental and, in order to use it in one's code, one must explicitly enable it using opt-in annotations given above.
> The particular marker class used to perform this is implementation-defined.
#### `kotlin.RestrictSuspension`
In some cases we may want to limit which [suspending functions] can be called in another suspending function with an extension receiver of a specific type; i.e., if we want to provide a coroutine-enabled DSL, but disallow the use of arbitrary suspending functions.
To do so, the type `T` of that extension receiver needs to be annotated with `kotlin.RestrictSuspension`, which enables the following limitations.
* Suspending functions with an extension receiver of type `T` are restricted from calling other suspending functions besides those accessible on this receiver.
* Suspending functions of type `T` can be called only on an extension receiver.
#### `kotlin.OverloadResolutionByLambdaReturnType`
This annotation is used to allow using lambda return type to refine [function applicability][Determining function applicability for a specific call] during [overload resolution].
Further details are available in the [corresponding section][Using lambda return type to refine function applicability].
> Note: as of Kotlin $\currentKotlinMajorVersion{}$, this annotation is experimental and, in order to use it in one's code, one must explicitly enable it using opt-in annotations given above.
> The particular marker class used to perform this is implementation-defined.
================================================
FILE: docs/src/md/kotlin.core/builtins.md
================================================
## Built-in types and their semantics
Kotlin has several built-in classifier types, which are important for the rest of this document.
Some information about these types is given in the [type system section][Built-in types], here we extend it with additional non-type-system-relevant details.
> Note: these types may have regular declarations in the standard library, but they also introduce semantics not representable via Kotlin source code.
In this section we describe these types and their semantics.
> Note: this section is not meant to be a detailed description of all types available in the standard library, for that please refer to the standard library documentation.
### `kotlin.Any` {#kotlin.any-builtins}
Besides being the [unified supertype][`kotlin.Any`-typesystem] of all non-nullable types, $\Any$ must also provide the following methods.
- ```kotlin
public open operator fun equals(other: Any?): Boolean
```
Returns `true` iff a value is equal to some other value.
Implementations of `equals` must satisfy the properties of reflexivity (`x.equals(x)` is always true), symmetry (`x.equals(y) == y.equals(x)`), transitivity (if `x.equals(y)` is true and `y.equals(z)` is true, `x.equals(z)` is also true) and consistency (`x.equals(y)` should not change its result between multiple invocations).
A non-null value also must never be considered equal to `null`, i.e., `x.equals(null)` must be `false`.
- ```kotlin
public open fun hashCode(): Int
```
Returns the hash code for a value.
Implementations of `hashCode` must satisfy the following property: if two values are equals w.r.t. `equals`, `hashCode` must consistently produce the same result.
- ```kotlin
public open fun toString(): String
```
Returns a string representation of a value.
[`kotlin.Any`-typesystem]: #kotlin.any-typesystem
### `kotlin.Nothing` {#kotlin.nothing-builtins}
$\Nothing$ is an [uninhabited type][`kotlin.Nothing`-typesystem], which means the evaluation of an expression with $\Nothing$ type can never complete normally.
Therefore, it is used to mark special situations, such as
* non-terminating expressions
* exceptional control flow
* control flow transfer
Further details about how $\Nothing$ should be handled are available [here][Control- and data-flow analysis] and [here][Type inference].
[`kotlin.Nothing`-typesystem]: #kotlin.nothing-typesystem
### `kotlin.Unit`
$\Unit$ is a unit type, i.e., a type with only one value $\Unit$; all values of type $\Unit$ should reference the same underlying $\Unit$ object.
It is somewhat similar in purpose to `void` return type in other programming languages in that it signifies an *absence of a value* (i.e. the returned type for a function returning nothing), but is different in that there is, in fact, a single value of this type.
### `kotlin.Boolean`
`kotlin.Boolean` is the boolean logic type of Kotlin, representing a value which may be either `true` or `false`.
It is the type of [boolean literals][Boolean literals] as well as the type returned or expected by some built-in Kotlin operators.
### Built-in integer types {#built-in-integer-types-builtins}
Kotlin has several built-in classifier types, which represent signed integer numbers of different bit size.
These types are important w.r.t. [type system][Built-in integer types-typesystem] and [integer literals][Integer literals].
Every built-in integer type `I` is a subtype of [`kotlin.Comparable<I>`][`kotlin.Comparable`].
The signed integer types are the following.
* `kotlin.Int`
* `kotlin.Short`
* `kotlin.Byte`
* `kotlin.Long`
> Note: Kotlin does not have a built-in arbitrary-precision integer type.
> Note: Kotlin does not have any built-in unsigned integer types.
TODO([Kotlin 1.3+, Experimental] Add unsigned types)
These types may or may not have different runtime representations, depending on the used platform and/or implementation.
Consult the specific platform reference for further details.
`kotlin.Int` is the type of integer numbers that is required to be able to hold the values at least in the range from $-2^{31}$ to $2^{31} - 1$.
If an arithmetic operation on `kotlin.Int` results in arithmetic overflow, the result is unspecified.
`kotlin.Short` is the type of integer numbers that is required to be able to hold the values at least in the range from $-2^{15}$ to $2^{15} - 1$.
If an arithmetic operation on `kotlin.Short` results in arithmetic overflow, the result is unspecified.
`kotlin.Byte` is the type of integer numbers that is required to be able to hold the values at least in the range from $-2^{7}$ to $2^{7} - 1$.
If an arithmetic operation on `kotlin.Byte` results in arithmetic overflow, the result is unspecified.
`kotlin.Long` is the type of integer numbers that is required to be able to hold the values at least in the range from $-2^{63}$ to $2^{63} - 1$.
If an arithmetic operation on `kotlin.Long` results in arithmetic overflow, the result is unspecified.
> Note: by "arithmetic overflow" we assume both positive and negative integer overflows.
> Important: a platform implementation may specify behaviour for an arithmetic overflow.
[Built-in integer types-typesystem]: #built-in-integer-types-typesystem
#### Integer type widening
In [overload resolution][Overload resolution], we actually have a priority between built-in integer types which is very similar to a [subtyping] relation between these types; however, this priority is important only w.r.t. overload resolution and does not entail any actual subtyping between built-in integer types.
In order to introduce this priority we describe a type transformation called *widening* of integer types.
$\Widen(T)$ for a built-in integer type $T$ is defined as follows:
- $\Widen(\Int) = \Int \amp \Short \amp \Byte \amp \Long$
- $\Widen(\Short) = \Short \amp \Byte$
- $\Widen(T) = T$ for any other $T$
> Informally: $\Widen$ means, for the purposes of overload resolution, $\Int$ is preferred over any other built-in integer type and $\Short$ is preferred to $\Byte$.
> Using $\Widen$, we can reduce this priority to subtyping: $T$ is more preferred than $U$ if $\Widen(T) <: \Widen(U)$; this scheme allows to handle built-in integer types transparently when selecting the [most specific overload candidate][Algorithm of MSC selection].
>
> For example, consider the following two functions:
>
> ```kotlin
> fun foo(value: Int) = 1
> fun foo(value: Short) = 2
>
> ...
>
> foo(2)
> ```
>
> As the integer literal 2 has a type that is applicable for both versions of `foo` (see [Overload resolution section][Overload resolution] for details) and the types `kotlin.Int` and `kotlin.Short` are not related w.r.t. subtyping, it would not be possible to select a more specific candidate out of the two.
> However, if we consider $\Widen(\Int)$ and $\Widen(\Short)$ respectively as the types of `value`, first candidate becomes more specific than the second, because $\Widen(\Int) <: \Widen(\Short)$.
### Built-in floating point arithmetic types
There are two built-in classifier types which represent floating-point numbers: `kotlin.Float` and `kotlin.Double`.
These types may or may not have different runtime representations, depending on the used platform and/or implementation.
Consult the specific platform reference for further details.
`kotlin.Float` is the type of floating-point number that is able to contain all the numbers as a [IEEE 754][IEEE754] single-precision binary floating number with the same precision.
`kotlin.Float` is a subtype of [`kotlin.Comparable<kotlin.Float>`][`kotlin.Comparable`].
`kotlin.Double` is the type of floating-point number that is able to contain all the numbers as a [IEEE 754][IEEE754] double-precision binary floating number with the same precision.
`kotlin.Double` is a subtype of [`kotlin.Comparable<kotlin.Double>`][`kotlin.Comparable`].
TODO([Kotlin.JVM] Specify IEEE 754 quirks w.r.t. smart casts, cc @dmitry.petrov)
Platform implementations may give additional information on how these types are represented on a particular platform.
[IEEE754]: https://ieeexplore.ieee.org/document/8766229
### `kotlin.Char`
`kotlin.Char` is the built-in classifier type which represents a single Unicode symbol in [UCS-2][UCS-2] character encoding.
It is the type of [character literals][Character literals].
> Important: a platform implementation may *extend* the supported character encodings, e.g., to UTF-16.
### `kotlin.String`
`kotlin.String` is the built-in classifier type which represents a sequence of Unicode symbol in [UCS-2][UCS-2] character encoding.
It is the type of the result of [string interpolation][String interpolation expressions].
> Important: a platform implementation may *extend* the supported character encodings, e.g., to UTF-16.
[UCS-2]: https://standards.iso.org/ittf/PubliclyAvailableStandards/c069119_ISO_IEC_10646_2017.zip
### `kotlin.Enum`
`kotlin.Enum<T>` is the built-in parameterized classifier type which is used as a superclass for all [enum classes][Enum class declaration]: every enum class `E` is implicitly a subtype of `kotlin.Enum<E>`.
`kotlin.Enum<T>` has the following characteristics.
* `kotlin.Enum<T>` is a subtype of [`kotlin.Comparable<T>`][`kotlin.Comparable`]
`kotlin.Enum<T>` provides the following properties.
* ```kotlin
public final val name: String
```
Contains the name of this enumeration constant, exactly as declared in its declaration.
* ```kotlin
public final val ordinal: Int
```
Contains the ordinal of this enumeration constant, i.e., its position in the declaration, starting from zero.
`kotlin.Enum<T>` provides the following member functions.
* ```kotlin
public override final fun compareTo(other: T): Int
```
The implementation of `kotlin.Comparable`.
The result of `a.compareTo(b)` for enum class instances `a` and `b` is equivalent to `a.ordinal.compareTo(b.ordinal)`.
* ```kotlin
public override final fun equals(other: Any?): Boolean
```
* ```kotlin
public override final fun hashCode(): Int
```
These member functions are defined to their default behaviour: only the same entry of an enum class is equal to itself and no other object.
Hash implementation is required to be consistent, but unspecified.
> Note: the presence of these final member functions ensures the semantics of equality and comparison for the enumeration objects, as they cannot be overridden by the user.
* ```kotlin
protected final fun clone(): Any
```
Throws an unspecified exception.
> Note: the `clone()` implementation throws an exception, as enumeration objects cannot be copied and on some platforms `clone` function serves for copying.
### Built-in array types
`kotlin.Array<T>` is the built-in parameterized classifier type which is used to represent an indexed fixed-size collection of elements of type `T`.
It is final (i.e., cannot be inherited from) and has the following public constructor.
* ```kotlin
public inline constructor(size: Int, init: (Int) -> T)
```
Creates a new array with the specified size, where each element is calculated by calling the specified `init` function with the corresponding element's index.
The function `init` is called for each array element sequentially starting from the first one.
This constructor is special in two ways: first, it is `inline` and inline constructors are not generally allowed in Kotlin.
Second, it is required for the parameter `T` to be instantiated with a [runtime-available type][Runtime-available types].
`kotlin.Array<T>` provides the following methods and properties.
* ```kotlin
public operator fun get(index: Int): T
```
Returns the array element at the specified index.
If the [index] is out of bounds of this array, throws an `IndexOutOfBoundsException`.
* ```kotlin
public operator fun set(index: Int, value: T): Unit
```
Sets the array element at the specified index to the specified value.
If the [index] is out of bounds of this array, throws an `IndexOutOfBoundsException`.
* ```kotlin
public val size: Int
```
Returns the array size.
* ```kotlin
public operator fun iterator(): Iterator<T>
```
Creates an [iterator][Iterator types] for iterating over the elements of the array.
#### Specialized array types
In addition to the general `kotlin.Array<T>` type, Kotlin also has the following specialized array types:
* `kotlin.DoubleArray` (for `kotlin.Array<kotlin.Double>`)
* `kotlin.FloatArray` (for `kotlin.Array<kotlin.Float>`)
* `kotlin.LongArray` (for `kotlin.Array<kotlin.Long>`)
* `kotlin.IntArray` (for `kotlin.Array<kotlin.Int>`)
* `kotlin.ShortArray` (for `kotlin.Array<kotlin.Short>`)
* `kotlin.ByteArray` (for `kotlin.Array<kotlin.Byte>`)
* `kotlin.CharArray` (for `kotlin.Array<kotlin.Char>`)
* `kotlin.BooleanArray` (for `kotlin.Array<kotlin.Boolean>`)
These array types are similar to the corresponding `kotlin.Array<T>` type; i.e., `kotlin.IntArray` has the same methods and properties as `kotlin.Array<Int>`, with the following changes.
* ```kotlin
public constructor(size: Int)
```
Creates a new array with the specified size, where each element is set to the corresponding built-in type default value.
> Note: default values are platform-specific.
* ```kotlin
public operator fun iterator(): {TYPE}Iterator
```
Creates a [specialized iterator][Specialized iterator types] for iterating over the elements of the array.
### Iterator types
`kotlin.Iterator<out T>` is the built-in parameterized classifier type which is used to represent a sequence of elements of type `T`, allowing for sequential access to these elements.
It provides the following methods.
* ```kotlin
public operator fun next(): T
```
Returns the next element in the sequence.
* ```kotlin
public operator fun hasNext(): Boolean
```
Returns `true` if the sequence has more elements.
#### Specialized iterator types
Specialized iterator types are iterator types used for [specialized array types][Specialized array types].
They inherit `kotlin.Iterator<out T>` for their type (i.e., `kotlin.CharIterator` inherits `kotlin.Iterator<Char>`) and provide the following methods.
* ```kotlin
public operator fun next{TYPE}(): {TYPE}
```
Returns the next element in the sequence as a specific type.
> Note: this additional method allows the compiler and/or developer to avoid unneeded platform-specific boxing/unboxing conversions.
### `kotlin.Throwable`
`kotlin.Throwable` is the built-in classifier type that is the base type of all [exception types][Exceptions].
Any value that is used in a [`throw` expression][Throw expressions] must have a static type that is a subtype of `kotlin.Throwable`.
Any type that is used in a `catch` part of the [`try` expression][Try-expressions] must be a subtype of (or equal to) `kotlin.Throwable`.
It provides at least the following properties:
* ```kotlin
public val message: String?
```
An optional message depicting the cause of the throw.
* ```kotlin
public val cause: Throwable?
```
An optional other value of type `kotlin.Throwable` allowing for nested throwables to be constructed.
Other members may exist, please refer to the standard library documentation for details.
No subtype of `kotlin.Throwable` is allowed to have type parameters.
Declaring such a type is a compile-time error.
### `kotlin.Comparable`
`kotlin.Comparable<in T>` is a built-in parameterized type which represents values that may be compared for total ordering.
It provides the following member function:
```kotlin
public operator fun compareTo(other: T): Int
```
This function is used to implement [comparison operators][Comparison expressions] through [overloadable operator convention][Operator overloading] for standard library classes.
> Note: a type is not required to be a subtype of `kotlin.Comparable` in order to implement total ordering operations
### `kotlin.Function` {#kotlin.function-builtins}
`kotlin.Function<out R>` is the base classifier type of all [function types][Function types].
See the relevant section for details.
### Built-in annotation types
Kotlin has a number of built-in [annotation types][Annotations], which are covered in more detail [here][Built-in annotations].
### Reflection support builtin types
#### `kotlin.reflect.KClass`
`kotlin.reflect.KClass<T: Any>` is the class used to represent runtime type information for [runtime-available classifier types][Runtime-available types].
It is also used in platform-specific reflection facilities.
This is the type of [class literals][Class literals].
This type is required to introduce `equals` and `hashCode` member function implementations (see [`kotlin.Any`][`kotlin.Any`]) that allow for comparison and hashing of runtime type information, e.g., that class literals are equal if they represent the same runtime type and not equal otherwise.
Platform definitions, as well as particular implementations, may introduce additional members for this type.
#### `kotlin.reflect.KCallable`
`kotlin.reflect.KCallable<out R>` is the class used to represent runtime information for callables (i.e. properties and functions).
It is mainly used as base type for other types described in this section.
It provides at least the following property:
```kotlin
public val name: String
```
This property contains the name of the callable.
Other members or base types for this class may be provided by platform and/or implementation.
#### `kotlin.reflect.KProperty`
`kotlin.reflect.KProperty<out R>` is the class used to represent runtime information for [properties][Property declaration].
It is the base type of [property references][Callable references].
This type is used in [property delegation][Delegated property declaration].
`kotlin.reflect.KProperty<R>` is a subtype of `kotlin.reflect.KCallable<R>`.
Other members or base types for this class may be provided by platform and/or implementation.
#### `kotlin.reflect.KFunction`
`kotlin.reflect.KFunction<out R>` is the class used to represent runtime information for [functions][Function declaration].
It is the base type of [function references][Callable references].
`kotlin.reflect.KFunction<R>` is a subtype of `kotlin.reflect.KCallable<R>` and `kotlin.Function<R>`.
Other members or base types for this class may be provided by platform and/or implementation.
================================================
FILE: docs/src/md/kotlin.core/cdfa.md
================================================
## Control- and data-flow analysis
Several Kotlin features such as [variable initialization analysis] and [smart casting analysis] require performing control- and data-flow analyses.
This section describes them and their applications.
### Control flow graph
We define all control-flow analyses for Kotlin on a classic model called a control-flow graph (CFG).
A CFG of a program is a graph which loosely defines all feasible paths the flow of a particular program can take during execution.
All CFGs given in this section are *intraprocedural*, meaning that they describe the flow inside a *single* function, not taking function calls into account.
CFG may, however, include multiple function bodies if said functions are *declared* inside each other (as is the case for [lambdas][Lambda literals]).
The following sections describe CFG *fragments* associated with a particular Kotlin code construct.
These fragments are introduced using visual notation rather than relational notation to simplify the understanding of the graph structure.
To represent intermediate values created during computation, we use *implicit registers*, denoted `$1`, `$2`, `$3`, etc.
These are considered to be unique in each CFG fragment (assigning the same register twice in the same CFG may only occur in unrelated program paths) and in the complete CFG, too.
The numbers given are only notational.
We introduce special `eval` nodes, represented in *dashed lines*, to connect CFG fragments into bigger fragments.
`eval x` here means that this node must be replaced with the whole CFG fragment associated with `x`.
When this replacement is performed, the value produced by `eval` is the same value that the meta-register `$result` holds in the corresponding fragment.
All incoming edges of a fragment are connected to the incoming edges of the `eval` node, while all outgoing edges of a fragment are connected to the outgoing edges of the `eval` node.
It is important, however, that, if such edges are absent either in the fragment or in the `eval` node, they (edges) are removed from the CFG.
We also use the `eval b` notation where `b` is not a single statement, but rather a [control structure body][Code blocks].
The fragment for a control structure body is the sequence of fragments for its statements, connected in the program order.
Some of the fragments have two kinds of outgoing edges, labeled `t` and `f` on the pictures.
In a similar fashion, some `eval` nodes have two outgoing edges with the same labels.
If such a fragment is inserted into such a node, only edges with matching labels are merged into each other.
If either the fragment or the node have only unlabeled outgoing edges, the process is performed same as above.
For some types of analyses, it is important which boolean conditions hold on a control flow path.
We use special `assume` nodes to introduce these conditions.
`assume x` means that boolean condition `x` is always `true` when program flow passes through this particular node.
Some nodes are *labeled*, similarly to how statements may be labeled in Kotlin.
Labeled nodes are considered CFG-unique and are handled as follows: if a fragment mentions a particular labeled node, this node is the same as any other node with this label in the complete CFG (i.e., a singular actual node is shared between all its labeled references).
This is important when building graphs representing loops.
There are two other special kinds of nodes: `unreachable` nodes, signifying unreachable code, and `backedge` nodes, important for some kinds of analyses.
#### Expressions {#expressions-cdfa}
Simple expressions, like literals and references, do not affect the control-flow of the program in any way and are irrelevant w.r.t. CFG.
##### Function calls and operators
> Note: we do not consider [operator calls][Operator overloading] as being different from function calls, as they are just special types of function calls.
> Henceforth, they are not treated separately.
```kotlin
x.f(arg1,..., argN)
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $2 = eval x :
: :
+~~~~~~~~+~~~~~~~~+
|
v
+~~~~~~~~~+~~~~~~~~~~+
: :
: $1 = eval arg1 :
: :
+~~~~~~~~~+~~~~~~~~~~+
|
v
...
+
v
+~~~~~~~~~+~~~~~~~~~~+
: :
: $N = eval argN :
: :
+~~~~~~~~~+~~~~~~~~~~+
|
v
+--------------+----------------+
| |
| $result = $2.f($1,...,$N) |
| |
+--------------+----------------+
|
v
```
```kotlin
f(arg1,..., argN)
```
```diagram
+
v
+~~~~~~~~~+~~~~~~~~~~+
: :
: $1 = eval arg1 :
: :
+~~~~~~~~~+~~~~~~~~~~+
|
v
...
+
v
+~~~~~~~~~+~~~~~~~~~~+
: :
: $N = eval argN :
: :
+~~~~~~~~~+~~~~~~~~~~+
|
v
+-------------+--------------+
| |
| $result = f($1,...,$N) |
| |
+-------------+--------------+
|
v
```
##### Conditional expressions
> Note: to simplify the notation, we consider only `if`-expressions with both branches present.
> Any `if`-statement in Kotlin may be trivially turned into such an expression by replacing the missing `else` branch with a `kotlin.Unit` object expression.
```kotlin
if(c) tt else ff
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $1 = eval c :
: :
+~~~~~+~~~~~+~~~~~+
t | | f
+------+ +-------+
v v
+-------+-------+ +-------+--------+
| | | |
| assume $1 | | assume !$1 |
| | | |
+-------+-------+ +-------+--------+
| |
v v
+~~~~~~~~+~~~~~~~~+ +~~~~~~~~+~~~~~~~~+
: : : :
: $2 = eval tt : : $2 = eval ff :
: : : :
+~~~~~~~~+~~~~~~~~+ +~~~~~~~~+~~~~~~~~+
| |
+-------+ +-------+
v v
+------+----+------+
| |
| $result = $2 |
| |
+---------+--------+
|
v
```
```kotlin
when {
c1 -> b1
else -> bE
}
```
```diagram
+
v
+~~~~~~~~~+~~~~~~~~+
: :
: $1 = eval c1 :
: :
+~~~~~~+~~~~~+~~~~~+
t | | f
+-------+ +-------+
v v
+-------+-------+ +-------+--------+
| | | |
| assume $1 | | assume !$1 |
| | | |
+-------+-------+ +-------+--------+
| |
v v
+~~~~~~~~+~~~~~~~~~+ +~~~~~~~~+~~~~~~~~~+
: : : :
: $2 = eval b1 : : $2 = eval bE :
: : : :
+~~~~~~~~+~~~~~~~~~+ +~~~~~~~+~~~~~~~~~~+
| |
+-------+ +------+
v v
+-----+-----+------+
| |
| $result = $2 |
| |
+--------+---------+
|
v
```
> Important: we only consider `when` expressions having exactly two branches for simplicity.
> A `when` expression with more than two branches may be trivially desugared into a series of nested when expression as follows:
>
> ```kotlin
> when {
> <entry1>
> <entries...>
> else -> bE
> }
> ```
>
> is the same as
>
> ```kotlin
> when {
> <entry1>
> else -> {
> when {
> <entries...>
> else -> bE
> }
> }
> }
> ```
##### Boolean operators
```kotlin
!x
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $1 = eval x :
: :
+~~~~~+~~~~~+~~~~~+
| |
+---------+ +-----------+
t | | f
v v
+-------+-------+ +--------+-------+
| | | |
| assume $1 | | assume !$1 |
| | | |
+-------+-------+ +--------+-------+
| |
v v
+----------+----------+ +----------+---------+
| | | |
| $result = false | | $result = true |
| | | |
+----------+----------+ +----------+---------+
f | | t
v v
```
```kotlin
x || y
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $1 = eval x :
: :
+~~~~~+~~~~~+~~~~~+
| |
+----------+ +-------+
t | | f
v v
+-------+-------+ +--------+-------+
| | | |
| assume $1 | | assume !$1 |
| | | |
+-------+-------+ +--------+-------+
| |
| v
| +~~~~~~~~+~~~~~~~~+
| : :
| : $2 = eval y :
| : :
| +~~~~~+~~~~~+~~~~~+
| | |
| +------+ +-------+
| t | | f
| v v
| +-------+-------+ +--------+-------+
| | | | |
| | assume $2 | | assume !$2 |
| | | | |
| +-------+-------+ +--------+-------+
| | |
| +----------+ |
v v v
+---------+---+------+ +----------+----------+
| | | |
| $result = true | | $result = false |
| | | |
+---------+----------+ +----------+----------+
t | | f
v v
```
```kotlin
x && y
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $1 = eval x :
: :
+~~~~~+~~~~~+~~~~~+
| |
+------+ +--------+
t | | f
v v
+-------+-------+ +--------+-------+
| | | |
| assume $1 | | assume !$1 |
| | | |
+-------+-------+ +--------+-------+
| |
v |
+~~~~~~~~+~~~~~~~~+ |
: : |
: $2 = eval y : |
: : |
+~~~~~+~~~~~+~~~~~+ |
| | |
+------+ +------+ |
t | | f |
v v |
+-------+-------+ +-------+-------+ |
| | | | |
| assume $2 | | assume !$2 | |
| | | | |
+-------+-------+ +-------+-------+ |
| | |
| | |
v v v
+----------+---------+ +----+-----------+----+
| | | |
| $result = true | | $result = false |
| | | |
+----------+---------+ +----------+----------+
t | | f
v v
```
##### Other expressions
```kotlin
x ?: y
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $1 = eval x :
: :
+~~~~~+~~~~~+~~~~~+
| |
+-----------+ +------------+
v v
+-------------+------------+ +-------------+------------+
| | | |
| assume ($1 === null) | | assume ($1 !== null) |
| | | |
+-------------+------------+ +-------------+------------+
| |
v v
+~~~~~~~~+~~~~~~~~+ +------+------+
: : | |
: $2 = eval y : | $3 = $1 |
: : | |
+~~~~~~~~+~~~~~~~~+ +------+------+
| |
v |
+------+------+ |
| | |
| $3 = $2 | |
| | |
+------+------+ |
| |
| +-----------------------+
v v
+-----+------+-----+
| |
| $result = $3 |
| |
+--------+---------+
|
v
```
```kotlin
x?.y
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $1 = eval x :
: :
+~~~~~+~~~~~+~~~~~+
| |
+-----------+ +------------+
v v
+-------------+------------+ +-------------+------------+
| | | |
| assume ($1 === null) | | assume ($1 !== null) |
| | | |
+-------------+------------+ +-------------+------------+
| |
v v
+-------+-------+ +-------+-------+
| | | |
| $3 = null | | $3 = $1.y |
| | | |
+-------+-------+ +-------+-------+
| |
| +-----------------------+
v v
+-----+------+-----+
| |
| $result = $3 |
| |
+--------+---------+
|
v
```
```kotlin
try { a... }
catch (e1: T1) { b1... }
...
catch (eN: TN) { bN... }
finally { c... }
```
```diagram
+ + + +
| v | |
| +~~~~~~~~+~~~~~~~~+ | |
| : : | |
| : $1 = eval a : | |
| : : | |
| +~~+~~~~~+~~~~~+~~+ | |
| | | | | |
| +-------+ | +-------+ | |
| | | | | |
| | | | | |
v v | v v |
+~~+~~~~~~+~~~~~~~~+ v +~~~~~~~~+~~~~~~+~~+ |
: : : : |
: $1 = eval b1 : ... : $1 = eval bN : |
: : : : |
+~~~~~~~~~+~~~~~~~~+ +~~~~~~~~+~~~~~~~~~+ |
| + | |
+---------+ | +---------+ |
v v v |
+----+---+---+-----+ |
| | |
| $result = $1 | |
| | |
+--------+---------+ |
| |
v v
+~~~~~~+~~~~~~~+ +~~~~~~~+~~~~~~+
: (2) : : (1) :
: eval c : : eval c :
: : : :
+~~~~~~+~~~~~~~+ +~~~~~~~~~~~~~~+
|
v
```
> Important: in this diagram we consider `finally` block *twice*.
> The (1) block is used when handling the `finally` block and its body.
> The (2) block is used when considering the `finally` block w.r.t. rest of the CFG.
```kotlin
a!!
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $1 = eval a :
: :
+~~~~~+~~~~~+~~~~~+
| |
+-----------+ +-------+
v v
+-------------+------------+ +--------+--------+
| | | |
| assume ($1 !== null) | | unreachable |
| | | |
+-------------+------------+ +-----------------+
|
v
+--------+---------+
| |
| $result = $1 |
| |
+--------+---------+
|
v
```
```kotlin
a as T
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $1 = eval a :
: :
+~~~~~+~~~~~+~~~~~+
| |
+-----------+ +-------+
v v
+-------------+------------+ +--------+--------+
| | | |
| assume ($1 is T) | | unreachable |
| | | |
+-------------+------------+ +-----------------+
|
v
+--------+---------+
| |
| $result = $1 |
| |
+--------+---------+
|
v
```
```kotlin
a as? T
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $1 = eval a :
: :
+~~~~~+~~~~~+~~~~~+
| |
+---------+ +----------+
v v
+-----------+----------+ +-----------+-----------+
| | | |
| assume ($1 is T) | | assume ($1 !is T) |
| | | |
+-----------+----------+ +-----------+-----------+
| |
v v
+------+------+ +-------+-------+
| | | |
| $2 = $1 | | $2 = null |
| | | |
+------+------+ +-------+-------+
| |
+---------+ +---------+
v v
+-----+------+-----+
| |
| $result = $2 |
| |
+---------+--------+
|
v
```
```kotlin
{ a: T ... -> body... }
```
```diagram
+ +
v v
+------------+-----------+ +~~~~~~~+~~~~~~~+
| | : :
| $result = $literal | : eval body :
| | : :
+------------+-----------+ +~~~~~~~~~~~~~~~+
|
v
```
```kotlin
return
return@label
```
```diagram
+
v
+--------+--------+
| |
| unreachable |
| |
+-----------------+
```
```kotlin
return a
return@label a
throw a
```
```diagram
+
v
+~~~~~~+~~~~~+
: :
: eval a :
: :
+~~~~~~+~~~~~+
|
v
+--------+--------+
| |
| unreachable |
| |
+-----------------+
```
```kotlin
break@loop
```
```diagram
+
v
+~~~~~~~+~~~~~~~~+
: :
: @loop:exit :
: :
+~~~~~~~~~~~~~~~~+
```
```kotlin
continue@loop
```
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
| |
| backedge |
| |
+~~~~~~~~~~~~~~~~~+
|
v
+~~~~~~~~+~~~~~~~~+
: :
: @loop:entry :
: :
+~~~~~~~~~~~~~~~~~+
```
#### Statements {#statements-cdfa}
> Note: to simplify the notation, we consider only labeled loops, as unlabeled loops may be trivially turned into labeled ones by assigning them a unique label.
```kotlin
loop@ while(c) { b... }
```
```diagram
+
v
|
+--------+--------+
| |
| @loop.entry |
| |
+--------+--------+
|
+-----------------+ |
| v v
+-------+------+ +~~~~+~~~+~~~~~~~~+
| | : :
| backedge | : $1 = eval c :
| | : :
+-------+------+ +~~~~~+~~~~~+~~~~~+
^ t | | f
| +------+ +--------+
| v v
| +-------+-------+ +--------+-------+
| | | | |
| | assume $1 | | assume !$1 |
| | | | |
| +-------+-------+ +--------+-------+
| | |
| v v
| +~~~~~+~~~~~~+ +--------+--------+
| : : | |
| : eval b : | @loop.exit |
| : : | |
| +~~~~~+~~~~~~+ +--------+--------+
| | |
+-----------+ |
v
```
```kotlin
loop@ do { b... } while(c)
```
```diagram
+
v
|
+--------+--------+
| |
| @loop.entry |
| |
+--------+--------+
|
+-----------------+ |
| v v
+-------+------+ +~~+~~~+~~~~~+
| | : :
| backedge | : eval b :
| | : :
+-------+------+ +~~~~~~+~~~~~+
^ |
| v
| +~~~~~~~~+~~~~~~~~+
| : :
| : $1 = eval c :
| : :
| +~~~~~+~~~~~+~~~~~+
| t | | f
| +------+ +--------+
| v v
| +-------+-------+ +--------+-------+
| | | | |
| | assume $1 | | assume !$1 |
| | | | |
| +-------+-------+ +--------+-------+
| | |
+-----------+ v
+--------+--------+
| |
| @loop.exit |
| |
+--------+--------+
|
|
v
```
#### Declarations
```kotlin
var a = b
var a by b
val a = b
val a by b
```
```diagram
+
|
v
+~~~~~~~~+~~~~~~~~+
: :
: $1 = eval b :
: :
+~~~~~~~~+~~~~~~~~+
|
v
+------+-------+
| |
| a = $1 |
| |
+------+-------+
|
v
```
```kotlin
fun f() { body... }
```
```diagram
+
|
v
+~~~~~~~~~+~~~~~~~~~~+
: :
: $1 = eval body :
: :
+~~~~~~~~~~~~~~~~~~~~+
```
```kotlin
class A (...) {
'declaration 1'
'declaration 2'
'init-block 1'
'declaration 3'
'init-block 2'
...
}
```
For every declaration and init block in a class body, the control flow is propagated through every element in the order of their appearance.
Here we give a simplified example.
TODO: in fact, init analysis does work like this, while smart casting does not
TODO: function decls are order-agnostic???
```diagram
+
|
v
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
: :
: eval 'declaration 1' :
: :
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
|
v
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
: :
: eval 'declaration 2' :
: :
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
|
v
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
: :
: eval 'init-block 1' :
: :
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
|
v
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
: :
: eval 'declaration 3' :
: :
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
|
v
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
: :
: eval 'init-block 2' :
: :
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
|
v
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
: :
: ... :
: :
+~~~~~~~~~~~~~~~~~~~~~~~~~~+
|
v
+~~~~~~~~~~~~+~~~~~~~~~~~~~+
: :
: eval 'declaration n' :
: :
+~~~~~~~~~~~~~~~~~~~~~~~~~~+
```
#### Examples
```kotlin
fun f() = listOf(1, 2).map { it + 2 }.filter { it > 0 }
```
```diagram
+
v
+-----+------+
| |
| $1 = 1 |
| |
+-----+------+
|
v
+-----+------+
| |
| $2 = 2 |
| |
+-----+------+
|
v
+-----------+-------------+
| |
| $3 = listOf($1, $2) |
| |
+-----+--------------+----+
| |
+------+ +------------+
v v
+----------+----------+ +------+------+
| | | |
| $4 = { it + 2 } | | $5 = it |
| | | |
+----------+----------+ +------+------+
| |
v v
+----------+----------+ +-----+------+
| | | |
| $8 = $3.map($4) | | $6 = 2 |
| | | |
+------+-------+------+ +-----+------+
| | |
+---------+ +--------+ v
v v +--------+---------+
+----------+----------+ +------+-------+ | |
| | | | | $7 = $5 + $2 |
| $9 = { it > 0 } | | $10 = it | | |
| | | | +------------------+
+----------+----------+ +------+-------+
| |
v v
+--------------+--------------+ +-----+-------+
| | | |
| $result = $8.filter($9) | | $11 = 0 |
| | | |
+--------------+--------------+ +-----+-------+
| |
| v
| +----------+----------+
| | |
| | $12 = $10 > $11 |
| | |
v +---------------------+
```
```kotlin
fun f(x: Int) {
var y = x
loop@ while(y != 500) {
y++
if(y % 20 == 3) break@loop
}
}
```
```diagram
+------------+
| |
| $1 = x |
| |
+------+-----+
|
v
+------+-----+
| |
| y = $1 |
| |
+------+-----+
|
v
+--------+--------+
| |
| @loop.entry +<----------------------------+
| | |
+--------+--------+ +-------+------+
| | |
v | backedge |
+-----+------+ | |
| | +-------+------+
| $2 = y | ^
| | |
+-----+------+ |
| |
v |
+------+-------+ |
| | |
| $3 = 500 | |
| | |
+------+-------+ |
| |
v |
+-----------+------------+ |
| | |
| $4 = $2.equals($3) | |
| | |
+----+--------------+----+ |
| | |
v v |
+----------+----+ +----+-----------+ |
| | | | |
| assume $4 | | assume !$4 | |
| | | | |
+-------+-------+ +--------+-------+ |
| | |
v v |
+-------+-------+ +-------+-------+ |
| | | | |
| $5 = false | | $5 = true | |
| | | | |
+-------+-------+ +-------+-------+ |
| | |
v v |
+-------+--------+ +-------+-------+ |
| | | | |
| assume !$5 | | assume $5 | |
| | | | |
+-------+--------+ +-------+-------+ |
| | |
v v |
+-------+--------+ +-----+------+ |
| | | | |
+--->+ @loop.exit | | $6 = y | |
| | | | | |
| +-------+--------+ +-----+------+ |
| | | |
| v v |
| +---------+---------+ |
| | | |
| | $7 = $6.inc() | |
| | | |
| +---------+---------+ |
| | |
| v |
| +-----+------+ |
| | | |
| | y = $7 | |
| | | |
| +-----+------+ |
| | |
| v |
| +-----+------+ |
| | | |
| | $8 = y | |
| | | |
| +-----+------+ |
| | |
| v |
| +------+------+ |
| | | |
| | $9 = 20 | |
| | | |
| +------+------+ |
| | |
| v |
| +----------+-----------+ |
| | | |
| | $10 = $8.rem($9) | |
| | | |
| +----------+-----------+ |
| | |
| v |
| +------+------+ |
| | | |
| | $11 = 3 | |
| | | |
| +------+------+ |
| | |
| v |
| +-------------+-------------+ |
| | | |
| | $12 = $10.equals($11) | |
| | | |
| +----+----------------+-----+ |
| | | |
| v v |
| +-----------+----+ +----+------------+ |
| | | | | |
| | assume $12 | | assume !$12 | |
| | | | | |
| +-------+--------+ +--------+--------+ |
| | | |
+---------------------+ +--------------+
```
#### `kotlin.Nothing` and its influence on the CFG
As discussed in the [type system][`kotlin.Nothing`] section of this specification, `kotlin.Nothing` is an uninhabited type, meaning an instance of this type can never exist at runtime.
For the purposes of control-flow graph (and related analyses) this means, as soon as an expression is known statically to have `kotlin.Nothing` type, all subsequent code is **unreachable**.
> Important: each specific analysis may decide to either use this information or ignore it for a given program.
> If unreachability from `kotlin.Nothing` is used, it can be represented in different ways, e.g., by changing the CFG structure or via [$\killDataFlow$][Preliminary analysis and $\killDataFlow$ instruction] instructions.
### Performing analyses on the control-flow graph
The analyses defined in this document follow the pattern of analyses based on monotone frameworks, which work by modeling abstract program states as elements of lattices and joining these states using standard lattice operations.
Such analyses may achieve limited path sensitivity via the analysis of conditions used in the `assume` nodes.
In short, an analysis is defined on the CFG by introducing:
- A lattice $\mathbf{S}$ (a partially ordered set that has both a greatest lower bound and a least upper bound defined for every pair of its elements) of values, called *abstract states*;
- A *transfer function* for mapping CFG nodes to the elements of $\mathbf{S}$, essentially a set of rules on how to calculate an abstract state for each node of the CFG either directly or by using abstract states of other nodes.
The result of an analysis is a *fixed point* of the transfer function for each node of the given CFG, i.e., an abstract state for each node such that the transfer function maps the state to itself.
For the particular shapes of the transfer function used in program analyses, given a finite $\mathbf{S}$, the fixed point always exists, although the details of how this works go out of scope of this document.
#### Types of lattices
* Flat lattice over set $A = \{a1, \ldots, ai, \ldots, an\}$ of _incomparable_ elements is built by adding a top element $\top$, which is _greater_ than other elements, and a bottom element $\bot$, which is _less_ than other elements.
This forms the following lattice structure.
```diagram
+-------+
| |
+-----------+ ⊤ +-----------+
| | | |
| +---+---+ |
| | |
| | |
+---+---+ +---+---+ +---+---+
| | | | | |
| a1 | ... | ai | ... | an |
| | | | | |
+---+---+ +---+---+ +---+---+
| | |
| | |
| +---+---+ |
| | | |
+-----------+ ⊥ +-----------+
| |
+-------+
```
The flat lattice is usually used for analyses interested in _exact_ facts, such as definite (un)assignment or constant propagation, as the fixed point results are either exact elements from the set $A$, or top/bottom elements.
* Map lattice of a set $A = \{a_1, \ldots, a_n\}$ to a lattice $L$ is a lattice with sets of functions from $A$ to $L$ as its elements.
$$
\begin{aligned}
A \to L &= \left\{ \left[ a_1 \to l_1, \ldots, a_n \to l_n \right] | \forall i: a_i \in A, l_i \in L \right\}\\
f \leq g &\Leftrightarrow \forall a_i \in A : f(a_i) \leq g(a_i), \text{ where } f, g \in A \to L
\end{aligned}
$$
The map lattice is usually used as the "top-level" lattice for bootstrapping the monotone framework analysis, by providing a way to represent the mapping from program entities (e.g., variables or expressions) to interesting facts (e.g., their initialization or availability) as a lattice.
#### Preliminary analysis and $\killDataFlow$ instruction
Some analyses described further in this document are based on special instruction called $\killDataFlow(\upsilon)$ where $\upsilon$ is a program variable.
These are not present in the graph representation described above and need to be inferred before such analyses may actually take place.
$\killDataFlow$ inference is based on a standard control-flow analysis with the lattice of natural numbers over "min" and "max" operations.
That is, for every assignable property $x$ an element of this lattice is a natural number $N$, with the least upper bound of two numbers defined as maximum function and the greatest lower bound as minimum function.
> Note: such lattice has 0 as its bottom element and does not have a top element.
We assume the following transfer functions for our analysis.
$$
\begin{alignedat}{2}
&\llbracket \texttt{x = y} \rrbracket(s)
&&= s[x \rightarrow s(x) + 1]
\\
\\
&\llbracket \backedge \rrbracket(s)
&&= \{\star \rightarrow 0 \}
\\
\\
&\llbracket l \rrbracket(s)
&&= \bigsqcup_{p \in predecessor(l)} \llbracket p \rrbracket(s)
\end{alignedat}
$$
After running this analysis, for every backedge $b$ and every variable $x$ present in $s$, if $\exists b_p, b_s: b_p \in predecessors(b) \land b_s \in successors(b) \land \llbracket b_p \rrbracket(x) > \llbracket b_s \rrbracket(x)$, a $\killDataFlow(x)$ instruction must be inserted after $b$.
> Informally: this somewhat complicated condition matches variables which have been assigned to in the loop body w.r.t. this loop's backedge.
> Note: this analysis does involve a possibly **infinite** lattice (a lattice of natural numbers) and may seem to diverge on some graphs.
> However, if we assume that every backedge in an arbitrary CFG is marked with a `backedge` instruction, it is trivial to prove that no number in the lattice will ever exceed the number of assignments (which is **finite**) in the analyzed program as any loop in the graph will contain at least one backedge.
As an example, consider the following Kotlin code:
```kotlin
var x: Int = 0
var y: Int = 0
while (b1) {
y = f()
do {
x = g()
} while (b2)
}
```
which results in the following CFG diagram (annotated with the analysis results where it is important):
```diagram
+------------+
| |
| $1 = 0 |
| |
+-----+------+
|
v
+-----+------+
| |
| x = $1 +<~~~ {x -> 1, y -> 0}
| |
+-----+------+
|
v
+-----+------+
| |
| $2 = 0 |
| |
+-----+------+
|
v
+-----+------+
| |
| y = $2 +<~~~ {x -> 1, y -> 1}
| |
+-----+------+
|
v
+--------+---------+
| |
| @loop1:entry |
| |
+--------+---------+
|
+-----------------+ |
| v v
+-------+------+ +--+---+------+
| | | |
{* -> 0} ~~~>+ backedge | | $3 = b1 +<~~~ {x -> 1, y -> 1}
| | | |
+-------+------+ +---+-----+---+
^ | |
| +------+ +--------+
| v v
| +-------+-------+ +--------+-------+
| | | | |
| | assume $3 | | assume !$3 |
| | | | |
{x -> 2, y -> 2} | +-------+-------+ +--------+-------+
: | | |
v | v v
+----------+------------------+ +------+-------+ +--------+--------+
| | | | |
| | $4 = f() | | @loop1:exit |
| | | | |
| +------+-------+ +--------+--------+
| | |
| v |
| +-----+------+ v
| | |
| {x -> 1, y -> 2} ~~~>+ y = $4 |
| | |
| +-----+------+
| |
| v
| +--------+---------+
| | |
| | @loop2.entry |
| | |
| +--------+---------+
| {* -> 0} ~~+ |
| : +-----------------+ |
| v | v v
| +----+--+------+ +--+---+-------+
| | | | |
| | backedge | | $6 = g() +<~~~ {x -> 1, y -> 2}
| | | | |
| +-------+------+ +------+-------+
| ^ |
| | v
| | +-----+------+
| | | |
| | | x = $6 +<~~~ {x -> 2, y -> 2}
| | | |
| | +-----+------+
| | |
| | v
| | +------+------+
| | | |
| | | $5 = b2 |
| | | |
| | +---+-----+---+
| | | |
| | +------+ +--------+
| | v v
| | +-------+-------+ +--------+-------+
| | | | | |
| | | assume $5 | | assume !$5 |
| | | | | |
| | +-------+-------+ +--------+-------+
| | | |
| +--+--------+ v
| ^ +--------+--------+
| : | |
| | @loop2.exit +<~~~ {x -> 2, y -> 2}
| {x -> 2, y -> 2} | |
| +--------+--------+
| |
| |
+-----------------------------------------------------+
```
There are two backedges: one for the inner loop (the inner backedge) and one for the outer loop (the outer backedge).
The inner backedge has one predecessor with state $\{ \texttt{x} \rightarrow 2, \texttt{y} \rightarrow 2 \}$ and one successor with state $\{ \texttt{x} \rightarrow 1, \texttt{y} \rightarrow 2 \}$ with the value for `x` being less in the successor, meaning that we need to insert $\killDataFlow(\texttt{x})$ after the backedge.
The outer backedge has one predecessor with state $\{ \texttt{x} \rightarrow 2, \texttt{y} \rightarrow 2 \}$ and one successor with state $\{ \texttt{x} \rightarrow 1, \texttt{y} \rightarrow 1 \}$ with values for both variables being less in the successor, meaning we need to insert $\killDataFlow(\texttt{x})$ and $\killDataFlow(\texttt{y})$ after the backedge.
#### Variable initialization analysis
Kotlin allows [non-delegated properties][Property declaration] to not have initializers in their declaration as long as the property is *definitely assigned* before its first usage.
This property is checked by the variable initialization analysis (VIA).
VIA operates on abstract values from the *assignedness* lattice, which is a flat lattice constructed over the set $\{\Assigned, \Unassigned\}$.
The analysis itself uses abstract values from a map lattice of all property declarations to their abstract states based on the assignedness lattice.
The abstract states are propagated in a forward manner using the standard join operation to merge states from different paths.
The CFG nodes relevant to VIA include only property declarations and direct property assignments.
Every property declaration adds itself to the domain by setting the $\Unassigned$ value to itself.
Every direct property assignment changes the value for this property to $\Assigned$.
The results of the analysis are interpreted as follows.
For every property, any usage of the said property in any statement is a compile-time error unless the abstract state of this property at this statement is $\Assigned$.
For every read-only property (declared using `val` keyword), any assignment to this property is a compile-time error unless the abstract state of this property is $\Unassigned$.
As an example, consider the following Kotlin code:
```kotlin+math
/* 1 */ val x: Int //$$$\{ \mathtt{x} \rightarrow \mathit{Unassigned}, \star \rightarrow \bot \}$$$
/* 2 */ var y: Int //$$$\{ \mathtt{x} \rightarrow \mathit{Unassigned}, \mathtt{y} \rightarrow \mathit{Unassigned}, \star \rightarrow \bot \}$$$
/* 3 */ if (c) { //
/* 4 */ x = 40 //$$$\{ \mathtt{x} \rightarrow \mathit{Assigned}, \mathtt{y} \rightarrow \mathit{Unassigned}, \star \rightarrow \bot \}$$$
/* 5 */ y = 4 //$$$\{ \mathtt{x} \rightarrow \mathit{Assigned}, \mathtt{y} \rightarrow \mathit{Assigned}, \star \rightarrow \bot \}$$$
/* 6 */ } else { //
/* 7 */ x = 20 //$$$\{ \mathtt{x} \rightarrow \mathit{Assigned}, \mathtt{y} \rightarrow \mathit{Unassigned}, \star \rightarrow \bot \}$$$
/* 8 */ } //$$$\{ \mathtt{x} \rightarrow \mathit{Assigned}, \mathtt{y} \rightarrow \top, \star \rightarrow \bot \}$$$
/* 9 */ y = 5 //$$$\{ \mathtt{x} \rightarrow \mathit{Assigned}, \mathtt{y} \rightarrow \mathit{Assigned}, \star \rightarrow \bot \}$$$
/* 10 */ val z = x + y //$$$\{ \mathtt{x} \rightarrow \mathit{Assigned}, \mathtt{y} \rightarrow \mathit{Assigned}, \mathtt{z} \rightarrow \mathit{Assigned}\}$$$
```
There are no incorrect operations in this example, so the code does not produce any compile-time errors.
Let us consider another example:
```kotlin+math
/* 1 */ val x: Int //$$$\{ \mathtt{x} \rightarrow \mathit{Unassigned}, \star \rightarrow \bot \}$$$
/* 2 */ var y: Int //$$$\{ \mathtt{x} \rightarrow \mathit{Unassigned}, \mathtt{y} \rightarrow \mathit{Unassigned}, \star \rightarrow \bot \}$$$
/* 3 */ while (c) { //$$$\{ \mathtt{x} \rightarrow \top, \mathtt{y} \rightarrow \top, \star \rightarrow \bot \}$$$ Error!
/* 4 */ x = 40 //$$$\{ \mathtt{x} \rightarrow \top, \mathtt{y} \rightarrow \top, \star \rightarrow \bot \}$$$
/* 5 */ y = 4 //$$$\{ \mathtt{x} \rightarrow \top, \mathtt{y} \rightarrow \top, \star \rightarrow \bot \}$$$
/* 6 */ } //
/* 7 */ val z = x + y //$$$\{ \mathtt{x} \rightarrow \top, \mathtt{y} \rightarrow \top, \star \rightarrow \bot \}$$$ More errors!
```
In this example, the state of both properties at line 3 is $\top$, as it is the least upper bound of the states from lines 5 and 2 (from the `while` loop), which is derived to be $\top$.
This leads to a compile-time error at line 4 for `x`, because one cannot reassign a read-only property.
At line 7 there is another compile-time error when both properties are used, as there are paths in the CFG which reach line 7 when the properties have not been assigned (i.e., the case when the `while` loop body was skipped).
#### Smart casting analysis
See the [corresponding section][Smart casts] for details.
#### Function contracts
> Note: as of Kotlin $\currentKotlinMajorVersion{}$, contracts for user-defined functions are an experimental feature and, thus, not described here
Some standard-library functions in Kotlin are defined in such a way that they adhere to a specific *call contract* that affects the way calls to such functions are analyzed from the perspective of the caller's control flow graph.
A function's call contract consists of one or more *effects*.
There are several kinds of effects:
- Calls-in-place effect for a function-type parameter of the function;
- Returns-implies-condition effect for a boolean parameter of the function;
- Particular implementations may introduce other types of effects.
**Calls-in-place** effect of function $F$ for a function-type parameter $P$ specifies that for every call of $F$ parameter $P$ will be also invoked as a function.
This effect may also have one of the three invocation types:
- *At-least-once*, meaning that $P$ will be invoked at least once;
- *Exactly-once*, meaning that $P$ will be invoked exactly once;
- *At-most-once*, meaning that $P$ will be invoked at most once.
These effects change the call graph that is produced for a function call of $F$ when supplied a lambda-expression parameter for $P$.
Without any effect, the graph looks like this:
For a function call
```kotlin
f(..., { lambda-body... }, ...)
```
```diagram
|
+-----------------------------------------+
v v
+-------------+--------------+ +------------+------------+
| | | |
| $N = { lambda-body...} | | eval lambda-body... |
| | | |
+-------------+--------------+ +-------------------------+
|
v
...
+
v
+-------------+--------------+
| |
| $result = f(...,$N,..) |
| |
+-------------+--------------+
|
v
```
Please note that control flow information is passed inside the lambda body, but no information is extracted from it.
If the corresponding parameter $P$ is introduced with *exactly-once* effect, this changes to:
```diagram
|
+-----------------------------------------+
v v
+-------------+--------------+ +------------+------------+
| | | |
| $N = { lambda-body...} | | eval lambda-body... |
| | | |
+-------------+--------------+ +------------+------------+
| |
v |
... |
+ |
v |
+-------------+--------------+ |
| | |
| $result = f(...,$N,..) | |
| | |
+-------------+--------------+ |
| v
+-----------------------------------------+
|
v
```
If the corresponding parameter $P$ is introduced with *at-least-once* effect, this changes to:
```diagram
|
+--------------------------------+ +--------------------+
v v v |
+-------------+--------------+ +------------+----+-------+ +-------+------+
| | | | | |
| $N = { lambda-body...} | | eval lambda-body... | | backedge |
| | | | | |
+-------------+--------------+ +------------+---+--------+ +-------+------+
| | | ^
v | +---------------------+
... |
+ |
v |
+-------------+--------------+ |
| | |
| $result = f(...,$N,..) | |
| | |
+-------------+--------------+ |
| v
+--------------------------------+
|
v
```
If the corresponding parameter $P$ is introduced with *at-most-once* effect, this changes to:
```diagram
|
+---------------------+-------------------+
v | |
+-------------+--------------+ | +------------+------------+
| | | | |
| $N = { lambda-body...} | | | eval lambda-body... |
| | | | |
+-------------+--------------+ | +------------+------------+
| | |
v | |
... | |
+ | |
v | |
+-------------+--------------+ | |
| | | |
| $result = f(...,$N,..) | | |
| | | |
+-------------+--------------+ | |
| v v
+---------------------+-------------------+
|
v
```
This allows the control-flow information to be extracted from lambda expression according to the policy of its invocation.
**Returns-implies-condition** effect of function $F$ for a boolean parameter $P$ specifies that if, when invoked normally, a call to $F$ returns, $P$ is assumed to be true.
For a function call
```kotlin
f(..., p, ...)
```
this changes normal call graph that looks like this:
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $N = eval p :
: :
+~~~~~~~~+~~~~~~~~+
|
v
...
+
v
+-------------+--------------+
| |
| $result = f(...,$N,..) |
| |
+-------------+--------------+
|
v
```
to look like this:
```diagram
+
v
+~~~~~~~~+~~~~~~~~+
: :
: $N = eval p :
: :
+~~~~~~~~+~~~~~~~~+
|
v
...
+
v
+-------------+--------------+
| |
| $result = f(...,$N,..) |
| |
+-------------+--------------+
|
v
+------+--------+
| |
| assume $N |
| |
+------+--------+
|
v
```
> The following standard library functions have contracts with the following effects:
>
> - `kotlin.run`, `kotlin.with`, `kotlin.let`, `kotlin.apply`, `kotlin.also` (all overloads): calls-in-place effect with invocation kind "exactly-once" for its functional argument;
> - `kotlin.check`, `kotlin.require` (all overloads): returns-implies-condition effect on the boolean parameter.
> Examples:
>
> This code would result in a initialized variable analysis violation if `run` was not a standard function with corresponding contract:
>
> ```kotlin
> val x: Int
> run { // run invokes its argument exactly once
> x = 4
> }
> // could be error: x is not initialized
> // but is ok
> println(x)
> ```
>
> Several examples of contract-introduced [smart-cast][Smart casts]:
>
> ```kotlin
> val x: Any = ...
> check(x is Int)
> // x is known to be Int thanks to assume introduced by
> // the contract of check
> val y = x + 4 // would be illegal without contract
> ```
>
> ```kotlin
> val x: Int? = ...
> // x is known to be non-null thanks to assume introduced by
> // the contract of require
> require(x != null)
> val y = x + 4 // would be illegal without contract
> ```
>
### References {-}
1. Frances E. Allen. "Control flow analysis." ACM SIGPLAN Notices, 1970.
2. Flemming Nielson, Hanne R. Nielson, and Chris Hankin. "Principles of program analysis." Springer, 2015.
3. Kam, John B., and Jeffrey D. Ullman. "Monotone data flow analysis frameworks." Acta informatica 7.3 (1977): 305-317.
4. Anders Moller, and Michael I. Schwartzbach. "Static Program Analysis." 2018 (\url{https://cs.au.dk/~amoeller/spa/})
================================================
FILE: docs/src/md/kotlin.core/concurrency.md
================================================
## Concurrency
Kotlin Core does not specify the semantics of the code running in concurrent environments.
For information on threading APIs, memory model, supported synchronization and other concurrency-related capabilities of Kotlin on your platform, please refer to platform documentation.
================================================
FILE: docs/src/md/kotlin.core/coroutines.md
================================================
## Asynchronous programming with coroutines
TODO([Kotlin 1.3+, Experimental] Update w.r.t. structured concurrency)
### Suspending functions
Most [functions][Function declaration] in Kotlin may be marked *suspending* using the special `suspend` modifier.
There are almost no additional restrictions: regular functions, extension functions, top-level functions, local functions, lambda literals, all these may be suspending functions.
> Note: the following functions and function values cannot be marked as suspending.
>
> * [anonymous function declarations];
> * [constructors][Class declaration];
> * [property getter/setters][Getters and setters];
> * [delegation-related operator functions][Delegated property declaration].
> Note: platform-specific implementations may extend the restrictions on which kinds of functions may be suspending.
Suspending functions have a [suspending function type][Suspending function types], also marked using the `suspend` modifier.
TODO(`suspend val`?)
A suspending function is different from non-suspending functions by potentially having zero or more *suspension points* --- statements in its body which may pause the function execution to be resumed at a later moment in time.
The main source of suspension points are calls to other suspending functions which represent possible suspension points.
> Note: suspension points are important because at these points another function may start in the same flow of execution, leading to potential changes in the shared state.
Non-suspending functions may not call suspending functions directly, as they do not support suspension points.
Suspending functions may call non-suspending functions without any limitations; such calls do not create suspension points.
This restriction is also known as ["function colouring"](https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/).
> Important: an exception to this rule are non-suspending inlined lambda parameters: if the higher-order function invoking such a lambda is called from a suspending function, this lambda is allowed to also have suspension points and call other suspending functions.
TODO(Cover other possible exceptions w.r.t. `inline`/`noinline`/`crossinline` combinations)
> Note: suspending functions interleaving each other in this manner are not dissimilar to how functions from different threads interact on platforms with multi-threading support.
> There are, however, several key differences.
> First, suspending functions may pause only at suspension points, i.e., they cannot be paused at an arbitrary execution point.
> Second, this interleaving may happen on a single platform thread.
>
> In a multi-threaded environment suspending functions may also be interleaved by the platform-dependent concurrent execution, independent of the interleaving of coroutines.
The implementation of suspending functions is platform-dependent.
Please refer to the platform documentation for details.
### Coroutines
A *coroutine* is a concept similar to a thread in traditional concurrent programming, but based on *cooperative multitasking*, e.g., the switching between different execution contexts is done by the coroutines themselves rather than the operating system or a virtual machine.
In Kotlin, coroutines are used to implement [suspending functions] and can switch contexts only at suspension points.
A call to a suspending function creates and starts a coroutine.
As one can call a suspending function only from another suspending function, we need a way to bootstrap this process from a non-suspending context.
> Note: this is required as most platforms are unaware of coroutines or suspending functions, and do not provide a suspending entry point.
> However, a Kotlin compiler may elect to provide a suspending entry point on a specific platform.
One of the ways of starting suspending function from a non-suspending context is via a *coroutine builder*: a non-suspending function which takes a suspending function type argument (e.g., a suspending lambda literal) and handles the coroutine lifecycle.
The implementation of coroutines is platform-dependent.
Please refer to the platform documentation for details.
### Implementation details
Despite being platform-dependent, there are several aspects of coroutine implementation in Kotlin, which are common across all platforms and belong to the Kotlin/Core.
We describe these details below.
#### `kotlin.coroutines.Continuation<T>`
[Interface][Interface declaration] `kotlin.coroutines.Continuation<T>` is the main supertype of all coroutines and represents the basis upon which the coroutine machinery is implemented.
```kotlin
public interface Continuation<in T> {
public val context: CoroutineContext
public fun resumeWith(result: Result<T>)
}
```
Every suspending function is associated with a generated `Continuation` subtype, which handles the suspension implementation; the function itself is adapted to accept an additional continuation parameter to support the [Continuation Passing Style].
The return type of the suspending function becomes the type parameter `T` of the continuation.
`CoroutineContext` represents the context of the continuation and is an indexed set from `CoroutineContext.Key` to `CoroutineContext.Element` (e.g., a special kind of map).
It is used to store coroutine-local information, and takes important part in [Continuation interception].
`resumeWith` function is used to propagate the results in between suspension points: it is called with the result (or exception) of the last suspension point and resumes the coroutine execution.
To avoid the need to explicitly create the `Result<T>` when calling `resumeWith`, the coroutine implementation provides the following extension functions.
```kotlin
fun <T> Continuation<T>.resume(value: T)
fun <T> Continuation<T>.resumeWithException(exception: Throwable)
```
#### Continuation Passing Style
Each suspendable function goes through a transformation from normally invoked function to continuation passing style (CPS).
For a suspendable function with parameters $p_1, p_2, \ldots, p_N$ and result type $T$ a new function is generated, with an additional parameter $p_{N+1}$ of type [`kotlin.coroutines.Continuation<T>`] and return type changed to [`kotlin.Any?`][`kotlin.Any`].
The calling convention for such function is different from regular functions as a suspendable function may either *suspend* or *return*.
* If the function returns a result, it is returned directly from the function as normal;
* If the function suspends, it returns a special marker value $\coroutineSuspended{}$ to signal its suspended state.
The calling convention is maintained by the compiler during the CPS transformation, which prevents the user from manually returning $\coroutineSuspended{}$.
If the user wants to suspend a coroutine, they need to perform the following steps.
* Access the coroutine's continuation object by calling [`suspendCoroutineUninterceptedOrReturn` intrinsic][Coroutine intrinsics] or any of its wrappers;
* Store the continuation object to resume it later;
* Pass the $\coroutineSuspended{}$ marker to the intrinsic, which is then returned from the function.
As Kotlin does not currently support denotable [union types], the return type is changed to [`kotlin.Any?`][`kotlin.Any`], so it can hold both the original return type $T$ and $\coroutineSuspended{}$.
#### Coroutine state machine
Kotlin implements suspendable functions as state machines, since such implementation does not require specific runtime support.
This dictates the explicit `suspend` marking (function colouring) of Kotlin coroutines: the compiler has to know which function can potentially suspend, to turn it into a state machine.
Each suspendable lambda is compiled to a continuation class, with fields representing its local variables, and an integer field for current state in the state machine.
Suspension point is where such lambda can suspend: either a suspending function call or [`suspendCoroutineUninterceptedOrReturn` intrinsic][Coroutine intrinsics] call.
For a lambda with $N$ suspension points and $M$ return statements, which are not suspension points themselves, $N + M$ states are generated (one for each suspension point plus one for each non-suspending return statement).
> Example:
>
> ```kotlin
> // Lambda body with multiple suspension points
> val a = a()
> val y = foo(a).await() // suspension point #1
> b()
> val z = bar(a, y).await() // suspension point #2
> c(z)
> ```
>
> ```kotlin
> // State machine code for the lambda after CPS transformation
> // (written in pseudo-Kotlin with gotos)
> class <anonymous> private constructor(
> completion: Continuation<Any?>
> ): SuspendLambda<...>(completion) {
> // The current state of the state machine
> var label = 0
>
> // local variables of the coroutine
> var a: A? = null
> var y: Y? = null
>
> fun invokeSuspend(result: Any?): Any? {
> // state jump table
> if (label == 0) goto L0
> if (label == 1) goto L1
> if (label == 2) goto L2
> else throw IllegalStateException()
>
> L0:
> // result is expected to be `null` at this invocation
>
> a = a()
> label = 1
> // 'this' is passed as a continuation
> result = foo(a).await(this)
> // return if await had suspended execution
> if (result == COROUTINE_SUSPENDED)
> return COROUTINE_SUSPENDED
> L1:
> // error handling
> result.throwOnFailure()
> // external code has resumed this coroutine
> // passing the result of .await()
> y = (Y) result
> b()
> label = 2
> // 'this' is passed as a continuation
> result = bar(a, y).await(this)
> // return if await had suspended execution
> if (result == COROUTINE_SUSPENDED)
> return COROUTINE_SUSPENDED
> L2:
> // error handling
> result.throwOnFailure()
> // external code has resumed this coroutine
> // passing the result of .await()
> Z z = (Z) result
> c(z)
> label = -1 // No more steps are allowed
> return Unit
> }
>
> fun create(completion: Continuation<Any?>): Continuation<Any?> {
> <anonymous>(completion)
> }
>
> fun invoke(completion: Continuation<Any?>): Any? {
> create(completion).invokeSuspend(Unit)
> }
> }
> ```
#### Continuation interception
Asynchronous computations in many cases need to control how they are executed, with varying degrees of precision.
For example, in typical user interface (UI) applications, updates to the interface should be executed on a special UI thread; in server-side applications, long-running computations are often offloaded to a separate thread pool, etc.
Continuation interceptors allow us to intercept the coroutine execution between suspension points and perform some operations on it, usually wrapping the coroutine continuation in another continuation.
This is done using the `kotlin.coroutines.ContinuationInterceptor` interface.
```kotlin
interface ContinuationInterceptor : CoroutineContext.Element {
companion object Key : CoroutineContext.Key<ContinuationInterceptor>
fun <T> interceptContinuation(continuation: Continuation<T>): Continuation<T>
fun releaseInterceptedContinuation(continuation: Continuation<*>)
}
```
As seen from the declaration, `ContinuationInterceptor` is a `CoroutineContext.Element`, and to perform the continuation interception,
Showing preview only (512K chars total). Download the full file or copy to clipboard to get everything.
gitextract_iqnl2ub6/ ├── .fleet/ │ ├── run.json │ └── settings.json ├── .github/ │ ├── actions/ │ │ ├── build-spec-in-docker/ │ │ │ └── action.yml │ │ └── upload-spec-artifacts/ │ │ └── action.yml │ └── workflows/ │ ├── build-spec-on-pr-in-docker.yml │ └── build-spec-on-pr.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── ROADMAP.md ├── build.gradle.kts ├── docker/ │ ├── Dockerfile │ └── build-spec.sh ├── docs/ │ ├── build.gradle.kts │ ├── html/ │ │ └── build.gradle.kts │ ├── htmlSections/ │ │ └── build.gradle.kts │ ├── pdf/ │ │ └── build.gradle.kts │ ├── pdfSections/ │ │ └── build.gradle.kts │ ├── scripts/ │ │ ├── build/ │ │ │ ├── buildHtml.sh │ │ │ ├── buildHtmlBySections.sh │ │ │ ├── buildPdf.sh │ │ │ ├── buildPdfBySections.sh │ │ │ ├── directories.sh │ │ │ └── settings.sh │ │ └── filters/ │ │ ├── brokenReferencesReportFilter.sh │ │ ├── compoundFilter.sh │ │ ├── copyPasteFilter.sh │ │ ├── inlineDiagramFilter.sh │ │ ├── inlineKatexFilter.sh │ │ ├── markSentencesFilter.sh │ │ ├── mathInCodeFilter.sh │ │ ├── processTodoFilter.sh │ │ └── splitSections.sh │ └── src/ │ ├── main/ │ │ └── kotlin/ │ │ └── org/ │ │ └── jetbrains/ │ │ └── kotlin/ │ │ └── spec/ │ │ ├── brokenReferencesReporter.kt │ │ ├── compoundFilter.kt │ │ ├── convertGrammar.kt │ │ ├── copyPasteFilter.kt │ │ ├── inlineDiagramFilter.kt │ │ ├── inlineKatex.kt │ │ ├── markSentencesFilter.kt │ │ ├── mathInCodeFilter.kt │ │ ├── processTodoFilter.kt │ │ └── splitDocument.kt │ └── md/ │ ├── commands.md │ ├── dynamic_math.html │ ├── epilogue.html │ ├── index.md │ ├── kotlin.core/ │ │ ├── annotations.md │ │ ├── builtins.md │ │ ├── cdfa.md │ │ ├── concurrency.md │ │ ├── coroutines.md │ │ ├── declarations.md │ │ ├── exceptions.md │ │ ├── expressions.md │ │ ├── index.md │ │ ├── inheritance.md │ │ ├── introduction.md │ │ ├── operators.md │ │ ├── overload-resolution.md │ │ ├── packages.md │ │ ├── rtti.md │ │ ├── scoping.md │ │ ├── statements.md │ │ ├── syntax.md │ │ ├── type-constraints.md │ │ ├── type-inference.md │ │ └── type-system.md │ ├── kotlin.jvm/ │ │ ├── declarations.md │ │ ├── index.md │ │ ├── lambda-expressions.md │ │ ├── rtti.md │ │ └── type-system.md │ ├── kotlin.xml │ ├── preamble.html │ ├── preamble.tex │ └── preface.html ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── grammar/ │ ├── README.md │ ├── build.gradle.kts │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── scripts/ │ │ ├── compareActuals.sh │ │ ├── processActuals.sh │ │ └── processModified.sh │ ├── src/ │ │ ├── main/ │ │ │ └── antlr/ │ │ │ ├── KotlinLexer.g4 │ │ │ ├── KotlinLexer.tokens │ │ │ ├── KotlinParser.g4 │ │ │ ├── UnicodeClasses.g4 │ │ │ └── UnicodeClasses.tokens │ │ └── test/ │ │ └── org/ │ │ └── jetbrains/ │ │ └── kotlin/ │ │ └── spec/ │ │ └── grammar/ │ │ ├── TestRunner.kt │ │ ├── parsetree/ │ │ │ ├── ComparisonTree.kt │ │ │ ├── KotlinParseTree.kt │ │ │ └── ParseTreeUtil.kt │ │ ├── psi/ │ │ │ └── PsiTextParser.kt │ │ └── util/ │ │ └── TestUtil.kt │ └── testData/ │ ├── diagnostics/ │ │ ├── Abstract.b.antlrtree.txt │ │ ├── Abstract.c.antlrtree.txt │ │ ├── AbstractAccessor.antlrtree.txt │ │ ├── AbstractInAbstractClass.antlrtree.txt │ │ ├── AbstractInClass.antlrtree.txt │ │ ├── AbstractInTrait.antlrtree.txt │ │ ├── AnonymousInitializerVarAndConstructor.antlrtree.txt │ │ ├── AnonymousInitializers.antlrtree.txt │ │ ├── AssignToArrayElement.antlrtree.txt │ │ ├── AutoCreatedIt.antlrtree.txt │ │ ├── BacktickNames.antlrtree.txt │ │ ├── Basic.antlrtree.txt │ │ ├── BinaryCallsOnNullableValues.antlrtree.txt │ │ ├── Bounds.a.antlrtree.txt │ │ ├── Bounds.b.antlrtree.txt │ │ ├── BreakContinue.antlrtree.txt │ │ ├── BreakContinueInWhen_after.antlrtree.txt │ │ ├── BreakContinueInWhen_before.antlrtree.txt │ │ ├── Builders.a.antlrtree.txt │ │ ├── Casts.antlrtree.txt │ │ ├── CharacterLiterals.antlrtree.txt │ │ ├── CompareToWithErrorType.antlrtree.txt │ │ ├── Constants.antlrtree.txt │ │ ├── Constructors.antlrtree.txt │ │ ├── ConstructorsOfPrimitives.antlrtree.txt │ │ ├── CovariantOverrideType.antlrtree.txt │ │ ├── DefaultValueForParameterInFunctionType.antlrtree.txt │ │ ├── DefaultValuesCheckWithoutBody.antlrtree.txt │ │ ├── DefaultValuesTypechecking.antlrtree.txt │ │ ├── DeferredTypes.antlrtree.txt │ │ ├── DeprecatedGetSetPropertyDelegateConvention.antlrtree.txt │ │ ├── DeprecatedUnaryOperatorConventions.antlrtree.txt │ │ ├── DiamondFunction.antlrtree.txt │ │ ├── DiamondFunctionGeneric.antlrtree.txt │ │ ├── DiamondProperty.antlrtree.txt │ │ ├── Dollar.antlrtree.txt │ │ ├── EnumEntryAsType.antlrtree.txt │ │ ├── ExtensionCallInvoke.antlrtree.txt │ │ ├── ExternalAccessors.antlrtree.txt │ │ ├── ExternalAndAbstract.antlrtree.txt │ │ ├── ForRangeConventions.antlrtree.txt │ │ ├── FreeFunctionCalledAsExtension.antlrtree.txt │ │ ├── FreeFunctionCalledAsExtension.reversed.antlrtree.txt │ │ ├── FunctionCalleeExpressions.antlrtree.txt │ │ ├── FunctionParameterWithoutType.antlrtree.txt │ │ ├── FunctionReturnTypes.antlrtree.txt │ │ ├── GenericArgumentConsistency.a.antlrtree.txt │ │ ├── GenericArgumentConsistency.b.antlrtree.txt │ │ ├── GenericArgumentConsistency.c.antlrtree.txt │ │ ├── GenericArgumentConsistency.d.antlrtree.txt │ │ ├── GenericArgumentConsistency.e.antlrtree.txt │ │ ├── GenericArgumentConsistency.f.antlrtree.txt │ │ ├── GenericFunctionIsLessSpecific.antlrtree.txt │ │ ├── IdentityComparisonWithPrimitives.antlrtree.txt │ │ ├── IncDec.antlrtree.txt │ │ ├── IncDecOperatorsInExpectClass.antlrtree.txt │ │ ├── IncorrectCharacterLiterals.antlrtree.txt │ │ ├── InferNullabilityInThenBlock.antlrtree.txt │ │ ├── Infix.antlrtree.txt │ │ ├── InfixModifierApplicability.antlrtree.txt │ │ ├── InvokeAndRecursiveResolve.antlrtree.txt │ │ ├── IsExpressions.KotlinFile.antlrtree.txt │ │ ├── LValueAssignment.antlrtree.txt │ │ ├── LValueAssignment.diff │ │ ├── LiteralAsResult.antlrtree.txt │ │ ├── LocalClassAndShortSubpackageNames.A.antlrtree.txt │ │ ├── LocalClassAndShortSubpackageNames.B.antlrtree.txt │ │ ├── MultilineStringTemplates.antlrtree.txt │ │ ├── MultipleBounds.antlrtree.txt │ │ ├── NamedFunctionTypeParameterInSupertype.antlrtree.txt │ │ ├── Nullability.antlrtree.txt │ │ ├── NumberPrefixAndSuffix.antlrtree.txt │ │ ├── ObjectWithConstructor.antlrtree.txt │ │ ├── OperatorChecks.antlrtree.txt │ │ ├── Operators.antlrtree.txt │ │ ├── OperatorsWithWrongNames.antlrtree.txt │ │ ├── OverrideFunctionWithParamDefaultValue.antlrtree.txt │ │ ├── OverridenFunctionAndSpecifiedTypeParameter.antlrtree.txt │ │ ├── OverridenSetterVisibility.antlrtree.txt │ │ ├── OverridingVarByVal.antlrtree.txt │ │ ├── PackageInExpressionPosition.antlrtree.txt │ │ ├── PackageInTypePosition.a.antlrtree.txt │ │ ├── PackageInTypePosition.b.antlrtree.txt │ │ ├── PackageQualified.a.antlrtree.txt │ │ ├── PackageQualified.b.antlrtree.txt │ │ ├── PackageQualified.c.antlrtree.txt │ │ ├── PackageQualified.d.antlrtree.txt │ │ ├── PrimaryConstructors.antlrtree.txt │ │ ├── PrivateFromOuterPackage.a.antlrtree.txt │ │ ├── PrivateFromOuterPackage.b.antlrtree.txt │ │ ├── PrivateFromOuterPackage.c.antlrtree.txt │ │ ├── PrivateSetterForOverridden.antlrtree.txt │ │ ├── ProcessingEmptyImport.antlrtree.txt │ │ ├── ProjectionOnFunctionArgumentErrror.antlrtree.txt │ │ ├── ProjectionsInSupertypes.antlrtree.txt │ │ ├── Properties.antlrtree.txt │ │ ├── PropertyInitializers.antlrtree.txt │ │ ├── QualifiedExpressions.antlrtree.txt │ │ ├── RecursiveResolve.antlrtree.txt │ │ ├── RecursiveTypeInference.a.antlrtree.txt │ │ ├── RecursiveTypeInference.b.antlrtree.txt │ │ ├── RecursiveTypeInference.c.antlrtree.txt │ │ ├── RecursiveTypeInference.d.antlrtree.txt │ │ ├── RecursiveTypeInference.e.antlrtree.txt │ │ ├── RecursiveTypeInference.f.antlrtree.txt │ │ ├── RecursiveTypeParameterEqualityCheck.antlrtree.txt │ │ ├── ReserveYield.1.antlrtree.txt │ │ ├── ReserveYield.2.antlrtree.txt │ │ ├── ReserveYield2.1.antlrtree.txt │ │ ├── ReserveYield2.2.antlrtree.txt │ │ ├── ReserveYield2.3.antlrtree.txt │ │ ├── ReserveYield2.4.antlrtree.txt │ │ ├── ReserveYieldNoMore.1.antlrtree.txt │ │ ├── ReserveYieldNoMore.2.antlrtree.txt │ │ ├── ReserveYieldNoMore2.1.antlrtree.txt │ │ ├── ReserveYieldNoMore2.2.antlrtree.txt │ │ ├── ReserveYieldNoMore2.3.antlrtree.txt │ │ ├── ReserveYieldNoMore2.4.antlrtree.txt │ │ ├── ResolveOfJavaGenerics.antlrtree.txt │ │ ├── ResolveToJava.a.antlrtree.txt │ │ ├── ResolveToJava.b.antlrtree.txt │ │ ├── Return.antlrtree.txt │ │ ├── ReturnInFunctionWithoutBody.antlrtree.txt │ │ ├── SafeCallInvoke.antlrtree.txt │ │ ├── SafeCallNonNullReceiver.antlrtree.txt │ │ ├── SafeCallNonNullReceiver2.antlrtree.txt │ │ ├── SafeCallNonNullReceiverReturnNull.antlrtree.txt │ │ ├── SafeCallOnFakePackage.anotherTest.antlrtree.txt │ │ ├── SafeCallOnFakePackage.test.antlrtree.txt │ │ ├── SafeCallOnSuperReceiver.antlrtree.txt │ │ ├── SafeCallUnknownType.antlrtree.txt │ │ ├── Serializable.antlrtree.txt │ │ ├── SetterVisibility.antlrtree.txt │ │ ├── ShiftFunctionTypes.a.antlrtree.txt │ │ ├── ShiftFunctionTypes.b.antlrtree.txt │ │ ├── ShiftFunctionTypes.c.antlrtree.txt │ │ ├── StarsInFunctionCalls.antlrtree.txt │ │ ├── StringPrefixAndSuffix.antlrtree.txt │ │ ├── StringTemplates.antlrtree.txt │ │ ├── SupertypeListChecks.antlrtree.txt │ │ ├── SyntaxErrorInTestHighlighting.antlrtree.txt │ │ ├── SyntaxErrorInTestHighlightingEof.antlrtree.txt │ │ ├── TraitOverrideObjectMethods.antlrtree.txt │ │ ├── TraitWithConstructor.antlrtree.txt │ │ ├── TypeInference.antlrtree.txt │ │ ├── TypeMismatchOnOverrideWithSyntaxErrors.antlrtree.txt │ │ ├── Underscore.antlrtree.txt │ │ ├── UnderscoreUsageInAnnotation.antlrtree.txt │ │ ├── UnderscoreUsageInCall.antlrtree.txt │ │ ├── UnderscoreUsageInCallableRefTypeLHS.antlrtree.txt │ │ ├── UnderscoreUsageInType.antlrtree.txt │ │ ├── UnderscoreUsageInVariableAsFunctionCall.antlrtree.txt │ │ ├── UnitByDefaultForFunctionTypes.antlrtree.txt │ │ ├── UnitValue.antlrtree.txt │ │ ├── Unresolved.antlrtree.txt │ │ ├── UnusedInDestructuring.antlrtree.txt │ │ ├── UnusedParameters.antlrtree.txt │ │ ├── UnusedVariables.antlrtree.txt │ │ ├── ValAndFunOverrideCompatibilityClash.antlrtree.txt │ │ ├── VarargTypes.antlrtree.txt │ │ ├── Varargs.antlrtree.txt │ │ ├── Variance.antlrtree.txt │ │ ├── abstractClassReference.antlrtree.txt │ │ ├── ambiguityNamedVararg.antlrtree.txt │ │ ├── annotationArgumentWithAliasedArrayType.antlrtree.txt │ │ ├── annotations/ │ │ │ ├── AmbigiousAnnotationConstructor.antlrtree.txt │ │ │ ├── AnnotatedBlock.antlrtree.txt │ │ │ ├── AnnotatedConstructor.antlrtree.txt │ │ │ ├── AnnotatedConstructorParams.antlrtree.txt │ │ │ ├── AnnotatedLocalObjectFun.antlrtree.txt │ │ │ ├── AnnotatedLocalObjectProperty.antlrtree.txt │ │ │ ├── AnnotatedLoop.antlrtree.txt │ │ │ ├── AnnotatedNullableTypes.antlrtree.txt │ │ │ ├── AnnotatedResultType.antlrtree.txt │ │ │ ├── AnnotatedTryCatch.antlrtree.txt │ │ │ ├── AnnotationAsDefaultParameter.antlrtree.txt │ │ │ ├── AnnotationForClassTypeParameter_15.antlrtree.txt │ │ │ ├── AnnotationForClassTypeParameter_16.antlrtree.txt │ │ │ ├── AnnotationForClassTypeParameter_typeUseFlag.antlrtree.txt │ │ │ ├── AnnotationForFunctionTypeParameter.antlrtree.txt │ │ │ ├── AnnotationForObject.antlrtree.txt │ │ │ ├── AnnotationIdentifier.a.antlrtree.txt │ │ │ ├── AnnotationIdentifier.other_c.antlrtree.txt │ │ │ ├── AnnotationIdentifier.test_b.antlrtree.txt │ │ │ ├── AnnotationOnObject.antlrtree.txt │ │ │ ├── AnnotationsForClasses.antlrtree.txt │ │ │ ├── AnnotationsForPropertyTypeParameter.antlrtree.txt │ │ │ ├── BasicAnnotations.antlrtree.txt │ │ │ ├── ConstructorCall.antlrtree.txt │ │ │ ├── ConstructorCallAllowed.antlrtree.txt │ │ │ ├── DanglingMixed.antlrtree.txt │ │ │ ├── DanglingNoBrackets.antlrtree.txt │ │ │ ├── DanglingWithBrackets.antlrtree.txt │ │ │ ├── Deprecated.antlrtree.txt │ │ │ ├── InheritingAnnotationClass.antlrtree.txt │ │ │ ├── JavaAnnotationConstructors.antlrtree.txt │ │ │ ├── JvmSerializableLambdaAnnotation.antlrtree.txt │ │ │ ├── MultiDeclaration.antlrtree.txt │ │ │ ├── MutuallyRecursivelyAnnotatedGlobalFunction.antlrtree.txt │ │ │ ├── MutuallyRecursivelyAnnotatedGlobalFunction.reversed.antlrtree.txt │ │ │ ├── NonAnnotationClass.antlrtree.txt │ │ │ ├── RecursivelyAnnotated.antlrtree.txt │ │ │ ├── RecursivelyAnnotatedFunctionParameter.antlrtree.txt │ │ │ ├── RecursivelyAnnotatedGlobalFunction.antlrtree.txt │ │ │ ├── RecursivelyAnnotatedGlobalProperty.antlrtree.txt │ │ │ ├── RecursivelyAnnotatedParameter.antlrtree.txt │ │ │ ├── RecursivelyAnnotatedParameterType.antlrtree.txt │ │ │ ├── RecursivelyAnnotatedParameterWithAt.antlrtree.txt │ │ │ ├── RecursivelyAnnotatedProperty.antlrtree.txt │ │ │ ├── RecursivelyIncorrectlyAnnotatedParameter.antlrtree.txt │ │ │ ├── RetentionsOfAnnotationWithExpressionTarget_after.antlrtree.txt │ │ │ ├── RetentionsOfAnnotationWithExpressionTarget_before.antlrtree.txt │ │ │ ├── UnresolvedAnnotationOnObject.antlrtree.txt │ │ │ ├── WrongAnnotationArgsOnObject.antlrtree.txt │ │ │ ├── annotatedExpressionInsideAnnotation.antlrtree.txt │ │ │ ├── annotationInheritance.antlrtree.txt │ │ │ ├── annotationModifier.antlrtree.txt │ │ │ ├── annotationOnParameterInFunctionType.antlrtree.txt │ │ │ ├── annotationParameterMustBeConstant/ │ │ │ │ ├── annotationConstructorDefaultParameter.antlrtree.txt │ │ │ │ ├── booleanLocalVal.antlrtree.txt │ │ │ │ ├── compareAndEquals.antlrtree.txt │ │ │ │ ├── enumConst_after.antlrtree.txt │ │ │ │ ├── enumConst_before.antlrtree.txt │ │ │ │ ├── javaProperties.a.antlrtree.txt │ │ │ │ ├── kotlinProperties.antlrtree.txt │ │ │ │ ├── standaloneInExpression.antlrtree.txt │ │ │ │ └── strings.antlrtree.txt │ │ │ ├── annotationRenderingInTypes.antlrtree.txt │ │ │ ├── annotationsOnDataClassCopy.antlrtree.txt │ │ │ ├── annotationsOnLambdaAsCallArgument.antlrtree.txt │ │ │ ├── annotationsOnNullableTypes.antlrtree.txt │ │ │ ├── arrayLiteralInAnnotationCompanion_after.antlrtree.txt │ │ │ ├── arrayLiteralInAnnotationCompanion_before.antlrtree.txt │ │ │ ├── atAnnotationResolve.antlrtree.txt │ │ │ ├── blockLevelOnTheSameLineWarning.antlrtree.txt │ │ │ ├── cycleInParameters_after.antlrtree.txt │ │ │ ├── cycleInParameters_array.antlrtree.txt │ │ │ ├── cycleInParameters_before.antlrtree.txt │ │ │ ├── dontReportWarningAboutChangingExecutionOrderForVararg.antlrtree.txt │ │ │ ├── extensionFunctionType.antlrtree.txt │ │ │ ├── forParameterAnnotationResolve.antlrtree.txt │ │ │ ├── functionalTypes/ │ │ │ │ ├── nonParenthesizedAnnotationsWithError.antlrtree.txt │ │ │ │ ├── nonParenthesizedAnnotationsWithoutError.antlrtree.txt │ │ │ │ ├── parenthesizedAnnotations.antlrtree.txt │ │ │ │ └── propagteAnyAnnotations.antlrtree.txt │ │ │ ├── illegalRequireKotlinValue.antlrtree.txt │ │ │ ├── illegalSinceKotlinValue.antlrtree.txt │ │ │ ├── inheritFromAnnotationClass.antlrtree.txt │ │ │ ├── inheritFromAnnotationClass2.test.antlrtree.txt │ │ │ ├── invalidTypesInAnnotationConstructor.antlrtree.txt │ │ │ ├── javaAnnotationAndJavaClassWithIt.foo_AnotherTarget.antlrtree.txt │ │ │ ├── javaAnnotationWithClassArray.main.antlrtree.txt │ │ │ ├── kt1860-negative.antlrtree.txt │ │ │ ├── kt1860-positive.antlrtree.txt │ │ │ ├── kt1886annotationBody_after.antlrtree.txt │ │ │ ├── kt1886annotationBody_before.antlrtree.txt │ │ │ ├── missingValOnParameter.antlrtree.txt │ │ │ ├── nestedClassesInAnnotations.antlrtree.txt │ │ │ ├── noNameProperty.antlrtree.txt │ │ │ ├── onExpression.antlrtree.txt │ │ │ ├── onFunctionParameter.antlrtree.txt │ │ │ ├── onInitializer.antlrtree.txt │ │ │ ├── onLoops.antlrtree.txt │ │ │ ├── onLoopsUnreachable.antlrtree.txt │ │ │ ├── onMultiDeclaration.antlrtree.txt │ │ │ ├── options/ │ │ │ │ ├── annotationAsArg.antlrtree.txt │ │ │ │ ├── annotationAsArgComplex.antlrtree.txt │ │ │ │ ├── assignment.antlrtree.txt │ │ │ │ ├── documented.antlrtree.txt │ │ │ │ ├── forParam.antlrtree.txt │ │ │ │ ├── functionExpression.antlrtree.txt │ │ │ │ ├── functions.antlrtree.txt │ │ │ │ ├── javaDocumented.DocumentedAnnotations.antlrtree.txt │ │ │ │ ├── javaKotlinTargetRetention.antlrtree.txt │ │ │ │ ├── javaKotlinTargetRetentionWithExplicitImport.antlrtree.txt │ │ │ │ ├── javaretention.AnnotationRetentions.antlrtree.txt │ │ │ │ ├── multiDeclaration.antlrtree.txt │ │ │ │ ├── objectLiteral.antlrtree.txt │ │ │ │ ├── prefix.antlrtree.txt │ │ │ │ ├── retention.antlrtree.txt │ │ │ │ ├── setterParam.antlrtree.txt │ │ │ │ ├── target.antlrtree.txt │ │ │ │ ├── targets/ │ │ │ │ │ ├── accessors.antlrtree.txt │ │ │ │ │ ├── annotation.antlrtree.txt │ │ │ │ │ ├── classifier.antlrtree.txt │ │ │ │ │ ├── constructor.antlrtree.txt │ │ │ │ │ ├── empty.antlrtree.txt │ │ │ │ │ ├── expr.antlrtree.txt │ │ │ │ │ ├── field.antlrtree.txt │ │ │ │ │ ├── file.annotation.antlrtree.txt │ │ │ │ │ ├── file.another.antlrtree.txt │ │ │ │ │ ├── file.other.antlrtree.txt │ │ │ │ │ ├── function.antlrtree.txt │ │ │ │ │ ├── funtypeargs.antlrtree.txt │ │ │ │ │ ├── incorrect.antlrtree.txt │ │ │ │ │ ├── init.antlrtree.txt │ │ │ │ │ ├── java.test_AnnotationTargets.antlrtree.txt │ │ │ │ │ ├── local.antlrtree.txt │ │ │ │ │ ├── nested.antlrtree.txt │ │ │ │ │ ├── property.antlrtree.txt │ │ │ │ │ ├── returntype.antlrtree.txt │ │ │ │ │ ├── suppress.antlrtree.txt │ │ │ │ │ ├── type.antlrtree.txt │ │ │ │ │ ├── typeParams.antlrtree.txt │ │ │ │ │ ├── typeargs.antlrtree.txt │ │ │ │ │ └── valueparam.antlrtree.txt │ │ │ │ └── unrepeatable.antlrtree.txt │ │ │ ├── parameters/ │ │ │ │ ├── byte.antlrtree.txt │ │ │ │ ├── char.antlrtree.txt │ │ │ │ ├── double.antlrtree.txt │ │ │ │ ├── expressions/ │ │ │ │ │ ├── andAnd.antlrtree.txt │ │ │ │ │ ├── boolean.antlrtree.txt │ │ │ │ │ ├── char.antlrtree.txt │ │ │ │ │ ├── compositeCallBinary.antlrtree.txt │ │ │ │ │ ├── divide.antlrtree.txt │ │ │ │ │ ├── double.antlrtree.txt │ │ │ │ │ ├── eqeq.antlrtree.txt │ │ │ │ │ ├── escapedString.antlrtree.txt │ │ │ │ │ ├── float.antlrtree.txt │ │ │ │ │ ├── gt.antlrtree.txt │ │ │ │ │ ├── gteq.antlrtree.txt │ │ │ │ │ ├── intrincics.antlrtree.txt │ │ │ │ │ ├── labeled.antlrtree.txt │ │ │ │ │ ├── long.antlrtree.txt │ │ │ │ │ ├── lt.antlrtree.txt │ │ │ │ │ ├── lteq.antlrtree.txt │ │ │ │ │ ├── maxValue.antlrtree.txt │ │ │ │ │ ├── maxValueByte.antlrtree.txt │ │ │ │ │ ├── maxValueInt.antlrtree.txt │ │ │ │ │ ├── miltiply.antlrtree.txt │ │ │ │ │ ├── minus.antlrtree.txt │ │ │ │ │ ├── mod.antlrtree.txt │ │ │ │ │ ├── multilineString.antlrtree.txt │ │ │ │ │ ├── not.antlrtree.txt │ │ │ │ │ ├── noteq.antlrtree.txt │ │ │ │ │ ├── orOr.antlrtree.txt │ │ │ │ │ ├── paranthesized.antlrtree.txt │ │ │ │ │ ├── plus.antlrtree.txt │ │ │ │ │ ├── simpleCallBinary.antlrtree.txt │ │ │ │ │ ├── stringPlusInt.antlrtree.txt │ │ │ │ │ ├── stringTemplate.antlrtree.txt │ │ │ │ │ ├── strings.antlrtree.txt │ │ │ │ │ ├── unaryMinus.antlrtree.txt │ │ │ │ │ └── unaryPlus.antlrtree.txt │ │ │ │ ├── float.antlrtree.txt │ │ │ │ ├── int.antlrtree.txt │ │ │ │ ├── long.antlrtree.txt │ │ │ │ └── short.antlrtree.txt │ │ │ ├── rendering/ │ │ │ │ ├── cannotOverrideInvisibleMember.antlrtree.txt │ │ │ │ ├── conflictingOverloads.antlrtree.txt │ │ │ │ ├── differentNamesForParameter.antlrtree.txt │ │ │ │ ├── memberProjectedOut.antlrtree.txt │ │ │ │ ├── multipleInheritedDefaults.antlrtree.txt │ │ │ │ ├── notImplementedMembers.antlrtree.txt │ │ │ │ ├── notImplementedMembersAroundJava.main.antlrtree.txt │ │ │ │ ├── tooManyArguments.antlrtree.txt │ │ │ │ ├── typeMismatchDueToTypeProjections.antlrtree.txt │ │ │ │ ├── typeMismatchOnOverride.antlrtree.txt │ │ │ │ ├── typeMismatchOnOverrideJavaNullable.k.antlrtree.txt │ │ │ │ ├── typeMismatchOnOverrideJavaNullable.ll.k.antlrtree.txt │ │ │ │ └── unusedValue.antlrtree.txt │ │ │ ├── repeatable/ │ │ │ │ ├── containerAndAnnotationAreBothApplied_1_5.KR.antlrtree.txt │ │ │ │ ├── containerAndAnnotationAreBothApplied_1_5.KS.antlrtree.txt │ │ │ │ ├── containerAndAnnotationAreBothApplied_1_5.test.antlrtree.txt │ │ │ │ ├── containerAndAnnotationAreBothApplied_1_6.KR.antlrtree.txt │ │ │ │ ├── containerAndAnnotationAreBothApplied_1_6.KS.antlrtree.txt │ │ │ │ ├── containerAndAnnotationAreBothApplied_1_6.test.antlrtree.txt │ │ │ │ ├── containerArguments_1_5.antlrtree.txt │ │ │ │ ├── containerArguments_1_6.antlrtree.txt │ │ │ │ ├── containerRetention_1_5.antlrtree.txt │ │ │ │ ├── containerRetention_1_6.antlrtree.txt │ │ │ │ ├── containerTarget_1_6.antlrtree.txt │ │ │ │ ├── javaRepeatableInKotlin.antlrtree.txt │ │ │ │ ├── javaRepeatable_1_5.usage.antlrtree.txt │ │ │ │ ├── javaRepeatable_1_6.usage.antlrtree.txt │ │ │ │ ├── javaUnrepeatable_1_5.usage.antlrtree.txt │ │ │ │ ├── javaUnrepeatable_1_6.usage.antlrtree.txt │ │ │ │ ├── kotlinRepeatable_1_5.antlrtree.txt │ │ │ │ ├── kotlinRepeatable_1_6.antlrtree.txt │ │ │ │ ├── nestedClassContainer_1_5.antlrtree.txt │ │ │ │ └── nestedClassContainer_1_6.antlrtree.txt │ │ │ ├── requireKotlin.antlrtree.txt │ │ │ ├── typeAnnotations.antlrtree.txt │ │ │ ├── typeArgumentsInAnnotation.antlrtree.txt │ │ │ ├── typeParameterAsAnnotation.antlrtree.txt │ │ │ ├── typeUse/ │ │ │ │ ├── kt19455.antlrtree.txt │ │ │ │ ├── kt25876.antlrtree.txt │ │ │ │ ├── kt45905.main.antlrtree.txt │ │ │ │ ├── kt46173.antlrtree.txt │ │ │ │ ├── kt47772.antlrtree.txt │ │ │ │ ├── kt8325.antlrtree.txt │ │ │ │ └── nonTypeUseAnnotationOnType.antlrtree.txt │ │ │ ├── unresolvedReferenceRange.antlrtree.txt │ │ │ └── withUseSiteTarget/ │ │ │ ├── DelegateAnnotations.antlrtree.txt │ │ │ ├── FieldAnnotations.antlrtree.txt │ │ │ ├── FileAnnotations.1.antlrtree.txt │ │ │ ├── FileAnnotations.2.antlrtree.txt │ │ │ ├── FileAnnotations.annotations.antlrtree.txt │ │ │ ├── GetterAnnotations.antlrtree.txt │ │ │ ├── ParamAnnotations.antlrtree.txt │ │ │ ├── PropertyAnnotations.antlrtree.txt │ │ │ ├── ReceiverAnnotations.antlrtree.txt │ │ │ ├── SetterAnnotations.antlrtree.txt │ │ │ ├── SparamAnnotations.antlrtree.txt │ │ │ ├── diagnosticFileAnnotationInWrongPlace.antlrtree.txt │ │ │ ├── diagnosticWithoutPackage.antlrtree.txt │ │ │ ├── diagnosticWithoutPackageWithSimpleAnnotation.antlrtree.txt │ │ │ ├── fileAnnotationWithoutColon_after.antlrtree.txt │ │ │ ├── fileAnnotationWithoutColon_before.antlrtree.txt │ │ │ ├── kt23992.antlrtree.txt │ │ │ ├── kt23992_after.antlrtree.txt │ │ │ ├── kt26638.antlrtree.txt │ │ │ ├── kt26638_after.antlrtree.txt │ │ │ ├── prohibitUseSiteGetTargetAnnotationsOff.antlrtree.txt │ │ │ ├── prohibitUseSiteGetTargetAnnotationsOn.antlrtree.txt │ │ │ ├── receiverUseSiteTargetOnExtensionFunction_after.antlrtree.txt │ │ │ ├── receiverUseSiteTargetOnExtensionFunction_before.antlrtree.txt │ │ │ ├── repeatable.antlrtree.txt │ │ │ ├── wrongParamAnnotationsOnTypesError.antlrtree.txt │ │ │ ├── wrongParamAnnotationsOnTypes_after.antlrtree.txt │ │ │ └── wrongParamAnnotationsOnTypes_before.antlrtree.txt │ │ ├── backingField/ │ │ │ ├── CustomGetSet.antlrtree.txt │ │ │ ├── CustomGetVal.antlrtree.txt │ │ │ ├── CustomGetValGlobal.antlrtree.txt │ │ │ ├── CustomGetVar.antlrtree.txt │ │ │ ├── CustomSet.antlrtree.txt │ │ │ ├── ExtensionProperty.antlrtree.txt │ │ │ ├── FieldAsParam.antlrtree.txt │ │ │ ├── FieldAsProperty.antlrtree.txt │ │ │ ├── FieldDerived.antlrtree.txt │ │ │ ├── FieldInInterface.antlrtree.txt │ │ │ ├── FieldInLocal.antlrtree.txt │ │ │ ├── FieldOnVal.antlrtree.txt │ │ │ ├── FieldOnVar.antlrtree.txt │ │ │ ├── FieldReassignment_after.antlrtree.txt │ │ │ ├── FieldReassignment_before.antlrtree.txt │ │ │ ├── FieldShadow.antlrtree.txt │ │ │ ├── InitCustomSetter.antlrtree.txt │ │ │ ├── InitOpenSetter.antlrtree.txt │ │ │ ├── LocalDeclarations.antlrtree.txt │ │ │ ├── MustBeInitializedEffectivelyFinalOff.antlrtree.txt │ │ │ ├── MustBeInitializedEffectivelyFinalOn.antlrtree.txt │ │ │ ├── OpenValPartialDeferredInitErrorAnyway.antlrtree.txt │ │ │ ├── OpenValPartialDeferredInitSecondaryConstructorErrorAnyway.antlrtree.txt │ │ │ ├── OpenValPartialDeferredInitTwoSecondaryConstructorsErrorAnyway.antlrtree.txt │ │ │ ├── SetterWithExplicitType.antlrtree.txt │ │ │ ├── ValDeferredInitInFinalClass.antlrtree.txt │ │ │ ├── ValDeferredInitInOpenClassOpenValError.antlrtree.txt │ │ │ ├── ValDeferredInitInOpenClassOpenValWarning.antlrtree.txt │ │ │ ├── ValWithSetterDeferredInit.antlrtree.txt │ │ │ ├── VarDeferredInitInFinalClass.antlrtree.txt │ │ │ ├── VarDeferredInitInOpenClass.antlrtree.txt │ │ │ ├── kt782packageLevel.antlrtree.txt │ │ │ └── prohibitMissedMustBeInitializedWhenThereIsNoPrimaryConstructor/ │ │ │ ├── implicitPrimaryConstructor_errorAnyway.antlrtree.txt │ │ │ ├── noPrimary_oneInheritedSecondary_mustBeInitializedError.antlrtree.txt │ │ │ ├── noPrimary_oneInheritedSecondary_mustBeInitializedWarning.antlrtree.txt │ │ │ ├── noPrimary_oneSecondary_deferredInitInSecondary_mustBeInitializedError.antlrtree.txt │ │ │ ├── noPrimary_oneSecondary_deferredInitInSecondary_mustBeInitializedWarning.antlrtree.txt │ │ │ ├── noPrimary_oneSecondary_mustBeInitializedError.antlrtree.txt │ │ │ ├── noPrimary_oneSecondary_mustBeInitializedWarning.antlrtree.txt │ │ │ ├── noPrimary_oneSecondary_openValError_mustBeInitializedError.antlrtree.txt │ │ │ ├── noPrimary_oneSecondary_openValError_mustBeInitializedWarning.antlrtree.txt │ │ │ ├── noPrimary_oneSecondary_openValWarning_mustBeInitializedError.antlrtree.txt │ │ │ ├── noPrimary_oneSecondary_openValWarning_mustBeInitializedWarning.antlrtree.txt │ │ │ ├── noPrimary_oneSecondary_openVar_mustBeInitializedError.antlrtree.txt │ │ │ ├── noPrimary_oneSecondary_openVar_mustBeInitializedWarning.antlrtree.txt │ │ │ ├── noPrimary_partialDeferredInitInSecondary_errorAnyway.antlrtree.txt │ │ │ ├── noPrimary_partialDeferredInitInTwoSecondaries_errorAnyway.antlrtree.txt │ │ │ ├── noPrimary_twoSecondary_mustBeInitializedError.antlrtree.txt │ │ │ ├── noPrimary_twoSecondary_mustBeInitializedWarning.antlrtree.txt │ │ │ └── onePrimary_oneSecondary_errorAnyway.antlrtree.txt │ │ ├── callableReference/ │ │ │ ├── adapted/ │ │ │ │ ├── adaptationByExpectTypeOutsideCall.antlrtree.txt │ │ │ │ ├── adaptationInWhenWithMapOf.antlrtree.txt │ │ │ │ ├── adaptationToOverridenWithoutDefault.antlrtree.txt │ │ │ │ ├── noKFunctionForAdaptation.antlrtree.txt │ │ │ │ └── simpleAdaptationOutsideOfCall.antlrtree.txt │ │ │ ├── bareType.antlrtree.txt │ │ │ ├── bound/ │ │ │ │ ├── classVsStarImportedCompanion.1.antlrtree.txt │ │ │ │ ├── classVsStarImportedCompanion.2.antlrtree.txt │ │ │ │ ├── classVsStarImportedObject.1.antlrtree.txt │ │ │ │ ├── classVsStarImportedObject.2.antlrtree.txt │ │ │ │ ├── companionObject.antlrtree.txt │ │ │ │ ├── controlFlow.antlrtree.txt │ │ │ │ ├── dataFlow.antlrtree.txt │ │ │ │ ├── expectedType.antlrtree.txt │ │ │ │ ├── expressionWithNullableType.test.antlrtree.txt │ │ │ │ ├── functionCallWithoutArguments.antlrtree.txt │ │ │ │ ├── innerNested.antlrtree.txt │ │ │ │ ├── kt12843.antlrtree.txt │ │ │ │ ├── noThisInSuperCall.antlrtree.txt │ │ │ │ ├── object.antlrtree.txt │ │ │ │ ├── privateToThis.antlrtree.txt │ │ │ │ ├── referenceToStaticMethodOnInstance.test.antlrtree.txt │ │ │ │ ├── reservedExpressionSyntax.antlrtree.txt │ │ │ │ ├── reservedExpressionSyntax2.antlrtree.txt │ │ │ │ ├── reservedExpressionSyntax3.antlrtree.txt │ │ │ │ ├── syntheticExtensionOnLHS.test.antlrtree.txt │ │ │ │ └── valueOfTypeParameterType.antlrtree.txt │ │ │ ├── callableReferenceAsLastExpressionInBlock.antlrtree.txt │ │ │ ├── callableReferenceAssignmentToVar.lib.antlrtree.txt │ │ │ ├── callableReferenceAssignmentToVar.main.antlrtree.txt │ │ │ ├── callableReferenceInWhenExpression.antlrtree.txt │ │ │ ├── callableReferenceWithMostSpecificGenericTypeParameter.antlrtree.txt │ │ │ ├── callableReferencesToCompanionMembers.antlrtree.txt │ │ │ ├── classVsPackage.1.antlrtree.txt │ │ │ ├── classVsPackage.2.antlrtree.txt │ │ │ ├── classVsPackage.test.antlrtree.txt │ │ │ ├── compatibilityResolveWithVarargAndOperatorCall.antlrtree.txt │ │ │ ├── constraintFromLHSWithCorrectDirection.antlrtree.txt │ │ │ ├── constraintFromLHSWithCorrectDirectionError.antlrtree.txt │ │ │ ├── correctCandidateWithCompatibilityForSeveralCandidates.antlrtree.txt │ │ │ ├── correctInfoAfterArrayLikeCall.antlrtree.txt │ │ │ ├── deprecateTopLevelReferenceWithCompanionLHS.antlrtree.txt │ │ │ ├── deprecatedCompanionReceiverInParentheses.lib.antlrtree.txt │ │ │ ├── deprecatedCompanionReceiverInParentheses.main.antlrtree.txt │ │ │ ├── ea81649_errorPropertyLHS.bar.antlrtree.txt │ │ │ ├── ea81649_errorPropertyLHS.foo.antlrtree.txt │ │ │ ├── emptyLhs.antlrtree.txt │ │ │ ├── expectedTypeAsSubtypeOfFunctionType.antlrtree.txt │ │ │ ├── function/ │ │ │ │ ├── abstractClassConstructors.antlrtree.txt │ │ │ │ ├── ambiguityTopLevelVsTopLevel.antlrtree.txt │ │ │ │ ├── annotationClassConstructor.antlrtree.txt │ │ │ │ ├── callableRefrenceOnNestedObject.antlrtree.txt │ │ │ │ ├── classMemberVsConstructorLikeFunction.Foo.antlrtree.txt │ │ │ │ ├── classMemberVsConstructorLikeFunction.test.antlrtree.txt │ │ │ │ ├── constructorFromClass.antlrtree.txt │ │ │ │ ├── constructorFromCompanion.A.antlrtree.txt │ │ │ │ ├── constructorFromCompanion.AFactory.antlrtree.txt │ │ │ │ ├── constructorFromCompanion.B.antlrtree.txt │ │ │ │ ├── constructorFromCompanion.Util.antlrtree.txt │ │ │ │ ├── constructorFromExtension.antlrtree.txt │ │ │ │ ├── constructorFromExtensionInClass.antlrtree.txt │ │ │ │ ├── constructorFromTopLevel.antlrtree.txt │ │ │ │ ├── constructorOfNestedClassInObject.antlrtree.txt │ │ │ │ ├── differentPackageClass.a.antlrtree.txt │ │ │ │ ├── differentPackageClass.b.antlrtree.txt │ │ │ │ ├── differentPackageExtension.a.antlrtree.txt │ │ │ │ ├── differentPackageExtension.b.antlrtree.txt │ │ │ │ ├── differentPackageTopLevel.a.antlrtree.txt │ │ │ │ ├── differentPackageTopLevel.b.antlrtree.txt │ │ │ │ ├── empty.antlrtree.txt │ │ │ │ ├── extensionFromTopLevel.antlrtree.txt │ │ │ │ ├── extensionInClassDisallowed.antlrtree.txt │ │ │ │ ├── extensionOnNullable.antlrtree.txt │ │ │ │ ├── extensionToSupertype.antlrtree.txt │ │ │ │ ├── fakeOverrideType.antlrtree.txt │ │ │ │ ├── genericClassFromTopLevel.antlrtree.txt │ │ │ │ ├── importedInnerConstructor.antlrtree.txt │ │ │ │ ├── innerConstructorFromClass.antlrtree.txt │ │ │ │ ├── innerConstructorFromExtension.antlrtree.txt │ │ │ │ ├── innerConstructorFromTopLevel.antlrtree.txt │ │ │ │ ├── javaStaticMethod.1.antlrtree.txt │ │ │ │ ├── lhsNotAClass.antlrtree.txt │ │ │ │ ├── localConstructor.antlrtree.txt │ │ │ │ ├── localConstructorFromExtensionInLocalClass.antlrtree.txt │ │ │ │ ├── localConstructorFromLocalClass.antlrtree.txt │ │ │ │ ├── localConstructorFromLocalExtension.antlrtree.txt │ │ │ │ ├── localNamedFun.antlrtree.txt │ │ │ │ ├── localNamedFunFromExtensionInLocalClass.antlrtree.txt │ │ │ │ ├── localNamedFunFromLocalClass.antlrtree.txt │ │ │ │ ├── localNamedFunFromLocalExtension.antlrtree.txt │ │ │ │ ├── longQualifiedName.a.antlrtree.txt │ │ │ │ ├── longQualifiedName.b.antlrtree.txt │ │ │ │ ├── longQualifiedNameGeneric.a.antlrtree.txt │ │ │ │ ├── longQualifiedNameGeneric.b.antlrtree.txt │ │ │ │ ├── memberFromTopLevel.antlrtree.txt │ │ │ │ ├── nestedConstructorFromClass.antlrtree.txt │ │ │ │ ├── nestedConstructorFromExtension.antlrtree.txt │ │ │ │ ├── nestedConstructorFromTopLevel.antlrtree.txt │ │ │ │ ├── noAmbiguityLocalVsTopLevel.antlrtree.txt │ │ │ │ ├── noAmbiguityMemberVsExtension.antlrtree.txt │ │ │ │ ├── noAmbiguityMemberVsTopLevel.antlrtree.txt │ │ │ │ ├── privateStaticAndPublicMember.main.antlrtree.txt │ │ │ │ ├── renameOnImport.a.antlrtree.txt │ │ │ │ ├── renameOnImport.b.antlrtree.txt │ │ │ │ ├── topLevelFromClass.antlrtree.txt │ │ │ │ ├── topLevelFromExtension.antlrtree.txt │ │ │ │ ├── topLevelFromExtensionInClass.antlrtree.txt │ │ │ │ ├── topLevelFromTopLevel.antlrtree.txt │ │ │ │ └── unresolved.antlrtree.txt │ │ │ ├── functionReferenceWithDefaultValueAsOtherFunctionType.antlrtree.txt │ │ │ ├── functionReferenceWithDefaultValueAsOtherFunctionType_enabled.antlrtree.txt │ │ │ ├── generic/ │ │ │ │ ├── argumentAndReturnExpectedType.antlrtree.txt │ │ │ │ ├── argumentExpectedType.antlrtree.txt │ │ │ │ ├── boundViolated.antlrtree.txt │ │ │ │ ├── dependOnArgumentType.1.antlrtree.txt │ │ │ │ ├── expectedFunctionType.antlrtree.txt │ │ │ │ ├── explicitTypeArguments.antlrtree.txt │ │ │ │ ├── genericExtensionFunction.antlrtree.txt │ │ │ │ ├── genericFunctionsWithNullableTypes.antlrtree.txt │ │ │ │ ├── incorrectNumberOfTypeArguments.antlrtree.txt │ │ │ │ ├── kt10968.antlrtree.txt │ │ │ │ ├── kt11075.antlrtree.txt │ │ │ │ ├── kt12286.antlrtree.txt │ │ │ │ ├── kt35896.antlrtree.txt │ │ │ │ ├── kt7470.antlrtree.txt │ │ │ │ ├── nestedCallWithOverload.antlrtree.txt │ │ │ │ ├── resolutionGenericCallableWithNullableTypes.antlrtree.txt │ │ │ │ ├── resolutionWithGenericCallable.antlrtree.txt │ │ │ │ └── specialCalls.antlrtree.txt │ │ │ ├── genericCallWithReferenceAgainstVararg.antlrtree.txt │ │ │ ├── genericCallWithReferenceAgainstVarargAndKFunction.antlrtree.txt │ │ │ ├── genericTypealiasInLhs.antlrtree.txt │ │ │ ├── kt15439_completeCall.antlrtree.txt │ │ │ ├── kt25433.antlrtree.txt │ │ │ ├── kt31981.antlrtree.txt │ │ │ ├── kt32256.antlrtree.txt │ │ │ ├── kt32267.antlrtree.txt │ │ │ ├── kt34314.antlrtree.txt │ │ │ ├── kt34314_lambda.antlrtree.txt │ │ │ ├── kt35105.antlrtree.txt │ │ │ ├── kt35959.antlrtree.txt │ │ │ ├── kt37530.antlrtree.txt │ │ │ ├── kt46437.antlrtree.txt │ │ │ ├── kt49038.antlrtree.txt │ │ │ ├── kt52503.antlrtree.txt │ │ │ ├── kt7430_wrongClassOnLHS.antlrtree.txt │ │ │ ├── lambdaResult.antlrtree.txt │ │ │ ├── memberExtensionsImportedFromObjectsUnsupported.antlrtree.txt │ │ │ ├── noAmbiguityWhenAllReferencesAreInapplicable.antlrtree.txt │ │ │ ├── noCompatibilityResolveWithProressiveModeForNI.antlrtree.txt │ │ │ ├── noExceptionOnRedCodeWithArrayLikeCall.antlrtree.txt │ │ │ ├── overloadResolutionWithDefaults.antlrtree.txt │ │ │ ├── packageInLhs.qualifiedName.antlrtree.txt │ │ │ ├── packageInLhs.simpleName.antlrtree.txt │ │ │ ├── parsingPriorityOfGenericArgumentsVsLess.antlrtree.txt │ │ │ ├── property/ │ │ │ │ ├── abstractPropertyViaSubclasses.antlrtree.txt │ │ │ │ ├── accessViaSubclass.antlrtree.txt │ │ │ │ ├── backingField.antlrtree.txt │ │ │ │ ├── classFromClass.antlrtree.txt │ │ │ │ ├── extensionFromTopLevel.antlrtree.txt │ │ │ │ ├── extensionPropertyOnNullable.antlrtree.txt │ │ │ │ ├── extensionsSameName.antlrtree.txt │ │ │ │ ├── genericClass.antlrtree.txt │ │ │ │ ├── javaInstanceField.test.antlrtree.txt │ │ │ │ ├── javaStaticFieldViaImport.test.antlrtree.txt │ │ │ │ ├── kt7564.antlrtree.txt │ │ │ │ ├── kt7945_unrelatedClass.antlrtree.txt │ │ │ │ ├── memberFromTopLevel.antlrtree.txt │ │ │ │ ├── mutablePropertyViaDelegation.antlrtree.txt │ │ │ │ ├── propertyFromAbstractSuperClass.antlrtree.txt │ │ │ │ ├── protectedVarFromClass.antlrtree.txt │ │ │ │ ├── returnTypeDependentOnGenericProperty.antlrtree.txt │ │ │ │ ├── samePriorityForFunctionsAndProperties.antlrtree.txt │ │ │ │ └── topLevelFromTopLevel.antlrtree.txt │ │ │ ├── propertyOfNestedGenericClass.antlrtree.txt │ │ │ ├── referenceAdaptationCompatibility.antlrtree.txt │ │ │ ├── referenceInCycleInProperties.antlrtree.txt │ │ │ ├── referenceToCompanionObjectMemberViaClassName.antlrtree.txt │ │ │ ├── referenceToCompanionObjectMemberViaClassNameCompatibility.antlrtree.txt │ │ │ ├── resolve/ │ │ │ │ ├── adaptedReferenceAgainstKCallable.antlrtree.txt │ │ │ │ ├── adaptedReferenceAgainstReflectionType.antlrtree.txt │ │ │ │ ├── ambiguityWhenNoApplicableCallableReferenceCandidate.antlrtree.txt │ │ │ │ ├── ambiguityWithBoundExtensionReceiver.antlrtree.txt │ │ │ │ ├── ambiguousWithVararg.antlrtree.txt │ │ │ │ ├── applicableCallableReferenceFromDistantScope.antlrtree.txt │ │ │ │ ├── byArgType.antlrtree.txt │ │ │ │ ├── byGenericArgType.antlrtree.txt │ │ │ │ ├── byValType.antlrtree.txt │ │ │ │ ├── callableReferenceToVarargWithOverload.antlrtree.txt │ │ │ │ ├── chooseCallableReferenceDependingOnInferredReceiver.antlrtree.txt │ │ │ │ ├── chooseMostSpecificCandidateUsingCandidateDescriptorNotReflectionType.antlrtree.txt │ │ │ │ ├── chooseOuterCallBySingleCallableReference.antlrtree.txt │ │ │ │ ├── commonSupertypeFromReturnTypesOfCallableReference.antlrtree.txt │ │ │ │ ├── compatibilityWarningOnReferenceAgainstReflectiveType.antlrtree.txt │ │ │ │ ├── constructor.antlrtree.txt │ │ │ │ ├── eagerAndPostponedCallableReferences.antlrtree.txt │ │ │ │ ├── eagerResolveOfSingleCallableReference.antlrtree.txt │ │ │ │ ├── innerClassConstructorOnOuterClassInstance.antlrtree.txt │ │ │ │ ├── intersectionTypeOverloadWithWrongParameter.antlrtree.txt │ │ │ │ ├── kt10036.antlrtree.txt │ │ │ │ ├── kt10036_bound.antlrtree.txt │ │ │ │ ├── kt12338.antlrtree.txt │ │ │ │ ├── kt12751.antlrtree.txt │ │ │ │ ├── kt35887.antlrtree.txt │ │ │ │ ├── kt35887_simple.antlrtree.txt │ │ │ │ ├── kt35920.main.antlrtree.txt │ │ │ │ ├── kt8596.antlrtree.txt │ │ │ │ ├── kt9601.antlrtree.txt │ │ │ │ ├── moreSpecificAmbiguousExtensions.antlrtree.txt │ │ │ │ ├── moreSpecificSimple.antlrtree.txt │ │ │ │ ├── multipleOutersAndMultipleCallableReferences.antlrtree.txt │ │ │ │ ├── nestedReferenceCallAgainstExpectedType.antlrtree.txt │ │ │ │ ├── noAmbiguityBetweenTopLevelAndMemberProperty.antlrtree.txt │ │ │ │ ├── noFakeDescriptorForObject.antlrtree.txt │ │ │ │ ├── onlyInputTypesOnCallableReference.antlrtree.txt │ │ │ │ ├── overloadAmbiguityForSimpleLastExpressionOfBlock.antlrtree.txt │ │ │ │ ├── overloads.antlrtree.txt │ │ │ │ ├── overloadsBound.antlrtree.txt │ │ │ │ ├── overloadsMember.antlrtree.txt │ │ │ │ ├── postponedResolveOfManyCallableReference.antlrtree.txt │ │ │ │ ├── resolveCallableReferencesAfterAllSimpleArguments.antlrtree.txt │ │ │ │ ├── resolveEqualsOperatorWithAnyExpectedType.antlrtree.txt │ │ │ │ ├── resolveReferenceAgainstKFunctionAndKPrpoerty.antlrtree.txt │ │ │ │ ├── resolveTwoReferencesAgainstGenerics.antlrtree.txt │ │ │ │ ├── valVsFun.antlrtree.txt │ │ │ │ ├── withAs.antlrtree.txt │ │ │ │ ├── withExtFun.antlrtree.txt │ │ │ │ ├── withGenericFun.antlrtree.txt │ │ │ │ ├── withPlaceholderTypes.antlrtree.txt │ │ │ │ └── withVararg.antlrtree.txt │ │ │ ├── rewriteAtSliceOnGetOperator.antlrtree.txt │ │ │ ├── sam.test.antlrtree.txt │ │ │ ├── subtypeArgumentFromRHSForReference.antlrtree.txt │ │ │ ├── suspendCallableReference.antlrtree.txt │ │ │ ├── typealiases.antlrtree.txt │ │ │ ├── unitAdaptationForReferenceCompatibility.test.antlrtree.txt │ │ │ ├── unsupported/ │ │ │ │ ├── callableReferenceToLocalVariable.antlrtree.txt │ │ │ │ ├── classLiteralsWithEmptyLHS.antlrtree.txt │ │ │ │ ├── javaOverridesKotlinProperty.Main.antlrtree.txt │ │ │ │ ├── localVariable.antlrtree.txt │ │ │ │ ├── localVariableWithSubstitution.antlrtree.txt │ │ │ │ ├── parameterWithSubstitution.antlrtree.txt │ │ │ │ ├── referenceToKotlinPropertyViaIntermediateJavaClass.Main.antlrtree.txt │ │ │ │ ├── syntheticProperties.test.antlrtree.txt │ │ │ │ └── syntheticPropertiesOnJavaAnnotation.Main.antlrtree.txt │ │ │ ├── unused.antlrtree.txt │ │ │ ├── whitespacesInExpression.antlrtree.txt │ │ │ └── withQuestionMarks.antlrtree.txt │ │ ├── cast/ │ │ │ ├── AsArray.antlrtree.txt │ │ │ ├── AsErasedError.antlrtree.txt │ │ │ ├── AsErasedFine.antlrtree.txt │ │ │ ├── AsErasedStar.antlrtree.txt │ │ │ ├── AsErasedWarning.antlrtree.txt │ │ │ ├── AsInBinaryUnary.antlrtree.txt │ │ │ ├── AsInBlockWithReturnType.antlrtree.txt │ │ │ ├── AsInCompoundAssignment.antlrtree.txt │ │ │ ├── AsInExpressionBody.antlrtree.txt │ │ │ ├── AsInPropertyAndPropertyAccessor.antlrtree.txt │ │ │ ├── AsNothing.antlrtree.txt │ │ │ ├── AsTypeAlias.antlrtree.txt │ │ │ ├── AsWithOtherParameter.antlrtree.txt │ │ │ ├── DowncastMap.antlrtree.txt │ │ │ ├── ExtensionAsNonExtension.antlrtree.txt │ │ │ ├── FlexibleTargetType.sample.antlrtree.txt │ │ │ ├── IsErasedAllowForDerivedWithOneSubstitutedAndOneSameGeneric.antlrtree.txt │ │ │ ├── IsErasedAllowForExactSupertypeCheck.antlrtree.txt │ │ │ ├── IsErasedAllowForOverridenVarianceWithProjection.antlrtree.txt │ │ │ ├── IsErasedAllowForSupertypeCheckWithContrvariance.antlrtree.txt │ │ │ ├── IsErasedAllowForSupertypeCheckWithCovariance.antlrtree.txt │ │ │ ├── IsErasedAllowForTypeWithIrrelevantMixin.antlrtree.txt │ │ │ ├── IsErasedAllowForTypeWithTwoSameTypeSubstitutions.antlrtree.txt │ │ │ ├── IsErasedAllowForTypeWithoutTypeArguments.antlrtree.txt │ │ │ ├── IsErasedAllowFromOut.antlrtree.txt │ │ │ ├── IsErasedAllowFromOut2.antlrtree.txt │ │ │ ├── IsErasedAllowFromOut3.antlrtree.txt │ │ │ ├── IsErasedAllowFromOutAtClass.antlrtree.txt │ │ │ ├── IsErasedAllowParameterSubtype.antlrtree.txt │ │ │ ├── IsErasedAllowSameClassParameter.antlrtree.txt │ │ │ ├── IsErasedAllowSameParameterParameter.antlrtree.txt │ │ │ ├── IsErasedDisallowDifferentArgInvariantPosition.antlrtree.txt │ │ │ ├── IsErasedDisallowForOverridenVariance.antlrtree.txt │ │ │ ├── IsErasedDisallowForTypeWithConstraints.antlrtree.txt │ │ │ ├── IsErasedDisallowFromAny.antlrtree.txt │ │ │ ├── IsErasedDisallowFromIn.antlrtree.txt │ │ │ ├── IsErasedDisallowFromOut.antlrtree.txt │ │ │ ├── IsErasedDisallowFromOutAtClass.antlrtree.txt │ │ │ ├── IsErasedDissallowForSubtypeMappedToTwoParamsWithFirstInvalid.antlrtree.txt │ │ │ ├── IsErasedDissallowForSubtypeMappedToTwoParamsWithSecondInvalid.antlrtree.txt │ │ │ ├── IsErasedNonGeneric.antlrtree.txt │ │ │ ├── IsErasedNullableTasT.antlrtree.txt │ │ │ ├── IsErasedStar.antlrtree.txt │ │ │ ├── IsErasedTasT.antlrtree.txt │ │ │ ├── IsErasedToErrorType.antlrtree.txt │ │ │ ├── IsErasedUpcastToNonReified.antlrtree.txt │ │ │ ├── IsForTypeWithComplexUpperBound.antlrtree.txt │ │ │ ├── IsRecursionSustainable.antlrtree.txt │ │ │ ├── IsTraits.antlrtree.txt │ │ │ ├── IsWithCycleUpperBounds.antlrtree.txt │ │ │ ├── NullableToNullable.antlrtree.txt │ │ │ ├── StableTypeForUselessCast.antlrtree.txt │ │ │ ├── UselessSafeCast.antlrtree.txt │ │ │ ├── WhenErasedDisallowFromAny.antlrtree.txt │ │ │ ├── WhenWithExpression.antlrtree.txt │ │ │ ├── bare/ │ │ │ │ ├── AsNestedBare.antlrtree.txt │ │ │ │ ├── AsNullable.antlrtree.txt │ │ │ │ ├── AsNullableNotEnough.antlrtree.txt │ │ │ │ ├── EitherAs.antlrtree.txt │ │ │ │ ├── EitherIs.antlrtree.txt │ │ │ │ ├── EitherNotIs.antlrtree.txt │ │ │ │ ├── EitherSafeAs.antlrtree.txt │ │ │ │ ├── EitherWhen.antlrtree.txt │ │ │ │ ├── ErrorsInSubstitution.antlrtree.txt │ │ │ │ ├── FromErrorType.antlrtree.txt │ │ │ │ ├── NullableAs.antlrtree.txt │ │ │ │ ├── NullableAsNotEnough.antlrtree.txt │ │ │ │ ├── NullableAsNullable.antlrtree.txt │ │ │ │ ├── NullableAsNullableNotEnough.antlrtree.txt │ │ │ │ ├── RedundantNullable.antlrtree.txt │ │ │ │ ├── SupertypeChain.antlrtree.txt │ │ │ │ ├── ToErrorType.antlrtree.txt │ │ │ │ ├── UnrelatedAs.antlrtree.txt │ │ │ │ ├── UnrelatedColon.antlrtree.txt │ │ │ │ └── UnrelatedIs.antlrtree.txt │ │ │ ├── checkCastToNullableType.test.antlrtree.txt │ │ │ ├── constants.antlrtree.txt │ │ │ ├── isAlwaysFalse.antlrtree.txt │ │ │ ├── isErasedAnyAndStarred.antlrtree.txt │ │ │ ├── isErasedTAndStarred.antlrtree.txt │ │ │ ├── isErasedUnrelatedAndStarred.antlrtree.txt │ │ │ ├── kt15161.antlrtree.txt │ │ │ ├── kt47685.antlrtree.txt │ │ │ ├── kt614.antlrtree.txt │ │ │ ├── neverSucceeds/ │ │ │ │ ├── CastToNotNullSuper.antlrtree.txt │ │ │ │ ├── MappedDirect.antlrtree.txt │ │ │ │ ├── MappedSubtypes.antlrtree.txt │ │ │ │ ├── NoGenericsRelated.antlrtree.txt │ │ │ │ └── NoGenericsUnrelated.antlrtree.txt │ │ │ └── nothingAs.antlrtree.txt │ │ ├── checkArguments/ │ │ │ ├── SpreadVarargs.antlrtree.txt │ │ │ ├── arrayAccessSet.antlrtree.txt │ │ │ ├── arrayAccessSetNotEnoughArgs.antlrtree.txt │ │ │ ├── arrayAccessSetTooManyArgs.antlrtree.txt │ │ │ ├── booleanExpressions.antlrtree.txt │ │ │ ├── kt17691.antlrtree.txt │ │ │ ├── kt17691WithEnabledFeature.antlrtree.txt │ │ │ ├── kt1897_diagnostic_part.antlrtree.txt │ │ │ ├── kt1940.antlrtree.txt │ │ │ ├── kt49276.antlrtree.txt │ │ │ ├── kt49276Disabled.antlrtree.txt │ │ │ ├── kt49276Error.antlrtree.txt │ │ │ ├── kt51062.main.antlrtree.txt │ │ │ ├── kt51062Error.main.antlrtree.txt │ │ │ ├── overloadedFunction.antlrtree.txt │ │ │ └── twoLambdasFunction.antlrtree.txt │ │ ├── checkTypeTest.antlrtree.txt │ │ ├── checkTypeWithExactTest.antlrtree.txt │ │ ├── classLiteral/ │ │ │ ├── arrays.antlrtree.txt │ │ │ ├── classAndObjectLiteralType.antlrtree.txt │ │ │ ├── classLiteralType.antlrtree.txt │ │ │ ├── expressionWithNullableType.test.antlrtree.txt │ │ │ ├── genericArrays.antlrtree.txt │ │ │ ├── genericClasses.antlrtree.txt │ │ │ ├── inAnnotationArguments.antlrtree.txt │ │ │ ├── inAnnotationArguments_noTypeParams.antlrtree.txt │ │ │ ├── integerValueType.antlrtree.txt │ │ │ ├── nonClassesOnLHS.antlrtree.txt │ │ │ ├── parameterizedTypeAlias.antlrtree.txt │ │ │ ├── qualifiedClassLiteral.antlrtree.txt │ │ │ ├── simpleClassLiteral.antlrtree.txt │ │ │ ├── smartCast.antlrtree.txt │ │ │ ├── typealiases.antlrtree.txt │ │ │ └── unresolvedClass.antlrtree.txt │ │ ├── classObjects/ │ │ │ ├── ClassObjectCannotAccessClassFields.antlrtree.txt │ │ │ ├── ClassObjectVisibility.antlrtree.txt │ │ │ ├── ClassObjects.antlrtree.txt │ │ │ ├── InnerClassAccessThroughClassObject.antlrtree.txt │ │ │ ├── InnerClassAccessThroughEnum_after.antlrtree.txt │ │ │ ├── InnerClassAccessThroughEnum_before.antlrtree.txt │ │ │ ├── InnerClassClassObject.antlrtree.txt │ │ │ ├── builtInClassObjects.antlrtree.txt │ │ │ ├── classObjectHeader.antlrtree.txt │ │ │ ├── classObjectInLocalClass.antlrtree.txt │ │ │ ├── classObjectRedeclaration.antlrtree.txt │ │ │ ├── classWithFunctionSupertype_after.antlrtree.txt │ │ │ ├── classWithFunctionSupertype_before.antlrtree.txt │ │ │ ├── companionObjectOfPrivateClassVisibility.antlrtree.txt │ │ │ ├── importClassInClassObject.antlrtree.txt │ │ │ ├── invisibleClassObjects.a.antlrtree.txt │ │ │ ├── invisibleClassObjects.b.antlrtree.txt │ │ │ ├── kt3866.antlrtree.txt │ │ │ ├── multipleDissallowedDefaultObjects.antlrtree.txt │ │ │ ├── nestedClassInPrivateClassObject.antlrtree.txt │ │ │ ├── resolveFunctionInsideClassObject.antlrtree.txt │ │ │ ├── selfCallsInCompanionSuperConstructor_error.antlrtree.txt │ │ │ ├── selfCallsInCompanionSuperConstructor_warning.antlrtree.txt │ │ │ ├── typeParametersInAnnonymousObject.antlrtree.txt │ │ │ ├── typeParametersInAnnonymousObject_after.antlrtree.txt │ │ │ └── typeParametersInObject.antlrtree.txt │ │ ├── collectionLiterals/ │ │ │ ├── argumentsOfAnnotation.antlrtree.txt │ │ │ ├── argumentsOfAnnotationWithKClass.antlrtree.txt │ │ │ ├── basicCollectionLiterals.antlrtree.txt │ │ │ ├── collectionLiteralsAsPrimitiveArrays.antlrtree.txt │ │ │ ├── collectionLiteralsOutsideOfAnnotations.antlrtree.txt │ │ │ ├── collectionLiteralsWithVarargs.antlrtree.txt │ │ │ ├── defaultValuesInAnnotation.antlrtree.txt │ │ │ ├── defaultValuesWithConstantsInAnnotation.antlrtree.txt │ │ │ ├── kt34515.antlrtree.txt │ │ │ ├── noCollectionLiterals.antlrtree.txt │ │ │ └── resolveToFunctionFromBuiltIns.antlrtree.txt │ │ ├── comparingArbitraryClasses.antlrtree.txt │ │ ├── comparingCallableReferencesWithInstanceOfJavaClass.Main.antlrtree.txt │ │ ├── comparisonOfGenericInterfaceWithGenericClass.antlrtree.txt │ │ ├── constantEvaluator/ │ │ │ ├── constant/ │ │ │ │ ├── classObjectProperty.antlrtree.txt │ │ │ │ ├── compareTo.antlrtree.txt │ │ │ │ ├── differentTypes.antlrtree.txt │ │ │ │ ├── divideByZero.antlrtree.txt │ │ │ │ ├── duplicateLabelWithNonTrivialCondition_disabled.antlrtree.txt │ │ │ │ ├── duplicateLabelWithNonTrivialCondition_enabled.antlrtree.txt │ │ │ │ ├── equals.antlrtree.txt │ │ │ │ ├── exceptionWhenEvaluate.antlrtree.txt │ │ │ │ ├── finalProperty.antlrtree.txt │ │ │ │ ├── float.antlrtree.txt │ │ │ │ ├── floatsAndDoubles.antlrtree.txt │ │ │ │ ├── integer.antlrtree.txt │ │ │ │ ├── integerOperations.antlrtree.txt │ │ │ │ ├── integers.antlrtree.txt │ │ │ │ ├── invAsCompileTimeCall.antlrtree.txt │ │ │ │ ├── localVal.antlrtree.txt │ │ │ │ ├── localVar.antlrtree.txt │ │ │ │ ├── nonFinalProperty.antlrtree.txt │ │ │ │ ├── objectProperty.antlrtree.txt │ │ │ │ ├── strings.antlrtree.txt │ │ │ │ ├── topLevelVal.antlrtree.txt │ │ │ │ ├── topLevelVar.antlrtree.txt │ │ │ │ ├── unaryMinusIndepWoExpType.antlrtree.txt │ │ │ │ └── unaryMinusIndependentExpType.antlrtree.txt │ │ │ ├── isPure/ │ │ │ │ ├── innerToType.antlrtree.txt │ │ │ │ ├── namedConstants.antlrtree.txt │ │ │ │ ├── toType.antlrtree.txt │ │ │ │ ├── unaryMinusIndepWoExpType.antlrtree.txt │ │ │ │ └── unaryMinusIndependentExpType.antlrtree.txt │ │ │ └── usesVariableAsConstant/ │ │ │ ├── NamedConstants.antlrtree.txt │ │ │ ├── OtherTypes.antlrtree.txt │ │ │ ├── binaryTypes.antlrtree.txt │ │ │ └── simpleTypes.antlrtree.txt │ │ ├── constructorConsistency/ │ │ │ ├── afterInitialization.antlrtree.txt │ │ │ ├── aliencall.antlrtree.txt │ │ │ ├── assignment.antlrtree.txt │ │ │ ├── backing.antlrtree.txt │ │ │ ├── basic.antlrtree.txt │ │ │ ├── companion.antlrtree.txt │ │ │ ├── comparison.antlrtree.txt │ │ │ ├── delegate.antlrtree.txt │ │ │ ├── derived.antlrtree.txt │ │ │ ├── derivedProperty.antlrtree.txt │ │ │ ├── errorInsideDelegationCallNoPrimary.antlrtree.txt │ │ │ ├── getset.antlrtree.txt │ │ │ ├── init.antlrtree.txt │ │ │ ├── initializerWithSecondaryConstructor.antlrtree.txt │ │ │ ├── initwithgetter.antlrtree.txt │ │ │ ├── inspection.antlrtree.txt │ │ │ ├── lambdaInObject.antlrtree.txt │ │ │ ├── lateInit.antlrtree.txt │ │ │ ├── localObject.antlrtree.txt │ │ │ ├── multipleAreNull.antlrtree.txt │ │ │ ├── nobacking.antlrtree.txt │ │ │ ├── open.antlrtree.txt │ │ │ ├── openProperty.antlrtree.txt │ │ │ ├── outer.antlrtree.txt │ │ │ ├── parametersVsPropertiesFromPrimaryConstructor.antlrtree.txt │ │ │ ├── property.antlrtree.txt │ │ │ ├── propertyAccess.antlrtree.txt │ │ │ ├── twoSecondaryConstructors.antlrtree.txt │ │ │ └── twoSuperTypeCalls.antlrtree.txt │ │ ├── controlFlowAnalysis/ │ │ │ ├── UninitializedEnumCompanionVals.antlrtree.txt │ │ │ ├── UninitializedOrReassignedVariables.antlrtree.txt │ │ │ ├── accessToCompanionInBaseEnumInitSection_function.antlrtree.txt │ │ │ ├── accessToCompanionInBaseEnumInitSection_property.antlrtree.txt │ │ │ ├── accessValueParameterInDefaultValue_after.antlrtree.txt │ │ │ ├── accessValueParameterInDefaultValue_before.antlrtree.txt │ │ │ ├── assignedInFinally.antlrtree.txt │ │ │ ├── assignedInIfElse.antlrtree.txt │ │ │ ├── assignedInTryWithCatch.antlrtree.txt │ │ │ ├── assignedInTryWithoutCatch.antlrtree.txt │ │ │ ├── assignmentInLocalsInConstructor.antlrtree.txt │ │ │ ├── assignmentOfSyntheticVarWithInconsistentNullability.KotlinBase.antlrtree.txt │ │ │ ├── assignmentOfSyntheticVarWithInconsistentNullability.main.antlrtree.txt │ │ │ ├── backingFieldInsideGetter_after.antlrtree.txt │ │ │ ├── backingFieldInsideGetter_before.antlrtree.txt │ │ │ ├── breakContinueInTryFinally.antlrtree.txt │ │ │ ├── breakContinueInTryFinallyInLoop.antlrtree.txt │ │ │ ├── breakContinueNoinline.antlrtree.txt │ │ │ ├── breakInLambdaPassedToDirectInvoke.antlrtree.txt │ │ │ ├── breakInsideLocal.antlrtree.txt │ │ │ ├── breakOrContinueInLoopCondition.antlrtree.txt │ │ │ ├── capturingUninitializedVariableInNonInPlaceLambda.antlrtree.txt │ │ │ ├── cfgOfFullyIncorrectCode.antlrtree.txt │ │ │ ├── checkInnerLocalDeclarations.antlrtree.txt │ │ │ ├── checkPropertyAccessor.antlrtree.txt │ │ │ ├── constructorPropertyInterdependence.antlrtree.txt │ │ │ ├── deadCode/ │ │ │ │ ├── commasAndWhitespaces.antlrtree.txt │ │ │ │ ├── commentsInDeadCode.antlrtree.txt │ │ │ │ ├── deadCallInInvokeCall.antlrtree.txt │ │ │ │ ├── deadCallInReceiver.antlrtree.txt │ │ │ │ ├── deadCodeDifferentExamples.antlrtree.txt │ │ │ │ ├── deadCodeFromDifferentSources.antlrtree.txt │ │ │ │ ├── deadCodeInArrayAccess.antlrtree.txt │ │ │ │ ├── deadCodeInAssignment.antlrtree.txt │ │ │ │ ├── deadCodeInBinaryExpressions.antlrtree.txt │ │ │ │ ├── deadCodeInCalls.antlrtree.txt │ │ │ │ ├── deadCodeInDeadCode.antlrtree.txt │ │ │ │ ├── deadCodeInIf.antlrtree.txt │ │ │ │ ├── deadCodeInInnerExpressions.antlrtree.txt │ │ │ │ ├── deadCodeInLocalDeclarations.antlrtree.txt │ │ │ │ ├── deadCodeInLoops.antlrtree.txt │ │ │ │ ├── deadCodeInReturn.antlrtree.txt │ │ │ │ ├── deadCodeInUnaryExpr.antlrtree.txt │ │ │ │ ├── deadCodeInWhileFromBreak.antlrtree.txt │ │ │ │ ├── expressionInUnitLiteral.antlrtree.txt │ │ │ │ ├── initializationInUnreachableCode.antlrtree.txt │ │ │ │ ├── kt2585_1.antlrtree.txt │ │ │ │ ├── kt2585_2.antlrtree.txt │ │ │ │ ├── kt2585_3.antlrtree.txt │ │ │ │ ├── kt3162tryAsInitializer.antlrtree.txt │ │ │ │ ├── kt5200DeadCodeInLambdas.antlrtree.txt │ │ │ │ ├── reassignementInUnreachableCode.antlrtree.txt │ │ │ │ └── returnInDeadLambda.antlrtree.txt │ │ │ ├── definiteReturn/ │ │ │ │ ├── ReturnFromFunctionInObject.antlrtree.txt │ │ │ │ ├── kt3444_ReturnFromLocalFunctions.antlrtree.txt │ │ │ │ ├── kt4034.antlrtree.txt │ │ │ │ ├── lambdaInTryFalsePositive.antlrtree.txt │ │ │ │ ├── returnAliasedUnitNotRequired.antlrtree.txt │ │ │ │ ├── simpleClass.a.antlrtree.txt │ │ │ │ ├── simpleClass.b.antlrtree.txt │ │ │ │ ├── simpleClass.c.antlrtree.txt │ │ │ │ ├── simpleClass.d.antlrtree.txt │ │ │ │ ├── simpleClass.e.antlrtree.txt │ │ │ │ ├── simpleClass.f.antlrtree.txt │ │ │ │ └── singleReturnFromTry.antlrtree.txt │ │ │ ├── definiteReturnInWhen.antlrtree.txt │ │ │ ├── delegatedConstructorArguments.antlrtree.txt │ │ │ ├── delegatedMemberProperyWriteInInit.antlrtree.txt │ │ │ ├── delegatedPropertyEarlyAccess.antlrtree.txt │ │ │ ├── doWhileAssignment.antlrtree.txt │ │ │ ├── doWhileNotDefined.antlrtree.txt │ │ │ ├── elvisNotProcessed.antlrtree.txt │ │ │ ├── enumCompanionInterdependence.antlrtree.txt │ │ │ ├── enumInterdependence.antlrtree.txt │ │ │ ├── fieldAsClassDelegate.antlrtree.txt │ │ │ ├── fieldInitialization.antlrtree.txt │ │ │ ├── infiniteLoops.antlrtree.txt │ │ │ ├── initializationInLambda.antlrtree.txt │ │ │ ├── initializationInLocalClass.antlrtree.txt │ │ │ ├── initializationInLocalFun.antlrtree.txt │ │ │ ├── initializationInLocalViaExplicitThis_after.antlrtree.txt │ │ │ ├── initializationInLocalViaExplicitThis_before.antlrtree.txt │ │ │ ├── inlinedBreakContinueFeatureDisabled.antlrtree.txt │ │ │ ├── kt1001.antlrtree.txt │ │ │ ├── kt1027.antlrtree.txt │ │ │ ├── kt1066.antlrtree.txt │ │ │ ├── kt10805.antlrtree.txt │ │ │ ├── kt10823.antlrtree.txt │ │ │ ├── kt1156.antlrtree.txt │ │ │ ├── kt1185enums.antlrtree.txt │ │ │ ├── kt1189.antlrtree.txt │ │ │ ├── kt1191.antlrtree.txt │ │ │ ├── kt1219.1301.antlrtree.txt │ │ │ ├── kt1571.antlrtree.txt │ │ │ ├── kt1977.antlrtree.txt │ │ │ ├── kt2166_kt2103.antlrtree.txt │ │ │ ├── kt2226.antlrtree.txt │ │ │ ├── kt2330.antlrtree.txt │ │ │ ├── kt2334.antlrtree.txt │ │ │ ├── kt2369.antlrtree.txt │ │ │ ├── kt2845.antlrtree.txt │ │ │ ├── kt2960.antlrtree.txt │ │ │ ├── kt2972.antlrtree.txt │ │ │ ├── kt3444.antlrtree.txt │ │ │ ├── kt3501.antlrtree.txt │ │ │ ├── kt4126.antlrtree.txt │ │ │ ├── kt4405.antlrtree.txt │ │ │ ├── kt510.antlrtree.txt │ │ │ ├── kt52131.antlrtree.txt │ │ │ ├── kt607.antlrtree.txt │ │ │ ├── kt609.antlrtree.txt │ │ │ ├── kt610.antlrtree.txt │ │ │ ├── kt6788.antlrtree.txt │ │ │ ├── kt776.antlrtree.txt │ │ │ ├── kt843.antlrtree.txt │ │ │ ├── kt897.antlrtree.txt │ │ │ ├── localClasses.antlrtree.txt │ │ │ ├── localObjectInConstructor.antlrtree.txt │ │ │ ├── loopWithNonTrivialBooleanConst_error.antlrtree.txt │ │ │ ├── loopWithNonTrivialBooleanConst_warning.antlrtree.txt │ │ │ ├── mainWithWarningOnUnusedParam.antlrtree.txt │ │ │ ├── mainWithoutWarningOnUnusedParam.antlrtree.txt │ │ │ ├── nestedTryFinally.antlrtree.txt │ │ │ ├── nonLocalReturnUnreachable.antlrtree.txt │ │ │ ├── nonLocalReturnWithFinally.antlrtree.txt │ │ │ ├── privateSetter.antlrtree.txt │ │ │ ├── propertiesInitWithOtherInstance.antlrtree.txt │ │ │ ├── propertiesInitWithOtherInstanceInner.antlrtree.txt │ │ │ ├── propertiesInitWithOtherInstanceThisLabel.antlrtree.txt │ │ │ ├── propertiesOrderInPackage.antlrtree.txt │ │ │ ├── reassignmentInCatch.antlrtree.txt │ │ │ ├── reassignmentInTryCatch.antlrtree.txt │ │ │ ├── reassignmentInTryCatchWithJumps.antlrtree.txt │ │ │ ├── referenceToPropertyInitializer.antlrtree.txt │ │ │ ├── repeatUnitializedErrorOnlyForLocalVars.antlrtree.txt │ │ │ ├── safeCallAfterVariableInitialization.antlrtree.txt │ │ │ ├── scopeOfAnonymousInitializer.antlrtree.txt │ │ │ ├── smartCastInCatch.antlrtree.txt │ │ │ ├── throwInLambda.antlrtree.txt │ │ │ ├── tryWithAssignmentUsedInCatch.antlrtree.txt │ │ │ ├── uninintializedProperyWithDirectAndDelayedInitialization.antlrtree.txt │ │ │ ├── uninitializedCompanionOfEnum_after.antlrtree.txt │ │ │ ├── uninitializedCompanionOfEnum_before.antlrtree.txt │ │ │ ├── uninitializedInLocalDeclarations.antlrtree.txt │ │ │ ├── uninitializedQualifiedEnumEntry.antlrtree.txt │ │ │ ├── unmappedArgs.antlrtree.txt │ │ │ ├── unnecessaryLateinit/ │ │ │ │ ├── lateinitRecursiveInLambda.antlrtree.txt │ │ │ │ ├── lateinitWithConstructor.antlrtree.txt │ │ │ │ ├── lateinitWithErroneousDelegation.antlrtree.txt │ │ │ │ ├── lateinitWithInit.antlrtree.txt │ │ │ │ ├── lateinitWithMultipleConstructors.antlrtree.txt │ │ │ │ ├── lateinitWithMultipleConstructorsAndDelegation.antlrtree.txt │ │ │ │ ├── lateinitWithPlusAssign.antlrtree.txt │ │ │ │ ├── lateinitWithPrimaryConstructorAndConstructor.antlrtree.txt │ │ │ │ ├── normalLateinit.antlrtree.txt │ │ │ │ ├── normalLateinitWithTwoConstructors.antlrtree.txt │ │ │ │ ├── secondaryConstructorDelegateItself.antlrtree.txt │ │ │ │ └── secondaryConstructorDelegateLoop.antlrtree.txt │ │ │ ├── unresolvedReference.antlrtree.txt │ │ │ ├── unusedPropertyWithCustomAccessors.antlrtree.txt │ │ │ ├── useUninitializedInLambda.antlrtree.txt │ │ │ └── varInitializationInIfInCycle.antlrtree.txt │ │ ├── controlStructures/ │ │ │ ├── ForLoopWithExtensionIteratorOnNullable.antlrtree.txt │ │ │ ├── ForWithoutBraces.antlrtree.txt │ │ │ ├── ForbidStatementAsDirectFunctionBody.antlrtree.txt │ │ │ ├── breakContinueInCrossInlineLambda.antlrtree.txt │ │ │ ├── breakContinueInNoInlineLambda.antlrtree.txt │ │ │ ├── breakToLabel.antlrtree.txt │ │ │ ├── catchGenerics.antlrtree.txt │ │ │ ├── catchInnerClassesOfGenerics.antlrtree.txt │ │ │ ├── catchInnerClassesOfGenerics_deprecation.antlrtree.txt │ │ │ ├── catchWithDefault.antlrtree.txt │ │ │ ├── catchingLocalClassesCapturingTypeParameters.antlrtree.txt │ │ │ ├── commonSupertypeOfT.antlrtree.txt │ │ │ ├── continueAndBreakLabelWithSameFunctionName.antlrtree.txt │ │ │ ├── continueInInitBlock.antlrtree.txt │ │ │ ├── emptyIf.antlrtree.txt │ │ │ ├── forLoopWithNullableRange.antlrtree.txt │ │ │ ├── forWithIncorrectTypeSpecializer.antlrtree.txt │ │ │ ├── forWithNullableIterator.antlrtree.txt │ │ │ ├── ifElseIntersection.antlrtree.txt │ │ │ ├── ifInResultOfLambda.antlrtree.txt │ │ │ ├── ifToAnyDiscriminatingUsages.antlrtree.txt │ │ │ ├── ifWhenToAnyComplexExpressions.antlrtree.txt │ │ │ ├── ifWhenWithoutElse.antlrtree.txt │ │ │ ├── improperElseInExpression.antlrtree.txt │ │ │ ├── incorrectElvis.antlrtree.txt │ │ │ ├── jumpAcrossFunctionBoundary.antlrtree.txt │ │ │ ├── kt10322.antlrtree.txt │ │ │ ├── kt10706.antlrtree.txt │ │ │ ├── kt10717.antlrtree.txt │ │ │ ├── kt1075.antlrtree.txt │ │ │ ├── kt30406.antlrtree.txt │ │ │ ├── kt4310.antlrtree.txt │ │ │ ├── kt51711.antlrtree.txt │ │ │ ├── kt657.antlrtree.txt │ │ │ ├── kt770.kt351.kt735_StatementType.antlrtree.txt │ │ │ ├── kt786.antlrtree.txt │ │ │ ├── kt799.antlrtree.txt │ │ │ ├── lambdasInExclExclAndElvis.antlrtree.txt │ │ │ ├── localReturnInsidePropertyAccessor.antlrtree.txt │ │ │ ├── nestedLoopsWithMultipleLabels.antlrtree.txt │ │ │ ├── nonExhaustiveIfInElvis_after.antlrtree.txt │ │ │ ├── nonExhaustiveIfInElvis_before.antlrtree.txt │ │ │ ├── notAFunctionLabel_after.antlrtree.txt │ │ │ ├── notAFunctionLabel_before.antlrtree.txt │ │ │ ├── redundantLabel.antlrtree.txt │ │ │ ├── specialConstructsAndPlatformTypes.k.antlrtree.txt │ │ │ ├── specialConstructsWithNullableExpectedType.antlrtree.txt │ │ │ ├── tryReturnType.antlrtree.txt │ │ │ ├── typeInferenceForExclExcl.b.antlrtree.txt │ │ │ ├── valVarCatchParameter.antlrtree.txt │ │ │ ├── valVarLoopParameter.antlrtree.txt │ │ │ ├── when.kt234.kt973.antlrtree.txt │ │ │ ├── whenInResultOfLambda.antlrtree.txt │ │ │ ├── whenToAnyDiscriminatingUsages.antlrtree.txt │ │ │ ├── whenWithNoSubjectAndCommas.antlrtree.txt │ │ │ └── whenWithNothingTypedSubject.antlrtree.txt │ │ ├── coroutines/ │ │ │ ├── callableReference/ │ │ │ │ ├── invokeOutideSuspend.antlrtree.txt │ │ │ │ └── outsideSuspend.antlrtree.txt │ │ │ ├── inlineSuspendTypealias.antlrtree.txt │ │ │ ├── modifierFormBuiltinSuspendFun.antlrtree.txt │ │ │ ├── suspendFunctionAsSupertype/ │ │ │ │ ├── kSuspendFunctionN/ │ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypes.antlrtree.txt │ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperClass.antlrtree.txt │ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperFunInterface.antlrtree.txt │ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperinterface.antlrtree.txt │ │ │ │ │ └── simple.antlrtree.txt │ │ │ │ ├── simple/ │ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypes.antlrtree.txt │ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperClass.antlrtree.txt │ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperFunInterface.antlrtree.txt │ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperinterface.antlrtree.txt │ │ │ │ │ └── simple.antlrtree.txt │ │ │ │ └── suspendFunctionN/ │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypes.antlrtree.txt │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperClass.antlrtree.txt │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperFunInterface.antlrtree.txt │ │ │ │ ├── mixingSuspendAndNonSuspendSupertypesThruSuperinterface.antlrtree.txt │ │ │ │ └── simple.antlrtree.txt │ │ │ ├── suspendInvokeInsideTry.antlrtree.txt │ │ │ ├── suspendInvokeInsideWhen.antlrtree.txt │ │ │ ├── suspendInvokeWithReceiver.antlrtree.txt │ │ │ └── suspendLambdaFromExpectedType.antlrtree.txt │ │ ├── cyclicHierarchy/ │ │ │ ├── classIndirectlyInheritsNested.antlrtree.txt │ │ │ ├── classInheritsNested.antlrtree.txt │ │ │ ├── commonSupertypeForCyclicAndUsualTypes.antlrtree.txt │ │ │ ├── commonSupertypeForCyclicTypes.antlrtree.txt │ │ │ ├── cyclicHierarchy.antlrtree.txt │ │ │ ├── javaJavaCycle.main.antlrtree.txt │ │ │ ├── javaKotlinJavaCycle.B.antlrtree.txt │ │ │ ├── kotlinJavaCycle.K.antlrtree.txt │ │ │ ├── kotlinJavaKotlinCycle.I.antlrtree.txt │ │ │ ├── kotlinJavaKotlinCycle.K.antlrtree.txt │ │ │ ├── kotlinJavaKotlinCycle.ll.I.antlrtree.txt │ │ │ ├── kotlinJavaKotlinCycle.ll.K.antlrtree.txt │ │ │ ├── kotlinJavaNestedCycle.ExceptionTracker.antlrtree.txt │ │ │ ├── kotlinJavaNestedCycle.StorageManager.antlrtree.txt │ │ │ ├── kotlinJavaNestedCycle.ll.ExceptionTracker.antlrtree.txt │ │ │ ├── kotlinJavaNestedCycle.ll.StorageManager.antlrtree.txt │ │ │ ├── kt303.antlrtree.txt │ │ │ ├── nestedClassInSuperClassParameter.antlrtree.txt │ │ │ ├── objectInheritsNested.antlrtree.txt │ │ │ ├── twoClassesWithNestedCycle.antlrtree.txt │ │ │ └── withCompanion/ │ │ │ ├── everythingInOneScope_after.antlrtree.txt │ │ │ ├── everythingInOneScope_before.antlrtree.txt │ │ │ ├── noMembers_after.antlrtree.txt │ │ │ ├── noMembers_before.antlrtree.txt │ │ │ ├── onlyInterfaces_after.antlrtree.txt │ │ │ ├── onlyInterfaces_before.antlrtree.txt │ │ │ ├── typeIsLowEnough.antlrtree.txt │ │ │ ├── withIrrelevantInterface_after.antlrtree.txt │ │ │ ├── withIrrelevantInterface_before.antlrtree.txt │ │ │ ├── withMembers_after.antlrtree.txt │ │ │ ├── withMembers_before.antlrtree.txt │ │ │ └── withoutTypeReference.antlrtree.txt │ │ ├── dataClasses/ │ │ │ ├── companionDataObject.antlrtree.txt │ │ │ ├── componentNamedComponent1.antlrtree.txt │ │ │ ├── conflictingCopyOverloads.antlrtree.txt │ │ │ ├── conflictingOverloads.antlrtree.txt │ │ │ ├── copyOfPrivateClass.antlrtree.txt │ │ │ ├── dataClassExplicitlyOverridingCopyNoDefaults.antlrtree.txt │ │ │ ├── dataClassExplicitlyOverridingCopyWithDefaults.antlrtree.txt │ │ │ ├── dataClassNoName.antlrtree.txt │ │ │ ├── dataClassNotOverridingCopy.antlrtree.txt │ │ │ ├── dataClassOverridingCopy_lv12.antlrtree.txt │ │ │ ├── dataClassOverridingCopy_lv13.antlrtree.txt │ │ │ ├── dataClassVarargParam.antlrtree.txt │ │ │ ├── dataInheritance.antlrtree.txt │ │ │ ├── dataObjectDisabled.antlrtree.txt │ │ │ ├── dataObjectEnabled.antlrtree.txt │ │ │ ├── dataObjectLiteral.antlrtree.txt │ │ │ ├── emptyConstructor.antlrtree.txt │ │ │ ├── errorTypesInDataClasses.antlrtree.txt │ │ │ ├── extensionComponentsOnNullable.antlrtree.txt │ │ │ ├── finalMembersInBaseClass.antlrtree.txt │ │ │ ├── implementMethodsFromInterface.antlrtree.txt │ │ │ ├── implementTraitWhichHasComponent1.antlrtree.txt │ │ │ ├── implementTraitWhichHasFinalComponent1.antlrtree.txt │ │ │ ├── innerDataClass.antlrtree.txt │ │ │ ├── innerOuterDataClass.antlrtree.txt │ │ │ ├── multiDeclaration.antlrtree.txt │ │ │ ├── multiDeclarationFor.antlrtree.txt │ │ │ ├── noConstructor.antlrtree.txt │ │ │ ├── notADataClass.antlrtree.txt │ │ │ ├── oneValParam.antlrtree.txt │ │ │ ├── repeatedProperties.antlrtree.txt │ │ │ ├── sealedDataClass.antlrtree.txt │ │ │ ├── strange.antlrtree.txt │ │ │ ├── twoValParams.antlrtree.txt │ │ │ └── twoVarParams.antlrtree.txt │ │ ├── dataFlow/ │ │ │ ├── CalleeExpression.antlrtree.txt │ │ │ ├── EmptyIf.antlrtree.txt │ │ │ ├── IsExpression.antlrtree.txt │ │ │ ├── WhenSubject.antlrtree.txt │ │ │ ├── assignment/ │ │ │ │ ├── assignToNewVal.antlrtree.txt │ │ │ │ ├── kt6118.antlrtree.txt │ │ │ │ ├── uninitializedValIsCheck.antlrtree.txt │ │ │ │ ├── uninitializedValNullability.antlrtree.txt │ │ │ │ └── when.antlrtree.txt │ │ │ ├── local/ │ │ │ │ ├── LocalClassBase.antlrtree.txt │ │ │ │ ├── LocalClassDefaultParameters.antlrtree.txt │ │ │ │ ├── LocalClassDelegatedProperties.antlrtree.txt │ │ │ │ ├── LocalClassDelegation.antlrtree.txt │ │ │ │ ├── LocalClassFunctions.antlrtree.txt │ │ │ │ ├── LocalClassInMemberOfLocalClass.antlrtree.txt │ │ │ │ ├── LocalClassInitializer.antlrtree.txt │ │ │ │ ├── LocalClassProperty.antlrtree.txt │ │ │ │ ├── LocalObject.antlrtree.txt │ │ │ │ ├── LocalObjectDelegation.antlrtree.txt │ │ │ │ ├── NestedLocalClass.antlrtree.txt │ │ │ │ └── kt2835.antlrtree.txt │ │ │ └── smartCastWithLambdaAndCallableReference.antlrtree.txt │ │ ├── dataFlowInfoTraversal/ │ │ │ ├── AndOr.antlrtree.txt │ │ │ ├── ArrayAccess.antlrtree.txt │ │ │ ├── ArrayExpression.antlrtree.txt │ │ │ ├── ArrayGetSetConvention.antlrtree.txt │ │ │ ├── ArrayIndices.antlrtree.txt │ │ │ ├── Assignment.antlrtree.txt │ │ │ ├── AssignmentInInitializer.antlrtree.txt │ │ │ ├── AssignmentOperation.antlrtree.txt │ │ │ ├── AssignmentToArrayElement.antlrtree.txt │ │ │ ├── BinaryExpression.antlrtree.txt │ │ │ ├── BinaryExpressionBooleanOperations.antlrtree.txt │ │ │ ├── BinaryExpressionCompareToConvention.antlrtree.txt │ │ │ ├── BinaryExpressionContainsConvention.antlrtree.txt │ │ │ ├── BinaryExpressionElvis.antlrtree.txt │ │ │ ├── BinaryExpressionEqualsConvention.antlrtree.txt │ │ │ ├── BinaryExpressionIdentifier.antlrtree.txt │ │ │ ├── BinaryExpressionPlusConvention.antlrtree.txt │ │ │ ├── Condition.antlrtree.txt │ │ │ ├── ContinueOuterLoop.antlrtree.txt │ │ │ ├── DeepIf.antlrtree.txt │ │ │ ├── DoWhile.antlrtree.txt │ │ │ ├── DoWhileCondition.antlrtree.txt │ │ │ ├── Elvis.antlrtree.txt │ │ │ ├── ExclExcl.antlrtree.txt │ │ │ ├── For.antlrtree.txt │ │ │ ├── ForLoopRange.antlrtree.txt │ │ │ ├── FunctionLiteral.antlrtree.txt │ │ │ ├── IfStatement.antlrtree.txt │ │ │ ├── IfThenElse.antlrtree.txt │ │ │ ├── IfThenElseBothInvalid.antlrtree.txt │ │ │ ├── IsExpression.antlrtree.txt │ │ │ ├── ManyIfs.antlrtree.txt │ │ │ ├── MultiDeclaration.antlrtree.txt │ │ │ ├── ObjectExpression.antlrtree.txt │ │ │ ├── QualifiedExpression.antlrtree.txt │ │ │ ├── Return.antlrtree.txt │ │ │ ├── StringTemplate.antlrtree.txt │ │ │ ├── ThisSuper.antlrtree.txt │ │ │ ├── Throw.antlrtree.txt │ │ │ ├── TryCatch.antlrtree.txt │ │ │ ├── TryFinally.antlrtree.txt │ │ │ ├── UnaryExpression.antlrtree.txt │ │ │ ├── When.antlrtree.txt │ │ │ ├── WhenEntryAs.antlrtree.txt │ │ │ ├── WhenEntryIs.antlrtree.txt │ │ │ ├── WhenIn.antlrtree.txt │ │ │ ├── WhenSubject.antlrtree.txt │ │ │ ├── While.antlrtree.txt │ │ │ ├── WhileCondition.antlrtree.txt │ │ │ ├── kt4332WhenBranches.antlrtree.txt │ │ │ ├── kt5155WhenBranches.antlrtree.txt │ │ │ ├── kt5182WhenBranches.antlrtree.txt │ │ │ └── smartcasts/ │ │ │ ├── SmartcastAmbiguitites.antlrtree.txt │ │ │ ├── SmartcastsForStableIdentifiers.a.antlrtree.txt │ │ │ └── SmartcastsForStableIdentifiers.b.antlrtree.txt │ │ ├── dataObjects/ │ │ │ └── overrideEqualsAndHashCode.antlrtree.txt │ │ ├── declarationChecks/ │ │ │ ├── ComponentFunctionReturnTypeMismatch.antlrtree.txt │ │ │ ├── ConflictingAndRedundantProjections.antlrtree.txt │ │ │ ├── DataFlowInMultiDeclInFor.antlrtree.txt │ │ │ ├── DataFlowInfoInMultiDecl.antlrtree.txt │ │ │ ├── FunctionWithMissingNames.antlrtree.txt │ │ │ ├── LocalVariableWithNoTypeInformation.antlrtree.txt │ │ │ ├── MultiDeclarationErrors.antlrtree.txt │ │ │ ├── RedeclarationsInMultiDecl.antlrtree.txt │ │ │ ├── ScalaLikeNamedFun.antlrtree.txt │ │ │ ├── VarianceOnFunctionAndPropertyTypeParameters.antlrtree.txt │ │ │ ├── ambiguousObjectExpressionType.antlrtree.txt │ │ │ ├── anonymousFunAsLastExpressionInBlock.antlrtree.txt │ │ │ ├── anonymousFunUnusedLastExpressionInBlock.antlrtree.txt │ │ │ ├── destructuringDeclarations/ │ │ │ │ ├── DoubleDeclForLoop.antlrtree.txt │ │ │ │ ├── FolLoopTypeComponentTypeMismatch.antlrtree.txt │ │ │ │ ├── ForLoopComponentFunctionAmbiguity.antlrtree.txt │ │ │ │ ├── ForLoopComponentFunctionMissing.antlrtree.txt │ │ │ │ ├── ForLoopMissingLoopParameter.antlrtree.txt │ │ │ │ ├── ForLoopWithExtensions.antlrtree.txt │ │ │ │ ├── ForWithExplicitTypes.antlrtree.txt │ │ │ │ ├── RedeclarationInForLoop.antlrtree.txt │ │ │ │ ├── SingleDeclForLoop.antlrtree.txt │ │ │ │ ├── destructuringDeclarationAssignedUnresolved.antlrtree.txt │ │ │ │ ├── destructuringDeclarationMissingInitializer.antlrtree.txt │ │ │ │ ├── kt2829.antlrtree.txt │ │ │ │ ├── lastDestructuringDeclarationInBlock.antlrtree.txt │ │ │ │ └── underscore.antlrtree.txt │ │ │ ├── finiteBoundRestriction/ │ │ │ │ ├── CasesWithOneTypeParameter.antlrtree.txt │ │ │ │ ├── CasesWithTwoTypeParameters.antlrtree.txt │ │ │ │ └── JavaSuperType.1.antlrtree.txt │ │ │ ├── illegalModifiersOnClass.antlrtree.txt │ │ │ ├── kClassInSignature.antlrtree.txt │ │ │ ├── kt1141.antlrtree.txt │ │ │ ├── kt1193.antlrtree.txt │ │ │ ├── kt2096.antlrtree.txt │ │ │ ├── kt2142.antlrtree.txt │ │ │ ├── kt2397.antlrtree.txt │ │ │ ├── kt2631_MultipleDeclaration.antlrtree.txt │ │ │ ├── kt2643MultiDeclInControlFlow.antlrtree.txt │ │ │ ├── kt559.antlrtree.txt │ │ │ ├── localDeclarationModifiers.antlrtree.txt │ │ │ ├── localFunctionNoInheritVisibility.antlrtree.txt │ │ │ ├── localObjectInInnerClass.antlrtree.txt │ │ │ ├── localVariablesWithTypeParameters_1_3.antlrtree.txt │ │ │ ├── localVariablesWithTypeParameters_1_4.antlrtree.txt │ │ │ ├── mappedFunctionNotImplemented.CharSeq.antlrtree.txt │ │ │ ├── mulitpleVarargParameters.antlrtree.txt │ │ │ ├── nameWithDangerousCharacters.antlrtree.txt │ │ │ ├── namedFunAsLastExpressionInBlock.antlrtree.txt │ │ │ ├── nonExpansiveInheritanceRestriction/ │ │ │ │ ├── JavaWithKotlin.1.antlrtree.txt │ │ │ │ ├── JavaWithKotlin2.1.antlrtree.txt │ │ │ │ └── PureKotlin.antlrtree.txt │ │ │ ├── packageDeclarationModifiers.antlrtree.txt │ │ │ ├── propertyInPackageHasNoInheritVisibility.antlrtree.txt │ │ │ ├── sealedOnMembers.antlrtree.txt │ │ │ ├── unambiguousObjectExpressionType.antlrtree.txt │ │ │ └── valVarFunctionParameter.antlrtree.txt │ │ ├── defaultArguments/ │ │ │ ├── kt5232.antlrtree.txt │ │ │ └── superCall.antlrtree.txt │ │ ├── delegatedProperty/ │ │ │ ├── absentErrorAboutInitializer.antlrtree.txt │ │ │ ├── absentErrorAboutType.antlrtree.txt │ │ │ ├── abstractDelegatedProperty.antlrtree.txt │ │ │ ├── backingField.antlrtree.txt │ │ │ ├── defaultGetter.antlrtree.txt │ │ │ ├── defaultSetter.antlrtree.txt │ │ │ ├── delegatedPropertyOverridedInTrait.antlrtree.txt │ │ │ ├── delegatedPropertyOverridedInTraitTypeMismatch.antlrtree.txt │ │ │ ├── disallowImplInTypeParameter.antlrtree.txt │ │ │ ├── genericGetter.antlrtree.txt │ │ │ ├── getterWithSubtype.antlrtree.txt │ │ │ ├── inTrait.antlrtree.txt │ │ │ ├── incompleteTypeInference.antlrtree.txt │ │ │ ├── inference/ │ │ │ │ ├── callableReferenceArgumentInDelegatedExpression.antlrtree.txt │ │ │ │ ├── decoratedLambda.antlrtree.txt │ │ │ │ ├── delegateExpressionAsLambda.antlrtree.txt │ │ │ │ ├── delegatedExpressionWithLabeledReturnInsideLambda.antlrtree.txt │ │ │ │ ├── differentDelegatedExpressions.antlrtree.txt │ │ │ │ ├── elvisInDelegated.antlrtree.txt │ │ │ │ ├── extensionGet.antlrtree.txt │ │ │ │ ├── extensionProperty.antlrtree.txt │ │ │ │ ├── genericMethodInGenericClass.antlrtree.txt │ │ │ │ ├── genericMethods.antlrtree.txt │ │ │ │ ├── ifInDelegated.antlrtree.txt │ │ │ │ ├── kt41952.antlrtree.txt │ │ │ │ ├── labeledDelegatedExpression.antlrtree.txt │ │ │ │ ├── manyIncompleteCandidates.first.antlrtree.txt │ │ │ │ ├── manyIncompleteCandidates.main.antlrtree.txt │ │ │ │ ├── manyIncompleteCandidates.second.antlrtree.txt │ │ │ │ ├── nestedPartiallyResolvedCalls.main.antlrtree.txt │ │ │ │ ├── nestedPartiallyResolvedCallsSimple.antlrtree.txt │ │ │ │ ├── noErrorsForImplicitConstraints.antlrtree.txt │ │ │ │ ├── noExpectedTypeForSupertypeConstraint.antlrtree.txt │ │ │ │ ├── notNullAssertionInLocalDelegated.antlrtree.txt │ │ │ │ ├── resultTypeOfLambdaForConventionMethods.antlrtree.txt │ │ │ │ ├── tryInGenerated.antlrtree.txt │ │ │ │ ├── typeOfLazyDelegatedPropertyWithObject.antlrtree.txt │ │ │ │ ├── useCompleterWithoutExpectedType.antlrtree.txt │ │ │ │ ├── useExpectedType.antlrtree.txt │ │ │ │ └── useExpectedTypeForVal.antlrtree.txt │ │ │ ├── kt4640.antlrtree.txt │ │ │ ├── kt48546.antlrtree.txt │ │ │ ├── kt48546Strict.antlrtree.txt │ │ │ ├── localVariable.antlrtree.txt │ │ │ ├── localWithSmartCast.antlrtree.txt │ │ │ ├── missedGetter.antlrtree.txt │ │ │ ├── missedSetter.antlrtree.txt │ │ │ ├── noInferenceFromGetValueThroughSetValue.antlrtree.txt │ │ │ ├── noInferenceFromWrappedDelegate.antlrtree.txt │ │ │ ├── noPreliminarySetterInferenceForImplicitlyTypedVar.antlrtree.txt │ │ │ ├── nonDefaultAccessors.antlrtree.txt │ │ │ ├── propertyDefferedType.antlrtree.txt │ │ │ ├── provideDelegate/ │ │ │ │ ├── commonCaseForInference.antlrtree.txt │ │ │ │ ├── genericProvideDelegate.antlrtree.txt │ │ │ │ ├── hostAndReceiver1.antlrtree.txt │ │ │ │ ├── hostAndReceiver2.antlrtree.txt │ │ │ │ ├── hostAndReceiver3.antlrtree.txt │ │ │ │ ├── inferenceFromReceiver1.antlrtree.txt │ │ │ │ ├── inferenceFromReceiver2.antlrtree.txt │ │ │ │ ├── kt38714.antlrtree.txt │ │ │ │ ├── localDelegatedProperty.antlrtree.txt │ │ │ │ ├── noOperatorModifierOnProvideDelegate.antlrtree.txt │ │ │ │ ├── notNullAssertionInLocalDelegated.antlrtree.txt │ │ │ │ ├── onObject.antlrtree.txt │ │ │ │ ├── overloadResolutionForSeveralProvideDelegates.antlrtree.txt │ │ │ │ ├── provideDelegateOnFunctionalTypeWithThis.antlrtree.txt │ │ │ │ ├── provideDelegateOperatorDeclaration.antlrtree.txt │ │ │ │ ├── provideDelegateResolutionWithStubTypes.antlrtree.txt │ │ │ │ ├── setValue.antlrtree.txt │ │ │ │ └── simpleProvideDelegate.antlrtree.txt │ │ │ ├── recursiveType.antlrtree.txt │ │ │ ├── recursiveType.reversed.antlrtree.txt │ │ │ ├── redundantGetter.antlrtree.txt │ │ │ ├── redundantSetter.antlrtree.txt │ │ │ ├── setterThisTypeMismatch.antlrtree.txt │ │ │ ├── setterWithSupertype.antlrtree.txt │ │ │ ├── severalReceivers.antlrtree.txt │ │ │ ├── thisInDelegate.antlrtree.txt │ │ │ ├── thisOfAnyType.antlrtree.txt │ │ │ ├── thisOfNothingNullableType.antlrtree.txt │ │ │ ├── thisOfNothingType.antlrtree.txt │ │ │ ├── twoGetMethods.antlrtree.txt │ │ │ ├── typeMismatchForGetReturnType.antlrtree.txt │ │ │ ├── typeMismatchForGetWithGeneric.antlrtree.txt │ │ │ ├── typeMismatchForSetParameter.antlrtree.txt │ │ │ ├── typeMismatchForThisGetParameter.antlrtree.txt │ │ │ ├── useTypeParameterOfExtensionProperty.antlrtree.txt │ │ │ ├── useTypeParameterOfExtensionProperty2.antlrtree.txt │ │ │ ├── useTypeParameterOfExtensionProperty_Disabled.antlrtree.txt │ │ │ ├── wrongCountOfParametersInGet.antlrtree.txt │ │ │ ├── wrongCountOfParametersInSet.antlrtree.txt │ │ │ └── wrongSetterReturnType.antlrtree.txt │ │ ├── delegation/ │ │ │ ├── DelegationAndOverriding.antlrtree.txt │ │ │ ├── DelegationExpectedType.antlrtree.txt │ │ │ ├── DelegationNotTotrait.antlrtree.txt │ │ │ ├── DelegationToJavaIface.antlrtree.txt │ │ │ ├── Delegation_ClashingFunctions.antlrtree.txt │ │ │ ├── Delegation_Hierarchy.antlrtree.txt │ │ │ ├── Delegation_MultipleDelegates.antlrtree.txt │ │ │ ├── Delegation_ScopeInitializationOrder.antlrtree.txt │ │ │ ├── clashes/ │ │ │ │ ├── finalMemberOverridden.antlrtree.txt │ │ │ │ ├── propertyTypeMismatch.antlrtree.txt │ │ │ │ ├── returnTypeMismatch.antlrtree.txt │ │ │ │ └── varOverriddenByVal.antlrtree.txt │ │ │ ├── covariantOverrides/ │ │ │ │ ├── fromClass.antlrtree.txt │ │ │ │ ├── irrelevant.antlrtree.txt │ │ │ │ ├── kt13952.antlrtree.txt │ │ │ │ └── simple.antlrtree.txt │ │ │ ├── kt40510.main.antlrtree.txt │ │ │ ├── kt44843.lt_neworld_compiler_Foo.antlrtree.txt │ │ │ ├── kt44843.lt_neworld_compiler_bar_Bar.antlrtree.txt │ │ │ ├── kt44843.test.antlrtree.txt │ │ │ ├── kt48546.antlrtree.txt │ │ │ ├── kt49477.antlrtree.txt │ │ │ ├── kt49477.reversed.antlrtree.txt │ │ │ ├── kt49477Error.antlrtree.txt │ │ │ ├── kt49477Error.reversed.antlrtree.txt │ │ │ ├── kt8154.antlrtree.txt │ │ │ └── memberHidesSupertypeOverride/ │ │ │ ├── abstractOverride.antlrtree.txt │ │ │ ├── delegationToSubType.antlrtree.txt │ │ │ ├── delegationToSubTypeProperty.antlrtree.txt │ │ │ ├── delegationToSubTypeWithOverride.antlrtree.txt │ │ │ ├── delegationToSubTypeWithOverrideProperty.antlrtree.txt │ │ │ ├── diamond.antlrtree.txt │ │ │ ├── explicitOverride.antlrtree.txt │ │ │ ├── fakeOverrideInTheMiddle.antlrtree.txt │ │ │ ├── generic.antlrtree.txt │ │ │ ├── sameDelegationInHierarchy.antlrtree.txt │ │ │ ├── sameDelegationInHierarchy2.antlrtree.txt │ │ │ ├── severalDelegates.antlrtree.txt │ │ │ ├── simple.antlrtree.txt │ │ │ ├── simpleNoOverride.antlrtree.txt │ │ │ └── simpleProp.antlrtree.txt │ │ ├── delegationTypeMismatch.antlrtree.txt │ │ ├── deparenthesize/ │ │ │ ├── ParenthesizedVariable.antlrtree.txt │ │ │ ├── annotatedSafeCall.antlrtree.txt │ │ │ ├── checkDeparenthesizedType.antlrtree.txt │ │ │ ├── labeledSafeCall.antlrtree.txt │ │ │ ├── multiParenthesizedSafeCall.antlrtree.txt │ │ │ └── parenthesizedSafeCall.antlrtree.txt │ │ ├── deprecated/ │ │ │ ├── annotationUsage.antlrtree.txt │ │ │ ├── candidateBehindHiddenPropertyAccessors.antlrtree.txt │ │ │ ├── classWithCompanionObject.antlrtree.txt │ │ │ ├── companionObjectUsage.antlrtree.txt │ │ │ ├── componentUsage.antlrtree.txt │ │ │ ├── deprecatedCompanionAndClassReference.antlrtree.txt │ │ │ ├── deprecatedConstructor.A.antlrtree.txt │ │ │ ├── deprecatedConstructor.C.antlrtree.txt │ │ │ ├── deprecatedConstructor.use.antlrtree.txt │ │ │ ├── deprecatedConstructorProperty.A.antlrtree.txt │ │ │ ├── deprecatedConstructorProperty.use.antlrtree.txt │ │ │ ├── deprecatedEnumEntry.A.antlrtree.txt │ │ │ ├── deprecatedEnumEntry.use.antlrtree.txt │ │ │ ├── deprecatedError.antlrtree.txt │ │ │ ├── deprecatedErrorBuilder.antlrtree.txt │ │ │ ├── deprecatedField.use.antlrtree.txt │ │ │ ├── deprecatedHidden.antlrtree.txt │ │ │ ├── deprecatedHiddenOnCallableReferenceArgument.antlrtree.txt │ │ │ ├── deprecatedInheritance_after.antlrtree.txt │ │ │ ├── deprecatedInheritance_before.antlrtree.txt │ │ │ ├── deprecatedPropertyInheritance_after.antlrtree.txt │ │ │ ├── deprecatedPropertyInheritance_before.antlrtree.txt │ │ │ ├── deprecatedSinceKotlin/ │ │ │ │ ├── checkValuesAreParseableAsVersion.antlrtree.txt │ │ │ │ ├── deprecatedSinceKotlinDeclaration.antlrtree.txt │ │ │ │ ├── deprecatedSinceKotlinHiddenOnReferenceArgument.antlrtree.txt │ │ │ │ ├── deprecatedSinceKotlinOutsideKotlinPackage.antlrtree.txt │ │ │ │ ├── deprecatedSinceKotlinWithoutArguments.antlrtree.txt │ │ │ │ ├── error.antlrtree.txt │ │ │ │ ├── hidden.antlrtree.txt │ │ │ │ ├── messageFromDeprecatedAnnotation.antlrtree.txt │ │ │ │ └── warning.antlrtree.txt │ │ │ ├── duplicatedOverrideDeprecationOnProperty.antlrtree.txt │ │ │ ├── functionUsage.antlrtree.txt │ │ │ ├── genericConstructorUsage.antlrtree.txt │ │ │ ├── hiddenPropertyAccessors.antlrtree.txt │ │ │ ├── importJavaSamInterface.K.antlrtree.txt │ │ │ ├── imports.antlrtree.txt │ │ │ ├── iteratorUsage.antlrtree.txt │ │ │ ├── javaDeprecated.B.antlrtree.txt │ │ │ ├── javaDeprecatedInheritance.use.antlrtree.txt │ │ │ ├── javaDocDeprecated.B.antlrtree.txt │ │ │ ├── nestedTypesUsage.antlrtree.txt │ │ │ ├── objectUsage.antlrtree.txt │ │ │ ├── propertyUsage.antlrtree.txt │ │ │ ├── propertyUseSiteTargetedAnnotations.antlrtree.txt │ │ │ ├── propertyWithInvoke.antlrtree.txt │ │ │ ├── thisUsage.antlrtree.txt │ │ │ ├── typeUsage.antlrtree.txt │ │ │ ├── typealiasCompanionObject.antlrtree.txt │ │ │ ├── typealiasConstructor.antlrtree.txt │ │ │ ├── typealiasForDeprecatedClass.antlrtree.txt │ │ │ ├── typealiasUsage.antlrtree.txt │ │ │ ├── unusedImport.A.antlrtree.txt │ │ │ ├── unusedImport.B.antlrtree.txt │ │ │ ├── usageOnEnum.antlrtree.txt │ │ │ └── warningOnConstructorErrorOnClass.antlrtree.txt │ │ ├── derivedIntersectionPropertyShadowsBaseClassField.test.antlrtree.txt │ │ ├── differentNumericTypesFromSmartCast.antlrtree.txt │ │ ├── duplicateJvmSignature/ │ │ │ ├── accidentalOverrides/ │ │ │ │ ├── accidentalOverrideFromGrandparent.antlrtree.txt │ │ │ │ ├── classFunctionOverriddenByProperty.antlrtree.txt │ │ │ │ ├── classFunctionOverriddenByPropertyInConstructor.antlrtree.txt │ │ │ │ ├── classFunctionOverriddenByPropertyNoGetter.antlrtree.txt │ │ │ │ ├── classPropertyOverriddenByFunction.antlrtree.txt │ │ │ │ ├── defaultFunction.antlrtree.txt │ │ │ │ ├── delegatedFunctionOverriddenByProperty.antlrtree.txt │ │ │ │ ├── genericClassFunction.antlrtree.txt │ │ │ │ ├── overridesNothing.antlrtree.txt │ │ │ │ ├── privateClassFunctionOverriddenByProperty.antlrtree.txt │ │ │ │ ├── require.antlrtree.txt │ │ │ │ ├── traitFunctionOverriddenByProperty.antlrtree.txt │ │ │ │ ├── traitFunctionOverriddenByPropertyNoImpl.antlrtree.txt │ │ │ │ ├── traitPropertyOverriddenByFunction.antlrtree.txt │ │ │ │ └── traitPropertyOverriddenByFunctionNoImpl.antlrtree.txt │ │ │ ├── bridges/ │ │ │ │ ├── class.antlrtree.txt │ │ │ │ ├── fakeOverrideTrait.antlrtree.txt │ │ │ │ └── trait.antlrtree.txt │ │ │ ├── caseInProperties.antlrtree.txt │ │ │ ├── erasure/ │ │ │ │ ├── clashFromInterfaceAndSuperClass.antlrtree.txt │ │ │ │ ├── collections.antlrtree.txt │ │ │ │ ├── delegateToTwoTraits.antlrtree.txt │ │ │ │ ├── delegationAndOwnMethod.antlrtree.txt │ │ │ │ ├── delegationToTraitImplAndOwnMethod.antlrtree.txt │ │ │ │ ├── extensionProperties.antlrtree.txt │ │ │ │ ├── genericType.antlrtree.txt │ │ │ │ ├── inheritFromTwoTraits.antlrtree.txt │ │ │ │ ├── kotlinAndJavaCollections.antlrtree.txt │ │ │ │ ├── nullableType.antlrtree.txt │ │ │ │ ├── superTraitAndDelegationToTraitImpl.antlrtree.txt │ │ │ │ ├── twoTraitsAndOwnFunction.antlrtree.txt │ │ │ │ ├── typeMappedToJava.antlrtree.txt │ │ │ │ ├── typeParameter.antlrtree.txt │ │ │ │ ├── typeParameterWithBound.antlrtree.txt │ │ │ │ ├── typeParameterWithTwoBounds.antlrtree.txt │ │ │ │ └── typeParameterWithTwoBoundsInWhere.antlrtree.txt │ │ │ ├── finalMembersFromBuiltIns/ │ │ │ │ ├── enumMembers.antlrtree.txt │ │ │ │ └── waitNotifyGetClass.antlrtree.txt │ │ │ ├── functionAndProperty/ │ │ │ │ ├── class.antlrtree.txt │ │ │ │ ├── classObject.antlrtree.txt │ │ │ │ ├── classPropertyInConstructor.antlrtree.txt │ │ │ │ ├── extensionFunctionAndNormalFunction.antlrtree.txt │ │ │ │ ├── extensionPropertyAndFunction.antlrtree.txt │ │ │ │ ├── functionAndSetter.antlrtree.txt │ │ │ │ ├── functionAndVar.antlrtree.txt │ │ │ │ ├── localClass.antlrtree.txt │ │ │ │ ├── localClassInClass.antlrtree.txt │ │ │ │ ├── nestedClass.antlrtree.txt │ │ │ │ ├── object.antlrtree.txt │ │ │ │ ├── objectExpression.antlrtree.txt │ │ │ │ ├── objectExpressionInConstructor.antlrtree.txt │ │ │ │ ├── privateClassPropertyNoClash.B.antlrtree.txt │ │ │ │ ├── topLevel.antlrtree.txt │ │ │ │ ├── topLevelDifferentFiles.a.antlrtree.txt │ │ │ │ ├── topLevelDifferentFiles.b.antlrtree.txt │ │ │ │ ├── topLevelGetter.antlrtree.txt │ │ │ │ ├── trait.antlrtree.txt │ │ │ │ └── withErrorTypes.antlrtree.txt │ │ │ ├── missingNames.antlrtree.txt │ │ │ ├── specialNames/ │ │ │ │ ├── classObject.antlrtree.txt │ │ │ │ ├── classObjectCopiedField.antlrtree.txt │ │ │ │ ├── classObjectCopiedFieldObject.antlrtree.txt │ │ │ │ ├── dataClassCopy.antlrtree.txt │ │ │ │ ├── delegationBy.antlrtree.txt │ │ │ │ ├── enum.antlrtree.txt │ │ │ │ ├── innerClassField.antlrtree.txt │ │ │ │ ├── instance.antlrtree.txt │ │ │ │ └── propertyMetadataCache.antlrtree.txt │ │ │ ├── statics/ │ │ │ │ ├── jkjk.B.antlrtree.txt │ │ │ │ ├── jkjk.K.antlrtree.txt │ │ │ │ ├── kotlinClassExtendsJavaClass.K.antlrtree.txt │ │ │ │ ├── kotlinClassExtendsJavaClassExtendsJavaClass.K.antlrtree.txt │ │ │ │ ├── kotlinClassImplementsJavaInterface.K.antlrtree.txt │ │ │ │ ├── kotlinClassImplementsJavaInterfaceExtendsJavaInteface.K.antlrtree.txt │ │ │ │ └── kotlinMembersVsJavaNonVisibleStatics.K.antlrtree.txt │ │ │ ├── synthesized/ │ │ │ │ └── enumValuesValueOf.antlrtree.txt │ │ │ ├── traitImpl/ │ │ │ │ ├── oneTrait.antlrtree.txt │ │ │ │ ├── traitFunctionOverriddenByPropertyInTrait.antlrtree.txt │ │ │ │ ├── traitPropertyOverriddenByFunctionInTrait.antlrtree.txt │ │ │ │ └── twoTraits.antlrtree.txt │ │ │ └── vararg.antlrtree.txt │ │ ├── dynamicTypes/ │ │ │ ├── delegationBy.antlrtree.txt │ │ │ ├── unsupported.antlrtree.txt │ │ │ └── withInvisibleSynthesized.k.antlrtree.txt │ │ ├── enum/ │ │ │ ├── AbstractEnum.antlrtree.txt │ │ │ ├── AbstractInEnum.antlrtree.txt │ │ │ ├── AbstractOverrideInEnum.antlrtree.txt │ │ │ ├── ConstructorCallFromOutside.antlrtree.txt │ │ │ ├── ExplicitConstructorCall.antlrtree.txt │ │ │ ├── InsideEntryConstructorCall.antlrtree.txt │ │ │ ├── InsideSecondaryConstructorCall.antlrtree.txt │ │ │ ├── NonPrivateConstructor.antlrtree.txt │ │ │ ├── SecondaryConstructorCall.antlrtree.txt │ │ │ ├── classObjectInEnum.antlrtree.txt │ │ │ ├── classObjectInEnumPrivate.antlrtree.txt │ │ │ ├── commonSupertype.antlrtree.txt │ │ │ ├── compareTwoDifferentEnums.test.antlrtree.txt │ │ │ ├── constructorWithDefaultParametersOnly.antlrtree.txt │ │ │ ├── declaringClass.antlrtree.txt │ │ │ ├── dontCreatePackageTypeForEnumEntry_after.antlrtree.txt │ │ │ ├── dontCreatePackageTypeForEnumEntry_before.antlrtree.txt │ │ │ ├── emptyConstructor.antlrtree.txt │ │ │ ├── entries/ │ │ │ │ ├── conflictingPropertyEntriesAndReference.antlrtree.txt │ │ │ │ ├── conflictingPropertyEntriesAndReferenceOn.antlrtree.txt │ │ │ │ ├── conflictingPropertyEntriesAndReferencePrioritized.antlrtree.txt │ │ │ │ ├── entriesPropertyAsExtensionClash.antlrtree.txt │ │ │ │ ├── entriesPropertyAsExtensionClashOn.antlrtree.txt │ │ │ │ ├── entriesPropertyAsExtensionClashPrioritized.antlrtree.txt │ │ │ │ ├── entriesPropertyImportedClash.antlrtree.txt │ │ │ │ ├── entriesPropertyImportedClashOn.antlrtree.txt │ │ │ │ ├── entriesPropertyImportedClashPrioritized.antlrtree.txt │ │ │ │ ├── entriesPropertyInCompanionClash.antlrtree.txt │ │ │ │ ├── entriesPropertyInCompanionClashOn.antlrtree.txt │ │ │ │ ├── entriesPropertyWithJvmStaticClash.antlrtree.txt │ │ │ │ ├── entriesPropertyWithJvmStaticClashOn.antlrtree.txt │ │ │ │ ├── entriesPropertyWithJvmStaticClashPrioritized.antlrtree.txt │ │ │ │ ├── entriesUnsupported.antlrtree.txt │ │ │ │ ├── enumEntriesAmbiguity.antlrtree.txt │ │ │ │ ├── genericEntriesPropertyClash.antlrtree.txt │ │ │ │ ├── genericEntriesPropertyClashOn.antlrtree.txt │ │ │ │ ├── javaEnumEntriesAmbiguity.test.antlrtree.txt │ │ │ │ ├── javaEnumEntriesAmbiguityOn.test.antlrtree.txt │ │ │ │ ├── javaFakeEnumEntries.test.antlrtree.txt │ │ │ │ ├── nameShadowingOfExternallyDefinedEntries.antlrtree.txt │ │ │ │ ├── nameShadowingOfExternallyDefinedEntriesOn.antlrtree.txt │ │ │ │ ├── nameShadowingOfExternallyDefinedEntriesPrioritized.antlrtree.txt │ │ │ │ ├── redeclarationOfEnumEntriesNameWithIntrinsic.antlrtree.txt │ │ │ │ └── redeclarationOfEnumEntriesNameWithIntrinsicOn.antlrtree.txt │ │ │ ├── entryShouldBeOfEnumType.antlrtree.txt │ │ │ ├── enumEntryCannotHaveClassObject.antlrtree.txt │ │ │ ├── enumEntryInAbstractEnum.antlrtree.txt │ │ │ ├── enumImplementingTrait.antlrtree.txt │ │ │ ├── enumInheritance.test.antlrtree.txt │ │ │ ├── enumIsAssignableToBuiltInEnum.antlrtree.txt │ │ │ ├── enumMissingName.antlrtree.txt │ │ │ ├── enumModifier.antlrtree.txt │ │ │ ├── enumStarImport.enum.antlrtree.txt │ │ │ ├── enumStarImport.user.antlrtree.txt │ │ │ ├── enumSubjectTypeCheck.antlrtree.txt │ │ │ ├── enumWithAnnotationKeyword.antlrtree.txt │ │ │ ├── enumWithEmptyName.antlrtree.txt │ │ │ ├── equalityOfEnumAndParameter.antlrtree.txt │ │ │ ├── equalityOfFlexibleTypeParameters.B.antlrtree.txt │ │ │ ├── extendingEnumDirectly.antlrtree.txt │ │ │ ├── extensionNamedAsEnumEntry.antlrtree.txt │ │ │ ├── ifEnumEntry.antlrtree.txt │ │ │ ├── importEnumFromJava.test.antlrtree.txt │ │ │ ├── incompatibleEnumEntryClasses.antlrtree.txt │ │ │ ├── incompatibleEnums.antlrtree.txt │ │ │ ├── incompatibleEnums_1_4.antlrtree.txt │ │ │ ├── inheritFromEnumEntry.antlrtree.txt │ │ │ ├── inheritanceFromEnum.test.antlrtree.txt │ │ │ ├── inline.antlrtree.txt │ │ │ ├── inner/ │ │ │ │ ├── existingClassObject.antlrtree.txt │ │ │ │ ├── insideClass.antlrtree.txt │ │ │ │ ├── insideClassObject.antlrtree.txt │ │ │ │ ├── insideEnum.antlrtree.txt │ │ │ │ ├── insideEnumEntry_after.antlrtree.txt │ │ │ │ ├── insideEnumEntry_before.antlrtree.txt │ │ │ │ ├── insideInnerClassNotAllowed.antlrtree.txt │ │ │ │ ├── insideObject.antlrtree.txt │ │ │ │ ├── insideTrait.antlrtree.txt │ │ │ │ ├── redeclarationInClassObject.antlrtree.txt │ │ │ │ ├── twoEnums.antlrtree.txt │ │ │ │ └── twoEnumsInClassObjectAndInnerClass.antlrtree.txt │ │ │ ├── interfaceWithEnumKeyword.antlrtree.txt │ │ │ ├── isEnumEntry.antlrtree.txt │ │ │ ├── javaEnumValueOfMethod.test.antlrtree.txt │ │ │ ├── javaEnumValuesMethod.test.antlrtree.txt │ │ │ ├── javaEnumWithAbstractFun.test.antlrtree.txt │ │ │ ├── javaEnumWithFuns.test.antlrtree.txt │ │ │ ├── javaEnumWithNameClashing.test.antlrtree.txt │ │ │ ├── javaEnumWithProperty.test.antlrtree.txt │ │ │ ├── kt2834.antlrtree.txt │ │ │ ├── kt8972_cloneNotAllowed.antlrtree.txt │ │ │ ├── localEnums.antlrtree.txt │ │ │ ├── modifiersOnEnumEntry.antlrtree.txt │ │ │ ├── multipleConstructors.antlrtree.txt │ │ │ ├── openMemberInEnum.antlrtree.txt │ │ │ ├── overrideFinalEnumMethods.antlrtree.txt │ │ │ ├── referenceToEnumEntry.antlrtree.txt │ │ │ ├── secondaryConstructorWithoutDelegatingToPrimaryOne.antlrtree.txt │ │ │ ├── secondaryConstructorWithoutDelegatingToPrimaryOneWithEnabledFeature.antlrtree.txt │ │ │ ├── starImportNestedClassAndEntries.E.antlrtree.txt │ │ │ ├── starImportNestedClassAndEntries.main.antlrtree.txt │ │ │ ├── typeCompatibility.antlrtree.txt │ │ │ ├── typeParametersInEnum.antlrtree.txt │ │ │ ├── valuesValueOfAndEntriesAccessibility.antlrtree.txt │ │ │ └── wrongUnitializedEnumCompanion.antlrtree.txt │ │ ├── equalityComparisonToSelf.antlrtree.txt │ │ ├── equalityWithSmartCastInIfBlock.antlrtree.txt │ │ ├── evaluate/ │ │ │ ├── binaryMinusDepOnExpType.antlrtree.txt │ │ │ ├── binaryMinusIndepWoExpType.antlrtree.txt │ │ │ ├── binaryMinusIndependentExpType.antlrtree.txt │ │ │ ├── customExtensionOverKotlinExtensionInConst.antlrtree.txt │ │ │ ├── divisionByZero.antlrtree.txt │ │ │ ├── float.antlrtree.txt │ │ │ ├── floatLiteralOutOfRange.antlrtree.txt │ │ │ ├── infixFunOverBuiltinMemberInConst.antlrtree.txt │ │ │ ├── inlineClasses/ │ │ │ │ ├── constructorOfUnsignedType.test.antlrtree.txt │ │ │ │ └── constructorOfUnsignedType.uint.antlrtree.txt │ │ │ ├── intOverflow.antlrtree.txt │ │ │ ├── intOverflowWithJavaProperties.A.antlrtree.txt │ │ │ ├── integer.antlrtree.txt │ │ │ ├── logicWithNumber.antlrtree.txt │ │ │ ├── longOverflow.antlrtree.txt │ │ │ ├── noOverflowWithZero.antlrtree.txt │ │ │ ├── numberBinaryOperations.antlrtree.txt │ │ │ ├── numberBinaryOperationsCall.antlrtree.txt │ │ │ ├── numberBinaryOperationsInfixCall.antlrtree.txt │ │ │ ├── otherOverflow.antlrtree.txt │ │ │ ├── parentesized.antlrtree.txt │ │ │ ├── qualifiedExpressions.a.antlrtree.txt │ │ │ ├── qualifiedExpressions.b.antlrtree.txt │ │ │ ├── unaryMinusDepOnExpType.antlrtree.txt │ │ │ ├── unaryMinusIndepWoExpType.antlrtree.txt │ │ │ ├── unaryMinusIndependentExpType.antlrtree.txt │ │ │ └── wrongLongSuffix.antlrtree.txt │ │ ├── exceptions/ │ │ │ ├── expectedSomeTypesOnBranchForWhenExpressionOfErroneousType.antlrtree.txt │ │ │ └── kt24158.antlrtree.txt │ │ ├── explicitDefinitelyNotNullableViaIntersection/ │ │ │ ├── approximation.antlrtree.txt │ │ │ ├── bareTypes.antlrtree.txt │ │ │ ├── disabledFeature.antlrtree.txt │ │ │ ├── inference.antlrtree.txt │ │ │ ├── isAsOperators.antlrtree.txt │ │ │ ├── isAsOperatorsEnabled.antlrtree.txt │ │ │ ├── notApplicable.antlrtree.txt │ │ │ ├── overrides.antlrtree.txt │ │ │ ├── overridesJavaAnnotated.main.antlrtree.txt │ │ │ ├── recursiveBounds.antlrtree.txt │ │ │ ├── reifiedArguments.antlrtree.txt │ │ │ └── simple.antlrtree.txt │ │ ├── exposed/ │ │ │ ├── delegate.antlrtree.txt │ │ │ ├── exceptionOnFakeInvisible.antlrtree.txt │ │ │ ├── functional.antlrtree.txt │ │ │ ├── implements.antlrtree.txt │ │ │ ├── inaccessibleType.k_Client.antlrtree.txt │ │ │ ├── internal.antlrtree.txt │ │ │ ├── internalAndProtected.antlrtree.txt │ │ │ ├── internalFromLocal.antlrtree.txt │ │ │ ├── local.antlrtree.txt │ │ │ ├── localFromInternal.antlrtree.txt │ │ │ ├── localFromPrivate.antlrtree.txt │ │ │ ├── localInFunReturnType.antlrtree.txt │ │ │ ├── localInMemberType.antlrtree.txt │ │ │ ├── localInPropertyType.antlrtree.txt │ │ │ ├── nested.antlrtree.txt │ │ │ ├── object.antlrtree.txt │ │ │ ├── packagePrivate.other_Your.antlrtree.txt │ │ │ ├── packagePrivate.test_His.antlrtree.txt │ │ │ ├── privateFromLocal.antlrtree.txt │ │ │ ├── privateInFile.antlrtree.txt │ │ │ ├── privateInFileDisabled.antlrtree.txt │ │ │ ├── privatePropertyInPrivateConstructor.antlrtree.txt │ │ │ ├── propertyInConstructorOfPrivateClass.antlrtree.txt │ │ │ ├── propertyInPrivateConstructor.antlrtree.txt │ │ │ ├── propertyInPrivateConstructorError.antlrtree.txt │ │ │ ├── propertyInSimpleConstructor.antlrtree.txt │ │ │ ├── protected.antlrtree.txt │ │ │ ├── protectedInProtected.antlrtree.txt │ │ │ ├── protectedJava.OuterDerived.antlrtree.txt │ │ │ ├── protectedSameWay.antlrtree.txt │ │ │ ├── simple.antlrtree.txt │ │ │ └── typeArgs.antlrtree.txt │ │ ├── extensions/ │ │ │ ├── ExtensionFunctions.a.antlrtree.txt │ │ │ ├── ExtensionFunctions.b.antlrtree.txt │ │ │ ├── ExtensionsCalledOnSuper.antlrtree.txt │ │ │ ├── GenericIterator.antlrtree.txt │ │ │ ├── GenericIterator2.antlrtree.txt │ │ │ ├── classObject.antlrtree.txt │ │ │ ├── contextReceivers/ │ │ │ │ ├── ambiguityInGroup.antlrtree.txt │ │ │ │ ├── conflicting.antlrtree.txt │ │ │ │ ├── conflictingWithDifferentOrder.antlrtree.txt │ │ │ │ ├── contextKeywordWithElvis.antlrtree.txt │ │ │ │ ├── contextReceiverTypeParamsUsage.antlrtree.txt │ │ │ │ ├── contextReceiverTypeParamsUsageError.antlrtree.txt │ │ │ │ ├── contextualFunctionalTypeConversion.antlrtree.txt │ │ │ │ ├── fromKEEP/ │ │ │ │ │ ├── autoCloseScope.antlrtree.txt │ │ │ │ │ ├── canvas.antlrtree.txt │ │ │ │ │ ├── clickHandler.antlrtree.txt │ │ │ │ │ ├── compareTo.antlrtree.txt │ │ │ │ │ ├── decimateEveryEvenThird.antlrtree.txt │ │ │ │ │ ├── dp.antlrtree.txt │ │ │ │ │ ├── functionalType.antlrtree.txt │ │ │ │ │ ├── iterableClass.antlrtree.txt │ │ │ │ │ ├── json.antlrtree.txt │ │ │ │ │ ├── loggingContext.antlrtree.txt │ │ │ │ │ ├── monoidSum.antlrtree.txt │ │ │ │ │ ├── transaction.antlrtree.txt │ │ │ │ │ └── userStorage.antlrtree.txt │ │ │ │ ├── functionalType.antlrtree.txt │ │ │ │ ├── genericOuterClass.antlrtree.txt │ │ │ │ ├── insideDeclaration.antlrtree.txt │ │ │ │ ├── labelFromFunctionName.antlrtree.txt │ │ │ │ ├── labelsFromClassNameForbidden.antlrtree.txt │ │ │ │ ├── lazy.antlrtree.txt │ │ │ │ ├── manyReceivers.antlrtree.txt │ │ │ │ ├── noBackingField.antlrtree.txt │ │ │ │ ├── noContextReceiversOnValueClasses.antlrtree.txt │ │ │ │ ├── noExplicitReceiver.antlrtree.txt │ │ │ │ ├── noLabelsByClassName.antlrtree.txt │ │ │ │ ├── nonConflicting.antlrtree.txt │ │ │ │ ├── outerClass.antlrtree.txt │ │ │ │ ├── overloadPriority.antlrtree.txt │ │ │ │ ├── overloading.antlrtree.txt │ │ │ │ ├── parameterizedContextualLambda.antlrtree.txt │ │ │ │ ├── plusMatrix.antlrtree.txt │ │ │ │ ├── subtypingBetweenContextReceivers.antlrtree.txt │ │ │ │ ├── superWithContext.antlrtree.txt │ │ │ │ ├── syntaxError.antlrtree.txt │ │ │ │ ├── thisIdentifierInfo.antlrtree.txt │ │ │ │ ├── thisWithCustomLabel.antlrtree.txt │ │ │ │ ├── thisWithReceiverLabelsClasses.antlrtree.txt │ │ │ │ ├── thisWithReceiverLabelsFunctions.antlrtree.txt │ │ │ │ ├── thisWithReceiverLabelsProperties.antlrtree.txt │ │ │ │ ├── twoReceiverCandidatesError.antlrtree.txt │ │ │ │ ├── typeParameterAsContextReceiver.antlrtree.txt │ │ │ │ ├── typeParameterized.antlrtree.txt │ │ │ │ ├── typeParameterizedList.antlrtree.txt │ │ │ │ ├── unsupported.antlrtree.txt │ │ │ │ ├── withExplicitReceiver.antlrtree.txt │ │ │ │ └── withExplicitReceiverError.antlrtree.txt │ │ │ ├── extensionMemberInClassObject.antlrtree.txt │ │ │ ├── extensionPropertyVsParameter.antlrtree.txt │ │ │ ├── kt1875.antlrtree.txt │ │ │ ├── kt2317.antlrtree.txt │ │ │ ├── kt3470.antlrtree.txt │ │ │ ├── kt3563.antlrtree.txt │ │ │ ├── kt819ExtensionProperties.antlrtree.txt │ │ │ ├── noClassObjectsInJava.B.antlrtree.txt │ │ │ ├── object.antlrtree.txt │ │ │ ├── throwOutCandidatesByReceiver.antlrtree.txt │ │ │ ├── throwOutCandidatesByReceiver2.antlrtree.txt │ │ │ └── variableInvoke.antlrtree.txt │ │ ├── external/ │ │ │ └── noExternalModifierInheritance.antlrtree.txt │ │ ├── fieldRename/ │ │ │ ├── derivedClassPropertyShadowsBaseClassField.test.antlrtree.txt │ │ │ ├── derivedClassPropertyShadowsBaseClassField13.test.antlrtree.txt │ │ │ ├── javaFieldKotlinPropertyDifferentType.Main.antlrtree.txt │ │ │ ├── javaFieldKotlinPropertyDifferentType2.Main.antlrtree.txt │ │ │ ├── javaFieldKotlinPropertyJavaFieldInPackagePrivate.B.antlrtree.txt │ │ │ ├── javaFieldKotlinPropertyJavaFieldInPackagePrivate.test.antlrtree.txt │ │ │ ├── javaFieldKotlinPropertyJavaPackagePrivateField.B.antlrtree.txt │ │ │ ├── javaFieldKotlinPropertyJavaPackagePrivateField.test.antlrtree.txt │ │ │ ├── javaProtectedFieldAndKotlinInvisiblePropertyReference.Base.antlrtree.txt │ │ │ └── javaProtectedFieldAndKotlinInvisiblePropertyReference.Derived.antlrtree.txt │ │ ├── fileDependencyRecursion.fileDependencyRecursion.antlrtree.txt │ │ ├── fileDependencyRecursion.fileDependencyRecursionOther.antlrtree.txt │ │ ├── finalSupertype.antlrtree.txt │ │ ├── funInterface/ │ │ │ ├── basicFunInterface.antlrtree.txt │ │ │ ├── basicFunInterfaceConversion.antlrtree.txt │ │ │ ├── basicFunInterfaceDisabled.antlrtree.txt │ │ │ ├── funInterfaceConstructorReferences_after.antlrtree.txt │ │ │ ├── funInterfaceConstructorReferences_before.antlrtree.txt │ │ │ ├── funInterfaceConversionOnReceiver.antlrtree.txt │ │ │ ├── funInterfaceDeclarationCheck.antlrtree.txt │ │ │ ├── funInterfaceSyntheticConstructors.antlrtree.txt │ │ │ ├── funIsNotInheritedFromBaseInterface.antlrtree.txt │ │ │ ├── functionDelegateClashOnJvm.antlrtree.txt │ │ │ ├── genericSubstitutionForFunInterface.antlrtree.txt │ │ │ ├── noCompatibilityResolveForFunInterfaces.antlrtree.txt │ │ │ ├── resolveFunInterfaceWithoutMainMethod.antlrtree.txt │ │ │ ├── severalConversionsForFunInterface.1.antlrtree.txt │ │ │ └── suspendFunInterfaceConversion.antlrtree.txt │ │ ├── funReturnsAny.antlrtree.txt │ │ ├── functionAsExpression/ │ │ │ ├── AutoLabels.antlrtree.txt │ │ │ ├── Common.antlrtree.txt │ │ │ ├── DifficultInferenceForParameter.antlrtree.txt │ │ │ ├── ForbiddenNonLocalReturn.antlrtree.txt │ │ │ ├── FunctionType.antlrtree.txt │ │ │ ├── InferenceParametersTypes.antlrtree.txt │ │ │ ├── MissingParameterTypes.antlrtree.txt │ │ │ ├── NameDeprecation.antlrtree.txt │ │ │ ├── NoOverloadError.antlrtree.txt │ │ │ ├── Parameters.antlrtree.txt │ │ │ ├── ReceiverByExpectedType.antlrtree.txt │ │ │ ├── ReturnAndLabels.antlrtree.txt │ │ │ ├── ReturnTypeCheck.antlrtree.txt │ │ │ ├── ScopeCheck.antlrtree.txt │ │ │ ├── WithGenericParameters.antlrtree.txt │ │ │ ├── WithOuterGeneric.antlrtree.txt │ │ │ └── WithoutBody.antlrtree.txt │ │ ├── functionLiterals/ │ │ │ ├── DeprecatedSyntax.antlrtree.txt │ │ │ ├── ExpectedParameterTypeMismatchVariance.antlrtree.txt │ │ │ ├── ExpectedParametersTypesMismatch.antlrtree.txt │ │ │ ├── LabeledFunctionLiterals.antlrtree.txt │ │ │ ├── assignmentOperationInLambda.antlrtree.txt │ │ │ ├── assignmentOperationInLambdaWithExpectedType.antlrtree.txt │ │ │ ├── destructuringInLambdas/ │ │ │ │ ├── complexInference.antlrtree.txt │ │ │ │ ├── extensionComponents.antlrtree.txt │ │ │ │ ├── inferredFunctionalType.antlrtree.txt │ │ │ │ ├── modifiers.antlrtree.txt │ │ │ │ ├── noExpectedType.antlrtree.txt │ │ │ │ ├── redeclaration.antlrtree.txt │ │ │ │ ├── shadowing.antlrtree.txt │ │ │ │ ├── simple.antlrtree.txt │ │ │ │ ├── underscore.antlrtree.txt │ │ │ │ └── unusedParameters.antlrtree.txt │ │ │ ├── functionExpressionAsLastExpressionInBlock.antlrtree.txt │ │ │ ├── functionLIteralInBlockInIf.antlrtree.txt │ │ │ ├── functionLiteralAsArgumentForFunction.antlrtree.txt │ │ │ ├── functionLiteralInIf.antlrtree.txt │ │ │ ├── functionLiteralWithoutArgumentList.antlrtree.txt │ │ │ ├── genericFunctionalTypeOnRHSOfPlusAssign.antlrtree.txt │ │ │ ├── higherOrderCallMissingParameters.antlrtree.txt │ │ │ ├── kt11733.antlrtree.txt │ │ │ ├── kt11733_1.Main.antlrtree.txt │ │ │ ├── kt16016.antlrtree.txt │ │ │ ├── kt2906.antlrtree.txt │ │ │ ├── kt3343.antlrtree.txt │ │ │ ├── kt4529.antlrtree.txt │ │ │ ├── kt47493.antlrtree.txt │ │ │ ├── kt51317.antlrtree.txt │ │ │ ├── kt56138.antlrtree.txt │ │ │ ├── kt6541_extensionForExtensionFunction.antlrtree.txt │ │ │ ├── kt6869.antlrtree.txt │ │ │ ├── kt7383_starProjectedFunction.antlrtree.txt │ │ │ ├── lambdaInLambda2.main.antlrtree.txt │ │ │ ├── missedTypeMismatch.antlrtree.txt │ │ │ ├── prematurelyAnalyzingLambdaWhileFixingTypeVariableForAnotherArgument.antlrtree.txt │ │ │ ├── return/ │ │ │ │ ├── AutoLabels.antlrtree.txt │ │ │ │ ├── AutoLabelsNonLocal.antlrtree.txt │ │ │ │ ├── ForbiddenNonLocalReturnNoType.antlrtree.txt │ │ │ │ ├── IfInReturnedExpression.antlrtree.txt │ │ │ │ ├── IfWithoutElse.antlrtree.txt │ │ │ │ ├── IfWithoutElseWithExplicitType.antlrtree.txt │ │ │ │ ├── LambdaWithParameter.antlrtree.txt │ │ │ │ ├── LocalAndNonLocalReturnInLambda.antlrtree.txt │ │ │ │ ├── LocalReturnExplicitLabelNoParens.antlrtree.txt │ │ │ │ ├── LocalReturnExplicitLabelParens.antlrtree.txt │ │ │ │ ├── LocalReturnHasTypeNothing.antlrtree.txt │ │ │ │ ├── LocalReturnInNestedFunction.antlrtree.txt │ │ │ │ ├── LocalReturnInNestedLambda.antlrtree.txt │ │ │ │ ├── LocalReturnNoCoercionToUnit.antlrtree.txt │ │ │ │ ├── LocalReturnNull.antlrtree.txt │ │ │ │ ├── LocalReturnSecondUnit.antlrtree.txt │ │ │ │ ├── LocalReturnUnit.antlrtree.txt │ │ │ │ ├── LocalReturnUnitAndDontCareType.antlrtree.txt │ │ │ │ ├── LocalReturnUnitWithBodyExpression.antlrtree.txt │ │ │ │ ├── LocalReturnWithExpectedType.antlrtree.txt │ │ │ │ ├── LocalReturnWithExplicitUnit.antlrtree.txt │ │ │ │ ├── LocalReturnsWithExplicitReturnType.antlrtree.txt │ │ │ │ ├── MixedReturnsFromLambda.antlrtree.txt │ │ │ │ ├── NoCommonSystem.antlrtree.txt │ │ │ │ ├── SmartCast.antlrtree.txt │ │ │ │ ├── SmartCastWithExplicitType.antlrtree.txt │ │ │ │ └── unresolvedReferenceInReturnBlock.antlrtree.txt │ │ │ ├── returnNull.antlrtree.txt │ │ │ ├── returnNullWithReturn.antlrtree.txt │ │ │ ├── underscopeParameters.antlrtree.txt │ │ │ ├── unusedLiteral.antlrtree.txt │ │ │ └── unusedLiteralInsideUnitLiteral.antlrtree.txt │ │ ├── generics/ │ │ │ ├── InconsistentTypeParameterBounds.antlrtree.txt │ │ │ ├── Projections.antlrtree.txt │ │ │ ├── PseudoRawTypes.Kotlin.antlrtree.txt │ │ │ ├── RawTypeInIsExpression.antlrtree.txt │ │ │ ├── RawTypeInIsPattern.antlrtree.txt │ │ │ ├── RecursiveUpperBoundCheck.antlrtree.txt │ │ │ ├── RecursiveUpperBoundWithTwoArguments.antlrtree.txt │ │ │ ├── TypeParameterBounds.antlrtree.txt │ │ │ ├── TypeParametersInTypeParameterBounds.antlrtree.txt │ │ │ ├── anonymousObjectSupertypeWithTypeParameterFromFunction.antlrtree.txt │ │ │ ├── approximationOfInProjection.antlrtree.txt │ │ │ ├── argumentsForT.antlrtree.txt │ │ │ ├── bareTypesWithStarProjections.antlrtree.txt │ │ │ ├── capturedParameters/ │ │ │ │ ├── captured.antlrtree.txt │ │ │ │ ├── innerLocalClass.antlrtree.txt │ │ │ │ ├── localClass.antlrtree.txt │ │ │ │ ├── localWithTypeParameter.antlrtree.txt │ │ │ │ ├── objectLiteral.antlrtree.txt │ │ │ │ └── uncheckedCast.antlrtree.txt │ │ │ ├── commonSupertypeContravariant.antlrtree.txt │ │ │ ├── commonSupertypeContravariant2.antlrtree.txt │ │ │ ├── cyclicBounds/ │ │ │ │ ├── functions.antlrtree.txt │ │ │ │ └── inClass.antlrtree.txt │ │ │ ├── doNotCaptureSupertype.antlrtree.txt │ │ │ ├── finalUpperBoundWithOverride.antlrtree.txt │ │ │ ├── finalUpperBoundWithoutOverride.antlrtree.txt │ │ │ ├── genericsInType.antlrtree.txt │ │ │ ├── innerClasses/ │ │ │ │ ├── bareTypes.antlrtree.txt │ │ │ │ ├── bareTypesComplex.antlrtree.txt │ │ │ │ ├── checkBoundsOuter.antlrtree.txt │ │ │ │ ├── implicitArguments/ │ │ │ │ │ ├── fromCompanionObject_after.antlrtree.txt │ │ │ │ │ ├── fromCompanionObject_before.antlrtree.txt │ │ │ │ │ ├── fromOuterClassInObjectLiteral.antlrtree.txt │ │ │ │ │ ├── fromSuperClasses.antlrtree.txt │ │ │ │ │ ├── fromSuperClassesLocal.antlrtree.txt │ │ │ │ │ ├── fromSuperClassesLocalInsideInner.antlrtree.txt │ │ │ │ │ ├── fromSuperClassesTransitive.antlrtree.txt │ │ │ │ │ ├── inStaticScope.antlrtree.txt │ │ │ │ │ └── secondLevelDepth.antlrtree.txt │ │ │ │ ├── importedInner.antlrtree.txt │ │ │ │ ├── innerSuperCall.antlrtree.txt │ │ │ │ ├── innerSuperCallSecondary.antlrtree.txt │ │ │ │ ├── innerTP.antlrtree.txt │ │ │ │ ├── innerUncheckedCast.antlrtree.txt │ │ │ │ ├── innerVariance.antlrtree.txt │ │ │ │ ├── iterator.antlrtree.txt │ │ │ │ ├── j+k.main.antlrtree.txt │ │ │ │ ├── j+k_complex.main.antlrtree.txt │ │ │ │ ├── kt3357.antlrtree.txt │ │ │ │ ├── kt408.antlrtree.txt │ │ │ │ ├── kt6325.antlrtree.txt │ │ │ │ ├── noTypeVarianceConflictInNestedClass.antlrtree.txt │ │ │ │ ├── outerArgumentsRequired.antlrtree.txt │ │ │ │ ├── parameterShadowing.antlrtree.txt │ │ │ │ ├── qualifiedOuter.antlrtree.txt │ │ │ │ ├── qualifiedTypesResolution.main.antlrtree.txt │ │ │ │ ├── qualifiedTypesResolution.test.antlrtree.txt │ │ │ │ ├── simple.antlrtree.txt │ │ │ │ ├── simpleIn.antlrtree.txt │ │ │ │ ├── simpleOut.antlrtree.txt │ │ │ │ ├── simpleOutUseSite.antlrtree.txt │ │ │ │ └── substitutedMemberScope.antlrtree.txt │ │ │ ├── invalidArgumentsNumberInWhere.antlrtree.txt │ │ │ ├── kt1575-Class.antlrtree.txt │ │ │ ├── kt1575-Function.antlrtree.txt │ │ │ ├── kt30590.antlrtree.txt │ │ │ ├── kt34729.antlrtree.txt │ │ │ ├── kt53656.antlrtree.txt │ │ │ ├── kt5508.antlrtree.txt │ │ │ ├── kt9203.antlrtree.txt │ │ │ ├── kt9203_1.antlrtree.txt │ │ │ ├── kt9985.A.antlrtree.txt │ │ │ ├── localClassTypeRefWithTypeParameterFromFunction.antlrtree.txt │ │ │ ├── multipleBoundsMemberScope/ │ │ │ │ ├── conflictingReturnType.antlrtree.txt │ │ │ │ ├── flexibleTypes.main.antlrtree.txt │ │ │ │ ├── mostSpecific.antlrtree.txt │ │ │ │ ├── properties.antlrtree.txt │ │ │ │ ├── propertiesConflict.antlrtree.txt │ │ │ │ ├── simple.antlrtree.txt │ │ │ │ └── validTypeParameters.antlrtree.txt │ │ │ ├── nullability/ │ │ │ │ ├── capturedTypeWithPlatformSupertype.test.antlrtree.txt │ │ │ │ ├── considerTypeNotNullOnlyIfItHasNotNullBound.antlrtree.txt │ │ │ │ ├── correctSubstitutionForIncorporationConstraint.test.antlrtree.txt │ │ │ │ ├── declarationsBoundsViolation.antlrtree.txt │ │ │ │ ├── expressionsBoundsViolation.antlrtree.txt │ │ │ │ ├── functionalBound.antlrtree.txt │ │ │ │ ├── inferNotNullTypeFromIntersectionOfNullableTypes.antlrtree.txt │ │ │ │ ├── kt25182.antlrtree.txt │ │ │ │ ├── notNullSmartcastOnIntersectionOfNullables.antlrtree.txt │ │ │ │ ├── nullToGeneric.antlrtree.txt │ │ │ │ ├── smartCastRefinedClass.antlrtree.txt │ │ │ │ ├── smartCasts.antlrtree.txt │ │ │ │ ├── smartCastsOnThis.antlrtree.txt │ │ │ │ ├── smartCastsValueArgument.antlrtree.txt │ │ │ │ ├── tpBoundsViolation.antlrtree.txt │ │ │ │ ├── tpBoundsViolationVariance.antlrtree.txt │ │ │ │ ├── tpInBounds.antlrtree.txt │ │ │ │ ├── useAsReceiver.antlrtree.txt │ │ │ │ └── useAsValueArgument.antlrtree.txt │ │ │ ├── nullableTypeParameterScope.antlrtree.txt │ │ │ ├── outerTypeParametersInNestedClasses.antlrtree.txt │ │ │ ├── projectionsScope/ │ │ │ │ ├── MLOut.main.antlrtree.txt │ │ │ │ ├── addAll.antlrtree.txt │ │ │ │ ├── approximateDispatchReceiver.antlrtree.txt │ │ │ │ ├── extensionReceiverTypeMismatch.antlrtree.txt │ │ │ │ ├── extensionResultSubstitution.antlrtree.txt │ │ │ │ ├── flexibleProjectedScope.main.antlrtree.txt │ │ │ │ ├── inValueParameter.antlrtree.txt │ │ │ │ ├── iterateOnExtension.antlrtree.txt │ │ │ │ ├── kt7296.antlrtree.txt │ │ │ │ ├── kt8647.antlrtree.txt │ │ │ │ ├── lambdaArgument.antlrtree.txt │ │ │ │ ├── leakedApproximatedType.antlrtree.txt │ │ │ │ ├── multipleArgumentProjectedOut.antlrtree.txt │ │ │ │ ├── platformSuperClass.main.antlrtree.txt │ │ │ │ ├── projectedOutConventions.antlrtree.txt │ │ │ │ ├── projectedOutSmartCast.antlrtree.txt │ │ │ │ ├── recursiveUpperBoundStar.antlrtree.txt │ │ │ │ ├── recursiveUpperBoundStarOut.antlrtree.txt │ │ │ │ ├── starNullability.antlrtree.txt │ │ │ │ ├── starNullabilityRecursive.antlrtree.txt │ │ │ │ ├── superClass.antlrtree.txt │ │ │ │ ├── typeMismatchConventions.antlrtree.txt │ │ │ │ ├── typeMismatchInLambda.antlrtree.txt │ │ │ │ ├── typeParameterBounds.antlrtree.txt │ │ │ │ ├── unsafeVarianceInAliasedFunctionalType.antlrtree.txt │ │ │ │ ├── unsafeVarianceOnInputTypeOfFunctionalType.antlrtree.txt │ │ │ │ ├── unsafeVarianceStar.antlrtree.txt │ │ │ │ ├── unsafeVarianceWithRecursiveGenerics.antlrtree.txt │ │ │ │ └── varargs.antlrtree.txt │ │ │ ├── protectedSuperCall.GA.antlrtree.txt │ │ │ ├── protectedSuperCall.Main.antlrtree.txt │ │ │ ├── recursive.antlrtree.txt │ │ │ ├── resolveGenericBoundsBeforeSupertypes.antlrtree.txt │ │ │ ├── sameTypeParameterUse.antlrtree.txt │ │ │ ├── starProjections/ │ │ │ │ ├── checkBounds.antlrtree.txt │ │ │ │ ├── collectionInheritedFromJava.k.antlrtree.txt │ │ │ │ ├── foldRecursiveTypesToStarProjection.antlrtree.txt │ │ │ │ ├── inheritedFromJava.k.antlrtree.txt │ │ │ │ ├── inheritedFromKotlin.antlrtree.txt │ │ │ │ └── invalid.main.antlrtree.txt │ │ │ ├── suppressVarianceConflict.antlrtree.txt │ │ │ ├── tpAsReified/ │ │ │ │ ├── CapturedAsReified.antlrtree.txt │ │ │ │ ├── ClassDereference.antlrtree.txt │ │ │ │ ├── Conventions.antlrtree.txt │ │ │ │ ├── GenericArrayAsReifiedArgument.antlrtree.txt │ │ │ │ ├── GenericArrayAsReifiedArgumentWarning.antlrtree.txt │ │ │ │ ├── GenericAsReifiedArgument.antlrtree.txt │ │ │ │ ├── InConstructor.antlrtree.txt │ │ │ │ ├── InFunction.antlrtree.txt │ │ │ │ ├── InProperty.antlrtree.txt │ │ │ │ ├── InType.antlrtree.txt │ │ │ │ ├── InlineableReified.antlrtree.txt │ │ │ │ ├── LocalFun.antlrtree.txt │ │ │ │ ├── NotInlineableReified.antlrtree.txt │ │ │ │ └── ReifiedClass.antlrtree.txt │ │ │ ├── unresolvedClassifierInWhere.antlrtree.txt │ │ │ ├── varProjection/ │ │ │ │ ├── setterNotProjectedOutAssign.antlrtree.txt │ │ │ │ ├── setterProjectedOutAssign.test.antlrtree.txt │ │ │ │ ├── setterProjectedOutNoPlusAssign.antlrtree.txt │ │ │ │ └── setterProjectedOutPlusAssignDefined.antlrtree.txt │ │ │ ├── wildcardInValueParameter.main.antlrtree.txt │ │ │ └── wrongNumberOfTypeArgumentsDiagnostic.antlrtree.txt │ │ ├── implicitIntersection.antlrtree.txt │ │ ├── implicitNestedIntersection.antlrtree.txt │ │ ├── implicitNothing.antlrtree.txt │ │ ├── imports/ │ │ │ ├── AllUnderImportsAmbiguity.a.antlrtree.txt │ │ │ ├── AllUnderImportsAmbiguity.b.antlrtree.txt │ │ │ ├── AllUnderImportsAmbiguity.c.antlrtree.txt │ │ │ ├── AllUnderImportsLessPriority.a.antlrtree.txt │ │ │ ├── AllUnderImportsLessPriority.b.antlrtree.txt │ │ │ ├── AllUnderImportsLessPriority.c.antlrtree.txt │ │ │ ├── AllUnderImportsSamePriorityForFunction.a.antlrtree.txt │ │ │ ├── AllUnderImportsSamePriorityForFunction.b.antlrtree.txt │ │ │ ├── AllUnderImportsSamePriorityForFunction.c.antlrtree.txt │ │ │ ├── AllUnderImportsSamePriorityForProperty.a.antlrtree.txt │ │ │ ├── AllUnderImportsSamePriorityForProperty.b.antlrtree.txt │ │ │ ├── AllUnderImportsSamePriorityForProperty.c.antlrtree.txt │ │ │ ├── CheckJavaVisibility.k1.antlrtree.txt │ │ │ ├── CheckJavaVisibility.k2.antlrtree.txt │ │ │ ├── CheckJavaVisibility2.j.antlrtree.txt │ │ │ ├── CheckJavaVisibility2.k.antlrtree.txt │ │ │ ├── CheckVisibility.k1.antlrtree.txt │ │ │ ├── CheckVisibility.k2.antlrtree.txt │ │ │ ├── CheckVisibility.k3.antlrtree.txt │ │ │ ├── ClassClash.a.antlrtree.txt │ │ │ ├── ClassClash.b.antlrtree.txt │ │ │ ├── ClassClash.c.antlrtree.txt │ │ │ ├── ClassClash.top_a.antlrtree.txt │ │ │ ├── ClassClash.top_b.antlrtree.txt │ │ │ ├── ClassClash.top_c.antlrtree.txt │ │ │ ├── ClassClash.top_d.antlrtree.txt │ │ │ ├── ClassClashStarImport.a.antlrtree.txt │ │ │ ├── ClassClashStarImport.b.antlrtree.txt │ │ │ ├── ClassClashStarImport.top_a.antlrtree.txt │ │ │ ├── ClassClashStarImport.top_b.antlrtree.txt │ │ │ ├── ClassClashStarImport.top_c.antlrtree.txt │ │ │ ├── ClassImportsConflicting.a.antlrtree.txt │ │ │ ├── ClassImportsConflicting.b.antlrtree.txt │ │ │ ├── ClassImportsConflicting.c.antlrtree.txt │ │ │ ├── CurrentPackageAndAllUnderImport.a.antlrtree.txt │ │ │ ├── CurrentPackageAndAllUnderImport.b.antlrtree.txt │ │ │ ├── CurrentPackageAndAllUnderImport.b1.antlrtree.txt │ │ │ ├── CurrentPackageAndExplicitImport.a.antlrtree.txt │ │ │ ├── CurrentPackageAndExplicitImport.b.antlrtree.txt │ │ │ ├── CurrentPackageAndExplicitImport.b1.antlrtree.txt │ │ │ ├── DefaultImportsPriority.antlrtree.txt │ │ │ ├── DoubleImports.ExplicitImported.antlrtree.txt │ │ │ ├── DoubleImports.StarImported.antlrtree.txt │ │ │ ├── DoubleImports.Test.antlrtree.txt │ │ │ ├── EnumEntryVsStaticAmbiguity.SomeEnum.antlrtree.txt │ │ │ ├── EnumEntryVsStaticAmbiguity.test.antlrtree.txt │ │ │ ├── EnumEntryVsStaticAmbiguity2.OtherEnum.antlrtree.txt │ │ │ ├── EnumEntryVsStaticAmbiguity2.SomeEnum.antlrtree.txt │ │ │ ├── EnumEntryVsStaticAmbiguity2.test.antlrtree.txt │ │ │ ├── EnumEntryVsStaticAmbiguity3.SomeEnum.antlrtree.txt │ │ │ ├── EnumEntryVsStaticAmbiguity3.test.antlrtree.txt │ │ │ ├── EnumEntryVsStaticAmbiguity4.SomeEnum.antlrtree.txt │ │ │ ├── EnumEntryVsStaticAmbiguity4.test.antlrtree.txt │ │ │ ├── ExplicitImportsAmbiguity.a.antlrtree.txt │ │ │ ├── ExplicitImportsAmbiguity.b.antlrtree.txt │ │ │ ├── ExplicitImportsAmbiguity.c.antlrtree.txt │ │ │ ├── ExplicitImportsUnambiguityForFunction.a.antlrtree.txt │ │ │ ├── ExplicitImportsUnambiguityForFunction.b.antlrtree.txt │ │ │ ├── ExplicitImportsUnambiguityForFunction.c.antlrtree.txt │ │ │ ├── ExplicitPackageImportsAmbiguity.a.antlrtree.txt │ │ │ ├── ExplicitPackageImportsAmbiguity.b.antlrtree.txt │ │ │ ├── ExplicitPackageImportsAmbiguity.c.antlrtree.txt │ │ │ ├── ImportClassClash.1.antlrtree.txt │ │ │ ├── ImportClassClash.2.antlrtree.txt │ │ │ ├── ImportClassClash.3.antlrtree.txt │ │ │ ├── ImportClassClash.4.antlrtree.txt │ │ │ ├── ImportClassClash.5.antlrtree.txt │ │ │ ├── ImportClassClash.6.antlrtree.txt │ │ │ ├── ImportClassClash.7.antlrtree.txt │ │ │ ├── ImportFromCompanionObject.a.antlrtree.txt │ │ │ ├── ImportFromCompanionObject.b.antlrtree.txt │ │ │ ├── ImportFromCompanionObject.c.antlrtree.txt │ │ │ ├── ImportFromCompanionObject.d.antlrtree.txt │ │ │ ├── ImportFromCompanionObject.e.antlrtree.txt │ │ │ ├── ImportFromCurrentWithDifferentName.antlrtree.txt │ │ │ ├── ImportFromCurrentWithDifferentNameComplex.antlrtree.txt │ │ │ ├── ImportFromObject.a.antlrtree.txt │ │ │ ├── ImportFromObject.b.antlrtree.txt │ │ │ ├── ImportFromObject.c.antlrtree.txt │ │ │ ├── ImportFromObject.d.antlrtree.txt │ │ │ ├── ImportFromObject.e.antlrtree.txt │ │ │ ├── ImportFromRootPackage.anotherFromRootPackage.antlrtree.txt │ │ │ ├── ImportFromRootPackage.rootPackage.antlrtree.txt │ │ │ ├── ImportFromRootPackage.yetAnotherFromRootPackage.antlrtree.txt │ │ │ ├── ImportFunctionWithPackageName.a.antlrtree.txt │ │ │ ├── ImportFunctionWithPackageName.b.antlrtree.txt │ │ │ ├── ImportFunctionWithPackageName.c.antlrtree.txt │ │ │ ├── ImportHidingDefinitionInTheSameFile.antlrtree.txt │ │ │ ├── ImportNestedWithDifferentName.antlrtree.txt │ │ │ ├── ImportObjectAndUseAsSupertype.a.antlrtree.txt │ │ │ ├── ImportObjectAndUseAsSupertype.b.antlrtree.txt │ │ │ ├── ImportObjectHidesCurrentPackage.a.antlrtree.txt │ │ │ ├── ImportObjectHidesCurrentPackage.b.antlrtree.txt │ │ │ ├── ImportOverloadFunctions.1.antlrtree.txt │ │ │ ├── ImportOverloadFunctions.2.antlrtree.txt │ │ │ ├── ImportPrivateMember.antlrtree.txt │ │ │ ├── ImportPrivateMemberFromOtherFile.A.antlrtree.txt │ │ │ ├── ImportPrivateMemberFromOtherFile.C.antlrtree.txt │ │ │ ├── ImportPrivateMembersWithStar.antlrtree.txt │ │ │ ├── ImportProtectedClass.antlrtree.txt │ │ │ ├── ImportResolutionOrder.a.antlrtree.txt │ │ │ ├── ImportResolutionOrder.b.antlrtree.txt │ │ │ ├── ImportResolutionOrder.c.antlrtree.txt │ │ │ ├── ImportResolutionOrder.d.antlrtree.txt │ │ │ ├── ImportStaticFunctionWithNonStaticSibling.test.antlrtree.txt │ │ │ ├── ImportTwoTimes.a.antlrtree.txt │ │ │ ├── ImportTwoTimes.b.antlrtree.txt │ │ │ ├── ImportTwoTimesStar.a.antlrtree.txt │ │ │ ├── ImportTwoTimesStar.b.antlrtree.txt │ │ │ ├── Imports.a.antlrtree.txt │ │ │ ├── Imports.b.antlrtree.txt │ │ │ ├── Imports.c.antlrtree.txt │ │ │ ├── Imports.d.antlrtree.txt │ │ │ ├── ImportsConflicting.a.antlrtree.txt │ │ │ ├── ImportsConflicting.b.antlrtree.txt │ │ │ ├── ImportsConflicting.c.antlrtree.txt │ │ │ ├── InaccessiblePrivateClass.a.antlrtree.txt │ │ │ ├── InaccessiblePrivateClass.b.antlrtree.txt │ │ │ ├── InaccessiblePrivateClass.c.antlrtree.txt │ │ │ ├── InaccessiblePrivateInFile.f11.antlrtree.txt │ │ │ ├── InaccessiblePrivateInFile.f12.antlrtree.txt │ │ │ ├── InaccessiblePrivateInFile.f21.antlrtree.txt │ │ │ ├── InaccessiblePrivateInFile.f22.antlrtree.txt │ │ │ ├── JavaPackageLocalClassNotImported.File.antlrtree.txt │ │ │ ├── JavaPackageLocalClassNotImported.Main.antlrtree.txt │ │ │ ├── MalformedImports.antlrtree.txt │ │ │ ├── NestedClassClash.a.antlrtree.txt │ │ │ ├── NestedClassClash.b.antlrtree.txt │ │ │ ├── NestedClassClash.c.antlrtree.txt │ │ │ ├── NestedClassClash.d.antlrtree.txt │ │ │ ├── OperatorRenameOnImport.a.antlrtree.txt │ │ │ ├── OperatorRenameOnImport.b.antlrtree.txt │ │ │ ├── OptionalAnnotationClasses.antlrtree.txt │ │ │ ├── PackageLocalClassNotImported.File1.antlrtree.txt │ │ │ ├── PackageLocalClassNotImported.File2.antlrtree.txt │ │ │ ├── PackageLocalClassNotImported.Main.antlrtree.txt │ │ │ ├── PackageLocalClassReferencedError.File1.antlrtree.txt │ │ │ ├── PackageLocalClassReferencedError.Main.antlrtree.txt │ │ │ ├── PackageVsClass.a.antlrtree.txt │ │ │ ├── PackageVsClass.b.antlrtree.txt │ │ │ ├── PackageVsClass.c.antlrtree.txt │ │ │ ├── PackageVsClass.d.antlrtree.txt │ │ │ ├── PrivateClassNotImported.File1.antlrtree.txt │ │ │ ├── PrivateClassNotImported.File2.antlrtree.txt │ │ │ ├── PrivateClassNotImported.Main.antlrtree.txt │ │ │ ├── PrivateClassReferencedError.File1.antlrtree.txt │ │ │ ├── PrivateClassReferencedError.Main.antlrtree.txt │ │ │ ├── RenameOnImport.a.antlrtree.txt │ │ │ ├── RenameOnImport.b.antlrtree.txt │ │ │ ├── RenameOnImport.c.antlrtree.txt │ │ │ ├── StarImportFromObject.antlrtree.txt │ │ │ ├── SyntaxError.a.antlrtree.txt │ │ │ ├── SyntaxError.b.antlrtree.txt │ │ │ ├── SyntaxError.c.antlrtree.txt │ │ │ ├── SyntaxError.d.antlrtree.txt │ │ │ ├── TopLevelClassVsPackage.a.antlrtree.txt │ │ │ ├── TopLevelClassVsPackage.b.antlrtree.txt │ │ │ ├── TopLevelClassVsPackage.c.antlrtree.txt │ │ │ ├── TopLevelClassVsPackage.d.antlrtree.txt │ │ │ ├── TopLevelClassVsPackage.e.antlrtree.txt │ │ │ ├── WrongImport.a.antlrtree.txt │ │ │ ├── WrongImport.b.antlrtree.txt │ │ │ ├── WrongImport.c.antlrtree.txt │ │ │ ├── brokenImport.Klass.antlrtree.txt │ │ │ ├── brokenImport.test.antlrtree.txt │ │ │ ├── importFunctionWithAllUnderImport.importFunctionWithAllUnderImport.antlrtree.txt │ │ │ ├── importFunctionWithAllUnderImport.importFunctionWithAllUnderImportOther.antlrtree.txt │ │ │ ├── importFunctionWithAllUnderImportAfterNamedImport.mainFile.antlrtree.txt │ │ │ ├── importFunctionWithAllUnderImportAfterNamedImport.testing.antlrtree.txt │ │ │ ├── importFunctionWithAllUnderImportAfterNamedImport.testingOther.antlrtree.txt │ │ │ ├── invisibleFakeReferenceInImport.A.antlrtree.txt │ │ │ ├── invisibleFakeReferenceInImport.B.antlrtree.txt │ │ │ ├── invisibleFakeReferenceInImport.C.antlrtree.txt │ │ │ ├── kt13112.1.antlrtree.txt │ │ │ ├── kt13112.2.antlrtree.txt │ │ │ ├── kt13112.3.antlrtree.txt │ │ │ ├── propertyClassFileDependencyRecursion.propertyClassFileDependencyRecursion.antlrtree.txt │ │ │ ├── propertyClassFileDependencyRecursion.propertyClassFileDependencyRecursionOther.antlrtree.txt │ │ │ ├── renamedImportInDifferentFile.first.antlrtree.txt │ │ │ ├── renamedImportInDifferentFile.main.antlrtree.txt │ │ │ ├── twoImportLists.a.antlrtree.txt │ │ │ ├── twoImportLists.b.antlrtree.txt │ │ │ ├── twoImportLists.c.antlrtree.txt │ │ │ └── twoImportLists.d.antlrtree.txt │ │ ├── incompleteCode/ │ │ │ ├── NoSenselessComparisonForErrorType.antlrtree.txt │ │ │ ├── SupertypeOfErrorType.antlrtree.txt │ │ │ ├── arrayBracketsRange.antlrtree.txt │ │ │ ├── checkNothingIsSubtype.antlrtree.txt │ │ │ ├── controlStructuresErrors.antlrtree.txt │ │ │ ├── diagnosticWithSyntaxError/ │ │ │ │ ├── arrayExpression.antlrtree.txt │ │ │ │ ├── checkBackingFieldException.antlrtree.txt │ │ │ │ ├── completeFunctionArgumentsOfNestedCalls.antlrtree.txt │ │ │ │ ├── declarationAfterDotSelectorExpected.antlrtree.txt │ │ │ │ ├── declarationAfterIncompleteElvis.antlrtree.txt │ │ │ │ ├── funEquals.antlrtree.txt │ │ │ │ ├── funKeyword.antlrtree.txt │ │ │ │ ├── funcitonTypes.antlrtree.txt │ │ │ │ ├── incompleteEnumReference.antlrtree.txt │ │ │ │ ├── incompleteVal.antlrtree.txt │ │ │ │ ├── incompleteValWithAccessor.antlrtree.txt │ │ │ │ ├── incompleteWhen.antlrtree.txt │ │ │ │ ├── namedFun.antlrtree.txt │ │ │ │ ├── noTypeParamsInReturnType.antlrtree.txt │ │ │ │ ├── typeReferenceError.antlrtree.txt │ │ │ │ ├── valNoName.antlrtree.txt │ │ │ │ ├── valWithNoNameBeforeNextDeclarationWithModifiers.antlrtree.txt │ │ │ │ └── valWithNoNameInBlock.antlrtree.txt │ │ │ ├── illegalSelectorCallableReference.antlrtree.txt │ │ │ ├── inExpr.antlrtree.txt │ │ │ ├── incompleteAssignment.antlrtree.txt │ │ │ ├── incompleteEquals.antlrtree.txt │ │ │ ├── incompleteTryCatchBlock.antlrtree.txt │ │ │ ├── kt1955.antlrtree.txt │ │ │ ├── kt2014.antlrtree.txt │ │ │ ├── kt4866UnresolvedArrayAccess.antlrtree.txt │ │ │ ├── kt59041.antlrtree.txt │ │ │ ├── plusOnTheRight.antlrtree.txt │ │ │ ├── pseudocodeTraverseNextInstructions.antlrtree.txt │ │ │ ├── senselessComparisonWithNull.antlrtree.txt │ │ │ ├── typeParameterOnLhsOfDot.antlrtree.txt │ │ │ ├── unresolvedArguments.antlrtree.txt │ │ │ ├── unresolvedOperation.antlrtree.txt │ │ │ ├── unresolvedTypeWithTypeArguments.antlrtree.txt │ │ │ └── variableDeclarationInSelector.antlrtree.txt │ │ ├── incrementDecrementOnFullyQualified.antlrtree.txt │ │ ├── incrementDecrementOnObject.antlrtree.txt │ │ ├── inference/ │ │ │ ├── NoInferenceFromDeclaredBounds.antlrtree.txt │ │ │ ├── annotatedUnderscoredTypeArgument.antlrtree.txt │ │ │ ├── builderInference/ │ │ │ │ ├── changingResolveIfDontUseBuilderInference.antlrtree.txt │ │ │ │ ├── constraints/ │ │ │ │ │ └── violating.antlrtree.txt │ │ │ │ ├── equalityChecksOnIntegerTypes.antlrtree.txt │ │ │ │ ├── equalityChecksOnIntegerTypesProgressive.antlrtree.txt │ │ │ │ ├── errorOnStubReceiver.antlrtree.txt │ │ │ │ ├── incompleteCallInReturnArgumentsWithProperExpectType.antlrtree.txt │ │ │ │ ├── invalidateKeys.antlrtree.txt │ │ │ │ ├── kt47744.antlrtree.txt │ │ │ │ ├── kt47986Default.antlrtree.txt │ │ │ │ ├── kt47986Disabled.antlrtree.txt │ │ │ │ ├── kt47986Enabled.antlrtree.txt │ │ │ │ ├── kt47986_2.antlrtree.txt │ │ │ │ ├── kt47986_3.antlrtree.txt │ │ │ │ ├── kt47986_4.antlrtree.txt │ │ │ │ ├── kt48031.antlrtree.txt │ │ │ │ ├── kt49285.antlrtree.txt │ │ │ │ ├── kt49828.antlrtree.txt │ │ │ │ ├── kt49829.antlrtree.txt │ │ │ │ ├── kt50498.antlrtree.txt │ │ │ │ ├── kt50989.antlrtree.txt │ │ │ │ ├── kt51148.antlrtree.txt │ │ │ │ ├── kt51464.antlrtree.txt │ │ │ │ ├── kt53422.antlrtree.txt │ │ │ │ ├── kt53639.antlrtree.txt │ │ │ │ ├── labaledCall.main.antlrtree.txt │ │ │ │ ├── multiLambdaRestriction.antlrtree.txt │ │ │ │ ├── multiLambdaRestrictionDisabled.antlrtree.txt │ │ │ │ ├── noBuilderInferenceRestrictionReceiverInconsistency.antlrtree.txt │ │ │ │ ├── propertySubstitution.antlrtree.txt │ │ │ │ ├── simpleLambdaInCallWithAnotherLambdaWithBuilderInference.antlrtree.txt │ │ │ │ ├── skipedUnresolvedInBuilderInferenceWithStubReceiverType.antlrtree.txt │ │ │ │ ├── specialCallsWithCallableReferences.antlrtree.txt │ │ │ │ ├── specialCallsWithCallableReferencesDontCareTypeInBlockExression.antlrtree.txt │ │ │ │ ├── specialCallsWithCallableReferencesDontRewriteAtSlice.antlrtree.txt │ │ │ │ ├── specialCallsWithCallableReferencesErrorType.antlrtree.txt │ │ │ │ ├── specialCallsWithCallableReferencesErrorTypeUnrestricted.antlrtree.txt │ │ │ │ ├── specialCallsWithCallableReferencesNonStrictOnlyInputTypes.antlrtree.txt │ │ │ │ ├── specialCallsWithCallableReferencesUnrestricted.antlrtree.txt │ │ │ │ ├── specialCallsWithLambdas.antlrtree.txt │ │ │ │ ├── stubTypes/ │ │ │ │ │ ├── capturedTypes.main.antlrtree.txt │ │ │ │ │ ├── commonSuperType.main.antlrtree.txt │ │ │ │ │ ├── commonSuperTypeContravariant.main.antlrtree.txt │ │ │ │ │ ├── commonSuperTypeCovariant.main.antlrtree.txt │ │ │ │ │ ├── commonSuperTypeInvariant.main.antlrtree.txt │ │ │ │ │ ├── commonSuperTypeNullable.main.antlrtree.txt │ │ │ │ │ ├── intersect.main.antlrtree.txt │ │ │ │ │ ├── memberScope.main.antlrtree.txt │ │ │ │ │ ├── nullability.main.antlrtree.txt │ │ │ │ │ ├── renderingStubTypes.antlrtree.txt │ │ │ │ │ ├── stubTypeReceiverRestriction.antlrtree.txt │ │ │ │ │ └── stubTypeReceiverRestrictionDisabled.antlrtree.txt │ │ │ │ └── withoutAnnotationDisabledFeature.antlrtree.txt │ │ │ ├── callableReferences/ │ │ │ │ ├── conversionLastStatementInLambda.antlrtree.txt │ │ │ │ ├── kt55931.antlrtree.txt │ │ │ │ └── kt56227.antlrtree.txt │ │ │ ├── cannotCompleteResolveAmbiguity.antlrtree.txt │ │ │ ├── cannotCompleteResolveFunctionLiteralsNoUse.antlrtree.txt │ │ │ ├── cannotCompleteResolveNoInfoForParameter.antlrtree.txt │ │ │ ├── cannotCompleteResolveNoneApplicable.antlrtree.txt │ │ │ ├── cannotCompleteResolveWithFunctionLiterals.antlrtree.txt │ │ │ ├── capturedInProjectedFlexibleType.main.antlrtree.txt │ │ │ ├── capturedTypes/ │ │ │ │ ├── approximateBeforeFixation.antlrtree.txt │ │ │ │ ├── approximateContravariantCapturedTypes.antlrtree.txt │ │ │ │ ├── approximationLeavesNonTrivialLowerBound.antlrtree.txt │ │ │ │ ├── avoidCreatingUselessCapturedTypes.antlrtree.txt │ │ │ │ ├── cannotCaptureInProjection.antlrtree.txt │ │ │ │ ├── captureForNullableTypes.antlrtree.txt │ │ │ │ ├── captureForPlatformTypes.b.antlrtree.txt │ │ │ │ ├── captureFromNullableTypeInScope.antlrtree.txt │ │ │ │ ├── captureFromNullableTypeInScopeAny.antlrtree.txt │ │ │ │ ├── captureFromNullableTypeVariable.antlrtree.txt │ │ │ │ ├── captureFromSubtyping.antlrtree.txt │ │ │ │ ├── captureFromTypeParameterUpperBound.antlrtree.txt │ │ │ │ ├── captureTypeOnlyOnTopLevel.antlrtree.txt │ │ │ │ ├── capturedFlexibleIntersectionTypesWithDifferentBounds.main.antlrtree.txt │ │ │ │ ├── capturedFlexibleIntersectionTypesWithDifferentConstructors.main.antlrtree.txt │ │ │ │ ├── capturedType.antlrtree.txt │ │ │ │ ├── capturedTypeAndApproximation.antlrtree.txt │ │ │ │ ├── capturedTypeSubstitutedIntoOppositeProjection.antlrtree.txt │ │ │ │ ├── capturedTypeWithInnerTypealias.antlrtree.txt │ │ │ │ ├── capturedTypeWithTypeVariableSubtyping.antlrtree.txt │ │ │ │ ├── capturedTypesSubstitutionIntoAbbreviation.antlrtree.txt │ │ │ │ ├── capturingFromArgumentOfFlexibleType.main.antlrtree.txt │ │ │ │ ├── differentCapturedTypes.antlrtree.txt │ │ │ │ ├── dontCheckNewCapturedTypeSpecificChecksForOldOnes.antlrtree.txt │ │ │ │ ├── expectedTypeMismatchWithInVariance.antlrtree.txt │ │ │ │ ├── invokeCallWithCapturedReceiver.antlrtree.txt │ │ │ │ ├── kt25302.antlrtree.txt │ │ │ │ ├── kt2570.antlrtree.txt │ │ │ │ ├── kt2872.antlrtree.txt │ │ │ │ ├── kt46727.main.antlrtree.txt │ │ │ │ ├── kt46727Warnings.main.antlrtree.txt │ │ │ │ ├── kt49101.antlrtree.txt │ │ │ │ ├── kt52782.main.antlrtree.txt │ │ │ │ ├── memberScopeOfCaptured.antlrtree.txt │ │ │ │ ├── noCaptureTypeErrorForNonTopLevel.antlrtree.txt │ │ │ │ ├── notApproximateWhenCopyDescriptors.antlrtree.txt │ │ │ │ ├── nullableCaptruredTypeAgainstNullableVariable.main.antlrtree.txt │ │ │ │ ├── nullableCaptruredTypeAgainstNullableVariableWithDisabledComplatibilityFlag.main.antlrtree.txt │ │ │ │ ├── overApproximationForInCaptured.antlrtree.txt │ │ │ │ ├── overApproximationForOutCaptured.antlrtree.txt │ │ │ │ ├── propagateNullailityOnSupertypesWhenCaptureTypes.antlrtree.txt │ │ │ │ ├── starProjectionRegression.antlrtree.txt │ │ │ │ ├── substituteCapturedTypesWithTypeVariables.antlrtree.txt │ │ │ │ └── topLevelCapturingInsideReturnType.antlrtree.txt │ │ │ ├── capturedTypesInSelfType.antlrtree.txt │ │ │ ├── coerceFunctionLiteralToSuspend.antlrtree.txt │ │ │ ├── coercionToUnit/ │ │ │ │ ├── afterBareReturn.antlrtree.txt │ │ │ │ ├── coercionToUnitForIfAsLastExpressionInLambda.antlrtree.txt │ │ │ │ ├── coercionToUnitForLastLambdaInLambda.antlrtree.txt │ │ │ │ ├── coercionToUnitReference.antlrtree.txt │ │ │ │ ├── coercionToUnitWithNothingType.test.antlrtree.txt │ │ │ │ ├── coercionWithExpectedType.antlrtree.txt │ │ │ │ ├── coercionWithExpectedTypeAndBound.antlrtree.txt │ │ │ │ ├── coercionWithExplicitTypeArgument.antlrtree.txt │ │ │ │ ├── coercionWithoutExpectedType.antlrtree.txt │ │ │ │ ├── coerctionToUnitForATypeWithUpperBound.antlrtree.txt │ │ │ │ ├── coersionWithAnonymousFunctionsAndUnresolved.antlrtree.txt │ │ │ │ ├── indirectCoercionWithExpectedType.antlrtree.txt │ │ │ │ ├── kt30242.antlrtree.txt │ │ │ │ ├── lambdaWithNullableUnitInElvis.antlrtree.txt │ │ │ │ ├── nestedLambda.antlrtree.txt │ │ │ │ ├── noCoercion.antlrtree.txt │ │ │ │ └── nonPropagationOfCoercionToUnitInsideNestedLambda.antlrtree.txt │ │ │ ├── commonSuperTypeOfErrorTypes.antlrtree.txt │ │ │ ├── commonSuperTypeOfTypesWithErrorSupertypes.antlrtree.txt │ │ │ ├── commonSystem/ │ │ │ │ ├── boundOnNullableVariable.antlrtree.txt │ │ │ │ ├── castToSubtype.antlrtree.txt │ │ │ │ ├── cstFromNullableChildAndNonParameterizedType.antlrtree.txt │ │ │ │ ├── cstWithTypeContainingNonFixedVariable.antlrtree.txt │ │ │ │ ├── dontCaptureTypeVariable.antlrtree.txt │ │ │ │ ├── exactOnElvis.antlrtree.txt │ │ │ │ ├── fixVariablesInRightOrder.antlrtree.txt │ │ │ │ ├── genericCandidateInGenericClass.antlrtree.txt │ │ │ │ ├── iltInsideSeveralCalls.antlrtree.txt │ │ │ │ ├── inferenceWithUpperBoundsInLambda.antlrtree.txt │ │ │ │ ├── kt30300.antlrtree.txt │ │ │ │ ├── kt31969.antlrtree.txt │ │ │ │ ├── kt32818.antlrtree.txt │ │ │ │ ├── kt33197.antlrtree.txt │ │ │ │ ├── kt3372toCollection.antlrtree.txt │ │ │ │ ├── lessSpecificTypeForArgumentCallWithExactAnnotation.antlrtree.txt │ │ │ │ ├── lessSpecificTypeForArgumentCallWithExactAnnotation_ni.antlrtree.txt │ │ │ │ ├── manyArgumentsForVararg.antlrtree.txt │ │ │ │ ├── nestedLambdas.antlrtree.txt │ │ │ │ ├── nonFixedVariableFromBothBranches.test.antlrtree.txt │ │ │ │ ├── nonFixedVariableInsideFlexibleType.test.antlrtree.txt │ │ │ │ ├── outProjectedTypeToOutProjected.antlrtree.txt │ │ │ │ ├── postponedCompletionWithExactAnnotation.antlrtree.txt │ │ │ │ ├── postponedCompletionWithExactAnnotation_ni.antlrtree.txt │ │ │ │ ├── selectFromTwoIncompatibleTypes.antlrtree.txt │ │ │ │ ├── selectIntegerValueTypeFromIf.antlrtree.txt │ │ │ │ └── theSameFunctionInArgs.antlrtree.txt │ │ │ ├── completeInferenceIfManyFailed.antlrtree.txt │ │ │ ├── completion/ │ │ │ │ ├── anonymousFunction.antlrtree.txt │ │ │ │ ├── basic.antlrtree.txt │ │ │ │ ├── definitelyNotNullType.antlrtree.txt │ │ │ │ ├── equalityConstraintUpstairs.antlrtree.txt │ │ │ │ ├── errorAfterCompletion.antlrtree.txt │ │ │ │ ├── flexibleType.Test.antlrtree.txt │ │ │ │ ├── inferLabeledElementTypeForLambdaInReturnInCatch.antlrtree.txt │ │ │ │ ├── intersectionType.antlrtree.txt │ │ │ │ ├── kt33166.test.antlrtree.txt │ │ │ │ ├── kt36233.antlrtree.txt │ │ │ │ ├── lambdaWithVariableAndNothing.antlrtree.txt │ │ │ │ ├── nestedVariance.antlrtree.txt │ │ │ │ ├── nothingFromNestedCall.antlrtree.txt │ │ │ │ ├── partialForIlt.antlrtree.txt │ │ │ │ ├── partialForIltWithNothing.antlrtree.txt │ │ │ │ ├── postponedArgumentsAnalysis/ │ │ │ │ │ ├── basic.antlrtree.txt │ │ │ │ │ ├── callableReferenceLambdaCombinationInsideCall.antlrtree.txt │ │ │ │ │ ├── callableReferences.antlrtree.txt │ │ │ │ │ ├── fixingVariableDuringAddingConstraintForFirstPosponedArgument.antlrtree.txt │ │ │ │ │ ├── lackOfDeepIncorporation.antlrtree.txt │ │ │ │ │ ├── lambdasInTryCatch.antlrtree.txt │ │ │ │ │ ├── notInferableParameterOfAnonymousFunction.antlrtree.txt │ │ │ │ │ ├── takingExtensibilityFromDeclarationOfAnonymousFunction.antlrtree.txt │ │ │ │ │ ├── wrongVariableFixationOrder.antlrtree.txt │ │ │ │ │ └── wrongVariableFixationOrder2.antlrtree.txt │ │ │ │ ├── transitiveConstraint.antlrtree.txt │ │ │ │ └── withExact.antlrtree.txt │ │ │ ├── completionOfMultipleLambdas.antlrtree.txt │ │ │ ├── conflictingSubstitutions.antlrtree.txt │ │ │ ├── constraints/ │ │ │ │ ├── approximationWithDefNotNullInInvPositionDuringInference.antlrtree.txt │ │ │ │ ├── complexDependencyWihtoutProperConstraints.antlrtree.txt │ │ │ │ ├── constraintFromVariantTypeWithNestedProjection.antlrtree.txt │ │ │ │ ├── constraintOnFunctionLiteral.antlrtree.txt │ │ │ │ ├── definitelyNotNullTypeInArguments.antlrtree.txt │ │ │ │ ├── definitelyNotNullTypeInReturnPosition.antlrtree.txt │ │ │ │ ├── definitelyNotNullTypeInvariantPosition.antlrtree.txt │ │ │ │ ├── earlyCompletionForCalls.antlrtree.txt │ │ │ │ ├── equalityConstraintOnNullableType.antlrtree.txt │ │ │ │ ├── errorUpperBoundConstraint.test.antlrtree.txt │ │ │ │ ├── fixTypeVariableWithNothingConstraintEarlierThanComplexVariable.antlrtree.txt │ │ │ │ ├── ignoreConstraintFromImplicitInNothing.antlrtree.txt │ │ │ │ ├── inferTypeFromCapturedStarProjection.antlrtree.txt │ │ │ │ ├── kt6320.antlrtree.txt │ │ │ │ ├── kt7351ConstraintFromUnitExpectedType.antlrtree.txt │ │ │ │ ├── kt7433.antlrtree.txt │ │ │ │ ├── kt8879.antlrtree.txt │ │ │ │ ├── manyConstraintsDueToFlexibleRawTypes.test.antlrtree.txt │ │ │ │ ├── manyConstraintsDueToRecursiveFlexibleTypesWithWildcards.test.antlrtree.txt │ │ │ │ ├── notNullConstraintOnNullableType.antlrtree.txt │ │ │ │ ├── operationsOnIntegerValueTypes.antlrtree.txt │ │ │ │ ├── recursiveJavaTypeWithStarProjection.test.antlrtree.txt │ │ │ │ ├── remainConstraintContainingTypeWithoutProjection.main.antlrtree.txt │ │ │ │ ├── returnLambdaFromLambda.antlrtree.txt │ │ │ │ ├── subtypeConstraintOnNullableType.antlrtree.txt │ │ │ │ ├── supertypeConstraintOnNullableType.antlrtree.txt │ │ │ │ └── wrongApproximationWithDefNotNullTypesAndDelegates.antlrtree.txt │ │ │ ├── cstFromErrorAndNonErrorTypes.antlrtree.txt │ │ │ ├── dependOnExpectedType.antlrtree.txt │ │ │ ├── dependantOnVariance.antlrtree.txt │ │ │ ├── dependantOnVarianceNullable.antlrtree.txt │ │ │ ├── discardInapplicableCandidateWithNotSatisfyingSelfType.antlrtree.txt │ │ │ ├── dontThrowEmptyIntersectionException.main.antlrtree.txt │ │ │ ├── elvisInsideWhen.antlrtree.txt │ │ │ ├── emptyIntersectionTypes/ │ │ │ │ ├── compatibilityResolveWhenVariableHasComplexIntersectionType.antlrtree.txt │ │ │ │ ├── contravariance.antlrtree.txt │ │ │ │ ├── covariance.antlrtree.txt │ │ │ │ ├── emptyIntersectionOnIf.antlrtree.txt │ │ │ │ ├── kt45461.antlrtree.txt │ │ │ │ ├── kt45461_10.antlrtree.txt │ │ │ │ ├── kt45461_11.antlrtree.txt │ │ │ │ ├── kt45461_12.antlrtree.txt │ │ │ │ ├── kt45461_13.antlrtree.txt │ │ │ │ ├── kt45461_14.antlrtree.txt │ │ │ │ ├── kt45461_15.antlrtree.txt │ │ │ │ ├── kt45461_16.antlrtree.txt │ │ │ │ ├── kt45461_17.antlrtree.txt │ │ │ │ ├── kt45461_18.antlrtree.txt │ │ │ │ ├── kt45461_19.antlrtree.txt │ │ │ │ ├── kt45461_2.antlrtree.txt │ │ │ │ ├── kt45461_20.antlrtree.txt │ │ │ │ ├── kt45461_21.antlrtree.txt │ │ │ │ ├── kt45461_22.antlrtree.txt │ │ │ │ ├── kt45461_23.antlrtree.txt │ │ │ │ ├── kt45461_24.antlrtree.txt │ │ │ │ ├── kt45461_25.antlrtree.txt │ │ │ │ ├── kt45461_26.antlrtree.txt │ │ │ │ ├── kt45461_27.antlrtree.txt │ │ │ │ ├── kt45461_28.antlrtree.txt │ │ │ │ ├── kt45461_29.antlrtree.txt │ │ │ │ ├── kt45461_3.antlrtree.txt │ │ │ │ ├── kt45461_30.antlrtree.txt │ │ │ │ ├── kt45461_31.antlrtree.txt │ │ │ │ ├── kt45461_32.antlrtree.txt │ │ │ │ ├── kt45461_33.antlrtree.txt │ │ │ │ ├── kt45461_34.antlrtree.txt │ │ │ │ ├── kt45461_35.antlrtree.txt │ │ │ │ ├── kt45461_35_Enabled.antlrtree.txt │ │ │ │ ├── kt45461_4.antlrtree.txt │ │ │ │ ├── kt45461_5.antlrtree.txt │ │ │ │ ├── kt45461_6.antlrtree.txt │ │ │ │ ├── kt45461_7.antlrtree.txt │ │ │ │ ├── kt45461_8.antlrtree.txt │ │ │ │ ├── kt45461_9.antlrtree.txt │ │ │ │ ├── kt48765.antlrtree.txt │ │ │ │ ├── kt48935.antlrtree.txt │ │ │ │ ├── kt48935_2.antlrtree.txt │ │ │ │ ├── kt48935_3.antlrtree.txt │ │ │ │ ├── kt48935_4.antlrtree.txt │ │ │ │ ├── kt48935_5.antlrtree.txt │ │ │ │ ├── kt48935_6.antlrtree.txt │ │ │ │ ├── kt48987.antlrtree.txt │ │ │ │ ├── kt49661.antlrtree.txt │ │ │ │ ├── kt51016.antlrtree.txt │ │ │ │ ├── kt52364.antlrtree.txt │ │ │ │ ├── kt52393.antlrtree.txt │ │ │ │ ├── kt52431.antlrtree.txt │ │ │ │ ├── kt54411.antlrtree.txt │ │ │ │ ├── nullableEmptyIntersection.antlrtree.txt │ │ │ │ ├── recursiveTypeParameters.antlrtree.txt │ │ │ │ ├── selectFromCovariantAndContravariantTypes.antlrtree.txt │ │ │ │ ├── substitutingSuperTypes.antlrtree.txt │ │ │ │ └── substitutingSuperTypes2.antlrtree.txt │ │ │ ├── equalitySubstitutionInsideNonInvariantType.antlrtree.txt │ │ │ ├── errorsOnImplicitInvokeInSimpleCall.antlrtree.txt │ │ │ ├── exclExclInference.antlrtree.txt │ │ │ ├── expectedTypeAdditionalTest.antlrtree.txt │ │ │ ├── expectedTypeDoubleReceiver.antlrtree.txt │ │ │ ├── expectedTypeFromCast.antlrtree.txt │ │ │ ├── expectedTypeFromCastComplexExpression.antlrtree.txt │ │ │ ├── expectedTypeFromCastParenthesized.antlrtree.txt │ │ │ ├── expectedTypeWithGenerics.antlrtree.txt │ │ │ ├── expectedTypeWithGenericsSafeCalls.antlrtree.txt │ │ │ ├── extensionLambdasAndArrow.antlrtree.txt │ │ │ ├── findViewById.1.antlrtree.txt │ │ │ ├── fixVariableToNothing.antlrtree.txt │ │ │ ├── fixationOrderForProperConstraints.antlrtree.txt │ │ │ ├── flexibleTypesAsUpperBound.1.antlrtree.txt │ │ │ ├── forks/ │ │ │ │ ├── nestedCallVariableFixation.main.antlrtree.txt │ │ │ │ ├── nestedCallVariableFixationSimple.antlrtree.txt │ │ │ │ └── overloadResolutionByLambdaReturnTypeAndExpectedType.antlrtree.txt │ │ │ ├── functionPlaceholderError.antlrtree.txt │ │ │ ├── genericAssignmentOperator.antlrtree.txt │ │ │ ├── genericCallInThrow.antlrtree.txt │ │ │ ├── hasErrorInConstrainingTypes.antlrtree.txt │ │ │ ├── ifWithDependentBranches.antlrtree.txt │ │ │ ├── illegalUnderscoredTypeArgument.antlrtree.txt │ │ │ ├── immutableArrayList.k.antlrtree.txt │ │ │ ├── implicitInvokeExtensionWithFunctionalArgument.antlrtree.txt │ │ │ ├── implicitInvokeInCompanionObjectWithFunctionalArgument.antlrtree.txt │ │ │ ├── implicitInvokeInObjectWithFunctionalArgument.antlrtree.txt │ │ │ ├── implicitInvokeWithFunctionLiteralArgument.antlrtree.txt │ │ │ ├── inferInFunctionLiterals.antlrtree.txt │ │ │ ├── inferInFunctionLiteralsWithReturn.antlrtree.txt │ │ │ ├── inferenceForkRegression.antlrtree.txt │ │ │ ├── inferenceForkRegressionSimple.antlrtree.txt │ │ │ ├── intersectionTypeMultipleBoundsAsReceiver.antlrtree.txt │ │ │ ├── intersectionTypesWithContravariantTypes.antlrtree.txt │ │ │ ├── intersectionWithEnum.antlrtree.txt │ │ │ ├── invokeLambdaAsFunction.antlrtree.txt │ │ │ ├── knownTypeParameters.antlrtree.txt │ │ │ ├── kt11963.antlrtree.txt │ │ │ ├── kt12399.antlrtree.txt │ │ │ ├── kt1293.antlrtree.txt │ │ │ ├── kt28598.antlrtree.txt │ │ │ ├── kt28654.antlrtree.txt │ │ │ ├── kt30405.antlrtree.txt │ │ │ ├── kt3184.antlrtree.txt │ │ │ ├── kt32196.antlrtree.txt │ │ │ ├── kt32415.antlrtree.txt │ │ │ ├── kt32434.main.antlrtree.txt │ │ │ ├── kt32462.antlrtree.txt │ │ │ ├── kt33263.antlrtree.txt │ │ │ ├── kt35702.antlrtree.txt │ │ │ ├── kt36044.antlrtree.txt │ │ │ ├── kt36819.antlrtree.txt │ │ │ ├── kt37853.antlrtree.txt │ │ │ ├── kt39220.antlrtree.txt │ │ │ ├── kt40396.antlrtree.txt │ │ │ ├── kt46515.antlrtree.txt │ │ │ ├── kt47316.main.antlrtree.txt │ │ │ ├── kt49658.antlrtree.txt │ │ │ ├── kt49658Strict.antlrtree.txt │ │ │ ├── kt49961.antlrtree.txt │ │ │ ├── kt50232a.antlrtree.txt │ │ │ ├── kt53124.exp_main.antlrtree.txt │ │ │ ├── kt6175.antlrtree.txt │ │ │ ├── kt619.antlrtree.txt │ │ │ ├── lambdaArgumentWithLabel.antlrtree.txt │ │ │ ├── lambdaInValInitializerWithAnonymousFunctions.antlrtree.txt │ │ │ ├── lambdaParameterTypeInElvis.antlrtree.txt │ │ │ ├── listConstructor.antlrtree.txt │ │ │ ├── localFunctionInsideIfBlock.antlrtree.txt │ │ │ ├── mapFunction.antlrtree.txt │ │ │ ├── mostSpecificAfterInference.antlrtree.txt │ │ │ ├── nestedCalls/ │ │ │ │ ├── arrayAccess.antlrtree.txt │ │ │ │ ├── binaryExpressions.antlrtree.txt │ │ │ │ ├── checkTypesForQualifiedProperties.antlrtree.txt │ │ │ │ ├── completeNestedCallsForArraySetExpression.antlrtree.txt │ │ │ │ ├── completeNestedCallsInference.antlrtree.txt │ │ │ │ ├── completeNestedForVariableAsFunctionCall.antlrtree.txt │ │ │ │ ├── externalTypeParameter.antlrtree.txt │ │ │ │ ├── inferenceForNestedBinaryCall.antlrtree.txt │ │ │ │ ├── kt3395.antlrtree.txt │ │ │ │ ├── kt3461checkTypes.antlrtree.txt │ │ │ │ ├── makeNullableIfSafeCall.antlrtree.txt │ │ │ │ ├── nontrivialCallExpression.antlrtree.txt │ │ │ │ ├── preferArgumentToNullability.antlrtree.txt │ │ │ │ └── preferNothingToBound.antlrtree.txt │ │ │ ├── noInformationForParameter.antlrtree.txt │ │ │ ├── nonFunctionalExpectedTypeForLambdaArgument.antlrtree.txt │ │ │ ├── nothingType/ │ │ │ │ ├── complexDependancyOnVariableWithTrivialConstraint.antlrtree.txt │ │ │ │ ├── discriminateNothingForReifiedParameter.antlrtree.txt │ │ │ │ ├── discriminatedNothingAndSmartCast.antlrtree.txt │ │ │ │ ├── discriminatedNothingInsideComplexNestedCall.antlrtree.txt │ │ │ │ ├── generateConstraintWithInnerNothingType.antlrtree.txt │ │ │ │ ├── genericOverride.antlrtree.txt │ │ │ │ ├── implicitInferenceTToFlexibleNothing.antlrtree.txt │ │ │ │ ├── implicitNothingConstraintFromReturn.antlrtree.txt │ │ │ │ ├── inferArgumentToNothingFromNullConstant.antlrtree.txt │ │ │ │ ├── inferenceWithRecursiveGenericsAndNothing.antlrtree.txt │ │ │ │ ├── kt24490.antlrtree.txt │ │ │ │ ├── kt32051.antlrtree.txt │ │ │ │ ├── kt32081.antlrtree.txt │ │ │ │ ├── kt32207.antlrtree.txt │ │ │ │ ├── kt32388.antlrtree.txt │ │ │ │ ├── kt34335.antlrtree.txt │ │ │ │ ├── kt56448.main.antlrtree.txt │ │ │ │ ├── lambdaNothingAndExpectedType.antlrtree.txt │ │ │ │ ├── nestedLambdaInferenceWithIncorporationOfVariables.antlrtree.txt │ │ │ │ ├── notEnoughInformationAndNothing.antlrtree.txt │ │ │ │ ├── notEnoughInformationFromNullabilityConstraint.antlrtree.txt │ │ │ │ ├── nothingWithCallableReference.antlrtree.txt │ │ │ │ ├── nullableExpectedTypeFromVariable.antlrtree.txt │ │ │ │ ├── platformNothingAsUsefulConstraint.test.antlrtree.txt │ │ │ │ ├── reifiedParameterWithRecursiveBound.antlrtree.txt │ │ │ │ ├── reportImplicitNothingOnlyForOwnTypeParameters.antlrtree.txt │ │ │ │ ├── returnAsLastStatementInLambda.antlrtree.txt │ │ │ │ ├── selectWithNull.antlrtree.txt │ │ │ │ └── specialCallWithMaterializeAndExpectedType.antlrtree.txt │ │ │ ├── nothingVsParameterBound.antlrtree.txt │ │ │ ├── nullableArgumentForDnn.antlrtree.txt │ │ │ ├── nullableTypeArgumentWithNotNullUpperBound.antlrtree.txt │ │ │ ├── nullableUpperBound.antlrtree.txt │ │ │ ├── onlyInputTypesWithMultilevelIncorporation.antlrtree.txt │ │ │ ├── opposite.antlrtree.txt │ │ │ ├── possibleCycleOnConstraints.antlrtree.txt │ │ │ ├── publicApproximation/ │ │ │ │ ├── approximatedIntersectionMorePreciseThanBound.antlrtree.txt │ │ │ │ ├── chainedLambdas.antlrtree.txt │ │ │ │ ├── declarationTypes.antlrtree.txt │ │ │ │ ├── intersectionAfterSmartCastInLambdaReturn.antlrtree.txt │ │ │ │ ├── intersectionAlternative.antlrtree.txt │ │ │ │ ├── intersectionLocations.antlrtree.txt │ │ │ │ ├── lambdaReturnArgumentCall.antlrtree.txt │ │ │ │ ├── lambdaReturnTypeApproximation.antlrtree.txt │ │ │ │ ├── nonTrivialVariance.antlrtree.txt │ │ │ │ ├── parameterInBound.antlrtree.txt │ │ │ │ ├── projections.antlrtree.txt │ │ │ │ ├── smartCastInLambdaReturnAfterIntersection.antlrtree.txt │ │ │ │ └── twoIntersections.antlrtree.txt │ │ │ ├── receiverTypeMismatch_withProper.Main.antlrtree.txt │ │ │ ├── receiverTypeMismatch_withoutProper.Main.antlrtree.txt │ │ │ ├── recursiveCalls/ │ │ │ │ ├── kt23531.antlrtree.txt │ │ │ │ └── kt23531.reversed.antlrtree.txt │ │ │ ├── recursiveLocalFuns/ │ │ │ │ ├── localFactorial.antlrtree.txt │ │ │ │ ├── recursiveFun.antlrtree.txt │ │ │ │ ├── recursiveLambda.antlrtree.txt │ │ │ │ └── selfCall.antlrtree.txt │ │ │ ├── recursiveTypes/ │ │ │ │ ├── multirecursion.antlrtree.txt │ │ │ │ ├── recursiveInIn.antlrtree.txt │ │ │ │ ├── recursiveInInv.antlrtree.txt │ │ │ │ ├── recursiveInOut.antlrtree.txt │ │ │ │ ├── recursiveInvIn.antlrtree.txt │ │ │ │ ├── recursiveInvOut.antlrtree.txt │ │ │ │ ├── recursiveOutIn.antlrtree.txt │ │ │ │ ├── recursiveOutInv.antlrtree.txt │ │ │ │ ├── recursiveOutOut.antlrtree.txt │ │ │ │ ├── recursiveTypeWithNonStarResult.antlrtree.txt │ │ │ │ ├── recursiveTypes.antlrtree.txt │ │ │ │ ├── selfTypes/ │ │ │ │ │ ├── disabledInferenceOnSelfTypes/ │ │ │ │ │ │ ├── basicInferenceForImplicitSelfType.antlrtree.txt │ │ │ │ │ │ ├── recursiveTypeWithTwoTypeParams.antlrtree.txt │ │ │ │ │ │ └── writerAppenderExampleRecursive.antlrtree.txt │ │ │ │ │ └── enabledInferenceOnSelfTypes/ │ │ │ │ │ ├── basicInferenceForImplicitSelfType.main.antlrtree.txt │ │ │ │ │ ├── recursiveTypeWithTwoTypeParams.main.antlrtree.txt │ │ │ │ │ └── writerAppenderExampleRecursive.main.antlrtree.txt │ │ │ │ └── twoTypeConstructors.antlrtree.txt │ │ │ ├── regressions/ │ │ │ │ ├── compareBy.antlrtree.txt │ │ │ │ ├── kt1029.antlrtree.txt │ │ │ │ ├── kt1031.antlrtree.txt │ │ │ │ ├── kt1127.antlrtree.txt │ │ │ │ ├── kt1145.antlrtree.txt │ │ │ │ ├── kt1358.antlrtree.txt │ │ │ │ ├── kt1410.antlrtree.txt │ │ │ │ ├── kt1718.antlrtree.txt │ │ │ │ ├── kt1944.antlrtree.txt │ │ │ │ ├── kt2057.antlrtree.txt │ │ │ │ ├── kt2179.antlrtree.txt │ │ │ │ ├── kt2200.antlrtree.txt │ │ │ │ ├── kt2283.antlrtree.txt │ │ │ │ ├── kt2286.antlrtree.txt │ │ │ │ ├── kt2294.antlrtree.txt │ │ │ │ ├── kt2320.antlrtree.txt │ │ │ │ ├── kt2324.antlrtree.txt │ │ │ │ ├── kt2407.antlrtree.txt │ │ │ │ ├── kt2445.antlrtree.txt │ │ │ │ ├── kt2459.antlrtree.txt │ │ │ │ ├── kt2484.antlrtree.txt │ │ │ │ ├── kt2505.antlrtree.txt │ │ │ │ ├── kt2514.antlrtree.txt │ │ │ │ ├── kt2588.antlrtree.txt │ │ │ │ ├── kt2741.antlrtree.txt │ │ │ │ ├── kt2754.antlrtree.txt │ │ │ │ ├── kt2838.antlrtree.txt │ │ │ │ ├── kt2841.antlrtree.txt │ │ │ │ ├── kt2841_it.antlrtree.txt │ │ │ │ ├── kt2841_it_this.antlrtree.txt │ │ │ │ ├── kt2841_this.antlrtree.txt │ │ │ │ ├── kt2842.antlrtree.txt │ │ │ │ ├── kt2883.antlrtree.txt │ │ │ │ ├── kt3007.antlrtree.txt │ │ │ │ ├── kt3038.antlrtree.txt │ │ │ │ ├── kt3150.antlrtree.txt │ │ │ │ ├── kt3174.antlrtree.txt │ │ │ │ ├── kt32106.antlrtree.txt │ │ │ │ ├── kt32250.antlrtree.txt │ │ │ │ ├── kt32862_both.antlrtree.txt │ │ │ │ ├── kt32862_none.antlrtree.txt │ │ │ │ ├── kt3301.antlrtree.txt │ │ │ │ ├── kt3344.antlrtree.txt │ │ │ │ ├── kt33629.antlrtree.txt │ │ │ │ ├── kt34029.antlrtree.txt │ │ │ │ ├── kt34282.antlrtree.txt │ │ │ │ ├── kt3496.antlrtree.txt │ │ │ │ ├── kt3496_2.antlrtree.txt │ │ │ │ ├── kt3559.antlrtree.txt │ │ │ │ ├── kt35844.antlrtree.txt │ │ │ │ ├── kt35943.antlrtree.txt │ │ │ │ ├── kt36342.antlrtree.txt │ │ │ │ ├── kt36342_2.antlrtree.txt │ │ │ │ ├── kt37043.main.antlrtree.txt │ │ │ │ ├── kt37043_2.antlrtree.txt │ │ │ │ ├── kt37419.antlrtree.txt │ │ │ │ ├── kt37650.antlrtree.txt │ │ │ │ ├── kt38549.antlrtree.txt │ │ │ │ ├── kt38691.antlrtree.txt │ │ │ │ ├── kt41386.antlrtree.txt │ │ │ │ ├── kt41394.antlrtree.txt │ │ │ │ ├── kt4420.antlrtree.txt │ │ │ │ ├── kt44440.antlrtree.txt │ │ │ │ ├── kt47941.antlrtree.txt │ │ │ │ ├── kt702.antlrtree.txt │ │ │ │ ├── kt731.antlrtree.txt │ │ │ │ ├── kt742.antlrtree.txt │ │ │ │ ├── kt8132.antlrtree.txt │ │ │ │ ├── kt832.antlrtree.txt │ │ │ │ ├── kt943.antlrtree.txt │ │ │ │ ├── kt9461.antlrtree.txt │ │ │ │ ├── kt948.antlrtree.txt │ │ │ │ └── noRecursionOnCallingPureKotlinFunctionAsSyntheticJavaAccessor.antlrtree.txt │ │ │ ├── reportAboutUnresolvedReferenceAsUnresolved.antlrtree.txt │ │ │ ├── reportNotEnoughTypeInformationErrorsOnBlockExpressions.antlrtree.txt │ │ │ ├── reportingImprovements/ │ │ │ │ ├── ErrorTypeAsGenericParameter.antlrtree.txt │ │ │ │ ├── FunctionPlaceholder.antlrtree.txt │ │ │ │ ├── NoAmbiguityForDifferentFunctionTypes.antlrtree.txt │ │ │ │ ├── cannotInferParameterTypeWithInference.antlrtree.txt │ │ │ │ ├── inferTypeFromUnresolvedArgument.antlrtree.txt │ │ │ │ ├── kt42620.antlrtree.txt │ │ │ │ ├── reportUnresolvedReferenceWrongReceiverForManyCandidates.antlrtree.txt │ │ │ │ ├── subtypeForInvariantWithErrorGenerics.antlrtree.txt │ │ │ │ ├── typeInferenceFailedOnComponentN.antlrtree.txt │ │ │ │ ├── typeInferenceFailedOnIteratorCall.antlrtree.txt │ │ │ │ ├── wrongArgumentExtensionFunction.antlrtree.txt │ │ │ │ └── wrongArgumentPassedToLocalExtensionFunction.antlrtree.txt │ │ │ ├── resolveWithUnknownLambdaParameterType.antlrtree.txt │ │ │ ├── returningLambdaInSuspendContext.antlrtree.txt │ │ │ ├── selectOfLambdaWithExtension.antlrtree.txt │ │ │ ├── selectOfLambdaWithExtensionDisabled.antlrtree.txt │ │ │ ├── selectOfLambdaWithExtensionEnabled.antlrtree.txt │ │ │ ├── smartCastFork.antlrtree.txt │ │ │ ├── smartCastForkForExpectType.antlrtree.txt │ │ │ ├── smartCastForkForExpectedTypeNested.antlrtree.txt │ │ │ ├── specialCallsWithCallableReferences.antlrtree.txt │ │ │ ├── specialCallsWithLambdas.antlrtree.txt │ │ │ ├── starApproximation.antlrtree.txt │ │ │ ├── starApproximationBangBang.antlrtree.txt │ │ │ ├── starApproximationFlexible.main.antlrtree.txt │ │ │ ├── starApproximationFromDifferentTypeParameter.antlrtree.txt │ │ │ ├── stubTypeForSubtyping.antlrtree.txt │ │ │ ├── substitutions/ │ │ │ │ ├── delegationAndInference.antlrtree.txt │ │ │ │ ├── hideFlexibleLocalTypeInPublicPosition.main.antlrtree.txt │ │ │ │ ├── hideFlexibleLocalTypeInPublicPosition_before.main.antlrtree.txt │ │ │ │ ├── hideLocalTypeForReturnTypeOfSingleExpressionFunction.antlrtree.txt │ │ │ │ ├── hideNullableLocalTypeInPublicPosition.antlrtree.txt │ │ │ │ ├── hideNullableLocalTypeInPublicPosition_before.antlrtree.txt │ │ │ │ ├── kt32189returnTypeWithTypealiasSubtitution.antlrtree.txt │ │ │ │ ├── kt6081SubstituteIntoClassCorrectly.antlrtree.txt │ │ │ │ ├── simpleSubstitutionCheckTypeArgumentsNotTypeParameters.antlrtree.txt │ │ │ │ ├── substitutionIntoAnonymousClass.antlrtree.txt │ │ │ │ ├── substitutionIntoInnerClass.antlrtree.txt │ │ │ │ └── substitutionOfTypeEnhancement.main.antlrtree.txt │ │ │ ├── tooEagerSmartcast.antlrtree.txt │ │ │ ├── topLevelIntersection.antlrtree.txt │ │ │ ├── tryNumberLowerBoundsBeforeUpperBounds.antlrtree.txt │ │ │ ├── typeConstructorMismatch.antlrtree.txt │ │ │ ├── typeInferenceExpectedTypeMismatch.antlrtree.txt │ │ │ ├── typeParameterInConstructor.antlrtree.txt │ │ │ ├── underscoredTypeArgument.antlrtree.txt │ │ │ ├── underscoredTypeInForbiddenPositions.antlrtree.txt │ │ │ ├── unsoundness1.antlrtree.txt │ │ │ ├── unsoundness2.antlrtree.txt │ │ │ ├── upperBounds/ │ │ │ │ ├── conflictingSubstitutionsFromUpperBound.antlrtree.txt │ │ │ │ ├── doNotInferFromBoundsOnly.antlrtree.txt │ │ │ │ ├── flexibilityInCommonSuperTypeCalculation.main.antlrtree.txt │ │ │ │ ├── flexibilityInCommonSuperTypeCalculation.ni.main.antlrtree.txt │ │ │ │ ├── inferringVariableByMaterializeAndUpperBound.antlrtree.txt │ │ │ │ ├── intersectUpperBounds.antlrtree.txt │ │ │ │ ├── kt2856.antlrtree.txt │ │ │ │ ├── nonNullUpperBound.antlrtree.txt │ │ │ │ ├── typeParameterAsUpperBound.antlrtree.txt │ │ │ │ ├── useBoundsIfUnknownParameters.antlrtree.txt │ │ │ │ └── useBoundsToInferTypeParamsSimple.antlrtree.txt │ │ │ ├── useFunctionLiteralsToInferType.antlrtree.txt │ │ │ ├── violatingUpperBoundForSelfType.antlrtree.txt │ │ │ └── violatingUpperBoundForSelfTypeError.antlrtree.txt │ │ ├── infos/ │ │ │ ├── PropertiesWithBackingFields.antlrtree.txt │ │ │ └── SmartCasts.antlrtree.txt │ │ ├── initializedAfterRethrow.antlrtree.txt │ │ ├── inline/ │ │ │ ├── anonymousObjects.antlrtree.txt │ │ │ ├── approximateReturnedAnonymousObjects.antlrtree.txt │ │ │ ├── assignment.antlrtree.txt │ │ │ ├── binaryExpressions/ │ │ │ │ ├── andOr.antlrtree.txt │ │ │ │ ├── arrayAccess.antlrtree.txt │ │ │ │ ├── assignment.antlrtree.txt │ │ │ │ ├── comparison.antlrtree.txt │ │ │ │ ├── componentAccess.antlrtree.txt │ │ │ │ ├── contains.antlrtree.txt │ │ │ │ ├── mathOperations.antlrtree.txt │ │ │ │ └── rangeTo.antlrtree.txt │ │ │ ├── capture.antlrtree.txt │ │ │ ├── constructor.antlrtree.txt │ │ │ ├── default.antlrtree.txt │ │ │ ├── defaultLambdaInlineSuspend.antlrtree.txt │ │ │ ├── defaultLambdaInlining.antlrtree.txt │ │ │ ├── extensionOnFunction.antlrtree.txt │ │ │ ├── forbidExtensionCallsOnInlineFunctionalParameters_after.antlrtree.txt │ │ │ ├── forbidExtensionCallsOnInlineFunctionalParameters_before.antlrtree.txt │ │ │ ├── fromInlineToNoInline.antlrtree.txt │ │ │ ├── functions.antlrtree.txt │ │ │ ├── inlineLambdaInDefaultInlineParameter.antlrtree.txt │ │ │ ├── inlineReified.antlrtree.txt │ │ │ ├── inlinedReturnInBranch.antlrtree.txt │ │ │ ├── invoke.antlrtree.txt │ │ │ ├── isCheck.antlrtree.txt │ │ │ ├── kt15410.antlrtree.txt │ │ │ ├── kt19679.antlrtree.txt │ │ │ ├── kt21177.antlrtree.txt │ │ │ ├── kt21177Warning.antlrtree.txt │ │ │ ├── kt4869.antlrtree.txt │ │ │ ├── labeled.antlrtree.txt │ │ │ ├── lambdaCast.antlrtree.txt │ │ │ ├── localFun.antlrtree.txt │ │ │ ├── messagesForUnsupportedInInline.antlrtree.txt │ │ │ ├── nonLocalReturns/ │ │ │ │ ├── anonymousObjects.antlrtree.txt │ │ │ │ ├── anonymousObjectsNested.antlrtree.txt │ │ │ │ ├── explicitReturnType.antlrtree.txt │ │ │ │ ├── fromOnlyLocal.antlrtree.txt │ │ │ │ ├── inlineLambda.antlrtree.txt │ │ │ │ ├── labeledReturn.antlrtree.txt │ │ │ │ ├── lambdaAsGeneric.antlrtree.txt │ │ │ │ ├── lambdaAsNonFunction.antlrtree.txt │ │ │ │ ├── lambdaWithGlobalReturnsInsideOnlyLocalOne.antlrtree.txt │ │ │ │ ├── localFun.antlrtree.txt │ │ │ │ ├── nestedNonLocals.antlrtree.txt │ │ │ │ ├── noInlineAnnotation.antlrtree.txt │ │ │ │ ├── noInlineLambda.antlrtree.txt │ │ │ │ ├── nonInlinedClass.antlrtree.txt │ │ │ │ ├── onlyLocalReturnLambda.antlrtree.txt │ │ │ │ ├── onlyLocalReturnLambdaBinaryExpr.antlrtree.txt │ │ │ │ ├── propertyAccessorsAndConstructor.antlrtree.txt │ │ │ │ └── toOnlyLocal.antlrtree.txt │ │ │ ├── nonPublicMember/ │ │ │ │ ├── inNonPublicClass.antlrtree.txt │ │ │ │ ├── inNonPublicInnerClass.antlrtree.txt │ │ │ │ ├── inPackage.antlrtree.txt │ │ │ │ ├── inPublicClass.antlrtree.txt │ │ │ │ ├── kt14887.antlrtree.txt │ │ │ │ ├── kt55179.antlrtree.txt │ │ │ │ ├── localClass.antlrtree.txt │ │ │ │ ├── localClass2.antlrtree.txt │ │ │ │ ├── localFun.antlrtree.txt │ │ │ │ ├── protectedInlineInsideInternal.antlrtree.txt │ │ │ │ └── publishedApi.antlrtree.txt │ │ │ ├── nonVirtualMembersWithInline.antlrtree.txt │ │ │ ├── nothingToInline.antlrtree.txt │ │ │ ├── nullabilityOperations.antlrtree.txt │ │ │ ├── nullableFunction.antlrtree.txt │ │ │ ├── overrideWithInline.antlrtree.txt │ │ │ ├── parenthesized.antlrtree.txt │ │ │ ├── privateClass.antlrtree.txt │ │ │ ├── propagation.antlrtree.txt │ │ │ ├── property/ │ │ │ │ ├── invoke.antlrtree.txt │ │ │ │ ├── propertyWithBackingField.antlrtree.txt │ │ │ │ ├── unsupportedConstruction.antlrtree.txt │ │ │ │ └── virtualProperty.antlrtree.txt │ │ │ ├── protectedCallDepecation.main.antlrtree.txt │ │ │ ├── protectedCallError.main.antlrtree.txt │ │ │ ├── publishedApi.antlrtree.txt │ │ │ ├── recursion.antlrtree.txt │ │ │ ├── recursiveTypeInPrivateInlineFunction.antlrtree.txt │ │ │ ├── regressions/ │ │ │ │ └── kt4341.antlrtree.txt │ │ │ ├── returnedAnonymousObjects.antlrtree.txt │ │ │ ├── returnedAnonymousObjects_2.antlrtree.txt │ │ │ ├── returns.antlrtree.txt │ │ │ ├── sam.test.antlrtree.txt │ │ │ ├── stringTemplate.antlrtree.txt │ │ │ ├── superCall.1.antlrtree.txt │ │ │ ├── superCall.2.antlrtree.txt │ │ │ ├── superCallDepecation.main.antlrtree.txt │ │ │ ├── superCallDepecationWarning.main.antlrtree.txt │ │ │ ├── superCallFromMultipleSubclasses.1.antlrtree.txt │ │ │ ├── superCallFromMultipleSubclasses.2.antlrtree.txt │ │ │ ├── superProperty.1.antlrtree.txt │ │ │ ├── superProperty.2.antlrtree.txt │ │ │ ├── unaryExpressions/ │ │ │ │ ├── mathOperation.antlrtree.txt │ │ │ │ ├── notOnCall.antlrtree.txt │ │ │ │ └── notOperation.antlrtree.txt │ │ │ ├── valueClasses.antlrtree.txt │ │ │ ├── vararg.antlrtree.txt │ │ │ ├── virtualMemberInEnum.antlrtree.txt │ │ │ ├── virtualValInEnum.antlrtree.txt │ │ │ ├── when.antlrtree.txt │ │ │ └── wrongUsage.antlrtree.txt │ │ ├── inlineClasses/ │ │ │ ├── basicInlineClassDeclaration.antlrtree.txt │ │ │ ├── basicInlineClassDeclarationDisabled.antlrtree.txt │ │ │ ├── changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.antlrtree.txt │ │ │ ├── constructorsJvmSignaturesClash.antlrtree.txt │ │ │ ├── delegatedPropertyInInlineClass.antlrtree.txt │ │ │ ├── functionsJvmSignaturesClash.antlrtree.txt │ │ │ ├── functionsJvmSignaturesConflictOnInheritance.antlrtree.txt │ │ │ ├── genericInlineClass.antlrtree.txt │ │ │ ├── identityComparisonWithInlineClasses.antlrtree.txt │ │ │ ├── inefficientEqualsOverridingInInlineClass.antlrtree.txt │ │ │ ├── inlineClassCanImplementInterfaceByDelegation.antlrtree.txt │ │ │ ├── inlineClassCanOnlyImplementInterfaces.antlrtree.txt │ │ │ ├── inlineClassCannotImplementInterfaceByDelegation.antlrtree.txt │ │ │ ├── inlineClassConstructorParameterWithDefaultValue.antlrtree.txt │ │ │ ├── inlineClassDeclarationCheck.antlrtree.txt │ │ │ ├── inlineClassDeprecated.antlrtree.txt │ │ │ ├── inlineClassImplementsCollection.antlrtree.txt │ │ │ ├── inlineClassWithForbiddenUnderlyingType.antlrtree.txt │ │ │ ├── inlineClassesInsideAnnotations.antlrtree.txt │ │ │ ├── innerClassInsideInlineClass.antlrtree.txt │ │ │ ├── lateinitInlineClassesOff.antlrtree.txt │ │ │ ├── lateinitInlineClassesOn.antlrtree.txt │ │ │ ├── presenceOfInitializerBlockInsideInlineClass.antlrtree.txt │ │ │ ├── presenceOfPublicPrimaryConstructorForInlineClass.antlrtree.txt │ │ │ ├── propertiesWithBackingFieldsInsideInlineClass.antlrtree.txt │ │ │ ├── recursiveInlineClasses.antlrtree.txt │ │ │ ├── reifiedGenericUnderlyingType.antlrtree.txt │ │ │ ├── reservedConstructorsBodyInKotlinPre19.antlrtree.txt │ │ │ ├── reservedMembersAndConstructsInsideInlineClass.antlrtree.txt │ │ │ ├── synchronizedForbidden.antlrtree.txt │ │ │ ├── typedEqualsOperatorDeclarationCheck.antlrtree.txt │ │ │ ├── typedEqualsOperatorModifierInInlineClass.antlrtree.txt │ │ │ ├── unsignedLiteralsWithoutArtifactOnClasspath.antlrtree.txt │ │ │ └── varargsOnParametersOfInlineClassType.antlrtree.txt │ │ ├── inlineDeprecationsOnImplicitCalls.antlrtree.txt │ │ ├── inner/ │ │ │ ├── InnerClassNameClash.antlrtree.txt │ │ │ ├── accessingToJavaNestedClass.K.antlrtree.txt │ │ │ ├── accessingToJavaNestedClass.test.antlrtree.txt │ │ │ ├── accessingToKotlinNestedClass.antlrtree.txt │ │ │ ├── annotationInInnerClass.antlrtree.txt │ │ │ ├── classesInClassObjectHeader.antlrtree.txt │ │ │ ├── constructorAccess.antlrtree.txt │ │ │ ├── deepInnerClass.antlrtree.txt │ │ │ ├── enumEntries.antlrtree.txt │ │ │ ├── enumInInnerClass.antlrtree.txt │ │ │ ├── extensionFun.antlrtree.txt │ │ │ ├── extensionLambdaInsideNestedClass.antlrtree.txt │ │ │ ├── illegalModifier_lv12.antlrtree.txt │ │ │ ├── innerClassInEnumEntryClassMemberResolve.antlrtree.txt │ │ │ ├── innerClassInEnumEntryClass_lv12.antlrtree.txt │ │ │ ├── innerClassInEnumEntryClass_lv13.antlrtree.txt │ │ │ ├── innerClassesInStaticParameters.antlrtree.txt │ │ │ ├── innerConstructorsFromQualifiers.Outer.antlrtree.txt │ │ │ ├── innerConstructorsFromQualifiers.imported.antlrtree.txt │ │ │ ├── innerConstructorsFromQualifiersWithIrrelevantCandidate.Outer.antlrtree.txt │ │ │ ├── innerConstructorsFromQualifiersWithIrrelevantCandidate.imported.antlrtree.txt │ │ │ ├── innerErrorForClassObjects.antlrtree.txt │ │ │ ├── innerErrorForObjects.antlrtree.txt │ │ │ ├── innerThisSuper.antlrtree.txt │ │ │ ├── interfaceInInnerClass.antlrtree.txt │ │ │ ├── kt5854.antlrtree.txt │ │ │ ├── kt6026.antlrtree.txt │ │ │ ├── localClass.antlrtree.txt │ │ │ ├── localClassInsideNested.antlrtree.txt │ │ │ ├── localThisSuper.antlrtree.txt │ │ │ ├── modality.antlrtree.txt │ │ │ ├── nestedClassAccessedViaInstanceReference.antlrtree.txt │ │ │ ├── nestedClassExtendsOuter.antlrtree.txt │ │ │ ├── nestedClassExtendsOuterGeneric.antlrtree.txt │ │ │ ├── nestedClassInObject.antlrtree.txt │ │ │ ├── nestedClassNotAllowed_after.antlrtree.txt │ │ │ ├── nestedClassNotAllowed_before.antlrtree.txt │ │ │ ├── nestedClassTypeParameterNameCollision.antlrtree.txt │ │ │ ├── nestedObject.antlrtree.txt │ │ │ ├── nestedVsInnerAccessOuterMember.antlrtree.txt │ │ │ ├── outerGenericParam.antlrtree.txt │ │ │ ├── outerProtectedMember.antlrtree.txt │ │ │ ├── outerSuperClassMember.antlrtree.txt │ │ │ ├── qualifiedExpression/ │ │ │ │ ├── classObjectOfNestedClass.antlrtree.txt │ │ │ │ ├── constructNestedClass.antlrtree.txt │ │ │ │ ├── dataLocalVariable.antlrtree.txt │ │ │ │ ├── enumConstant.antlrtree.txt │ │ │ │ ├── genericNestedClass.antlrtree.txt │ │ │ │ ├── importNestedClass.a.antlrtree.txt │ │ │ │ ├── importNestedClass.b.antlrtree.txt │ │ │ │ ├── nestedClassInPackage.antlrtree.txt │ │ │ │ ├── nestedEnumConstant.antlrtree.txt │ │ │ │ ├── nestedObjects.antlrtree.txt │ │ │ │ └── typePosition.antlrtree.txt │ │ │ ├── referenceToSelfInLocal.antlrtree.txt │ │ │ ├── resolvePackageClassInObjects.antlrtree.txt │ │ │ ├── selfAnnotationForClassObject.antlrtree.txt │ │ │ ├── traits.antlrtree.txt │ │ │ ├── typeVarianceConflict.antlrtree.txt │ │ │ ├── typeVarianceConflictFeatureOn.antlrtree.txt │ │ │ └── visibility.antlrtree.txt │ │ ├── integerLiterals/ │ │ │ ├── complexMapping.complexMapping.
Copy disabled (too large)
Download .json
Condensed preview — 6926 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (107,836K chars).
[
{
"path": ".fleet/run.json",
"chars": 260,
"preview": "{\n \"configurations\": [\n {\n \"type\": \"gradle\",\n \"name\": \"Build web version\",\n \"tasks\": [\n \"build"
},
{
"path": ".fleet/settings.json",
"chars": 37,
"preview": "{\n \"backend.maxHeapSizeMb\": 4096\n}"
},
{
"path": ".github/actions/build-spec-in-docker/action.yml",
"chars": 143,
"preview": "name: 'Build Kotlin spec in its Docker container'\nruns:\n using: 'docker'\n image: '../../../docker/Dockerfile'\n entryp"
},
{
"path": ".github/actions/upload-spec-artifacts/action.yml",
"chars": 416,
"preview": "name: 'Upload Kotlin spec artifacts'\nruns:\n using: 'composite'\n steps:\n - name: 'Upload Kotlin spec PDF artifacts'\n"
},
{
"path": ".github/workflows/build-spec-on-pr-in-docker.yml",
"chars": 397,
"preview": "name: 'Build Kotlin spec on PRs (Docker version)'\n\non: [pull_request]\n\njobs:\n build-spec:\n runs-on: ubuntu-20.04\n "
},
{
"path": ".github/workflows/build-spec-on-pr.yml",
"chars": 1668,
"preview": "name: Build Kotlin spec on PRs\n\non: [pull_request]\n\njobs:\n build-spec:\n runs-on: ubuntu-20.04\n steps:\n - nam"
},
{
"path": ".gitignore",
"chars": 358,
"preview": "*.generated.md\n\ngrammar/testData/psi/**/*.*\n!grammar/testData/psi/**/*.antlrtree.txt\n!grammar/testData/psi/**/*.diff\n\ngr"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 184,
"preview": "# Code of Conduct\n\nThis project and the corresponding community is governed by the [JetBrains Open Source and Community "
},
{
"path": "CONTRIBUTING.md",
"chars": 5855,
"preview": "# Contributing\n\nIf you want to contribute to the Kotlin language specification, welcome!\nThis document describes the way"
},
{
"path": "LICENSE",
"chars": 11398,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 5273,
"preview": "# Kotlin Language Specification\n\n[](https://github.com/J"
},
{
"path": "ROADMAP.md",
"chars": 630,
"preview": "# Specification roadmap\n\n## Short-term plans\n\n* Improve Kotlin code examples\n* Synchronize specification of complex feat"
},
{
"path": "build.gradle.kts",
"chars": 2343,
"preview": "import at.phatbl.shellexec.ShellExec\n\nplugins {\n kotlin(\"jvm\") version \"1.7.0\" apply false\n id(\"at.phatbl.shellexe"
},
{
"path": "docker/Dockerfile",
"chars": 1062,
"preview": "FROM pandoc/latex:2.14.2-ubuntu\nMAINTAINER Marat Akhin <marat.akhin@jetbrains.com>\n\nWORKDIR /source\n\n# install Java 11\nR"
},
{
"path": "docker/build-spec.sh",
"chars": 87,
"preview": "#!/bin/bash\n\ncd /github/workspace\n\n./gradlew buildWeb buildPdf\n\n./gradlew :grammar:jar\n"
},
{
"path": "docs/build.gradle.kts",
"chars": 3928,
"preview": "import org.jetbrains.kotlin.gradle.tasks.KotlinCompile\nimport java.net.URI\n\nplugins {\n application\n kotlin(\"jvm\")\n"
},
{
"path": "docs/html/build.gradle.kts",
"chars": 579,
"preview": "val htmlBuildDir = \"${project.parent?.buildDir}/spec/html\"\nval scriptsDir = \"${project.parent?.projectDir}/scripts/build"
},
{
"path": "docs/htmlSections/build.gradle.kts",
"chars": 662,
"preview": "import java.nio.file.Paths\n\nval htmlBuildDir = \"${project.parent?.buildDir}/spec/html\"\nval scriptsDir = \"${project.paren"
},
{
"path": "docs/pdf/build.gradle.kts",
"chars": 627,
"preview": "val pdfBuildDir = \"${project.parent?.buildDir}/spec/pdf\"\nval scriptsDir = \"${project.parent?.projectDir}/scripts/build\"\n"
},
{
"path": "docs/pdfSections/build.gradle.kts",
"chars": 671,
"preview": "import java.nio.file.Paths\n\nval pdfBuildDir = \"${project.parent?.buildDir}/spec/pdf\"\nval scriptsDir = \"${project.parent?"
},
{
"path": "docs/scripts/build/buildHtml.sh",
"chars": 478,
"preview": "#!/bin/env bash\n\nsource directories.sh\nsource ${BUILD_DIR}/prepare.sh\nsource settings.sh\n\ninit_settings \"html\"\n\nexport P"
},
{
"path": "docs/scripts/build/buildHtmlBySections.sh",
"chars": 740,
"preview": "#!/bin/env bash\n\nsource directories.sh\nsource ${BUILD_DIR}/prepare.sh\nsource settings.sh\n\ninit_settings \"html\"\n\nexport P"
},
{
"path": "docs/scripts/build/buildPdf.sh",
"chars": 562,
"preview": "#!/bin/env bash\n\nsource directories.sh\nsource ${BUILD_DIR}/prepare.sh\nsource settings.sh\n\ninit_settings \"pdf\"\n\nexport PR"
},
{
"path": "docs/scripts/build/buildPdfBySections.sh",
"chars": 813,
"preview": "#!/bin/env bash\n\nsource directories.sh\nsource ${BUILD_DIR}/prepare.sh\nsource settings.sh\n\ninit_settings \"pdf\"\n\nexport PR"
},
{
"path": "docs/scripts/build/directories.sh",
"chars": 158,
"preview": "#!/bin/env bash\n\nexport PROJECT_DIR\n\nSECTIONS_DIR=\"$PROJECT_DIR/src/md/kotlin.core\"\nFILTERS_DIR=\"$PROJECT_DIR/scripts/fi"
},
{
"path": "docs/scripts/build/settings.sh",
"chars": 1067,
"preview": "#!/bin/env bash\n\nFORMAT_PANDOC_OPTIONS=\"-f markdown-raw_html+smart+tex_math_double_backslash\"\n\n#--variable=subparagraph "
},
{
"path": "docs/scripts/filters/brokenReferencesReportFilter.sh",
"chars": 117,
"preview": "#!/bin/env bash\njava -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.BrokenReferencesReporterKt $*\n"
},
{
"path": "docs/scripts/filters/compoundFilter.sh",
"chars": 180,
"preview": "#!/bin/bash\njava -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.CompoundFilterKt $* --embed $TODO_OPT"
},
{
"path": "docs/scripts/filters/copyPasteFilter.sh",
"chars": 108,
"preview": "#!/bin/env bash\njava -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.CopyPasteFilterKt $*\n"
},
{
"path": "docs/scripts/filters/inlineDiagramFilter.sh",
"chars": 120,
"preview": "#!/bin/env bash\njava -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.InlineDiagramFilterKt $* --embed\n"
},
{
"path": "docs/scripts/filters/inlineKatexFilter.sh",
"chars": 142,
"preview": "#!/bin/env bash\njava -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.InlineKatexKt $* $STATIC_MATH_OPT"
},
{
"path": "docs/scripts/filters/markSentencesFilter.sh",
"chars": 112,
"preview": "#!/bin/env bash\njava -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.MarkSentencesFilterKt $*\n"
},
{
"path": "docs/scripts/filters/mathInCodeFilter.sh",
"chars": 109,
"preview": "#!/bin/env bash\njava -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.MathInCodeFilterKt $*\n"
},
{
"path": "docs/scripts/filters/processTodoFilter.sh",
"chars": 123,
"preview": "#!/bin/env bash\njava -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.ProcessTodoFilterKt $* $TODO_OPTI"
},
{
"path": "docs/scripts/filters/splitSections.sh",
"chars": 106,
"preview": "#!/bin/env bash\njava -cp $PROJECT_DIR/build/libs/filters.jar org.jetbrains.kotlin.spec.SplitDocumentKt $*\n"
},
{
"path": "docs/src/main/kotlin/org/jetbrains/kotlin/spec/brokenReferencesReporter.kt",
"chars": 2048,
"preview": "package org.jetbrains.kotlin.spec\n\nimport ru.spbstu.pandoc.*\nimport ru.spbstu.pandoc.helper.*\n\nprivate class ModifiedToS"
},
{
"path": "docs/src/main/kotlin/org/jetbrains/kotlin/spec/compoundFilter.kt",
"chars": 2504,
"preview": "package org.jetbrains.kotlin.spec\n\nimport com.fasterxml.jackson.module.kotlin.readValue\nimport com.github.ajalt.clikt.co"
},
{
"path": "docs/src/main/kotlin/org/jetbrains/kotlin/spec/convertGrammar.kt",
"chars": 6461,
"preview": "package org.jetbrains.kotlin.spec\n\nimport com.github.ajalt.clikt.core.CliktCommand\nimport com.github.ajalt.clikt.paramet"
},
{
"path": "docs/src/main/kotlin/org/jetbrains/kotlin/spec/copyPasteFilter.kt",
"chars": 2844,
"preview": "package org.jetbrains.kotlin.spec\n\nimport ru.spbstu.pandoc.*\nimport ru.spbstu.pandoc.helper.*\n\nprivate class IdCollector"
},
{
"path": "docs/src/main/kotlin/org/jetbrains/kotlin/spec/inlineDiagramFilter.kt",
"chars": 3933,
"preview": "package org.jetbrains.kotlin.spec\n\nimport com.github.ajalt.clikt.core.CliktCommand\nimport com.github.ajalt.clikt.paramet"
},
{
"path": "docs/src/main/kotlin/org/jetbrains/kotlin/spec/inlineKatex.kt",
"chars": 2786,
"preview": "package org.jetbrains.kotlin.spec\n\nimport com.github.ajalt.clikt.core.CliktCommand\nimport com.github.ajalt.clikt.paramet"
},
{
"path": "docs/src/main/kotlin/org/jetbrains/kotlin/spec/markSentencesFilter.kt",
"chars": 3366,
"preview": "package org.jetbrains.kotlin.spec\n\nimport ru.spbstu.pandoc.*\n\nprivate const val SENTENCE_CLASS = \"sentence\"\nprivate cons"
},
{
"path": "docs/src/main/kotlin/org/jetbrains/kotlin/spec/mathInCodeFilter.kt",
"chars": 997,
"preview": "package org.jetbrains.kotlin.spec\n\nimport ru.spbstu.pandoc.*\n\nobject MathInCode : PandocVisitor() {\n override fun vis"
},
{
"path": "docs/src/main/kotlin/org/jetbrains/kotlin/spec/processTodoFilter.kt",
"chars": 4381,
"preview": "package org.jetbrains.kotlin.spec\n\nimport com.github.ajalt.clikt.core.CliktCommand\nimport com.github.ajalt.clikt.paramet"
},
{
"path": "docs/src/main/kotlin/org/jetbrains/kotlin/spec/splitDocument.kt",
"chars": 7795,
"preview": "package org.jetbrains.kotlin.spec\n\nimport com.github.ajalt.clikt.core.CliktCommand\nimport com.github.ajalt.clikt.paramet"
},
{
"path": "docs/src/md/commands.md",
"chars": 2889,
"preview": "<#mode quote>\n\n\\newcommand{\\currentKotlinMajorVersion}{\\textrm{1.9}}\n\n\\newcommand{\\opMathTT}[2]{%\n \\expandafter\\newcomm"
},
{
"path": "docs/src/md/dynamic_math.html",
"chars": 933,
"preview": "<script type=\"text/javascript\">\n require([\n \"resources/js/katex/katex.min.js\"\n ], katex => {\n let re"
},
{
"path": "docs/src/md/epilogue.html",
"chars": 0,
"preview": ""
},
{
"path": "docs/src/md/index.md",
"chars": 190,
"preview": "<#mode quote>\n---\ntitle: Kotlin language specification\nauthor:\n- Marat Akhin\n- Mikhail Belyaev\nsubtitle: Version 1.9-rfc"
},
{
"path": "docs/src/md/kotlin.core/annotations.md",
"chars": 11548,
"preview": "## Annotations\n\nAnnotations are a form of syntactically-defined metadata which may be associated with different entities"
},
{
"path": "docs/src/md/kotlin.core/builtins.md",
"chars": 18445,
"preview": "## Built-in types and their semantics\n\nKotlin has several built-in classifier types, which are important for the rest of"
},
{
"path": "docs/src/md/kotlin.core/cdfa.md",
"chars": 67654,
"preview": "## Control- and data-flow analysis\n\nSeveral Kotlin features such as [variable initialization analysis] and [smart castin"
},
{
"path": "docs/src/md/kotlin.core/concurrency.md",
"chars": 293,
"preview": "## Concurrency\n\nKotlin Core does not specify the semantics of the code running in concurrent environments.\nFor informati"
},
{
"path": "docs/src/md/kotlin.core/coroutines.md",
"chars": 14113,
"preview": "## Asynchronous programming with coroutines\n\nTODO([Kotlin 1.3+, Experimental] Update w.r.t. structured concurrency)\n\n###"
},
{
"path": "docs/src/md/kotlin.core/declarations.md",
"chars": 93296,
"preview": "## Declarations\n\n### Glossary {-}\n\nEntity\n~ Distinguishable part of a program\n\nIdentifier\n~ Name of a program entity\n\nPa"
},
{
"path": "docs/src/md/kotlin.core/exceptions.md",
"chars": 2847,
"preview": "## Exceptions\n\nAn *exception* type declaration is any type declaration that meets the following criteria:\n\n- It is a [cl"
},
{
"path": "docs/src/md/kotlin.core/expressions.md",
"chars": 81355,
"preview": "## Expressions\n\n### Glossary {-}\n\nCSB\n~ [Control structure body][Code blocks]\n\n### Introduction {-}\n\nExpressions (togeth"
},
{
"path": "docs/src/md/kotlin.core/index.md",
"chars": 578,
"preview": "# Kotlin/Core\n\n<#include \"introduction.md\">\n\n<#include \"syntax.md\">\n\n<#include \"type-system.md\">\n\n<#include \"builtins.md"
},
{
"path": "docs/src/md/kotlin.core/inheritance.md",
"chars": 9248,
"preview": "## Inheritance\n\nKotlin is an object-oriented language with its object model based on **inheritance**.\n\n### Classifier ty"
},
{
"path": "docs/src/md/kotlin.core/introduction.md",
"chars": 4539,
"preview": "## Introduction {-}\n\nKotlin took inspiration from many programming languages, including (but not limited to) Java, Scala"
},
{
"path": "docs/src/md/kotlin.core/operators.md",
"chars": 7303,
"preview": "## Operator overloading\n\nSome syntax forms in Kotlin are *defined by convention*, meaning that their semantics are defin"
},
{
"path": "docs/src/md/kotlin.core/overload-resolution.md",
"chars": 51825,
"preview": "## Overload resolution\n\n### Glossary {-}\n\n`type(e)`\n~ [Type][Type system] of expression `e`\n\n### Introduction {-}\n\nKotli"
},
{
"path": "docs/src/md/kotlin.core/packages.md",
"chars": 5515,
"preview": "## Packages and imports\n\nA Kotlin project is structured into **packages**.\nA package contains one or more Kotlin files, "
},
{
"path": "docs/src/md/kotlin.core/rtti.md",
"chars": 4094,
"preview": "## Runtime type information\n\nThe _runtime type information_ (RTTI) is the information about Kotlin types of values avail"
},
{
"path": "docs/src/md/kotlin.core/scoping.md",
"chars": 9586,
"preview": "## Scopes and identifiers\n\nKotlin program is logically divided into _scopes_.\n\nA scope is a syntactically-delimited regi"
},
{
"path": "docs/src/md/kotlin.core/statements.md",
"chars": 12130,
"preview": "## Statements\n\n:::{.paste target=grammar-rule-statements}\n:::\n:::{.paste target=grammar-rule-statement}\n:::\n\nKotlin does"
},
{
"path": "docs/src/md/kotlin.core/syntax.md",
"chars": 30581,
"preview": "## Syntax and grammar\n\n### Notation\n\nThis section uses a BNF-based notation similar to EBNF with the following conventio"
},
{
"path": "docs/src/md/kotlin.core/type-constraints.md",
"chars": 14131,
"preview": "## Kotlin type constraints\n\nSome complex tasks that need to be solved when compiling Kotlin code are formulated best usi"
},
{
"path": "docs/src/md/kotlin.core/type-inference.md",
"chars": 29617,
"preview": "## Type inference\n\nKotlin has a concept of *type inference* for compile-time type information, meaning some type informa"
},
{
"path": "docs/src/md/kotlin.core/type-system.md",
"chars": 66477,
"preview": "## Type system\n\n### Glossary {-}\n\n$T$\n~ Type (with unknown nullability)\n\n$T!!$\n~ [Non-nullable type][Nullable types]\n\n$T"
},
{
"path": "docs/src/md/kotlin.jvm/declarations.md",
"chars": 156,
"preview": "## Declarations\n\n### Classifier declaration\n\n#### Class declaration\n\n##### Inheritance delegation\n\nTODO(How we handle de"
},
{
"path": "docs/src/md/kotlin.jvm/index.md",
"chars": 130,
"preview": "# Kotlin/JVM\n\n<#include \"type-system.md\">\n\n<#include \"declarations.md\">\n\n<#include \"rtti.md\">\n\n<#include \"lambda-express"
},
{
"path": "docs/src/md/kotlin.jvm/lambda-expressions.md",
"chars": 602,
"preview": "## Lambda expressions\n\nTODO(Everything)\n\n> Note: creating excessive lambda instances may potentially lead to logical mem"
},
{
"path": "docs/src/md/kotlin.jvm/rtti.md",
"chars": 86,
"preview": "## Runtime type information\n\nTODO(Function0..Function22, Function<R>, FunctionN, ...)\n"
},
{
"path": "docs/src/md/kotlin.jvm/type-system.md",
"chars": 574,
"preview": "## Type system\n\n### Type kinds\n\n#### Type parameters\n\nOn the JVM platform, bounded type parameter with regular bounds sh"
},
{
"path": "docs/src/md/kotlin.xml",
"chars": 17702,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- kotlin language syntax http://kotlinlang.org -->\n<language name=\"Kotlin\" ver"
},
{
"path": "docs/src/md/preamble.html",
"chars": 1650,
"preview": "<link rel=\"Shortcut Icon\" href=\"https://kotlinlang.org/assets/images/favicon.ico\" type=\"image/x-icon\"/>\n<link rel=\"apple"
},
{
"path": "docs/src/md/preamble.tex",
"chars": 791,
"preview": "\\usepackage{enumitem}\n\\setlist[description]{style=nextline}\n\n\\usepackage{amsmath}\n\\usepackage{cancel}\n\n\\usepackage{todon"
},
{
"path": "docs/src/md/preface.html",
"chars": 613,
"preview": "<div class=\"header-bar\">\n <div class=\"icon-menu\">\n <span class=\"divide\"></span>\n <span class=\"divide\"><"
},
{
"path": "gradle/wrapper/gradle-wrapper.properties",
"chars": 202,
"preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
},
{
"path": "gradle.properties",
"chars": 50,
"preview": "withGrammarProject=true\n\norg.gradle.parallel=true\n"
},
{
"path": "gradlew",
"chars": 5960,
"preview": "#!/usr/bin/env sh\n\n#\n# Copyright 2015 the original author or authors.\n#\n# Licensed under the Apache License, Version 2.0"
},
{
"path": "gradlew.bat",
"chars": 2842,
"preview": "@rem\n@rem Copyright 2015 the original author or authors.\n@rem\n@rem Licensed under the Apache License, Version 2.0 (the \""
},
{
"path": "grammar/README.md",
"chars": 2482,
"preview": "# Kotlin grammar\n\n[\n *\n * Taken from http://www.antlr3.org/grammar/134514"
},
{
"path": "grammar/src/main/antlr/UnicodeClasses.tokens",
"chars": 133,
"preview": "UNICODE_CLASS_LL=1\nUNICODE_CLASS_LM=2\nUNICODE_CLASS_LO=3\nUNICODE_CLASS_LT=4\nUNICODE_CLASS_LU=5\nUNICODE_CLASS_ND=6\nUNICOD"
},
{
"path": "grammar/src/test/org/jetbrains/kotlin/spec/grammar/TestRunner.kt",
"chars": 5951,
"preview": "package org.jetbrains.kotlin.spec.grammar\n\nimport com.intellij.testFramework.TestDataPath\nimport org.jetbrains.kotlin.sp"
},
{
"path": "grammar/src/test/org/jetbrains/kotlin/spec/grammar/parsetree/ComparisonTree.kt",
"chars": 4848,
"preview": "package org.jetbrains.kotlin.spec.grammar.parsetree\n\nimport com.intellij.openapi.util.io.FileUtil\nimport java.io.File\nim"
},
{
"path": "grammar/src/test/org/jetbrains/kotlin/spec/grammar/parsetree/KotlinParseTree.kt",
"chars": 1211,
"preview": "package org.jetbrains.kotlin.spec.grammar.parsetree\n\nimport org.jetbrains.kotlin.spec.grammar.util.TestUtil.ls\nimport ja"
},
{
"path": "grammar/src/test/org/jetbrains/kotlin/spec/grammar/parsetree/ParseTreeUtil.kt",
"chars": 4782,
"preview": "package org.jetbrains.kotlin.spec.grammar.parsetree\n\nimport org.antlr.v4.runtime.*\nimport org.antlr.v4.runtime.atn.Predi"
},
{
"path": "grammar/src/test/org/jetbrains/kotlin/spec/grammar/psi/PsiTextParser.kt",
"chars": 4208,
"preview": "package org.jetbrains.kotlin.spec.grammar.psi\n\nimport java.util.*\nimport java.util.regex.Matcher\nimport java.util.regex."
},
{
"path": "grammar/src/test/org/jetbrains/kotlin/spec/grammar/util/TestUtil.kt",
"chars": 3819,
"preview": "package org.jetbrains.kotlin.spec.grammar.util\n\nimport com.intellij.openapi.util.io.FileUtil\nimport com.intellij.openapi"
},
{
"path": "grammar/testData/diagnostics/Abstract.b.antlrtree.txt",
"chars": 37437,
"preview": "File: Abstract.b.kt - 1653c958f5acf2bb6dff2bd874377d98\n packageHeader\n PACKAGE(\"package\")\n identifier\n simpl"
},
{
"path": "grammar/testData/diagnostics/Abstract.c.antlrtree.txt",
"chars": 14750,
"preview": "File: Abstract.c.kt - 1d59066bffbd812bda005664a647b642\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObject\n decl"
},
{
"path": "grammar/testData/diagnostics/AbstractAccessor.antlrtree.txt",
"chars": 7724,
"preview": "File: AbstractAccessor.kt - 0dc14db75b4f030d55b4337e405bf860\n packageHeader\n importList\n topLevelObject\n declarati"
},
{
"path": "grammar/testData/diagnostics/AbstractInAbstractClass.antlrtree.txt",
"chars": 48952,
"preview": "File: AbstractInAbstractClass.kt - f330f7abc48344d5e2331c0165649d1d\n NL(\"\\n\")\n packageHeader\n PACKAGE(\"package\")\n "
},
{
"path": "grammar/testData/diagnostics/AbstractInClass.antlrtree.txt",
"chars": 49831,
"preview": "File: AbstractInClass.kt - 0b3f5cf31761f3bc15c46f9cb3cf2061\n NL(\"\\n\")\n packageHeader\n PACKAGE(\"package\")\n identi"
},
{
"path": "grammar/testData/diagnostics/AbstractInTrait.antlrtree.txt",
"chars": 49738,
"preview": "File: AbstractInTrait.kt - 9339caa9e5d8c7bab0facd97d7d2767d\n NL(\"\\n\")\n packageHeader\n PACKAGE(\"package\")\n identi"
},
{
"path": "grammar/testData/diagnostics/AnonymousInitializerVarAndConstructor.antlrtree.txt",
"chars": 3723,
"preview": "File: AnonymousInitializerVarAndConstructor.kt - 5b0762eea5f1ee4dd211ae314d5d73af\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n pac"
},
{
"path": "grammar/testData/diagnostics/AnonymousInitializers.antlrtree.txt",
"chars": 11350,
"preview": "File: AnonymousInitializers.kt - 9c742b772222e9612bef487c061a254a\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObje"
},
{
"path": "grammar/testData/diagnostics/AssignToArrayElement.antlrtree.txt",
"chars": 24899,
"preview": "File: AssignToArrayElement.kt - 0b443c2b058eaeca0b8178385135a904\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObjec"
},
{
"path": "grammar/testData/diagnostics/AutoCreatedIt.antlrtree.txt",
"chars": 60453,
"preview": "File: AutoCreatedIt.kt - 16255624719e6f14b4e58d93cb28a689\n packageHeader\n importList\n topLevelObject\n declaration\n"
},
{
"path": "grammar/testData/diagnostics/BacktickNames.antlrtree.txt",
"chars": 72493,
"preview": "File: BacktickNames.kt - 5e43fd112302a18ef7d562143608d43f\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\"
},
{
"path": "grammar/testData/diagnostics/Basic.antlrtree.txt",
"chars": 20106,
"preview": "File: Basic.kt - ffc8c3f0460d2ff8a7fba644aed94323\n packageHeader\n importList\n topLevelObject\n declaration\n fu"
},
{
"path": "grammar/testData/diagnostics/BinaryCallsOnNullableValues.antlrtree.txt",
"chars": 37167,
"preview": "File: BinaryCallsOnNullableValues.kt - 3286a70749bd3fcb8f7702dc73e17727\n packageHeader\n importList\n topLevelObject\n "
},
{
"path": "grammar/testData/diagnostics/Bounds.a.antlrtree.txt",
"chars": 18583,
"preview": "File: Bounds.a.kt - 64a7915ec6dc9ded98aed4fcf97bfcb0\n packageHeader\n PACKAGE(\"package\")\n identifier\n simpleI"
},
{
"path": "grammar/testData/diagnostics/Bounds.b.antlrtree.txt",
"chars": 29280,
"preview": "File: Bounds.b.kt - 75b66acdf64f48194f463649d6a4f081\n packageHeader\n importList\n topLevelObject\n declaration\n "
},
{
"path": "grammar/testData/diagnostics/BreakContinue.antlrtree.txt",
"chars": 139373,
"preview": "File: BreakContinue.kt - 93ceae9127a5fc6c1b472929a4ed921d\n packageHeader\n importList\n topLevelObject\n declaration\n"
},
{
"path": "grammar/testData/diagnostics/BreakContinueInWhen_after.antlrtree.txt",
"chars": 163376,
"preview": "File: BreakContinueInWhen_after.kt - 9261914a8cf8c785889959c94104f9eb\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList"
},
{
"path": "grammar/testData/diagnostics/BreakContinueInWhen_before.antlrtree.txt",
"chars": 115841,
"preview": "File: BreakContinueInWhen_before.kt - d36d21d00790799e26e64df6465eaf90\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importLis"
},
{
"path": "grammar/testData/diagnostics/Builders.a.antlrtree.txt",
"chars": 369437,
"preview": "File: Builders.a.kt - c3470fb71c965489f2d0c759f5e7a86b\n NL(\"\\n\")\n packageHeader\n PACKAGE(\"package\")\n identifier\n"
},
{
"path": "grammar/testData/diagnostics/Casts.antlrtree.txt",
"chars": 72420,
"preview": "File: Casts.kt - f170e1212ee14d5edba6af82b36b4749\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObject\n "
},
{
"path": "grammar/testData/diagnostics/CharacterLiterals.antlrtree.txt",
"chars": 1669,
"preview": "File: CharacterLiterals.kt - dce7c3b2ff711fbac1831cfbdd64208a (WITH_ERRORS)\n packageHeader\n importList\n topLevelObjec"
},
{
"path": "grammar/testData/diagnostics/CompareToWithErrorType.antlrtree.txt",
"chars": 4837,
"preview": "File: CompareToWithErrorType.kt - 022cfdd71389b0a2ddaf15304fac4695\n packageHeader\n importList\n topLevelObject\n dec"
},
{
"path": "grammar/testData/diagnostics/Constants.antlrtree.txt",
"chars": 151940,
"preview": "File: Constants.kt - bda7bfc6ea91e5ba2ff81643a6c85e68\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObjec"
},
{
"path": "grammar/testData/diagnostics/Constructors.antlrtree.txt",
"chars": 14337,
"preview": "File: Constructors.kt - f788ad0a39e2a89d02a61f6c74962359 (WITH_ERRORS)\n packageHeader\n importList\n topLevelObject\n "
},
{
"path": "grammar/testData/diagnostics/ConstructorsOfPrimitives.antlrtree.txt",
"chars": 10735,
"preview": "File: ConstructorsOfPrimitives.kt - dd2396edc1df67140f6e0a4a7d588e48\n packageHeader\n importList\n topLevelObject\n d"
},
{
"path": "grammar/testData/diagnostics/CovariantOverrideType.antlrtree.txt",
"chars": 20295,
"preview": "File: CovariantOverrideType.kt - 94e24508b08cd92765d50ac51c1ae935\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObje"
},
{
"path": "grammar/testData/diagnostics/DefaultValueForParameterInFunctionType.antlrtree.txt",
"chars": 13292,
"preview": "File: DefaultValueForParameterInFunctionType.kt - fd66b4d7f802347ea5ebfbf67133cfc3 (WITH_ERRORS)\n NL(\"\\n\")\n NL(\"\\n\")\n "
},
{
"path": "grammar/testData/diagnostics/DefaultValuesCheckWithoutBody.antlrtree.txt",
"chars": 9433,
"preview": "File: DefaultValuesCheckWithoutBody.kt - 0c44ee3a78a4ec651a067f09503a702b\n NL(\"\\n\")\n packageHeader\n importList\n topL"
},
{
"path": "grammar/testData/diagnostics/DefaultValuesTypechecking.antlrtree.txt",
"chars": 59817,
"preview": "File: DefaultValuesTypechecking.kt - b4cea46ed48599c6ad967c36e15eb5b2\n packageHeader\n importList\n topLevelObject\n "
},
{
"path": "grammar/testData/diagnostics/DeferredTypes.antlrtree.txt",
"chars": 2344,
"preview": "File: DeferredTypes.kt - acbcab50024fe0974d8e971102b93cab\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n topLevelO"
},
{
"path": "grammar/testData/diagnostics/DeprecatedGetSetPropertyDelegateConvention.antlrtree.txt",
"chars": 67754,
"preview": "File: DeprecatedGetSetPropertyDelegateConvention.kt - 41a1a8777a28a6877c03b5f074256c94\n NL(\"\\n\")\n NL(\"\\n\")\n packageHe"
},
{
"path": "grammar/testData/diagnostics/DeprecatedUnaryOperatorConventions.antlrtree.txt",
"chars": 28695,
"preview": "File: DeprecatedUnaryOperatorConventions.kt - 933d8dab5d362e83aa16b80aae9d8d93\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n i"
},
{
"path": "grammar/testData/diagnostics/DiamondFunction.antlrtree.txt",
"chars": 3699,
"preview": "File: DiamondFunction.kt - 860904ed705890d3e520aa1744af5254\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObject\n "
},
{
"path": "grammar/testData/diagnostics/DiamondFunctionGeneric.antlrtree.txt",
"chars": 5802,
"preview": "File: DiamondFunctionGeneric.kt - adbf7d276a5b008b43f2db179d76e986\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObj"
},
{
"path": "grammar/testData/diagnostics/DiamondProperty.antlrtree.txt",
"chars": 4584,
"preview": "File: DiamondProperty.kt - 8b1a930c6c9ab0783099d2c2f91248b4\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObject\n "
},
{
"path": "grammar/testData/diagnostics/Dollar.antlrtree.txt",
"chars": 8059,
"preview": "File: Dollar.kt - 2395501cfbd6b043cf8642ac4cdc0ce6\n NL(\"\\n\")\n packageHeader\n PACKAGE(\"package\")\n identifier\n "
},
{
"path": "grammar/testData/diagnostics/EnumEntryAsType.antlrtree.txt",
"chars": 71332,
"preview": "File: EnumEntryAsType.kt - 28ff420512194d935c74950eb9cb04b6\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n topLeve"
},
{
"path": "grammar/testData/diagnostics/ExtensionCallInvoke.antlrtree.txt",
"chars": 9935,
"preview": "File: ExtensionCallInvoke.kt - 497c938e806c0eb7827d5a16d860aa51\n packageHeader\n importList\n topLevelObject\n declar"
},
{
"path": "grammar/testData/diagnostics/ExternalAccessors.antlrtree.txt",
"chars": 4079,
"preview": "File: ExternalAccessors.kt - 7d9a844917a0c99ba5b41aed82e7f133\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importL"
},
{
"path": "grammar/testData/diagnostics/ExternalAndAbstract.antlrtree.txt",
"chars": 2443,
"preview": "File: ExternalAndAbstract.kt - a8825ec1e5974e8def10814960039b2d\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObject"
},
{
"path": "grammar/testData/diagnostics/ForRangeConventions.antlrtree.txt",
"chars": 57583,
"preview": "File: ForRangeConventions.kt - 5c4f48709f115effb9fb949ee212b9d3\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n i"
},
{
"path": "grammar/testData/diagnostics/FreeFunctionCalledAsExtension.antlrtree.txt",
"chars": 7384,
"preview": "File: FreeFunctionCalledAsExtension.kt - b22c92c2d9fbd292bc12c2de13f10269\n packageHeader\n importList\n topLevelObject\n"
},
{
"path": "grammar/testData/diagnostics/FreeFunctionCalledAsExtension.reversed.antlrtree.txt",
"chars": 7393,
"preview": "File: FreeFunctionCalledAsExtension.reversed.kt - b22c92c2d9fbd292bc12c2de13f10269\n packageHeader\n importList\n topLev"
},
{
"path": "grammar/testData/diagnostics/FunctionCalleeExpressions.antlrtree.txt",
"chars": 100736,
"preview": "File: FunctionCalleeExpressions.kt - d61ea8cba7585448c1096b67ca93fa8d (WITH_ERRORS)\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeade"
},
{
"path": "grammar/testData/diagnostics/FunctionParameterWithoutType.antlrtree.txt",
"chars": 6387,
"preview": "File: FunctionParameterWithoutType.kt - ee789bdb529ef71cec4c3ba6c991e3b7 (WITH_ERRORS)\n NL(\"\\n\")\n packageHeader\n impo"
},
{
"path": "grammar/testData/diagnostics/FunctionReturnTypes.antlrtree.txt",
"chars": 388773,
"preview": "File: FunctionReturnTypes.kt - ef8a86ead961d128fac128d93e8a799b\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n top"
},
{
"path": "grammar/testData/diagnostics/GenericArgumentConsistency.a.antlrtree.txt",
"chars": 11306,
"preview": "File: GenericArgumentConsistency.a.kt - bdf031ae73445d31de726632eff8232a\n packageHeader\n importList\n topLevelObject\n "
},
{
"path": "grammar/testData/diagnostics/GenericArgumentConsistency.b.antlrtree.txt",
"chars": 4350,
"preview": "File: GenericArgumentConsistency.b.kt - f9fa3e90d75ca4717baeb01645f76073\n packageHeader\n PACKAGE(\"package\")\n iden"
},
{
"path": "grammar/testData/diagnostics/GenericArgumentConsistency.c.antlrtree.txt",
"chars": 4351,
"preview": "File: GenericArgumentConsistency.c.kt - 95863948bb3f94d6a5c21d0d98951a29\n packageHeader\n PACKAGE(\"package\")\n iden"
},
{
"path": "grammar/testData/diagnostics/GenericArgumentConsistency.d.antlrtree.txt",
"chars": 4349,
"preview": "File: GenericArgumentConsistency.d.kt - e702ed55743eab3546753d40f9b92b52\n packageHeader\n PACKAGE(\"package\")\n iden"
},
{
"path": "grammar/testData/diagnostics/GenericArgumentConsistency.e.antlrtree.txt",
"chars": 4350,
"preview": "File: GenericArgumentConsistency.e.kt - 17707d4db7a4af2859adea5ef5341db8\n packageHeader\n PACKAGE(\"package\")\n iden"
},
{
"path": "grammar/testData/diagnostics/GenericArgumentConsistency.f.antlrtree.txt",
"chars": 5648,
"preview": "File: GenericArgumentConsistency.f.kt - 04c141c1079cc180c51c95221c75b1fe\n packageHeader\n importList\n topLevelObject\n "
},
{
"path": "grammar/testData/diagnostics/GenericFunctionIsLessSpecific.antlrtree.txt",
"chars": 16782,
"preview": "File: GenericFunctionIsLessSpecific.kt - 1c7634072fcc4ac05b9492c218e7825c\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n "
},
{
"path": "grammar/testData/diagnostics/IdentityComparisonWithPrimitives.antlrtree.txt",
"chars": 270705,
"preview": "File: IdentityComparisonWithPrimitives.kt - c557097502fea09d6de6ed59fd89aaa3\n packageHeader\n importList\n topLevelObje"
},
{
"path": "grammar/testData/diagnostics/IncDec.antlrtree.txt",
"chars": 40948,
"preview": "File: IncDec.kt - fe1b27dcd36fbef2e75d8f916994b59f\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObject\n declarat"
},
{
"path": "grammar/testData/diagnostics/IncDecOperatorsInExpectClass.antlrtree.txt",
"chars": 2492,
"preview": "File: IncDecOperatorsInExpectClass.kt - e344413571d82384a6a0eafbf202f52a\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n N"
},
{
"path": "grammar/testData/diagnostics/IncorrectCharacterLiterals.antlrtree.txt",
"chars": 5864,
"preview": "File: IncorrectCharacterLiterals.kt - 4350acb7bcc6a4d2574d402359f710d3 (WITH_ERRORS)\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n "
},
{
"path": "grammar/testData/diagnostics/InferNullabilityInThenBlock.antlrtree.txt",
"chars": 12931,
"preview": "File: InferNullabilityInThenBlock.kt - 586e9032f2086bab5312f49558ed48d2\n packageHeader\n importList\n topLevelObject\n "
},
{
"path": "grammar/testData/diagnostics/Infix.antlrtree.txt",
"chars": 83139,
"preview": "File: Infix.kt - b3215dafe86fe1b8d005e69163235089\n packageHeader\n importList\n topLevelObject\n declaration\n cl"
},
{
"path": "grammar/testData/diagnostics/InfixModifierApplicability.antlrtree.txt",
"chars": 27504,
"preview": "File: InfixModifierApplicability.kt - f04724d044fb5c88ec3758aa3a32c407\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importLis"
},
{
"path": "grammar/testData/diagnostics/InvokeAndRecursiveResolve.antlrtree.txt",
"chars": 12065,
"preview": "File: InvokeAndRecursiveResolve.kt - c7cb0b1bb974a08c63e0891cd6b03637\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList"
},
{
"path": "grammar/testData/diagnostics/IsExpressions.KotlinFile.antlrtree.txt",
"chars": 23047,
"preview": "File: IsExpressions.KotlinFile.kt - 921b40cab3833d2806f514eb57672a7f\n packageHeader\n importList\n topLevelObject\n d"
},
{
"path": "grammar/testData/diagnostics/LValueAssignment.antlrtree.txt",
"chars": 104670,
"preview": "File: LValueAssignment.kt - 8ecdf806019f2b18dcfb685364cf61dc (WITH_ERRORS)\n packageHeader\n PACKAGE(\"package\")\n id"
},
{
"path": "grammar/testData/diagnostics/LValueAssignment.diff",
"chars": 56,
"preview": "Needs labels on arbitrary expressions to parse correctly"
},
{
"path": "grammar/testData/diagnostics/LiteralAsResult.antlrtree.txt",
"chars": 2936,
"preview": "File: LiteralAsResult.kt - f563d7be2401ce8780752f11b8e4f030\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importLis"
},
{
"path": "grammar/testData/diagnostics/LocalClassAndShortSubpackageNames.A.antlrtree.txt",
"chars": 484,
"preview": "File: LocalClassAndShortSubpackageNames.A.kt - dce64dce79ea717231548563345380fe\n packageHeader\n PACKAGE(\"package\")\n "
},
{
"path": "grammar/testData/diagnostics/LocalClassAndShortSubpackageNames.B.antlrtree.txt",
"chars": 6546,
"preview": "File: LocalClassAndShortSubpackageNames.B.kt - e2cb8f98c53451ce23b676f1de5e84d6\n packageHeader\n PACKAGE(\"package\")\n "
},
{
"path": "grammar/testData/diagnostics/MultilineStringTemplates.antlrtree.txt",
"chars": 111356,
"preview": "File: MultilineStringTemplates.kt - ac1400d8ddba1523c1e8c2b2d9228d6a\n NL(\"\\n\")\n packageHeader\n importList\n topLevelO"
},
{
"path": "grammar/testData/diagnostics/MultipleBounds.antlrtree.txt",
"chars": 54264,
"preview": "File: MultipleBounds.kt - 280448b73eff2c81165b46a718f80db4\n packageHeader\n PACKAGE(\"package\")\n identifier\n s"
},
{
"path": "grammar/testData/diagnostics/NamedFunctionTypeParameterInSupertype.antlrtree.txt",
"chars": 4747,
"preview": "File: NamedFunctionTypeParameterInSupertype.kt - be4ec0c513c4d410e24cdaf71e31f9aa\n packageHeader\n importList\n topLeve"
},
{
"path": "grammar/testData/diagnostics/Nullability.antlrtree.txt",
"chars": 756607,
"preview": "File: Nullability.kt - 8e8fd46dca6cf845f3a3a76ad10a0238\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObj"
},
{
"path": "grammar/testData/diagnostics/NumberPrefixAndSuffix.antlrtree.txt",
"chars": 64212,
"preview": "File: NumberPrefixAndSuffix.kt - 209ffef993dda9b8d7ae53fa451c30f4\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n t"
},
{
"path": "grammar/testData/diagnostics/ObjectWithConstructor.antlrtree.txt",
"chars": 5679,
"preview": "File: ObjectWithConstructor.kt - e8641c9451b5e1d5b4466be03cb1d125 (WITH_ERRORS)\n packageHeader\n importList\n topLevelO"
},
{
"path": "grammar/testData/diagnostics/OperatorChecks.antlrtree.txt",
"chars": 176669,
"preview": "File: OperatorChecks.kt - 39f7bbf616551f3f454b681e0bf66b5c\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n import"
},
{
"path": "grammar/testData/diagnostics/Operators.antlrtree.txt",
"chars": 144735,
"preview": "File: Operators.kt - 569cd625293e85b6629e705dd81bef50\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObjec"
},
{
"path": "grammar/testData/diagnostics/OperatorsWithWrongNames.antlrtree.txt",
"chars": 12314,
"preview": "File: OperatorsWithWrongNames.kt - 4c861a0d970d0493b0530d066df7b538\n NL(\"\\n\")\n packageHeader\n importList\n topLevelOb"
},
{
"path": "grammar/testData/diagnostics/OverrideFunctionWithParamDefaultValue.antlrtree.txt",
"chars": 8187,
"preview": "File: OverrideFunctionWithParamDefaultValue.kt - 25963097181200a95419d4587a3de99a\n NL(\"\\n\")\n packageHeader\n importLis"
},
{
"path": "grammar/testData/diagnostics/OverridenFunctionAndSpecifiedTypeParameter.antlrtree.txt",
"chars": 9955,
"preview": "File: OverridenFunctionAndSpecifiedTypeParameter.kt - 955503911cff2998c3e877708bb462d6\n NL(\"\\n\")\n NL(\"\\n\")\n packageHe"
},
{
"path": "grammar/testData/diagnostics/OverridenSetterVisibility.antlrtree.txt",
"chars": 18477,
"preview": "File: OverridenSetterVisibility.kt - 12441df8a65d2fe172720cd2d27bc894\n packageHeader\n importList\n topLevelObject\n "
},
{
"path": "grammar/testData/diagnostics/OverridingVarByVal.antlrtree.txt",
"chars": 8046,
"preview": "File: OverridingVarByVal.kt - ffdf4937405f7e097350663f82f4df82\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObject\n"
},
{
"path": "grammar/testData/diagnostics/PackageInExpressionPosition.antlrtree.txt",
"chars": 29816,
"preview": "File: PackageInExpressionPosition.kt - 5e9e4b5ff24a245a5eeb03e058291c83\n NL(\"\\n\")\n packageHeader\n PACKAGE(\"package\""
},
{
"path": "grammar/testData/diagnostics/PackageInTypePosition.a.antlrtree.txt",
"chars": 238,
"preview": "File: PackageInTypePosition.a.kt - 96c98b8667d005ddfc3cea5df8800fdf\n packageHeader\n PACKAGE(\"package\")\n identifie"
},
{
"path": "grammar/testData/diagnostics/PackageInTypePosition.b.antlrtree.txt",
"chars": 2222,
"preview": "File: PackageInTypePosition.b.kt - 13098159a5a17fae26b8db848d86c9c0\n packageHeader\n importList\n topLevelObject\n de"
},
{
"path": "grammar/testData/diagnostics/PackageQualified.a.antlrtree.txt",
"chars": 5772,
"preview": "File: PackageQualified.a.kt - 155295d14891ef6a3f7560a99c742295\n packageHeader\n PACKAGE(\"package\")\n identifier\n "
},
{
"path": "grammar/testData/diagnostics/PackageQualified.b.antlrtree.txt",
"chars": 2014,
"preview": "File: PackageQualified.b.kt - e529f683969648b19955c79414bff65f\n packageHeader\n PACKAGE(\"package\")\n identifier\n "
},
{
"path": "grammar/testData/diagnostics/PackageQualified.c.antlrtree.txt",
"chars": 3933,
"preview": "File: PackageQualified.c.kt - 9659d49d583de1032dd7fed9f2601726\n packageHeader\n PACKAGE(\"package\")\n identifier\n "
},
{
"path": "grammar/testData/diagnostics/PackageQualified.d.antlrtree.txt",
"chars": 70528,
"preview": "File: PackageQualified.d.kt - 6ce7455268726fa122937d8147822ecf\n packageHeader\n PACKAGE(\"package\")\n identifier\n "
},
{
"path": "grammar/testData/diagnostics/PrimaryConstructors.antlrtree.txt",
"chars": 17859,
"preview": "File: PrimaryConstructors.kt - 6470846d984fe0ba36ae638d78831d66\n NL(\"\\n\")\n packageHeader\n importList\n topLevelObject"
},
{
"path": "grammar/testData/diagnostics/PrivateFromOuterPackage.a.antlrtree.txt",
"chars": 950,
"preview": "File: PrivateFromOuterPackage.a.kt - 8776257d69b450dc1c524040f0e37978\n packageHeader\n PACKAGE(\"package\")\n identif"
},
{
"path": "grammar/testData/diagnostics/PrivateFromOuterPackage.b.antlrtree.txt",
"chars": 3863,
"preview": "File: PrivateFromOuterPackage.b.kt - 686abf395955135d4f4fd910cb32393e\n packageHeader\n PACKAGE(\"package\")\n identif"
},
{
"path": "grammar/testData/diagnostics/PrivateFromOuterPackage.c.antlrtree.txt",
"chars": 3911,
"preview": "File: PrivateFromOuterPackage.c.kt - b834880c278657c78d3e393df9a24521\n packageHeader\n PACKAGE(\"package\")\n identif"
},
{
"path": "grammar/testData/diagnostics/PrivateSetterForOverridden.antlrtree.txt",
"chars": 34614,
"preview": "File: PrivateSetterForOverridden.kt - 34a84caef1d4537ec381b745cf8f87e1\n NL(\"\\n\")\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n"
},
{
"path": "grammar/testData/diagnostics/ProcessingEmptyImport.antlrtree.txt",
"chars": 253,
"preview": "File: ProcessingEmptyImport.kt - a34fae7b98d638291063dea2c0de728c (WITH_ERRORS)\n NL(\"\\n\")\n packageHeader\n importList\n"
},
{
"path": "grammar/testData/diagnostics/ProjectionOnFunctionArgumentErrror.antlrtree.txt",
"chars": 3536,
"preview": "File: ProjectionOnFunctionArgumentErrror.kt - a8b47e6616c46da3a11e3994744f1d4d\n packageHeader\n importList\n topLevelOb"
},
{
"path": "grammar/testData/diagnostics/ProjectionsInSupertypes.antlrtree.txt",
"chars": 6481,
"preview": "File: ProjectionsInSupertypes.kt - 8c0a673d87d245615e7159c0689928dc (WITH_ERRORS)\n NL(\"\\n\")\n packageHeader\n importLis"
},
{
"path": "grammar/testData/diagnostics/Properties.antlrtree.txt",
"chars": 22423,
"preview": "File: Properties.kt - 553f01a8593677992ae3b39c41fdd57c\n packageHeader\n importList\n topLevelObject\n declaration\n "
},
{
"path": "grammar/testData/diagnostics/PropertyInitializers.antlrtree.txt",
"chars": 12443,
"preview": "File: PropertyInitializers.kt - 0eb8878e3174e8a09885692dfa65c84b\n NL(\"\\n\")\n NL(\"\\n\")\n packageHeader\n importList\n to"
},
{
"path": "grammar/testData/diagnostics/QualifiedExpressions.antlrtree.txt",
"chars": 25035,
"preview": "File: QualifiedExpressions.kt - 8dd51273f1992c0d5df303444943ad81\n packageHeader\n PACKAGE(\"package\")\n identifier\n "
},
{
"path": "grammar/testData/diagnostics/RecursiveResolve.antlrtree.txt",
"chars": 120882,
"preview": "File: RecursiveResolve.kt - 1667836b36bfcbacdc69206f990a81f7\n packageHeader\n importList\n topLevelObject\n declarati"
}
]
// ... and 6726 more files (download for full content)
About this extraction
This page contains the full source code of the Kotlin/kotlin-spec GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 6926 files (168.8 MB), approximately 26.7M tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.