org.jetbrains.kotlin.analysis.api.base.KaConstantValue.ErrorValue.errorMessage
org.jetbrains.kotlin.analysis.api.compile.CodeFragmentCapturedValue
org.jetbrains.kotlin.analysis.api.compile.CodeFragmentCapturedValue.ContextReceiver
org.jetbrains.kotlin.analysis.api.compile.CodeFragmentCapturedValue.ExtensionReceiver
org.jetbrains.kotlin.analysis.api.compile.CodeFragmentCapturedValue.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.KaImportOptimizer
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.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.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.DebugSymbolRenderer
org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer.render(KaSession, KaSymbol)
org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer.renderAnnotationApplication(KaSession, KaAnnotation)
org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer.renderForSubstitutionOverrideUnwrappingTest(KaSession, KaSymbol)
org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer.renderType(KaSession, KaType)
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.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.KaType.createPointer()
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)
