From df0a2fb62fe5f2b7fb2ad13ade77c9eac8c6f27d Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 7 Apr 2011 14:27:02 +0200 Subject: [PATCH] Short --- idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java | 2 +- idea/src/org/jetbrains/jet/codegen/JetTypeMapper.java | 3 +++ idea/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java | 7 ++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index ac91b44f4c2..6b58fb2be3d 100644 --- a/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -468,7 +468,7 @@ public class ExpressionCodegen extends JetVisitor { DeclarationDescriptor cls = op.getContainingDeclaration(); if (cls instanceof ClassDescriptor) { final String className = cls.getName(); - if (className.equals("Int") || className.equals("Long")) { + if (className.equals("Int") || className.equals("Long") || className.equals("Short")) { if (op.getName().equals("compareTo")) { generateCompareOp(expression, opToken); } diff --git a/idea/src/org/jetbrains/jet/codegen/JetTypeMapper.java b/idea/src/org/jetbrains/jet/codegen/JetTypeMapper.java index 0fc1b83eef5..e39f4897f8a 100644 --- a/idea/src/org/jetbrains/jet/codegen/JetTypeMapper.java +++ b/idea/src/org/jetbrains/jet/codegen/JetTypeMapper.java @@ -23,6 +23,9 @@ public class JetTypeMapper { if (jetType.equals(standardLibrary.getLongType())) { return Type.LONG_TYPE; } + if (jetType.equals(standardLibrary.getShortType())) { + return Type.SHORT_TYPE; + } if (jetType.equals(standardLibrary.getBooleanType())) { return Type.BOOLEAN_TYPE; } diff --git a/idea/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java b/idea/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java index a7aea545c40..cefeaf0bfd1 100644 --- a/idea/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java +++ b/idea/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java @@ -237,7 +237,12 @@ public class NamespaceGenTest extends LightCodeInsightFixtureTestCase { assertEquals(0L, main.invoke(null, 1, 0)); } - private void binOpTest(final String text, final int arg1, final int arg2, final int expected) throws Exception { + public void testShort() throws Exception { + binOpTest("fun foo(a: Short, b: Short): Int = a + b", + Short.valueOf((short) 32767), Short.valueOf((short) 32767), 65534); + } + + private void binOpTest(final String text, final Object arg1, final Object arg2, final int expected) throws Exception { loadText(text); System.out.println(generateToText()); final Method main = generateFunction();