diff --git a/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 8d741317160..e7336a4a2e4 100644 --- a/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -471,7 +471,8 @@ 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") || className.equals("Short")) { + if (className.equals("Int") || className.equals("Long") || className.equals("Short") || + className.equals("Byte")) { 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 e39f4897f8a..9c926b3703a 100644 --- a/idea/src/org/jetbrains/jet/codegen/JetTypeMapper.java +++ b/idea/src/org/jetbrains/jet/codegen/JetTypeMapper.java @@ -26,6 +26,9 @@ public class JetTypeMapper { if (jetType.equals(standardLibrary.getShortType())) { return Type.SHORT_TYPE; } + if (jetType.equals(standardLibrary.getByteType())) { + return Type.BYTE_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 cefeaf0bfd1..fd8629dd4ca 100644 --- a/idea/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java +++ b/idea/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java @@ -242,6 +242,11 @@ public class NamespaceGenTest extends LightCodeInsightFixtureTestCase { Short.valueOf((short) 32767), Short.valueOf((short) 32767), 65534); } + public void testByte() throws Exception { + binOpTest("fun foo(a: Byte, b: Byte): Int = a + b", + Byte.valueOf((byte) 127), Byte.valueOf((byte) 127), 254); + } + private void binOpTest(final String text, final Object arg1, final Object arg2, final int expected) throws Exception { loadText(text); System.out.println(generateToText());