Merge pull request #97 from udalov/kt2376

KT-2376 java.lang.Number should be visible in Kotlin as jet.Number
This commit is contained in:
Alex Tkachman
2012-07-11 04:04:52 -07:00
4 changed files with 29 additions and 1 deletions
@@ -258,6 +258,7 @@ public class JavaTypeTransformer {
classTypesMap.put(new FqName("java.lang.String"), JetStandardLibrary.getInstance().getNullableStringType());
classTypesMap.put(new FqName("java.lang.CharSequence"), JetStandardLibrary.getInstance().getNullableCharSequenceType());
classTypesMap.put(new FqName("java.lang.Throwable"), JetStandardLibrary.getInstance().getNullableThrowableType());
classTypesMap.put(new FqName("java.lang.Number"), JetStandardLibrary.getInstance().getNullableNumberType());
}
return classTypesMap;
}
@@ -277,6 +278,7 @@ public class JavaTypeTransformer {
classDescriptorMap.put(new FqName("java.lang.String"), JetStandardLibrary.getInstance().getString());
classDescriptorMap.put(new FqName("java.lang.CharSequence"), JetStandardLibrary.getInstance().getCharSequence());
classDescriptorMap.put(new FqName("java.lang.Throwable"), JetStandardLibrary.getInstance().getThrowable());
classDescriptorMap.put(new FqName("java.lang.Number"), JetStandardLibrary.getInstance().getNumber());
}
return classDescriptorMap;
}
@@ -98,6 +98,7 @@ public class JetStandardLibrary {
private ClassDescriptor throwableClass;
private JetType numberType;
private JetType nullableNumberType;
private JetType stringType;
private JetType volatileType;
private JetType nullableStringType;
@@ -180,6 +181,7 @@ public class JetStandardLibrary {
this.comparableClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Comparable"));
this.numberType = new JetTypeImpl(getNumber());
this.nullableNumberType = TypeUtils.makeNullable(numberType);
this.stringType = new JetTypeImpl(getString());
this.charSequenceType = new JetTypeImpl(getCharSequence());
this.nullableCharSequenceType = TypeUtils.makeNullable(charSequenceType);
@@ -519,6 +521,12 @@ public class JetStandardLibrary {
}
public JetType getNumberType() {
initStdClasses();
return numberType;
}
public JetType getNullableNumberType() {
initStdClasses();
return nullableNumberType;
}
}
@@ -0,0 +1,10 @@
// FILE: main.kt
//KT-2376 java.lang.Number should be visible in Kotlin as jet.Number
fun main(args: Array<String>) {
Test().number(5.toInt())
}
// FILE: Test.java
public class Test {
void number(Number n){}
}
@@ -15,12 +15,15 @@
*/
package org.jetbrains.jet.checkers;
import junit.framework.Assert;
import junit.framework.Test;
import junit.framework.TestSuite;
import java.io.File;
import org.jetbrains.jet.JetTestUtils;
import org.jetbrains.jet.test.TestMetadata;
import java.io.File;
import org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest;
/** This class is generated by {@link org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest}. DO NOT MODIFY MANUALLY */
public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
@@ -1924,6 +1927,11 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
doTest("compiler/testData/diagnostics/tests/regressions/kt235.kt");
}
@TestMetadata("kt2376.kt")
public void testKt2376() throws Exception {
doTest("compiler/testData/diagnostics/tests/regressions/kt2376.kt");
}
@TestMetadata("kt251.kt")
public void testKt251() throws Exception {
doTest("compiler/testData/diagnostics/tests/regressions/kt251.kt");