Minor, extracted "kotlin/jvm/internal/Intrinsics" into IntrinsicMethods.INTRINSICS_CLASS_NAME

This commit is contained in:
Denis Zharkov
2014-10-02 18:42:00 +04:00
committed by Andrey Breslav
parent 8e3f87abaf
commit 060c30746f
7 changed files with 14 additions and 9 deletions
@@ -25,6 +25,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.codegen.binding.CalculatedClosure;
import org.jetbrains.jet.codegen.binding.CodegenBinding;
import org.jetbrains.jet.codegen.context.CodegenContext;
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods;
import org.jetbrains.jet.codegen.state.GenerationState;
import org.jetbrains.jet.codegen.state.JetTypeMapper;
import org.jetbrains.jet.lang.descriptors.*;
@@ -501,7 +502,7 @@ public class AsmUtil {
return StackValue.cmp(opToken, leftType);
}
v.invokestatic("kotlin/jvm/internal/Intrinsics", "areEqual", "(Ljava/lang/Object;Ljava/lang/Object;)Z", false);
v.invokestatic(IntrinsicMethods.INTRINSICS_CLASS_NAME, "areEqual", "(Ljava/lang/Object;Ljava/lang/Object;)Z", false);
if (opToken == JetTokens.EXCLEQ || opToken == JetTokens.EXCLEQEQEQ) {
genInvertBoolean(v);
@@ -578,7 +579,7 @@ public class AsmUtil {
if (asmType.getSort() == Type.OBJECT || asmType.getSort() == Type.ARRAY) {
v.load(index, asmType);
v.visitLdcInsn(parameter.getName().asString());
v.invokestatic("kotlin/jvm/internal/Intrinsics", "checkParameterIsNotNull",
v.invokestatic(IntrinsicMethods.INTRINSICS_CLASS_NAME, "checkParameterIsNotNull",
"(Ljava/lang/Object;Ljava/lang/String;)V", false);
}
}
@@ -624,7 +625,7 @@ public class AsmUtil {
v.dup();
v.visitLdcInsn(descriptor.getContainingDeclaration().getName().asString());
v.visitLdcInsn(descriptor.getName().asString());
v.invokestatic("kotlin/jvm/internal/Intrinsics", assertMethodToCall,
v.invokestatic(IntrinsicMethods.INTRINSICS_CLASS_NAME, assertMethodToCall,
"(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V", false);
}
}
@@ -34,6 +34,7 @@ import org.jetbrains.jet.codegen.inline.InlineCodegen;
import org.jetbrains.jet.codegen.inline.InlineCodegenUtil;
import org.jetbrains.jet.codegen.inline.NameGenerator;
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethod;
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods;
import org.jetbrains.jet.codegen.state.GenerationState;
import org.jetbrains.jet.codegen.state.JetTypeMapper;
import org.jetbrains.jet.codegen.when.SwitchCodegen;
@@ -3130,7 +3131,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
v.dup();
Label ok = new Label();
v.ifnonnull(ok);
v.invokestatic("kotlin/jvm/internal/Intrinsics", "throwNpe", "()V", false);
v.invokestatic(IntrinsicMethods.INTRINSICS_CLASS_NAME, "throwNpe", "()V", false);
v.mark(ok);
return StackValue.onStack(base.type);
}
@@ -22,6 +22,7 @@ import com.intellij.util.ArrayUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.codegen.ClosureCodegen;
import org.jetbrains.jet.codegen.StackValue;
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods;
import org.jetbrains.jet.codegen.state.JetTypeMapper;
import org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames.KotlinSyntheticClass;
import org.jetbrains.jet.lang.resolve.java.JvmClassName;
@@ -468,7 +469,7 @@ public class MethodInliner {
AbstractInsnNode next = cur.getNext();
if (next.getType() == AbstractInsnNode.METHOD_INSN) {
MethodInsnNode methodInsnNode = (MethodInsnNode) next;
if (methodInsnNode.name.equals("checkParameterIsNotNull") && methodInsnNode.owner.equals("kotlin/jvm/internal/Intrinsics")) {
if (methodInsnNode.name.equals("checkParameterIsNotNull") && methodInsnNode.owner.equals(IntrinsicMethods.INTRINSICS_CLASS_NAME)) {
AbstractInsnNode prev = cur.getPrevious();
assert cur.getOpcode() == Opcodes.LDC : "checkParameterIsNotNull should go after LDC but " + cur;
@@ -42,7 +42,7 @@ public class ArrayIndices extends IntrinsicMethod {
) {
receiver.put(receiver.type, v);
v.arraylength();
v.invokestatic("kotlin/jvm/internal/Intrinsics", "arrayIndices", Type.getMethodDescriptor(INT_RANGE_TYPE, INT_TYPE), false);
v.invokestatic(IntrinsicMethods.INTRINSICS_CLASS_NAME, "arrayIndices", Type.getMethodDescriptor(INT_RANGE_TYPE, INT_TYPE), false);
return INT_RANGE_TYPE;
}
}
@@ -58,10 +58,10 @@ public class CompareTo extends IntrinsicMethod {
codegen.gen(argument, type);
if (type == Type.INT_TYPE) {
v.invokestatic("kotlin/jvm/internal/Intrinsics", "compare", "(II)I", false);
v.invokestatic(IntrinsicMethods.INTRINSICS_CLASS_NAME, "compare", "(II)I", false);
}
else if (type == Type.LONG_TYPE) {
v.invokestatic("kotlin/jvm/internal/Intrinsics", "compare", "(JJ)I", false);
v.invokestatic(IntrinsicMethods.INTRINSICS_CLASS_NAME, "compare", "(JJ)I", false);
}
else if (type == Type.FLOAT_TYPE) {
v.invokestatic("java/lang/Float", "compare", "(FF)I", false);
@@ -36,6 +36,8 @@ import static org.jetbrains.jet.lang.types.lang.KotlinBuiltIns.BUILT_INS_PACKAGE
import static org.jetbrains.org.objectweb.asm.Opcodes.*;
public class IntrinsicMethods {
public static final String INTRINSICS_CLASS_NAME = "kotlin/jvm/internal/Intrinsics";
private static final IntrinsicMethod UNARY_MINUS = new UnaryMinus();
private static final IntrinsicMethod UNARY_PLUS = new UnaryPlus();
private static final IntrinsicMethod NUMBER_CAST = new NumberCast();
@@ -48,7 +48,7 @@ public class StringPlus extends IntrinsicMethod {
receiver.put(JAVA_STRING_TYPE, v);
codegen.gen(arguments.get(0)).put(OBJECT_TYPE, v);
}
v.invokestatic("kotlin/jvm/internal/Intrinsics", "stringPlus", "(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;", false);
v.invokestatic(IntrinsicMethods.INTRINSICS_CLASS_NAME, "stringPlus", "(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;", false);
return JAVA_STRING_TYPE;
}
}