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:
+2
@@ -258,6 +258,7 @@ public class JavaTypeTransformer {
|
|||||||
classTypesMap.put(new FqName("java.lang.String"), JetStandardLibrary.getInstance().getNullableStringType());
|
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.CharSequence"), JetStandardLibrary.getInstance().getNullableCharSequenceType());
|
||||||
classTypesMap.put(new FqName("java.lang.Throwable"), JetStandardLibrary.getInstance().getNullableThrowableType());
|
classTypesMap.put(new FqName("java.lang.Throwable"), JetStandardLibrary.getInstance().getNullableThrowableType());
|
||||||
|
classTypesMap.put(new FqName("java.lang.Number"), JetStandardLibrary.getInstance().getNullableNumberType());
|
||||||
}
|
}
|
||||||
return classTypesMap;
|
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.String"), JetStandardLibrary.getInstance().getString());
|
||||||
classDescriptorMap.put(new FqName("java.lang.CharSequence"), JetStandardLibrary.getInstance().getCharSequence());
|
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.Throwable"), JetStandardLibrary.getInstance().getThrowable());
|
||||||
|
classDescriptorMap.put(new FqName("java.lang.Number"), JetStandardLibrary.getInstance().getNumber());
|
||||||
}
|
}
|
||||||
return classDescriptorMap;
|
return classDescriptorMap;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ public class JetStandardLibrary {
|
|||||||
private ClassDescriptor throwableClass;
|
private ClassDescriptor throwableClass;
|
||||||
|
|
||||||
private JetType numberType;
|
private JetType numberType;
|
||||||
|
private JetType nullableNumberType;
|
||||||
private JetType stringType;
|
private JetType stringType;
|
||||||
private JetType volatileType;
|
private JetType volatileType;
|
||||||
private JetType nullableStringType;
|
private JetType nullableStringType;
|
||||||
@@ -180,6 +181,7 @@ public class JetStandardLibrary {
|
|||||||
this.comparableClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Comparable"));
|
this.comparableClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Comparable"));
|
||||||
|
|
||||||
this.numberType = new JetTypeImpl(getNumber());
|
this.numberType = new JetTypeImpl(getNumber());
|
||||||
|
this.nullableNumberType = TypeUtils.makeNullable(numberType);
|
||||||
this.stringType = new JetTypeImpl(getString());
|
this.stringType = new JetTypeImpl(getString());
|
||||||
this.charSequenceType = new JetTypeImpl(getCharSequence());
|
this.charSequenceType = new JetTypeImpl(getCharSequence());
|
||||||
this.nullableCharSequenceType = TypeUtils.makeNullable(charSequenceType);
|
this.nullableCharSequenceType = TypeUtils.makeNullable(charSequenceType);
|
||||||
@@ -519,6 +521,12 @@ public class JetStandardLibrary {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public JetType getNumberType() {
|
public JetType getNumberType() {
|
||||||
|
initStdClasses();
|
||||||
return numberType;
|
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;
|
package org.jetbrains.jet.checkers;
|
||||||
|
|
||||||
|
import junit.framework.Assert;
|
||||||
import junit.framework.Test;
|
import junit.framework.Test;
|
||||||
import junit.framework.TestSuite;
|
import junit.framework.TestSuite;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.test.TestMetadata;
|
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 */
|
/** This class is generated by {@link org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest}. DO NOT MODIFY MANUALLY */
|
||||||
public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
|
public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
|
||||||
@@ -1924,6 +1927,11 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
|
|||||||
doTest("compiler/testData/diagnostics/tests/regressions/kt235.kt");
|
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")
|
@TestMetadata("kt251.kt")
|
||||||
public void testKt251() throws Exception {
|
public void testKt251() throws Exception {
|
||||||
doTest("compiler/testData/diagnostics/tests/regressions/kt251.kt");
|
doTest("compiler/testData/diagnostics/tests/regressions/kt251.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user