Skip to content

Commit

Permalink
Minor fixes to achieve coincidence with sours code
Browse files Browse the repository at this point in the history
  • Loading branch information
KonstantinAnisimov committed Jun 15, 2017
1 parent 9b56af8 commit 7165f2e
Showing 1 changed file with 12 additions and 14 deletions.
26 changes: 12 additions & 14 deletions klib/src/main/kotlin/org/jetbrains/kotlin/cli/klib/PrettyPrinter.kt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import org.jetbrains.kotlin.serialization.KonanLinkData
import org.jetbrains.kotlin.backend.konan.serialization.Base64
import org.jetbrains.kotlin.backend.konan.serialization.parseModuleHeader
import org.jetbrains.kotlin.backend.konan.serialization.parsePackageFragment

import org.jetbrains.kotlin.backend.konan.serialization.KonanSerializerProtocol
import org.jetbrains.kotlin.serialization.Flags
import org.jetbrains.kotlin.serialization.ProtoBuf
Expand All @@ -39,8 +38,7 @@ class PrettyPrinter(val library: Base64, val packageLoader: (String) -> Base64)
get() = moduleHeader.packageFragmentNameList

fun printPackageFragment(fqname: String) {
if (fqname.isNotEmpty()) println("package $fqname" )
if (fqname.isNotEmpty()) println("package $fqname" )
if (fqname.isNotEmpty()) println("\nPackage $fqname\n" )
val fragment = packageFragment(fqname)
PackageFragmentPrinter(fragment, out).print()
}
Expand Down Expand Up @@ -70,8 +68,8 @@ class PackageFragmentPrinter(val packageFragment: KonanLinkData.PackageFragment,
ProtoBuf.Class.Kind.INTERFACE -> printClass(protoClass)
ProtoBuf.Class.Kind.ENUM_ENTRY -> printEnum(protoClass)
ProtoBuf.Class.Kind.ANNOTATION_CLASS -> printClass(protoClass)
ProtoBuf.Class.Kind.OBJECT -> printObject(protoClass)
ProtoBuf.Class.Kind.COMPANION_OBJECT -> printObject(protoClass)
ProtoBuf.Class.Kind.OBJECT -> printClass(protoClass)
ProtoBuf.Class.Kind.COMPANION_OBJECT -> printClass(protoClass)
}
}

Expand Down Expand Up @@ -208,7 +206,7 @@ class PackageFragmentPrinter(val packageFragment: KonanLinkData.PackageFragment,
//-------------------------------------------------------------------------//

fun supertypesToString(supertypesId: List<Int>): String {
val buff = StringBuilder(": ")
val buff = StringBuilder(" : ")
supertypesId.dropLast(1).forEach { supertypeId ->
val supertype = typeToString(supertypeId)
if (supertype != "Any") buff.append("$supertype, ")
Expand All @@ -218,7 +216,7 @@ class PackageFragmentPrinter(val packageFragment: KonanLinkData.PackageFragment,
if (supertype != "Any") buff.append(supertype)
}

if (buff.toString() == ": ") return ""
if (buff.toString() == " : ") return ""
return buff.toString()
}

Expand Down Expand Up @@ -298,8 +296,6 @@ class PackageFragmentPrinter(val packageFragment: KonanLinkData.PackageFragment,
//-------------------------------------------------------------------------//

fun valueParametersToString(valueParameters: List<ProtoBuf.ValueParameter>): String {
if (valueParameters.isEmpty()) return ""

val buff = StringBuilder("(")
valueParameters.dropLast(1).forEach { valueParameter ->
val parameter = valueParameterToString(valueParameter)
Expand All @@ -319,23 +315,25 @@ class PackageFragmentPrinter(val packageFragment: KonanLinkData.PackageFragment,
val type = typeToString(protoValueParameter.typeId)
val flags = protoValueParameter.flags
val isCrossInline = crossInlineToString(Flags.IS_CROSSINLINE.get(flags))
val visibility = visibilityToString(Flags.VISIBILITY.get(flags))
val protoAnnotations = protoValueParameter.getExtension(KonanSerializerProtocol.parameterAnnotation)
val annotations = annotationsToString(protoAnnotations)

return "$annotations$isCrossInline$parameterName: $type"
return "$annotations$isCrossInline$visibility$parameterName: $type"
}

//-------------------------------------------------------------------------//

fun constructorValueParameterToString(protoValueParameter: ProtoBuf.ValueParameter): String {
val flags = protoValueParameter.flags
val isVar = if (Flags.IS_VAR.get(flags)) "var " else "val "
val visibility = visibilityToString(Flags.VISIBILITY.get(flags))
val parameterName = stringTable.getString(protoValueParameter.name)
val type = typeToString(protoValueParameter.typeId)
val protoAnnotations = protoValueParameter.getExtension(KonanSerializerProtocol.parameterAnnotation)
val annotations = annotationsToString(protoAnnotations)

return "$annotations$isVar$parameterName: $type"
return "$annotations$visibility$isVar$parameterName: $type"
}

//-------------------------------------------------------------------------//
Expand Down Expand Up @@ -384,7 +382,7 @@ class PackageFragmentPrinter(val packageFragment: KonanLinkData.PackageFragment,

fun varianceToString(variance: ProtoBuf.TypeParameter.Variance): String {
if (variance == ProtoBuf.TypeParameter.Variance.INV) return ""
return variance.toString().toLowerCase()
return variance.toString().toLowerCase() + " "
}

//-------------------------------------------------------------------------//
Expand Down Expand Up @@ -487,9 +485,9 @@ class PackageFragmentPrinter(val packageFragment: KonanLinkData.PackageFragment,
val modality = modalityToString(Flags.MODALITY.get(flags))
val visibility = visibilityToString(Flags.VISIBILITY.get(flags))

val buff = StringBuilder()
val buff = StringBuilder("$modality$visibility")
when (classKind) {
ProtoBuf.Class.Kind.CLASS -> buff.append("$visibility${modality}class")
ProtoBuf.Class.Kind.CLASS -> buff.append("class")
ProtoBuf.Class.Kind.INTERFACE -> buff.append("interface")
ProtoBuf.Class.Kind.ANNOTATION_CLASS -> buff.append("annotation")
ProtoBuf.Class.Kind.OBJECT -> buff.append("object")
Expand Down

0 comments on commit 7165f2e

Please sign in to comment.