translator: add parse for char type
This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
package org.kotlinnative.translator.llvm.types
|
package org.kotlinnative.translator.llvm.types
|
||||||
|
|
||||||
|
import org.kotlinnative.translator.exceptions.UnimplementedException
|
||||||
|
import org.kotlinnative.translator.llvm.LLVMConstant
|
||||||
import org.kotlinnative.translator.llvm.LLVMExpression
|
import org.kotlinnative.translator.llvm.LLVMExpression
|
||||||
import org.kotlinnative.translator.llvm.LLVMSingleValue
|
import org.kotlinnative.translator.llvm.LLVMSingleValue
|
||||||
|
import org.kotlinnative.translator.llvm.LLVMVariable
|
||||||
|
|
||||||
class LLVMCharType() : LLVMType() {
|
class LLVMCharType() : LLVMType() {
|
||||||
override fun operatorLt(firstOp: LLVMSingleValue, secondOp: LLVMSingleValue): LLVMExpression =
|
override fun operatorLt(firstOp: LLVMSingleValue, secondOp: LLVMSingleValue): LLVMExpression =
|
||||||
@@ -26,6 +29,8 @@ class LLVMCharType() : LLVMType() {
|
|||||||
return other is LLVMCharType
|
return other is LLVMCharType
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun parseArg(inputArg: String) = inputArg.first().toInt().toString()
|
||||||
|
|
||||||
override fun mangle() = "Char"
|
override fun mangle() = "Char"
|
||||||
|
|
||||||
override val align = 1
|
override val align = 1
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
package org.kotlinnative.translator.llvm.types
|
package org.kotlinnative.translator.llvm.types
|
||||||
|
|
||||||
import org.kotlinnative.translator.exceptions.UnimplementedException
|
import org.kotlinnative.translator.exceptions.UnimplementedException
|
||||||
|
import org.kotlinnative.translator.llvm.LLVMConstant
|
||||||
import org.kotlinnative.translator.llvm.LLVMExpression
|
import org.kotlinnative.translator.llvm.LLVMExpression
|
||||||
import org.kotlinnative.translator.llvm.LLVMSingleValue
|
import org.kotlinnative.translator.llvm.LLVMSingleValue
|
||||||
|
import org.kotlinnative.translator.llvm.LLVMVariable
|
||||||
|
|
||||||
abstract class LLVMType() : Cloneable {
|
abstract class LLVMType() : Cloneable {
|
||||||
|
|
||||||
@@ -28,6 +30,7 @@ abstract class LLVMType() : Cloneable {
|
|||||||
fun makeClone() = clone()
|
fun makeClone() = clone()
|
||||||
|
|
||||||
open fun convertFrom(source: LLVMSingleValue): LLVMExpression = throw UnimplementedException()
|
open fun convertFrom(source: LLVMSingleValue): LLVMExpression = throw UnimplementedException()
|
||||||
|
|
||||||
abstract fun mangle(): String
|
abstract fun mangle(): String
|
||||||
|
|
||||||
abstract val align: Int
|
abstract val align: Int
|
||||||
|
|||||||
Reference in New Issue
Block a user