DescriptorRenderer: moved enums out
This commit is contained in:
@@ -48,32 +48,6 @@ public interface DescriptorRenderer : Renderer<DeclarationDescriptor> {
|
||||
|
||||
public fun renderFqName(fqName: FqNameBase): String
|
||||
|
||||
public enum class TextFormat {
|
||||
PLAIN,
|
||||
HTML
|
||||
}
|
||||
|
||||
public enum class OverrideRenderingPolicy {
|
||||
RENDER_OVERRIDE,
|
||||
RENDER_OPEN,
|
||||
RENDER_OPEN_OVERRIDE
|
||||
}
|
||||
|
||||
public enum class ParameterNameRenderingPolicy {
|
||||
ALL,
|
||||
ONLY_NON_SYNTHESIZED,
|
||||
NONE
|
||||
}
|
||||
|
||||
public enum class Modifier {
|
||||
VISIBILITY,
|
||||
MODALITY,
|
||||
OVERRIDE,
|
||||
ANNOTATIONS,
|
||||
INNER,
|
||||
MEMBER_KIND
|
||||
}
|
||||
|
||||
public interface ValueParametersHandler {
|
||||
public fun appendBeforeValueParameters(function: FunctionDescriptor, builder: StringBuilder)
|
||||
public fun appendAfterValueParameters(function: FunctionDescriptor, builder: StringBuilder)
|
||||
@@ -161,25 +135,25 @@ public interface DescriptorRenderer : Renderer<DeclarationDescriptor> {
|
||||
|
||||
public val HTML_COMPACT_WITH_MODIFIERS: DescriptorRenderer = withOptions {
|
||||
withDefinedIn = false
|
||||
textFormat = TextFormat.HTML
|
||||
textFormat = RenderingFormat.HTML
|
||||
}
|
||||
|
||||
public val HTML_NAMES_WITH_SHORT_TYPES: DescriptorRenderer = withOptions {
|
||||
withDefinedIn = false
|
||||
nameShortness = NameShortness.SHORT
|
||||
renderCompanionObjectName = true
|
||||
textFormat = TextFormat.HTML
|
||||
textFormat = RenderingFormat.HTML
|
||||
}
|
||||
|
||||
public val HTML: DescriptorRenderer = withOptions {
|
||||
textFormat = TextFormat.HTML
|
||||
textFormat = RenderingFormat.HTML
|
||||
}
|
||||
|
||||
public val HTML_FOR_UNINFERRED_TYPE_PARAMS: DescriptorRenderer = withOptions {
|
||||
uninferredTypeParameterAsName = true
|
||||
modifiers = emptySet()
|
||||
nameShortness = NameShortness.SHORT
|
||||
textFormat = TextFormat.HTML
|
||||
textFormat = RenderingFormat.HTML
|
||||
}
|
||||
|
||||
public val DEPRECATION: DescriptorRenderer = withOptions {
|
||||
@@ -215,7 +189,7 @@ public interface DescriptorRenderer : Renderer<DeclarationDescriptor> {
|
||||
public interface DescriptorRendererOptions {
|
||||
public var nameShortness: NameShortness
|
||||
public var withDefinedIn: Boolean
|
||||
public var modifiers: Set<DescriptorRenderer.Modifier>
|
||||
public var modifiers: Set<DescriptorRendererModifier>
|
||||
public var startFromName: Boolean
|
||||
public var debugMode: Boolean
|
||||
public var classWithPrimaryConstructor: Boolean
|
||||
@@ -225,13 +199,13 @@ public interface DescriptorRendererOptions {
|
||||
public var showInternalKeyword: Boolean
|
||||
public var prettyFunctionTypes: Boolean
|
||||
public var uninferredTypeParameterAsName: Boolean
|
||||
public var overrideRenderingPolicy: DescriptorRenderer.OverrideRenderingPolicy
|
||||
public var overrideRenderingPolicy: OverrideRenderingPolicy
|
||||
public var valueParametersHandler: DescriptorRenderer.ValueParametersHandler
|
||||
public var textFormat: DescriptorRenderer.TextFormat
|
||||
public var textFormat: RenderingFormat
|
||||
public var excludedAnnotationClasses: Set<FqName>
|
||||
public var excludedTypeAnnotationClasses: Set<FqName>
|
||||
public var includePropertyConstant: Boolean
|
||||
public var parameterNameRenderingPolicy: DescriptorRenderer.ParameterNameRenderingPolicy
|
||||
public var parameterNameRenderingPolicy: ParameterNameRenderingPolicy
|
||||
public var withoutTypeParameters: Boolean
|
||||
public var receiverAfterName: Boolean
|
||||
public var renderCompanionObjectName: Boolean
|
||||
@@ -242,3 +216,35 @@ public interface DescriptorRendererOptions {
|
||||
public var secondaryConstructorsAsPrimary: Boolean
|
||||
public var renderAccessors: Boolean
|
||||
}
|
||||
|
||||
public enum class RenderingFormat {
|
||||
PLAIN,
|
||||
HTML
|
||||
}
|
||||
|
||||
public enum class NameShortness {
|
||||
SHORT,
|
||||
FULLY_QUALIFIED,
|
||||
SOURCE_CODE_QUALIFIED // for local declarations qualified up to function scope
|
||||
}
|
||||
|
||||
public enum class OverrideRenderingPolicy {
|
||||
RENDER_OVERRIDE,
|
||||
RENDER_OPEN,
|
||||
RENDER_OPEN_OVERRIDE
|
||||
}
|
||||
|
||||
public enum class ParameterNameRenderingPolicy {
|
||||
ALL,
|
||||
ONLY_NON_SYNTHESIZED,
|
||||
NONE
|
||||
}
|
||||
|
||||
public enum class DescriptorRendererModifier {
|
||||
VISIBILITY,
|
||||
MODALITY,
|
||||
OVERRIDE,
|
||||
ANNOTATIONS,
|
||||
INNER,
|
||||
MEMBER_KIND
|
||||
}
|
||||
|
||||
@@ -49,22 +49,22 @@ internal class DescriptorRendererImpl(
|
||||
/* FORMATTING */
|
||||
private fun renderKeyword(keyword: String): String {
|
||||
when (textFormat) {
|
||||
DescriptorRenderer.TextFormat.PLAIN -> return keyword
|
||||
DescriptorRenderer.TextFormat.HTML -> return "<b>" + keyword + "</b>"
|
||||
RenderingFormat.PLAIN -> return keyword
|
||||
RenderingFormat.HTML -> return "<b>" + keyword + "</b>"
|
||||
}
|
||||
}
|
||||
|
||||
private fun renderError(keyword: String): String {
|
||||
when (textFormat) {
|
||||
DescriptorRenderer.TextFormat.PLAIN -> return keyword
|
||||
DescriptorRenderer.TextFormat.HTML -> return "<font color=red><b>" + keyword + "</b></font>"
|
||||
RenderingFormat.PLAIN -> return keyword
|
||||
RenderingFormat.HTML -> return "<font color=red><b>" + keyword + "</b></font>"
|
||||
}
|
||||
}
|
||||
|
||||
private fun escape(string: String): String {
|
||||
when (textFormat) {
|
||||
DescriptorRenderer.TextFormat.PLAIN -> return string
|
||||
DescriptorRenderer.TextFormat.HTML -> return string.replace("<", "<").replace(">", ">")
|
||||
RenderingFormat.PLAIN -> return string
|
||||
RenderingFormat.HTML -> return string.replace("<", "<").replace(">", ">")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,15 +73,15 @@ internal class DescriptorRendererImpl(
|
||||
|
||||
private fun arrow(): String {
|
||||
return when (textFormat) {
|
||||
DescriptorRenderer.TextFormat.PLAIN -> escape("->")
|
||||
DescriptorRenderer.TextFormat.HTML -> "→"
|
||||
RenderingFormat.PLAIN -> escape("->")
|
||||
RenderingFormat.HTML -> "→"
|
||||
}
|
||||
}
|
||||
|
||||
private fun renderMessage(message: String): String {
|
||||
return when (textFormat) {
|
||||
DescriptorRenderer.TextFormat.PLAIN -> message
|
||||
DescriptorRenderer.TextFormat.HTML -> "<i>$message</i>"
|
||||
RenderingFormat.PLAIN -> message
|
||||
RenderingFormat.HTML -> "<i>$message</i>"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -321,7 +321,7 @@ internal class DescriptorRendererImpl(
|
||||
}
|
||||
|
||||
private fun renderAnnotations(annotated: Annotated, builder: StringBuilder, needBrackets: Boolean = false) {
|
||||
if (DescriptorRenderer.Modifier.ANNOTATIONS !in modifiers) return
|
||||
if (DescriptorRendererModifier.ANNOTATIONS !in modifiers) return
|
||||
|
||||
val excluded = if (annotated is JetType) excludedTypeAnnotationClasses else excludedAnnotationClasses
|
||||
|
||||
@@ -380,7 +380,7 @@ internal class DescriptorRendererImpl(
|
||||
|
||||
private fun renderVisibility(visibility: Visibility, builder: StringBuilder) {
|
||||
var visibility = visibility
|
||||
if (DescriptorRenderer.Modifier.VISIBILITY !in modifiers) return
|
||||
if (DescriptorRendererModifier.VISIBILITY !in modifiers) return
|
||||
if (normalizedVisibilities) {
|
||||
visibility = visibility.normalize()
|
||||
}
|
||||
@@ -389,13 +389,13 @@ internal class DescriptorRendererImpl(
|
||||
}
|
||||
|
||||
private fun renderModality(modality: Modality, builder: StringBuilder) {
|
||||
if (DescriptorRenderer.Modifier.MODALITY !in modifiers) return
|
||||
if (DescriptorRendererModifier.MODALITY !in modifiers) return
|
||||
val keyword = modality.name().toLowerCase()
|
||||
builder.append(renderKeyword(keyword)).append(" ")
|
||||
}
|
||||
|
||||
private fun renderInner(isInner: Boolean, builder: StringBuilder) {
|
||||
if (DescriptorRenderer.Modifier.INNER !in modifiers) return
|
||||
if (DescriptorRendererModifier.INNER !in modifiers) return
|
||||
if (isInner) {
|
||||
builder.append(renderKeyword("inner")).append(" ")
|
||||
}
|
||||
@@ -403,7 +403,7 @@ internal class DescriptorRendererImpl(
|
||||
|
||||
private fun renderModalityForCallable(callable: CallableMemberDescriptor, builder: StringBuilder) {
|
||||
if (!DescriptorUtils.isTopLevelDeclaration(callable) || callable.getModality() != Modality.FINAL) {
|
||||
if (overridesSomething(callable) && overrideRenderingPolicy == DescriptorRenderer.OverrideRenderingPolicy.RENDER_OVERRIDE && callable.getModality() == Modality.OPEN) {
|
||||
if (overridesSomething(callable) && overrideRenderingPolicy == OverrideRenderingPolicy.RENDER_OVERRIDE && callable.getModality() == Modality.OPEN) {
|
||||
return
|
||||
}
|
||||
renderModality(callable.getModality(), builder)
|
||||
@@ -411,9 +411,9 @@ internal class DescriptorRendererImpl(
|
||||
}
|
||||
|
||||
private fun renderOverride(callableMember: CallableMemberDescriptor, builder: StringBuilder) {
|
||||
if (DescriptorRenderer.Modifier.OVERRIDE !in modifiers) return
|
||||
if (DescriptorRendererModifier.OVERRIDE !in modifiers) return
|
||||
if (overridesSomething(callableMember)) {
|
||||
if (overrideRenderingPolicy != DescriptorRenderer.OverrideRenderingPolicy.RENDER_OPEN) {
|
||||
if (overrideRenderingPolicy != OverrideRenderingPolicy.RENDER_OPEN) {
|
||||
builder.append("override ")
|
||||
if (verbose) {
|
||||
builder.append("/*").append(callableMember.getOverriddenDescriptors().size()).append("*/ ")
|
||||
@@ -423,7 +423,7 @@ internal class DescriptorRendererImpl(
|
||||
}
|
||||
|
||||
private fun renderMemberKind(callableMember: CallableMemberDescriptor, builder: StringBuilder) {
|
||||
if (DescriptorRenderer.Modifier.MEMBER_KIND !in modifiers) return
|
||||
if (DescriptorRendererModifier.MEMBER_KIND !in modifiers) return
|
||||
if (verbose && callableMember.getKind() != CallableMemberDescriptor.Kind.DECLARATION) {
|
||||
builder.append("/*").append(callableMember.getKind().name().toLowerCase()).append("*/ ")
|
||||
}
|
||||
@@ -617,9 +617,9 @@ internal class DescriptorRendererImpl(
|
||||
|
||||
private fun shouldRenderParameterNames(function: FunctionDescriptor): Boolean {
|
||||
when (parameterNameRenderingPolicy) {
|
||||
DescriptorRenderer.ParameterNameRenderingPolicy.ALL -> return true
|
||||
DescriptorRenderer.ParameterNameRenderingPolicy.ONLY_NON_SYNTHESIZED -> return !function.hasSynthesizedParameterNames()
|
||||
DescriptorRenderer.ParameterNameRenderingPolicy.NONE -> return false
|
||||
ParameterNameRenderingPolicy.ALL -> return true
|
||||
ParameterNameRenderingPolicy.ONLY_NON_SYNTHESIZED -> return !function.hasSynthesizedParameterNames()
|
||||
ParameterNameRenderingPolicy.NONE -> return false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ internal class DescriptorRendererOptionsImpl : DescriptorRendererOptions {
|
||||
|
||||
override var nameShortness by property(NameShortness.SOURCE_CODE_QUALIFIED)
|
||||
override var withDefinedIn by property(true)
|
||||
override var modifiers: Set<DescriptorRenderer.Modifier> by property(EnumSet.allOf(javaClass<DescriptorRenderer.Modifier>()))
|
||||
override var modifiers: Set<DescriptorRendererModifier> by property(EnumSet.allOf(javaClass<DescriptorRendererModifier>()))
|
||||
override var startFromName by property(false)
|
||||
override var debugMode by property(false)
|
||||
override var classWithPrimaryConstructor by property(false)
|
||||
@@ -78,10 +78,10 @@ internal class DescriptorRendererOptionsImpl : DescriptorRendererOptions {
|
||||
override var renderDefaultValues by property(true)
|
||||
override var flexibleTypesForCode by property(false)
|
||||
override var secondaryConstructorsAsPrimary by property(true)
|
||||
override var overrideRenderingPolicy by property(DescriptorRenderer.OverrideRenderingPolicy.RENDER_OPEN)
|
||||
override var overrideRenderingPolicy by property(OverrideRenderingPolicy.RENDER_OPEN)
|
||||
override var valueParametersHandler: DescriptorRenderer.ValueParametersHandler by property(DescriptorRenderer.ValueParametersHandler.DEFAULT)
|
||||
override var textFormat by property(DescriptorRenderer.TextFormat.PLAIN)
|
||||
override var parameterNameRenderingPolicy by property(DescriptorRenderer.ParameterNameRenderingPolicy.ALL)
|
||||
override var textFormat by property(RenderingFormat.PLAIN)
|
||||
override var parameterNameRenderingPolicy by property(ParameterNameRenderingPolicy.ALL)
|
||||
override var receiverAfterName by property(false)
|
||||
override var renderCompanionObjectName by property(false)
|
||||
override var renderAccessors by property(false)
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.renderer;
|
||||
|
||||
public enum NameShortness {
|
||||
SHORT,
|
||||
FULLY_QUALIFIED,
|
||||
SOURCE_CODE_QUALIFIED // for local declarations qualified up to function scope
|
||||
}
|
||||
Reference in New Issue
Block a user