org.jetbrains.kotlin.analysis.api.base.KaConstantValue.ErrorValue.errorMessage
org.jetbrains.kotlin.analysis.api.compile.KaCodeFragmentCapturedValue
org.jetbrains.kotlin.analysis.api.compile.KaCodeFragmentCapturedValue.displayText
org.jetbrains.kotlin.analysis.api.components.DefaultTypeClassIds
org.jetbrains.kotlin.analysis.api.components.KaAnalysisScopeProvider
org.jetbrains.kotlin.analysis.api.components.KaBuiltinTypes
org.jetbrains.kotlin.analysis.api.components.KaClassTypeBuilder.arguments
org.jetbrains.kotlin.analysis.api.components.KaCompiledFile
org.jetbrains.kotlin.analysis.api.components.KaCompilerFacility
org.jetbrains.kotlin.analysis.api.components.KaCompletionCandidateChecker
org.jetbrains.kotlin.analysis.api.components.KaCompletionExtensionCandidateChecker
org.jetbrains.kotlin.analysis.api.components.KaDataFlowExitPointSnapshot
org.jetbrains.kotlin.analysis.api.components.KaDataFlowProvider
org.jetbrains.kotlin.analysis.api.components.KaDataFlowProvider.computeExitPointSnapshot(List<KtExpression>)
org.jetbrains.kotlin.analysis.api.components.KaDiagnosticProvider
org.jetbrains.kotlin.analysis.api.components.KaEvaluator
org.jetbrains.kotlin.analysis.api.components.KaExpressionInformationProvider
org.jetbrains.kotlin.analysis.api.components.KaExpressionTypeProvider
org.jetbrains.kotlin.analysis.api.components.KaExtensionApplicabilityResult.Applicable
org.jetbrains.kotlin.analysis.api.components.KaExtensionApplicabilityResult.Applicable.receiverCastRequired
org.jetbrains.kotlin.analysis.api.components.KaExtensionApplicabilityResult.Applicable.substitutor
org.jetbrains.kotlin.analysis.api.components.KaExtensionApplicabilityResult.ApplicableAsExtensionCallable
org.jetbrains.kotlin.analysis.api.components.KaExtensionApplicabilityResult.ApplicableAsFunctionalVariableCall
org.jetbrains.kotlin.analysis.api.components.KaExtensionApplicabilityResult.NonApplicable
org.jetbrains.kotlin.analysis.api.components.KaJavaInteroperabilityComponent
org.jetbrains.kotlin.analysis.api.components.KaReferenceShortener
org.jetbrains.kotlin.analysis.api.components.KaResolveExtensionInfoProvider
org.jetbrains.kotlin.analysis.api.components.KaResolver
org.jetbrains.kotlin.analysis.api.components.KaScopeKind
org.jetbrains.kotlin.analysis.api.components.KaScopeKind.LocalScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKind.NonLocalScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds.DefaultSimpleImportingScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds.DefaultStarImportingScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds.ExplicitSimpleImportingScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds.ExplicitStarImportingScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds.LocalScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds.PackageMemberScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds.ScriptMemberScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds.StaticMemberScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds.TypeParameterScope
org.jetbrains.kotlin.analysis.api.components.KaScopeKinds.TypeScope
org.jetbrains.kotlin.analysis.api.components.KaScopeProvider
org.jetbrains.kotlin.analysis.api.components.KaScopeWithKindImpl
org.jetbrains.kotlin.analysis.api.components.KaSignatureSubstitutor
org.jetbrains.kotlin.analysis.api.components.KaSourceProvider
org.jetbrains.kotlin.analysis.api.components.KaSubstitutorBuilder
org.jetbrains.kotlin.analysis.api.components.KaSubstitutorProvider
org.jetbrains.kotlin.analysis.api.components.KaSymbolInformationProvider
org.jetbrains.kotlin.analysis.api.components.KaSymbolRelationProvider
org.jetbrains.kotlin.analysis.api.components.KaTypeBuilder
org.jetbrains.kotlin.analysis.api.components.KaTypeCreator
org.jetbrains.kotlin.analysis.api.components.KaTypeInformationProvider
org.jetbrains.kotlin.analysis.api.components.KaTypeProvider
org.jetbrains.kotlin.analysis.api.components.KaTypeProvider.defaultType
org.jetbrains.kotlin.analysis.api.components.KaTypeRelationChecker
org.jetbrains.kotlin.analysis.api.components.KaVisibilityChecker
org.jetbrains.kotlin.analysis.api.components.ShortenCommand
org.jetbrains.kotlin.analysis.api.components.ShortenCommand.importsToAdd
org.jetbrains.kotlin.analysis.api.components.ShortenCommand.isEmpty
org.jetbrains.kotlin.analysis.api.components.ShortenCommand.kDocQualifiersToShorten
org.jetbrains.kotlin.analysis.api.components.ShortenCommand.listOfQualifierToShortenInfo
org.jetbrains.kotlin.analysis.api.components.ShortenCommand.listOfTypeToShortenInfo
org.jetbrains.kotlin.analysis.api.components.ShortenCommand.starImportsToAdd
org.jetbrains.kotlin.analysis.api.components.ShortenCommand.targetFile
org.jetbrains.kotlin.analysis.api.components.ShortenCommand.thisLabelsToShorten
org.jetbrains.kotlin.analysis.api.components.ShortenOptions.Companion.ALL_ENABLED
org.jetbrains.kotlin.analysis.api.components.ShortenOptions.Companion.DEFAULT
org.jetbrains.kotlin.analysis.api.components.ShortenStrategy
org.jetbrains.kotlin.analysis.api.components.ShortenStrategy.Companion.defaultCallableShortenStrategy
org.jetbrains.kotlin.analysis.api.components.ShortenStrategy.Companion.defaultClassShortenStrategy
org.jetbrains.kotlin.analysis.api.components.computeExitPointSnapshot(List<KtExpression>)
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractCallsInPlaceContractEffectDeclaration.occurrencesRange
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractCallsInPlaceContractEffectDeclaration.valueParameterReference
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractConditionalContractEffectDeclaration.condition
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractConditionalContractEffectDeclaration.effect
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractConstantValue.KaContractConstantType
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractConstantValue.KaContractConstantType.FALSE
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractConstantValue.KaContractConstantType.NULL
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractConstantValue.KaContractConstantType.TRUE
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractConstantValue.constantType
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractHoldsInEffectDeclaration.condition
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractHoldsInEffectDeclaration.valueParameterReference
org.jetbrains.kotlin.analysis.api.contracts.description.KaContractReturnsContractEffectDeclaration.KaContractReturnsSpecificValueEffectDeclaration.value
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractBinaryLogicExpression.KaLogicOperation
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractBinaryLogicExpression.KaLogicOperation.AND
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractBinaryLogicExpression.KaLogicOperation.OR
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractBinaryLogicExpression.left
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractBinaryLogicExpression.operation
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractBinaryLogicExpression.right
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractBooleanConstantExpression.booleanConstant
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractBooleanValueParameterExpression.parameterSymbol
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractIsInstancePredicateExpression.argument
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractIsInstancePredicateExpression.isNegated
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractIsInstancePredicateExpression.negated()
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractIsInstancePredicateExpression.type
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractIsNullPredicateExpression.argument
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractIsNullPredicateExpression.isNegated
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractIsNullPredicateExpression.negated()
org.jetbrains.kotlin.analysis.api.contracts.description.booleans.KaContractLogicalNotExpression.argument
org.jetbrains.kotlin.analysis.api.diagnostics.KaDiagnostic.diagnosticClass
org.jetbrains.kotlin.analysis.api.diagnostics.KaSeverity.ERROR
org.jetbrains.kotlin.analysis.api.diagnostics.KaSeverity.INFO
org.jetbrains.kotlin.analysis.api.diagnostics.KaSeverity.WARNING
org.jetbrains.kotlin.analysis.api.imports.KaDefaultImportPriority.HIGH
org.jetbrains.kotlin.analysis.api.imports.KaDefaultImportPriority.LOW
org.jetbrains.kotlin.analysis.api.imports.KaDefaultImportsProvider.Companion.getService(Project)
org.jetbrains.kotlin.analysis.api.lifetime.KaIllegalLifetimeOwnerAccessException
org.jetbrains.kotlin.analysis.api.lifetime.KaInaccessibleLifetimeOwnerAccessException
org.jetbrains.kotlin.analysis.api.lifetime.KaInvalidLifetimeOwnerAccessException
org.jetbrains.kotlin.analysis.api.lifetime.assertIsAccessible()
org.jetbrains.kotlin.analysis.api.lifetime.assertIsValid()
org.jetbrains.kotlin.analysis.api.lifetime.assertIsValidAndAccessible()
org.jetbrains.kotlin.analysis.api.permissions.KaAllowAnalysisFromWriteAction
org.jetbrains.kotlin.analysis.api.permissions.KaAllowAnalysisOnEdt
org.jetbrains.kotlin.analysis.api.permissions.KaAnalysisPermissionRegistry.Companion.getInstance()
org.jetbrains.kotlin.analysis.api.permissions.KaAnalysisPermissionRegistry.KaExplicitAnalysisRestriction
org.jetbrains.kotlin.analysis.api.permissions.KaAnalysisPermissionRegistry.explicitAnalysisRestriction
org.jetbrains.kotlin.analysis.api.permissions.KaAnalysisPermissionRegistry.isAnalysisAllowedInWriteAction
org.jetbrains.kotlin.analysis.api.permissions.KaAnalysisPermissionRegistry.isAnalysisAllowedOnEdt
org.jetbrains.kotlin.analysis.api.projectStructure.KaModuleProvider
org.jetbrains.kotlin.analysis.api.projectStructure.KaModuleProvider.Companion.getInstance(Project)
org.jetbrains.kotlin.analysis.api.projectStructure.KaModuleProvider.Companion.getModule(Project, PsiElement, KaModule?)
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordRenderer.AS_WORD
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordRenderer.NONE
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordRenderer.renderKeyword(KaSession, KtKeywordToken, KaAnnotated, KaKeywordsRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordRenderer.renderKeywords(KaSession, List<KtKeywordToken>, KaAnnotated, KaKeywordsRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer.Builder
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer.Builder.build()
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer.Builder.keywordFilter
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer.Builder.keywordRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer.Companion.AS_WORD
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer.Companion.NONE
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer.Companion.invoke(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer.renderKeyword(KaSession, KtKeywordToken, KaAnnotated, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer.renderKeywords(KaSession, List<KtKeywordToken>, KaAnnotated, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer.with(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer.Builder
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer.Builder.annotationArgumentsRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer.Builder.annotationFilter
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer.Builder.annotationListRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer.Builder.annotationUseSiteTargetRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer.Builder.annotationsQualifiedNameRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer.Builder.build()
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer.Companion.invoke(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer.renderAnnotations(KaSession, KaAnnotated, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRenderer.with(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRendererForSource
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRendererForSource.WITH_QUALIFIED_NAMES
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaAnnotationRendererForSource.WITH_SHORT_NAMES
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaRendererAnnotationsFilter
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaRendererAnnotationsFilter.ALL
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaRendererAnnotationsFilter.Companion.invoke(KaSession.(annotation: KaAnnotation, owner: KaAnnotated) -> Boolean)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaRendererAnnotationsFilter.NONE
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaRendererAnnotationsFilter.NO_NULLABILITY
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaRendererAnnotationsFilter.NO_PARAMETER_NAME
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaRendererAnnotationsFilter.and(KaRendererAnnotationsFilter)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaRendererAnnotationsFilter.filter(KaSession, KaAnnotation, KaAnnotated)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaRendererAnnotationsFilter.or(KaRendererAnnotationsFilter)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationArgumentsRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationArgumentsRenderer.IF_ANY
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationArgumentsRenderer.NONE
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationArgumentsRenderer.renderAnnotationArguments(KaSession, KaAnnotation, KaAnnotated, KaAnnotationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationListRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationListRenderer.FOR_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationListRenderer.renderAnnotations(KaSession, KaAnnotated, KaAnnotationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationQualifierRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationQualifierRenderer.WITH_QUALIFIED_NAMES
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationQualifierRenderer.WITH_SHORT_NAMES
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationQualifierRenderer.renderQualifier(KaSession, KaAnnotation, KaAnnotated, KaAnnotationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationUseSiteTargetRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationUseSiteTargetRenderer.WITHOUT_USE_SITE
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationUseSiteTargetRenderer.WITH_NON_DEFAULT_USE_SITE
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationUseSiteTargetRenderer.WITH_USES_SITE
org.jetbrains.kotlin.analysis.api.renderer.base.annotations.renderers.KaAnnotationUseSiteTargetRenderer.renderUseSiteTarget(KaSession, KaAnnotation, KaAnnotated, KaAnnotationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.KaContextReceiversRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.KaContextReceiversRenderer.Builder
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.KaContextReceiversRenderer.Builder.build()
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.KaContextReceiversRenderer.Builder.contextReceiverLabelRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.KaContextReceiversRenderer.Builder.contextReceiverListRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.KaContextReceiversRenderer.Companion.invoke(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.KaContextReceiversRenderer.renderContextReceivers(KaSession, KaContextReceiversOwner, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.KaContextReceiversRenderer.with(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.KaContextReceiversRendererForSource
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.KaContextReceiversRendererForSource.WITH_LABELS
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.renderers.KaContextReceiverLabelRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.renderers.KaContextReceiverLabelRenderer.WITH_LABEL
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.renderers.KaContextReceiverLabelRenderer.renderLabel(KaSession, KaContextReceiver, KaContextReceiversRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.renderers.KaContextReceiverListRenderer
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.renderers.KaContextReceiverListRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.base.contextReceivers.renderers.KaContextReceiverListRenderer.renderContextReceivers(KaSession, KaContextReceiversOwner, KaContextReceiversRenderer, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaCallableReturnTypeFilter
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaCallableReturnTypeFilter.ALWAYS
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaCallableReturnTypeFilter.NO_UNIT_FOR_FUNCTIONS
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaCallableReturnTypeFilter.shouldRenderReturnType(KaSession, KaType, KaCallableSymbol)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.accessorBodyRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.annotationRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.anonymousFunctionRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.anonymousObjectRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.backingFieldRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.bodyMemberScopeProvider
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.bodyMemberScopeSorter
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.build()
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.callableReceiverRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.callableSignatureRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.classInitializerRender
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.classifierBodyRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.codeStyle
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.constructorRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.contextParameterRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.contextReceiversRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.declarationTypeApproximator
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.destructuringDeclarationRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.enumEntryRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.functionLikeBodyRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.getterRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.javaFieldRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.keywordsRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.kotlinPropertyRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.localVariableRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.modifiersRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.nameRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.namedClassRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.namedFunctionRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.parameterDefaultValueRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.propertyAccessorsRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.propertyRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.returnTypeFilter
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.returnTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.samConstructorRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.scriptInitializerRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.scriptRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.setterRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.singleTypeParameterRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.superTypeListRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.superTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.superTypesArgumentRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.superTypesFilter
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.syntheticJavaPropertyRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.typeAliasRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.typeParametersFilter
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.typeParametersRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.typeRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.valueParameterRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.valueParametersRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Builder.variableInitializerRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.Companion.invoke(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.renderDeclaration(KaSession, KaDeclarationSymbol, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaDeclarationRenderer.with(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRecommendedRendererCodeStyle
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererCodeStyle
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererCodeStyle.getIndentSize(KaSession)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererCodeStyle.getSeparatorAfterContextReceivers(KaSession)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererCodeStyle.getSeparatorBetweenAnnotationAndOwner(KaSession, KaAnnotated)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererCodeStyle.getSeparatorBetweenAnnotations(KaSession, KaAnnotated)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererCodeStyle.getSeparatorBetweenMembers(KaSession, KaDeclarationSymbol, KaDeclarationSymbol)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererCodeStyle.getSeparatorBetweenModifiers(KaSession)
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererTypeApproximator
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererTypeApproximator.NO_APPROXIMATION
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererTypeApproximator.TO_DENOTABLE
org.jetbrains.kotlin.analysis.api.renderer.declarations.KaRendererTypeApproximator.approximateType(KaSession, KaType, Variance)
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaFunctionLikeBodyRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaFunctionLikeBodyRenderer.NO_BODY
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaFunctionLikeBodyRenderer.renderBody(KaSession, KaFunctionSymbol, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaParameterDefaultValueRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaParameterDefaultValueRenderer.NO_DEFAULT_VALUE
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaParameterDefaultValueRenderer.THREE_DOTS
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaParameterDefaultValueRenderer.renderDefaultValue(KaSession, KaValueParameterSymbol, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaPropertyAccessorBodyRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaPropertyAccessorBodyRenderer.NO_BODY
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaPropertyAccessorBodyRenderer.renderBody(KaSession, KaPropertyAccessorSymbol, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaRendererBodyMemberScopeProvider
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaRendererBodyMemberScopeProvider.ALL
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaRendererBodyMemberScopeProvider.ALL_DECLARED
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaRendererBodyMemberScopeProvider.NONE
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaRendererBodyMemberScopeProvider.getMemberScope(KaSession, KaDeclarationContainerSymbol)
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaRendererBodyMemberScopeSorter
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaRendererBodyMemberScopeSorter.ENUM_ENTRIES_AT_BEGINING
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaRendererBodyMemberScopeSorter.sortMembers(KaSession, List<KaDeclarationSymbol>, KaDeclarationContainerSymbol)
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaScriptInitializerRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaScriptInitializerRenderer.NO_INITIALIZER
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaScriptInitializerRenderer.renderInitializer(KaSession, KaScriptSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaVariableInitializerRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaVariableInitializerRenderer.NO_INITIALIZER
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaVariableInitializerRenderer.ONLY_CONST_VALUE_INITIALIZERS
org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaVariableInitializerRenderer.renderInitializer(KaSession, KaVariableSymbol, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.impl.KaDeclarationRendererForDebug
org.jetbrains.kotlin.analysis.api.renderer.declarations.impl.KaDeclarationRendererForDebug.WITH_QUALIFIED_NAMES
org.jetbrains.kotlin.analysis.api.renderer.declarations.impl.KaDeclarationRendererForDebug.WITH_QUALIFIED_NAMES_DENOTABLE
org.jetbrains.kotlin.analysis.api.renderer.declarations.impl.KaDeclarationRendererForDebug.WITH_SHORT_NAMES
org.jetbrains.kotlin.analysis.api.renderer.declarations.impl.KaDeclarationRendererForSource
org.jetbrains.kotlin.analysis.api.renderer.declarations.impl.KaDeclarationRendererForSource.WITH_QUALIFIED_NAMES
org.jetbrains.kotlin.analysis.api.renderer.declarations.impl.KaDeclarationRendererForSource.WITH_SHORT_NAMES
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.Builder
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.Builder.build()
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.Builder.keywordsRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.Builder.modalityProvider
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.Builder.modifierListRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.Builder.modifiersSorter
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.Builder.otherModifiersProvider
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.Builder.visibilityProvider
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.Companion.invoke(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.renderDeclarationModifiers(KaSession, KaDeclarationSymbol, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.KaDeclarationModifiersRenderer.with(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.impl.KaDeclarationModifiersRendererForSource
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.impl.KaDeclarationModifiersRendererForSource.NO_IMPLICIT_MODIFIERS
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaModifierListRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaModifierListRenderer.AS_LIST
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaModifierListRenderer.renderModifiers(KaSession, KaDeclarationSymbol, KaDeclarationModifiersRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaModifiersSorter
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaModifiersSorter.CANONICAL
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaModifiersSorter.sort(KaSession, List<KtModifierKeywordToken>, KaDeclarationSymbol)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter.ALL
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter.Companion.invoke(KaSession.(modifier: KtKeywordToken, annotated: KaAnnotated) -> Boolean)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter.Companion.onlyWith(KtKeywordToken)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter.Companion.onlyWith(TokenSet)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter.Companion.without(KtKeywordToken)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter.Companion.without(TokenSet)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter.NONE
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter.and(KaRendererKeywordFilter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter.filter(KaSession, KtKeywordToken, KaAnnotated)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter.or(KaRendererKeywordFilter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererModalityModifierProvider
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererModalityModifierProvider.WITHOUT_IMPLICIT_MODALITY
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererModalityModifierProvider.WITH_IMPLICIT_MODALITY
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererModalityModifierProvider.getModalityModifier(KaSession, KaDeclarationSymbol)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererModalityModifierProvider.onlyIf(KaSession.(symbol: KaDeclarationSymbol) -> Boolean)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererOtherModifiersProvider
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererOtherModifiersProvider.ALL
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererOtherModifiersProvider.and(KaRendererOtherModifiersProvider)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererOtherModifiersProvider.getOtherModifiers(KaSession, KaDeclarationSymbol)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererOtherModifiersProvider.onlyIf(KaSession.(symbol: KaDeclarationSymbol) -> Boolean)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererVisibilityModifierProvider
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererVisibilityModifierProvider.NO_IMPLICIT_VISIBILITY
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererVisibilityModifierProvider.WITH_IMPLICIT_VISIBILITY
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererVisibilityModifierProvider.getVisibilityModifier(KaSession, KaDeclarationSymbol)
org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererVisibilityModifierProvider.onlyIf(KaSession.(symbol: KaDeclarationSymbol) -> Boolean)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderAnnotationsModifiersAndContextReceivers(KaSession, S, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderAnnotationsModifiersAndContextReceivers(KaSession, S, KaDeclarationRenderer, PrettyPrinter, KtKeywordToken)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderAnnotationsModifiersAndContextReceivers(KaSession, S, KaDeclarationRenderer, PrettyPrinter, List<KtKeywordToken>)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaCallableParameterRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaCallableParameterRenderer.PARAMETERS_IN_PARENS
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaCallableParameterRenderer.renderValueParameters(KaSession, KaCallableSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassInitializerRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassInitializerRenderer.INIT_BLOCK_WITH_BRACES
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassInitializerRenderer.renderClassInitializer(KaSession, KaClassInitializerSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassifierBodyRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassifierBodyRenderer.BODY_WITH_MEMBERS
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassifierBodyRenderer.BODY_WITH_MEMBERS_OR_EMPTY_BRACES
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassifierBodyRenderer.EMPTY_BRACES
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassifierBodyRenderer.NO_BODY
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassifierBodyRenderer.renderBody(KaSession, KaDeclarationContainerSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassifierBodyWithMembersRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaClassifierBodyWithMembersRenderer.renderEmptyBodyForEmptyMemberScope(KaDeclarationContainerSymbol)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaDeclarationNameRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaDeclarationNameRenderer.QUOTED
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaDeclarationNameRenderer.UNQUOTED
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaDeclarationNameRenderer.renderName(KaSession, KaNamedSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaDeclarationNameRenderer.renderName(KaSession, Name, KaNamedSymbol?, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaTypeParameterRendererFilter
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaTypeParameterRendererFilter.Companion.invoke(KaSession.(typeParameter: KaTypeParameterSymbol, owner: KaDeclarationSymbol) -> Boolean)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaTypeParameterRendererFilter.NO_FOR_CONSTURCTORS
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaTypeParameterRendererFilter.filter(KaSession, KaTypeParameterSymbol, KaDeclarationSymbol)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaTypeParametersRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaTypeParametersRenderer.NO_TYPE_PARAMETERS
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaTypeParametersRenderer.WIHTOUT_BOUNDS
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaTypeParametersRenderer.WITH_BOUNDS_IN_WHERE_CLAUSE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaTypeParametersRenderer.renderTypeParameters(KaSession, KaDeclarationSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.KaTypeParametersRenderer.renderWhereClause(KaSession, KaDeclarationSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaAnonymousFunctionSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaAnonymousFunctionSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaAnonymousFunctionSymbolRenderer.renderSymbol(KaSession, KaAnonymousFunctionSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaBackingFieldSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaBackingFieldSymbolRenderer.AS_FIELD_KEYWORD
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaBackingFieldSymbolRenderer.renderSymbol(KaSession, KaBackingFieldSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaCallableReceiverRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaCallableReceiverRenderer.AS_TYPE_WITH_IN_APPROXIMATION
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaCallableReceiverRenderer.renderReceiver(KaSession, KaReceiverParameterSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaCallableReturnTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaCallableReturnTypeRenderer.WITH_OUT_APPROXIMATION
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaCallableReturnTypeRenderer.renderReturnType(KaSession, KaCallableSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaCallableSignatureRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaCallableSignatureRenderer.FOR_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaCallableSignatureRenderer.renderCallableSignature(KaSession, KaCallableSymbol, KtKeywordToken?, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaConstructorSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaConstructorSymbolRenderer.AS_RAW_SIGNATURE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaConstructorSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaConstructorSymbolRenderer.renderSymbol(KaSession, KaConstructorSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaContextParameterSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaContextParameterSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaContextParameterSymbolRenderer.TYPE_ONLY
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaContextParameterSymbolRenderer.renderSymbol(KaSession, KaContextParameterSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaDestructuringDeclarationRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaDestructuringDeclarationRenderer.WITH_ENTRIES
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaDestructuringDeclarationRenderer.renderSymbol(KaSession, KaDestructuringDeclarationSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaEnumEntrySymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaEnumEntrySymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaEnumEntrySymbolRenderer.renderSymbol(KaSession, KaEnumEntrySymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaJavaFieldSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaJavaFieldSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaJavaFieldSymbolRenderer.renderSymbol(KaSession, KaJavaFieldSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaKotlinPropertySymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaKotlinPropertySymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaKotlinPropertySymbolRenderer.renderSymbol(KaSession, KaKotlinPropertySymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaLocalVariableSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaLocalVariableSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaLocalVariableSymbolRenderer.renderSymbol(KaSession, KaLocalVariableSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaNamedFunctionSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaNamedFunctionSymbolRenderer.AS_RAW_SIGNATURE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaNamedFunctionSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaNamedFunctionSymbolRenderer.renderSymbol(KaSession, KaNamedFunctionSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertyAccessorsRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertyAccessorsRenderer.ALL
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertyAccessorsRenderer.NONE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertyAccessorsRenderer.NO_DEFAULT
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertyAccessorsRenderer.renderAccessors(KaSession, KaPropertySymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertyGetterSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertyGetterSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertyGetterSymbolRenderer.renderSymbol(KaSession, KaPropertyGetterSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertySetterSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertySetterSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertySetterSymbolRenderer.renderSymbol(KaSession, KaPropertySetterSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaSamConstructorSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaSamConstructorSymbolRenderer.AS_FUNCTION
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaSamConstructorSymbolRenderer.NOT_RENDER
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaSamConstructorSymbolRenderer.renderSymbol(KaSession, KaSamConstructorSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaScriptSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaScriptSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaScriptSymbolRenderer.renderSymbol(KaSession, KaScriptSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaSyntheticJavaPropertySymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaSyntheticJavaPropertySymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaSyntheticJavaPropertySymbolRenderer.renderSymbol(KaSession, KaSyntheticJavaPropertySymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaValueParameterSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaValueParameterSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaValueParameterSymbolRenderer.TYPE_ONLY
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaValueParameterSymbolRenderer.renderSymbol(KaSession, KaValueParameterSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaAnonymousObjectSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaAnonymousObjectSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaAnonymousObjectSymbolRenderer.renderSymbol(KaSession, KaAnonymousObjectSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaNamedClassSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaNamedClassSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaNamedClassSymbolRenderer.AS_SOURCE_WITHOUT_PRIMARY_CONSTRUCTOR
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaNamedClassSymbolRenderer.AsSourceRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaNamedClassSymbolRenderer.renderSymbol(KaSession, KaNamedClassSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaSingleTypeParameterSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaSingleTypeParameterSymbolRenderer.NO
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaSingleTypeParameterSymbolRenderer.WITHOUT_BOUNDS
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaSingleTypeParameterSymbolRenderer.WITH_COMMA_SEPARATED_BOUNDS
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaSingleTypeParameterSymbolRenderer.renderSymbol(KaSession, KaTypeParameterSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaTypeAliasSymbolRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaTypeAliasSymbolRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.classifiers.KaTypeAliasSymbolRenderer.renderSymbol(KaSession, KaTypeAliasSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypeListRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypeListRenderer.AS_LIST
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypeListRenderer.renderSuperTypes(KaSession, KaClassSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypeRenderer.WITH_OUT_APPROXIMATION
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypeRenderer.renderSuperType(KaSession, KaType, KaClassSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesCallArgumentsRenderer
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesCallArgumentsRenderer.EMPTY_PARENS
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesCallArgumentsRenderer.NO_ARGS
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesCallArgumentsRenderer.renderSuperTypeArguments(KaSession, KaType, KaClassSymbol, KaDeclarationRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesFilter
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesFilter.ALL
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesFilter.Companion.invoke(KaSession.(type: KaType, symbol: KaClassSymbol) -> Boolean)
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesFilter.NONE
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesFilter.NO_ANY_FOR_INTERFACES
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesFilter.NO_DEFAULT_TYPES
org.jetbrains.kotlin.analysis.api.renderer.declarations.superTypes.KaSuperTypesFilter.filter(KaSession, KaType, KaClassSymbol)
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.annotationsRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.build()
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.capturedTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.classIdRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.contextReceiversRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.definitelyNotNullTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.dynamicTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.errorTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.expandedTypeRenderingMode
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.flexibleTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.functionalTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.intersectionTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.keywordsRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.typeApproximator
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.typeNameRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.typeParameterTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.typeProjectionRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.unresolvedClassErrorTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Builder.usualClassTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.Companion.invoke(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.renderType(KaSession, KaType, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.KaTypeRenderer.with(Builder.() -> Unit)
org.jetbrains.kotlin.analysis.api.renderer.types.impl.KaTypeRendererForDebug
org.jetbrains.kotlin.analysis.api.renderer.types.impl.KaTypeRendererForDebug.WITH_QUALIFIED_NAMES
org.jetbrains.kotlin.analysis.api.renderer.types.impl.KaTypeRendererForDebug.WITH_SHORT_NAMES
org.jetbrains.kotlin.analysis.api.renderer.types.impl.KaTypeRendererForSource
org.jetbrains.kotlin.analysis.api.renderer.types.impl.KaTypeRendererForSource.WITH_QUALIFIED_NAMES
org.jetbrains.kotlin.analysis.api.renderer.types.impl.KaTypeRendererForSource.WITH_QUALIFIED_NAMES_WITHOUT_PARAMETER_NAMES
org.jetbrains.kotlin.analysis.api.renderer.types.impl.KaTypeRendererForSource.WITH_SHORT_NAMES
org.jetbrains.kotlin.analysis.api.renderer.types.impl.KaTypeRendererForSource.WITH_SHORT_NAMES_WITHOUT_PARAMETER_NAMES
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaCapturedTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaCapturedTypeRenderer.AS_CAPTURED_TYPE_WITH_PROJECTION
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaCapturedTypeRenderer.AS_PROJECTION
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaCapturedTypeRenderer.renderType(KaSession, KaCapturedType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaClassTypeQualifierRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaClassTypeQualifierRenderer.WITH_QUALIFIED_NAMES
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaClassTypeQualifierRenderer.WITH_SHORT_NAMES
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaClassTypeQualifierRenderer.WITH_SHORT_NAMES_WITH_NESTED_CLASSIFIERS
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaClassTypeQualifierRenderer.renderClassTypeQualifier(KaSession, KaType, List<KaClassTypeQualifier>, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaDefinitelyNotNullTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaDefinitelyNotNullTypeRenderer.AS_TYPE_INTERSECTION
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaDefinitelyNotNullTypeRenderer.renderType(KaSession, KaDefinitelyNotNullType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaDynamicTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaDynamicTypeRenderer.AS_DYNAMIC_WORD
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaDynamicTypeRenderer.renderType(KaSession, KaDynamicType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaErrorTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaErrorTypeRenderer.AS_CODE_IF_POSSIBLE
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaErrorTypeRenderer.AS_ERROR_WORD
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaErrorTypeRenderer.WITH_ERROR_MESSAGE
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaErrorTypeRenderer.renderType(KaSession, KaErrorType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFlexibleTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFlexibleTypeRenderer.AS_RANGE
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFlexibleTypeRenderer.AS_SHORT
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFlexibleTypeRenderer.renderType(KaSession, KaFlexibleType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFunctionalTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFunctionalTypeRenderer.AS_CLASS_TYPE
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFunctionalTypeRenderer.AS_CLASS_TYPE_FOR_REFLECTION_TYPES
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFunctionalTypeRenderer.AS_CLASS_TYPE_FOR_REFLECTION_TYPES_WITH_PARAMETER_NAMES
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFunctionalTypeRenderer.AS_FUNCTIONAL_TYPE
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFunctionalTypeRenderer.AS_FUNCTIONAL_TYPE_WITH_PARAMETER_NAMES
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaFunctionalTypeRenderer.renderType(KaSession, KaFunctionType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaIntersectionTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaIntersectionTypeRenderer.AS_INTERSECTION
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaIntersectionTypeRenderer.renderType(KaSession, KaIntersectionType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeNameRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeNameRenderer.QUOTED
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeNameRenderer.UNQUOTED
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeNameRenderer.renderName(KaSession, Name, KaType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeParameterTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeParameterTypeRenderer.AS_SOURCE
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeParameterTypeRenderer.renderType(KaSession, KaTypeParameterType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeProjectionRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeProjectionRenderer.WITHOUT_VARIANCE
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeProjectionRenderer.WITH_VARIANCE
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaTypeProjectionRenderer.renderTypeProjection(KaSession, KaTypeProjection, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaUnresolvedClassErrorTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaUnresolvedClassErrorTypeRenderer.AS_ERROR_WORD
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaUnresolvedClassErrorTypeRenderer.UNRESOLVED_QUALIFIER
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaUnresolvedClassErrorTypeRenderer.WITH_ERROR_MESSAGE
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaUnresolvedClassErrorTypeRenderer.renderType(KaSession, KaClassErrorType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaUsualClassTypeRenderer
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaUsualClassTypeRenderer.AS_CLASS_TYPE_WITH_TYPE_ARGUMENTS
org.jetbrains.kotlin.analysis.api.renderer.types.renderers.KaUsualClassTypeRenderer.renderType(KaSession, KaUsualClassType, KaTypeRenderer, PrettyPrinter)
org.jetbrains.kotlin.analysis.api.resolution.KaCompoundAssignOperation.Kind
org.jetbrains.kotlin.analysis.api.resolution.KaCompoundUnaryOperation.Kind
org.jetbrains.kotlin.analysis.api.resolution.KaCompoundUnaryOperation.Precedence
org.jetbrains.kotlin.analysis.api.resolution.KaDelegatedConstructorCall.Kind
org.jetbrains.kotlin.analysis.api.resolution.KaPartiallyAppliedFunctionSymbol
org.jetbrains.kotlin.analysis.api.resolution.KaPartiallyAppliedVariableSymbol
org.jetbrains.kotlin.analysis.api.resolution.KaSymbolBasedReference
org.jetbrains.kotlin.analysis.api.resolution.KaSymbolBasedReference.resolveToSymbols()
org.jetbrains.kotlin.analysis.api.resolve.extensions.KaResolveExtensionNavigationTargetsProvider
org.jetbrains.kotlin.analysis.api.resolve.extensions.KaResolveExtensionProvider.Companion.EP_NAME
org.jetbrains.kotlin.analysis.api.resolve.extensions.KaResolveExtensionProvider.Companion.provideExtensionsFor(KaModule)
org.jetbrains.kotlin.analysis.api.scopes.KaScopeLike
org.jetbrains.kotlin.analysis.api.session.KaSessionProvider.Companion.getInstance(Project)
org.jetbrains.kotlin.analysis.api.session.KaSessionProvider.analyze(KaModule, KaSession.() -> R)
org.jetbrains.kotlin.analysis.api.session.KaSessionProvider.analyze(KtElement, KaSession.() -> R)
org.jetbrains.kotlin.analysis.api.session.KaSessionProvider.clearCaches()
org.jetbrains.kotlin.analysis.api.session.KaSessionProvider.getAnalysisSession(KaModule)
org.jetbrains.kotlin.analysis.api.session.KaSessionProvider.getAnalysisSession(KtElement)
org.jetbrains.kotlin.analysis.api.symbols.AdditionalKDocResolutionProvider.Companion.EP_NAME
org.jetbrains.kotlin.analysis.api.symbols.AdditionalKDocResolutionProvider.Companion.resolveKdocFqName(KaSession, FqName, KtElement)
org.jetbrains.kotlin.analysis.api.symbols.KaClassKind.isClass
org.jetbrains.kotlin.analysis.api.symbols.KaClassKind.isObject
org.jetbrains.kotlin.analysis.api.symbols.KaClassifierSymbol.name
org.jetbrains.kotlin.analysis.api.symbols.KaDebugRenderer
org.jetbrains.kotlin.analysis.api.symbols.KaDebugRenderer.render(KaSession, KaSymbol)
org.jetbrains.kotlin.analysis.api.symbols.KaDebugRenderer.renderAnnotationApplication(KaSession, KaAnnotation)
org.jetbrains.kotlin.analysis.api.symbols.KaDebugRenderer.renderForSubstitutionOverrideUnwrappingTest(KaSession, KaSymbol)
org.jetbrains.kotlin.analysis.api.symbols.KaDebugRenderer.renderType(KaSession, KaType)
org.jetbrains.kotlin.analysis.api.symbols.KaDeclarationSymbol.compilerVisibility
org.jetbrains.kotlin.analysis.api.symbols.markers.KaTypeParameterOwnerSymbol.typeParameters
org.jetbrains.kotlin.analysis.api.symbols.pointers.symbolPointer((KaSession) -> S?)
org.jetbrains.kotlin.analysis.api.symbols.pointers.symbolPointerDelegator(KaSymbolPointer<T>, KaSession.(T) -> R?)
org.jetbrains.kotlin.analysis.api.symbols.typeParameters
org.jetbrains.kotlin.analysis.api.types.KaClassTypeQualifier.name
org.jetbrains.kotlin.analysis.api.types.KaClassTypeQualifier.typeArguments
org.jetbrains.kotlin.analysis.api.types.KaErrorType.errorMessage
org.jetbrains.kotlin.analysis.api.types.KaErrorType.presentableText
org.jetbrains.kotlin.analysis.api.types.KaResolvedClassTypeQualifier.symbol
org.jetbrains.kotlin.analysis.api.types.KaTypeNullability.Companion.create(Boolean)
org.jetbrains.kotlin.analysis.api.utils.errors.withClassEntry(String, Any?)
org.jetbrains.kotlin.analysis.api.utils.errors.withKaModuleEntry(String, KaModule?)
org.jetbrains.kotlin.analysis.api.utils.errors.withPsiEntry(String, PsiElement?, (PsiElement) -> KaModule)
org.jetbrains.kotlin.analysis.api.utils.errors.withPsiEntry(String, PsiElement?, KaModule?)
org.jetbrains.kotlin.analysis.api.utils.getApiKClassOf(Any)
