From 1f4e3d7205c438f357ef40ff11fdf9f9b0c21790 Mon Sep 17 00:00:00 2001 From: e5l Date: Tue, 16 Aug 2016 10:22:13 +0300 Subject: [PATCH] translator: loglevel fix --- .../kotlinnative/translator/ClassCodegen.kt | 4 ++-- .../kotlinnative/translator/ObjectCodegen.kt | 4 ++-- .../translator/TranslationState.kt | 10 +++++--- .../translator/llvm/generators.kt | 2 +- .../kotlin/tests/kotlin/enum_inner_fields.kt | 24 ------------------- 5 files changed, 12 insertions(+), 32 deletions(-) diff --git a/translator/src/main/kotlin/org/kotlinnative/translator/ClassCodegen.kt b/translator/src/main/kotlin/org/kotlinnative/translator/ClassCodegen.kt index 2c9e6f76a01..2fa0b1d158a 100644 --- a/translator/src/main/kotlin/org/kotlinnative/translator/ClassCodegen.kt +++ b/translator/src/main/kotlin/org/kotlinnative/translator/ClassCodegen.kt @@ -26,7 +26,7 @@ class ClassCodegen(state: TranslationState, override val type: LLVMReferenceType init { - type = LLVMReferenceType(structName, "class", align = state.pointerAllign, size = state.pointerSize, byRef = true) + type = LLVMReferenceType(structName, "class", align = state.pointerAlign, size = state.pointerSize, byRef = true) if (parentCodegen != null) { type.location.addAll(parentCodegen.type.location) type.location.add(parentCodegen.structName) @@ -43,7 +43,7 @@ class ClassCodegen(state: TranslationState, calculateTypeSize() type.size = size - type.align = state.pointerAllign + type.align = state.pointerAlign } private fun indexFields(parameters: MutableList) { diff --git a/translator/src/main/kotlin/org/kotlinnative/translator/ObjectCodegen.kt b/translator/src/main/kotlin/org/kotlinnative/translator/ObjectCodegen.kt index 391a0b8630c..5c21a200a11 100644 --- a/translator/src/main/kotlin/org/kotlinnative/translator/ObjectCodegen.kt +++ b/translator/src/main/kotlin/org/kotlinnative/translator/ObjectCodegen.kt @@ -20,7 +20,7 @@ class ObjectCodegen(state: TranslationState, override val type: LLVMReferenceType init { - type = LLVMReferenceType(structName, "class", align = state.pointerAllign, size = state.pointerSize, byRef = true) + type = LLVMReferenceType(structName, "class", align = state.pointerAlign, size = state.pointerSize, byRef = true) if (parentCodegen != null) { type.location.addAll(parentCodegen.type.location) type.location.add(parentCodegen.structName) @@ -29,7 +29,7 @@ class ObjectCodegen(state: TranslationState, calculateTypeSize() type.size = size - type.align = state.pointerAllign + type.align = state.pointerAlign } override fun prepareForGenerate() { diff --git a/translator/src/main/kotlin/org/kotlinnative/translator/TranslationState.kt b/translator/src/main/kotlin/org/kotlinnative/translator/TranslationState.kt index 36afd0da840..5e371eb2567 100644 --- a/translator/src/main/kotlin/org/kotlinnative/translator/TranslationState.kt +++ b/translator/src/main/kotlin/org/kotlinnative/translator/TranslationState.kt @@ -34,7 +34,7 @@ class TranslationState(val environment: KotlinCoreEnvironment, val bindingContex var objects = HashMap() var properties = HashMap() val codeBuilder = LLVMBuilder(arm) - val pointerAllign = if (arm) 4 else 8 + val pointerAlign = if (arm) 4 else 8 val pointerSize = if (arm) 4 else 8 val extensionFunctions = HashMap>() } @@ -48,8 +48,12 @@ fun parseAndAnalyze(sources: List, disposer: Disposable, arm: Boolean = override fun hasErrors(): Boolean = hasError override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation) { - System.err.println("[${severity.toString()}]${location.path} ${location.line}:${location.column} $message") - hasError = severity.isError || hasError + if (!severity.isError) { + return + } + + System.err.println("[${severity.toString()}]${location.path} ${location.line}:${location.column} $message") + hasError = true } } diff --git a/translator/src/main/kotlin/org/kotlinnative/translator/llvm/generators.kt b/translator/src/main/kotlin/org/kotlinnative/translator/llvm/generators.kt index 27e044d0bb0..9440ff9e870 100644 --- a/translator/src/main/kotlin/org/kotlinnative/translator/llvm/generators.kt +++ b/translator/src/main/kotlin/org/kotlinnative/translator/llvm/generators.kt @@ -30,7 +30,7 @@ fun LLVMInstanceOfStandardType(name: String, type: KotlinType, scope: LLVMScope type.isUnit() -> LLVMVariable("", LLVMVoidType(), name, scope) type.isMarkedNullable -> LLVMVariable(name, LLVMReferenceType(type.toString().dropLast(1), prefix = "class"), name, scope, pointer = 1) else -> { - val refType = state.classes[type.toString()]?.type ?: LLVMReferenceType(type.toString(), align = state.pointerAllign, prefix = "class") + val refType = state.classes[type.toString()]?.type ?: LLVMReferenceType(type.toString(), align = state.pointerAlign, prefix = "class") val result = LLVMVariable(name, refType, name, scope, pointer = 1) refType.location.addAll(type.getSubtypesPredicate().toString().split(".").dropLast(1)) diff --git a/translator/src/test/kotlin/tests/kotlin/enum_inner_fields.kt b/translator/src/test/kotlin/tests/kotlin/enum_inner_fields.kt index 78f43fdf07a..b9aa36677d4 100644 --- a/translator/src/test/kotlin/tests/kotlin/enum_inner_fields.kt +++ b/translator/src/test/kotlin/tests/kotlin/enum_inner_fields.kt @@ -1,28 +1,4 @@ -enum class WireType(val id: Int) { - VARINT(0), // int32, int64, uint32, uint64, sint32, sint64, bool, enum - FIX_64(1), // fixed64, sfixed64, double - LENGTH_DELIMITED(2), // string, bytes, embedded messages, packed repeated fields - START_GROUP(3), // groups (deprecated) - END_GROUP(4), // groups (deprecated) - FIX_32(5), // fixed32, sfixed32, float - UNDEFINED(6); // indicates error when parsing from Int - - companion object { - fun from (value: Byte): WireType { - return when (value) { - 0.toByte() -> VARINT - 1.toByte() -> FIX_64 - 2.toByte() -> LENGTH_DELIMITED - 3.toByte() -> START_GROUP - 4.toByte() -> END_GROUP - 5.toByte() -> FIX_32 - else -> UNDEFINED - } - } - } -} - fun enum_field_test1(i: Byte): Int { return WireType.from(i).id }