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.KaClassTypeBuilder.arguments
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.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.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.KaContractReturnsResultOfEffectDeclaration.valueParameterReference
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.dataflow.KaDataFlowExitPointSnapshot
org.jetbrains.kotlin.analysis.api.dataflow.computeExitPointSnapshot(List<KtExpression>)
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.WITHOUT_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.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, context(KaSession) () -> R)
org.jetbrains.kotlin.analysis.api.session.KaSessionProvider.analyze(KtElement, KaSession.() -> R)
org.jetbrains.kotlin.analysis.api.session.KaSessionProvider.analyze(PsiElement, context(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.session.KaSessionProvider.getAnalysisSession(PsiElement)
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.pointers.symbolPointer((KaSession) -> S?)
org.jetbrains.kotlin.analysis.api.symbols.pointers.symbolPointerDelegator(KaSymbolPointer<T>, KaSession.(T) -> R?)
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.getApiKClassOf(Any)
