@@ -156,28 +156,28 @@ class KotlinFileExtractor(val tw: TrapWriter) {
156156
157157 @Suppress(" UNUSED_PARAMETER" )
158158 fun useSimpleType (s : IrSimpleType ): Label <out DbType > {
159+ fun primitiveType (name : String ): Label <DbPrimitive > {
160+ return tw.getLabelFor(" @\" type;$name \" " , {
161+ tw.writePrimitives(it, name)
162+ })
163+ }
159164 when {
160- s.isInt() -> {
161- val label = " @\" type;int\" "
162- val id: Label <DbPrimitive > = tw.getLabelFor(label, {
163- tw.writePrimitives(it, " int" )
164- })
165- return id
166- }
167- s.isBoolean() -> {
168- val label = " @\" type;boolean\" "
169- val id: Label <DbPrimitive > = tw.getLabelFor(label, {
170- tw.writePrimitives(it, " boolean" )
171- })
172- return id
173- }
174- s.isString() -> {
175- val label = " @\" type;string\" "
176- val id: Label <DbPrimitive > = tw.getLabelFor(label, {
177- tw.writePrimitives(it, " string" )
178- })
179- return id
165+ s.isByte() -> return primitiveType(" byte" )
166+ s.isShort() -> return primitiveType(" short" )
167+ s.isInt() -> return primitiveType(" int" )
168+ s.isLong() -> return primitiveType(" long" )
169+ s.isUByte() || s.isUShort() || s.isUInt() || s.isULong() -> {
170+ extractorBug(" Unhandled unsigned type" )
171+ return Label (0 )
180172 }
173+
174+ s.isDouble() -> return primitiveType(" double" )
175+ s.isFloat() -> return primitiveType(" float" )
176+
177+ s.isBoolean() -> return primitiveType(" boolean" )
178+
179+ s.isChar() -> return primitiveType(" char" )
180+ s.isString() -> return primitiveType(" string" ) // TODO: Wrong
181181 s.classifier.owner is IrClass -> {
182182 val classifier: IrClassifierSymbol = s.classifier
183183 val cls: IrClass = classifier.owner as IrClass
0 commit comments