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.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.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.KaContractReturnsParameterEffectDeclaration.valueParameterReference
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.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.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.utils.getApiKClassOf(Any)
