GenerateOperationsMap uses builtIns from default platform

This commit is contained in:
Pavel V. Talanov
2015-09-22 19:36:28 +03:00
parent 767950fea3
commit 7d1b6f4bbb
@@ -20,6 +20,8 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.generators.util.GeneratorsFileUtil import org.jetbrains.kotlin.generators.util.GeneratorsFileUtil
import org.jetbrains.kotlin.resolve.TargetPlatform
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.types.JetType
import org.jetbrains.kotlin.types.TypeUtils import org.jetbrains.kotlin.types.TypeUtils
import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.Printer
@@ -47,7 +49,7 @@ fun generate(): String {
val unaryOperationsMap = arrayListOf<Pair<String, List<JetType>>>() val unaryOperationsMap = arrayListOf<Pair<String, List<JetType>>>()
val binaryOperationsMap = arrayListOf<Pair<String, List<JetType>>>() val binaryOperationsMap = arrayListOf<Pair<String, List<JetType>>>()
val builtIns = KotlinBuiltIns.getInstance() val builtIns = TargetPlatform.Default.builtIns
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
val allPrimitiveTypes = builtIns.getBuiltInsPackageScope().getDescriptors() val allPrimitiveTypes = builtIns.getBuiltInsPackageScope().getDescriptors()
.filter { it is ClassDescriptor && KotlinBuiltIns.isPrimitiveType(it.getDefaultType()) } as List<ClassDescriptor> .filter { it is ClassDescriptor && KotlinBuiltIns.isPrimitiveType(it.getDefaultType()) } as List<ClassDescriptor>
@@ -150,11 +152,10 @@ fun renderCheckBinaryOperation(name: String, params: List<JetType>): String {
} }
private fun JetType.isIntegerType(): Boolean { private fun JetType.isIntegerType(): Boolean {
val builtIns = KotlinBuiltIns.getInstance() return KotlinBuiltIns.isInt(this) ||
return this == builtIns.getIntType() || KotlinBuiltIns.isShort(this) ||
this == builtIns.getShortType() || KotlinBuiltIns.isByte(this) ||
this == builtIns.getByteType() || KotlinBuiltIns.isLong(this)
this == builtIns.getLongType()
} }