mirror of
https://github.com/Eaglercraft-TeaVM-Fork/eagler-teavm.git
synced 2024-12-23 00:24:11 -08:00
Merge branch 'master' into diagnostics
This commit is contained in:
commit
bdf4f7dbae
|
@ -29,6 +29,10 @@
|
||||||
<name>TeaVM Java class library</name>
|
<name>TeaVM Java class library</name>
|
||||||
<description>TeaVM Java class library emulation</description>
|
<description>TeaVM Java class library emulation</description>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<teavm.classlib.test.incremental>false</teavm.classlib.test.incremental>
|
||||||
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
|
@ -93,6 +97,7 @@
|
||||||
<properties>
|
<properties>
|
||||||
<java.util.Locale.available>en, en_US, en_GB, ru, ru_RU</java.util.Locale.available>
|
<java.util.Locale.available>en, en_US, en_GB, ru, ru_RU</java.util.Locale.available>
|
||||||
</properties>
|
</properties>
|
||||||
|
<incremental>${teavm.classlib.test.incremental}</incremental>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
|
|
|
@ -64,7 +64,7 @@ public class TBufferedInputStream extends TFilterInputStream {
|
||||||
if (result > 0) {
|
if (result > 0) {
|
||||||
markpos = -1;
|
markpos = -1;
|
||||||
pos = 0;
|
pos = 0;
|
||||||
count = result == -1 ? 0 : result;
|
count = result;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ public class TFilterOutputStream extends TOutputStream {
|
||||||
} catch (TIOException e) {
|
} catch (TIOException e) {
|
||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
close();
|
out.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
*/
|
*/
|
||||||
package org.teavm.classlib.java.lang;
|
package org.teavm.classlib.java.lang;
|
||||||
|
|
||||||
|
import org.teavm.javascript.ni.Rename;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Alexey Andreev
|
* @author Alexey Andreev
|
||||||
|
@ -26,5 +28,6 @@ public interface TCharSequence {
|
||||||
|
|
||||||
TCharSequence subSequence(int start, int end);
|
TCharSequence subSequence(int start, int end);
|
||||||
|
|
||||||
|
@Rename("toString")
|
||||||
TString toString0();
|
TString toString0();
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@ import org.teavm.javascript.ni.InjectedBy;
|
||||||
*/
|
*/
|
||||||
public class TClass<T> extends TObject {
|
public class TClass<T> extends TObject {
|
||||||
TString name;
|
TString name;
|
||||||
|
TString binaryName;
|
||||||
boolean primitive;
|
boolean primitive;
|
||||||
boolean array;
|
boolean array;
|
||||||
boolean isEnum;
|
boolean isEnum;
|
||||||
|
@ -42,7 +43,7 @@ public class TClass<T> extends TObject {
|
||||||
public native boolean isAssignableFrom(TClass<?> obj);
|
public native boolean isAssignableFrom(TClass<?> obj);
|
||||||
|
|
||||||
public TString getName() {
|
public TString getName() {
|
||||||
return new TString(name);
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isPrimitive() {
|
public boolean isPrimitive() {
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class TObject {
|
||||||
|
|
||||||
@Rename("toString")
|
@Rename("toString")
|
||||||
public TString toString0() {
|
public TString toString0() {
|
||||||
return TString.wrap(getClass().getName() + "@" + identity());
|
return TString.wrap(getClass().getName() + "@" + TInteger.toHexString(identity()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GeneratedBy(ObjectNativeGenerator.class)
|
@GeneratedBy(ObjectNativeGenerator.class)
|
||||||
|
|
|
@ -200,7 +200,7 @@ public class TStringBuffer extends TAbstractStringBuilder implements TAppendable
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TStringBuffer deleteCharAt(int index) {
|
public TStringBuffer deleteCharAt(int index) {
|
||||||
deleteCharAt(index);
|
super.deleteCharAt(index);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -200,7 +200,7 @@ public class TStringBuilder extends TAbstractStringBuilder implements TAppendabl
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TStringBuilder deleteCharAt(int index) {
|
public TStringBuilder deleteCharAt(int index) {
|
||||||
deleteCharAt(index);
|
super.deleteCharAt(index);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,7 +109,7 @@ public class TDateFormatSymbols implements TSerializable, TCloneable {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
for (int j = 0; j < element.length; j++) {
|
for (int j = 0; j < element.length; j++) {
|
||||||
if (element[j] != element[j] && !(element[j].equals(element[j]))) {
|
if (!(element[j].equals(element[j]))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,19 +54,21 @@ public class TBitSet extends TObject implements TCloneable, TSerializable {
|
||||||
int[] ints = new int[(bytes.length + 3) / 4];
|
int[] ints = new int[(bytes.length + 3) / 4];
|
||||||
int fullInts = bytes.length / 4;
|
int fullInts = bytes.length / 4;
|
||||||
for (int i = 0; i < fullInts; ++i) {
|
for (int i = 0; i < fullInts; ++i) {
|
||||||
ints[i] = bytes[i * 4] | (bytes[i * 4 + 1] << 8) | (bytes[i * 4 + 2] << 16) | (bytes[i * 4 + 3] << 24);
|
ints[i] = (bytes[i * 4] & 0xFF) | ((bytes[i * 4 + 1] & 0xFF) << 8) | ((bytes[i * 4 + 2] & 0xFF) << 16) |
|
||||||
|
((bytes[i * 4 + 3] & 0xFF) << 24);
|
||||||
}
|
}
|
||||||
int lastInt = ints.length - 1;
|
int lastInt = ints.length - 1;
|
||||||
int lastByte = bytes[lastInt * 4];
|
int lastByte = lastInt * 4;
|
||||||
switch (bytes.length % 4) {
|
switch (bytes.length % 4) {
|
||||||
case 3:
|
case 3:
|
||||||
ints[lastInt] = bytes[lastByte] | (bytes[lastByte + 1] << 8) | (bytes[lastByte + 2] << 16);
|
ints[lastInt] = (bytes[lastByte] & 0xFF) | ((bytes[lastByte + 1] & 0xFF) << 8) |
|
||||||
|
((bytes[lastByte + 2] & 0xFF) << 16);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
ints[lastInt] = bytes[lastByte] | (bytes[lastByte + 1] << 8);
|
ints[lastInt] = (bytes[lastByte] & 0xFF) | ((bytes[lastByte + 1] & 0xFF) << 8);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
ints[lastInt] = bytes[lastByte];
|
ints[lastInt] = bytes[lastByte] & 0xFF;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return new TBitSet(ints);
|
return new TBitSet(ints);
|
||||||
|
@ -105,9 +107,9 @@ public class TBitSet extends TObject implements TCloneable, TSerializable {
|
||||||
int fullLongs = length / 64;
|
int fullLongs = length / 64;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (; i < fullLongs; ++i) {
|
for (; i < fullLongs; ++i) {
|
||||||
longs[i] = data[i * 2] | (data[i * 2 + 1] << 32);
|
longs[i] = data[i * 2] | ((long)data[i * 2 + 1] << 32);
|
||||||
}
|
}
|
||||||
if (((31 + length) / 32) % 2 == 1) {
|
if ((((31 + length) / 32) & 1) == 1) {
|
||||||
longs[i] = data[i * 2];
|
longs[i] = data[i * 2];
|
||||||
}
|
}
|
||||||
return longs;
|
return longs;
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class TRandom extends TObject implements TSerializable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void nextBytes(byte[] bytes) {
|
public void nextBytes(byte[] bytes) {
|
||||||
for (int i = 0; i < bytes.length; ) {
|
for (int i = 0; i < bytes.length; ++i) {
|
||||||
bytes[i] = (byte)next(8);
|
bytes[i] = (byte)next(8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,9 @@ public class ClassTest {
|
||||||
@Test
|
@Test
|
||||||
public void classNameEvaluated() {
|
public void classNameEvaluated() {
|
||||||
assertEquals("java.lang.Object", Object.class.getName());
|
assertEquals("java.lang.Object", Object.class.getName());
|
||||||
|
assertEquals("[Ljava.lang.Object;", Object[].class.getName());
|
||||||
|
assertEquals("int", int.class.getName());
|
||||||
|
assertEquals("[I", int[].class.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -60,4 +60,11 @@ public class ObjectTest {
|
||||||
public void properInstanceDetected() {
|
public void properInstanceDetected() {
|
||||||
assertTrue(Object.class.isInstance(new Object()));
|
assertTrue(Object.class.isInstance(new Object()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void toStringWorks() {
|
||||||
|
assertTrue(new Object().toString().startsWith("java.lang.Object@"));
|
||||||
|
assertTrue(new Object[2].toString().startsWith("[Ljava.lang.Object;@"));
|
||||||
|
assertTrue(new byte[3].toString().startsWith("[B@"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,11 +32,11 @@
|
||||||
package org.teavm.classlib.java.util;
|
package org.teavm.classlib.java.util;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.BitSet;
|
import java.util.BitSet;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class BitSetTest {
|
public class BitSetTest {
|
||||||
|
|
||||||
BitSet eightbs;
|
BitSet eightbs;
|
||||||
|
|
||||||
public BitSetTest() {
|
public BitSetTest() {
|
||||||
|
@ -58,6 +58,23 @@ public class BitSetTest {
|
||||||
assertEquals("New BitSet had invalid string representation: " + bs, "{}", bs.toString());
|
assertEquals("New BitSet had invalid string representation: " + bs, "{}", bs.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void constructFromBytes() {
|
||||||
|
for (int i = 4; i < 8; ++i) {
|
||||||
|
byte[] bytes = new byte[i];
|
||||||
|
Arrays.fill(bytes, (byte)0x80);
|
||||||
|
BitSet bs = BitSet.valueOf(bytes);
|
||||||
|
assertEquals("Wrong length of BitSet", i * 8, bs.length());
|
||||||
|
for (int j = 0; j < bs.length(); ++j) {
|
||||||
|
if (j % 8 == 7) {
|
||||||
|
assertTrue("Expected that " + j + "th bit is to be set", bs.get(j));
|
||||||
|
} else {
|
||||||
|
assertFalse("Expected that " + j + "th bit is not to be set", bs.get(j));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void clonePerformed() {
|
public void clonePerformed() {
|
||||||
BitSet bs;
|
BitSet bs;
|
||||||
|
@ -76,12 +93,9 @@ public class BitSetTest {
|
||||||
|
|
||||||
bs = (BitSet) eightbs.clone();
|
bs = (BitSet) eightbs.clone();
|
||||||
bs.set(128);
|
bs.set(128);
|
||||||
assertFalse("Different sized BitSet with higher bit set returned true",
|
assertFalse("Different sized BitSet with higher bit set returned true", eightbs.equals(bs));
|
||||||
eightbs.equals(bs));
|
|
||||||
bs.clear(128);
|
bs.clear(128);
|
||||||
assertTrue(
|
assertTrue("Different sized BitSet with higher bits not set returned false", eightbs.equals(bs));
|
||||||
"Different sized BitSet with higher bits not set returned false",
|
|
||||||
eightbs.equals(bs));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -53,10 +53,12 @@ public class AstIO {
|
||||||
output.writeShort(method.getParameterDebugNames().size());
|
output.writeShort(method.getParameterDebugNames().size());
|
||||||
for (Set<String> debugNames : method.getParameterDebugNames()) {
|
for (Set<String> debugNames : method.getParameterDebugNames()) {
|
||||||
output.writeShort(debugNames != null ? debugNames.size() : 0);
|
output.writeShort(debugNames != null ? debugNames.size() : 0);
|
||||||
|
if (debugNames != null) {
|
||||||
for (String debugName : debugNames) {
|
for (String debugName : debugNames) {
|
||||||
output.writeUTF(debugName);
|
output.writeUTF(debugName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
output.writeBoolean(method.isOriginalNamePreserved());
|
output.writeBoolean(method.isOriginalNamePreserved());
|
||||||
try {
|
try {
|
||||||
method.getBody().acceptVisitor(new NodeWriter(output));
|
method.getBody().acceptVisitor(new NodeWriter(output));
|
||||||
|
|
|
@ -224,7 +224,7 @@ public class Debugger {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Breakpoint createBreakpoint(SourceLocation location) {
|
public Breakpoint createBreakpoint(SourceLocation location) {
|
||||||
synchronized (breakpoints) {
|
synchronized (breakpointMap) {
|
||||||
Breakpoint breakpoint = new Breakpoint(this, location);
|
Breakpoint breakpoint = new Breakpoint(this, location);
|
||||||
breakpoints.put(breakpoint, dummyObject);
|
breakpoints.put(breakpoint, dummyObject);
|
||||||
updateInternalBreakpoints(breakpoint);
|
updateInternalBreakpoints(breakpoint);
|
||||||
|
@ -366,7 +366,7 @@ public class Debugger {
|
||||||
breakpointMap.remove(jsBreakpoint);
|
breakpointMap.remove(jsBreakpoint);
|
||||||
}
|
}
|
||||||
breakpoint.jsBreakpoints = new ArrayList<>();
|
breakpoint.jsBreakpoints = new ArrayList<>();
|
||||||
breakpoints.remove(this);
|
breakpoints.remove(breakpoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fireResumed() {
|
private void fireResumed() {
|
||||||
|
|
|
@ -178,6 +178,12 @@ public class Renderer implements ExprVisitor, StatementVisitor, RenderingContext
|
||||||
.append("clsProto.$meta.name").ws().append("!==").ws().append("undefined").ws().append("?").ws()
|
.append("clsProto.$meta.name").ws().append("!==").ws().append("undefined").ws().append("?").ws()
|
||||||
.append("$rt_str(clsProto.$meta.name)").ws().append(":").ws().append("null;").softNewLine();
|
.append("$rt_str(clsProto.$meta.name)").ws().append(":").ws().append("null;").softNewLine();
|
||||||
}
|
}
|
||||||
|
if (classSource.get(classClass).getField("name") != null) {
|
||||||
|
writer.append("cls.").appendField(new FieldReference(classClass, "binaryName")).ws().append("=").ws()
|
||||||
|
.append("clsProto.$meta.binaryName").ws().append("!==").ws().append("undefined").ws()
|
||||||
|
.append("?").ws()
|
||||||
|
.append("$rt_str(clsProto.$meta.binaryName)").ws().append(":").ws().append("null;").softNewLine();
|
||||||
|
}
|
||||||
if (classSource.get(classClass).getField("primitive") != null) {
|
if (classSource.get(classClass).getField("primitive") != null) {
|
||||||
writer.append("cls.").appendField(new FieldReference(classClass, "primitive"))
|
writer.append("cls.").appendField(new FieldReference(classClass, "primitive"))
|
||||||
.append(" = clsProto.$meta.primitive ? 1 : 0;").newLine();
|
.append(" = clsProto.$meta.primitive ? 1 : 0;").newLine();
|
||||||
|
|
|
@ -60,7 +60,7 @@ class InterferenceGraphBuilder {
|
||||||
}
|
}
|
||||||
for (TryCatchBlock tryCatch : block.getTryCatchBlocks()) {
|
for (TryCatchBlock tryCatch : block.getTryCatchBlocks()) {
|
||||||
if (tryCatch.getExceptionVariable() != null) {
|
if (tryCatch.getExceptionVariable() != null) {
|
||||||
live.remove(tryCatch.getExceptionVariable());
|
live.remove(nodes.get(tryCatch.getExceptionVariable().getIndex()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int j = block.getInstructions().size() - 1; j >= 0; --j) {
|
for (int j = block.getInstructions().size() - 1; j >= 0; --j) {
|
||||||
|
|
|
@ -128,7 +128,9 @@ function $rt_arraycls(cls) {
|
||||||
str += "]";
|
str += "]";
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
arraycls.$meta = { item : cls, supertypes : [$rt_objcls()], primitive : false, superclass : $rt_objcls() };
|
var name = "[" + cls.$meta.binaryName;
|
||||||
|
arraycls.$meta = { item : cls, supertypes : [$rt_objcls()], primitive : false, superclass : $rt_objcls(),
|
||||||
|
name : name, binaryName : name };
|
||||||
cls.$array = arraycls;
|
cls.$array = arraycls;
|
||||||
}
|
}
|
||||||
return cls.$array;
|
return cls.$array;
|
||||||
|
@ -140,84 +142,73 @@ function $rt_createcls() {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
function $rt_createPrimitiveCls(name, binaryName) {
|
||||||
|
var cls = $rt_createcls();
|
||||||
|
cls.$meta.primitive = true;
|
||||||
|
cls.$meta.name = name;
|
||||||
|
cls.$meta.binaryName = binaryName;
|
||||||
|
return cls;
|
||||||
|
}
|
||||||
var $rt_booleanclsCache = null;
|
var $rt_booleanclsCache = null;
|
||||||
function $rt_booleancls() {
|
function $rt_booleancls() {
|
||||||
if ($rt_booleanclsCache === null) {
|
if ($rt_booleanclsCache === null) {
|
||||||
$rt_booleanclsCache = $rt_createcls();
|
$rt_booleanclsCache = $rt_createPrimitiveCls("boolean", "Z");
|
||||||
$rt_booleanclsCache.primitive = true;
|
|
||||||
$rt_booleanclsCache.name = "boolean";
|
|
||||||
}
|
}
|
||||||
return $rt_booleanclsCache;
|
return $rt_booleanclsCache;
|
||||||
}
|
}
|
||||||
var $rt_charclsCache = null;
|
var $rt_charclsCache = null;
|
||||||
function $rt_charcls() {
|
function $rt_charcls() {
|
||||||
if ($rt_charclsCache === null) {
|
if ($rt_charclsCache === null) {
|
||||||
$rt_charclsCache = $rt_createcls();
|
$rt_charclsCache = $rt_createPrimitiveCls("char", "C");
|
||||||
$rt_charclsCache.primitive = true;
|
|
||||||
$rt_charclsCache.name = "char";
|
|
||||||
}
|
}
|
||||||
return $rt_charclsCache;
|
return $rt_charclsCache;
|
||||||
}
|
}
|
||||||
var $rt_byteclsCache = null;
|
var $rt_byteclsCache = null;
|
||||||
function $rt_bytecls() {
|
function $rt_bytecls() {
|
||||||
if ($rt_byteclsCache === null) {
|
if ($rt_byteclsCache === null) {
|
||||||
$rt_byteclsCache = $rt_createcls();
|
$rt_byteclsCache = $rt_createPrimitiveCls("byte", "B");
|
||||||
$rt_byteclsCache.primitive = true;
|
|
||||||
$rt_byteclsCache.name = "byte";
|
|
||||||
}
|
}
|
||||||
return $rt_byteclsCache;
|
return $rt_byteclsCache;
|
||||||
}
|
}
|
||||||
var $rt_shortclsCache = null;
|
var $rt_shortclsCache = null;
|
||||||
function $rt_shortcls() {
|
function $rt_shortcls() {
|
||||||
if ($rt_shortclsCache === null) {
|
if ($rt_shortclsCache === null) {
|
||||||
$rt_shortclsCache = $rt_createcls();
|
$rt_shortclsCache = $rt_createPrimitiveCls("short", "S");
|
||||||
$rt_shortclsCache.primitive = true;
|
|
||||||
$rt_shortclsCache.name = "short";
|
|
||||||
}
|
}
|
||||||
return $rt_shortclsCache;
|
return $rt_shortclsCache;
|
||||||
}
|
}
|
||||||
var $rt_intclsCache = null;
|
var $rt_intclsCache = null;
|
||||||
function $rt_intcls() {
|
function $rt_intcls() {
|
||||||
if ($rt_intclsCache === null) {
|
if ($rt_intclsCache === null) {
|
||||||
$rt_intclsCache = $rt_createcls();
|
$rt_intclsCache = $rt_createPrimitiveCls("int", "I");
|
||||||
$rt_intclsCache.primitive = true;
|
|
||||||
$rt_intclsCache.name = "int";
|
|
||||||
}
|
}
|
||||||
return $rt_intclsCache;
|
return $rt_intclsCache;
|
||||||
}
|
}
|
||||||
var $rt_longclsCache = null;
|
var $rt_longclsCache = null;
|
||||||
function $rt_longcls() {
|
function $rt_longcls() {
|
||||||
if ($rt_longclsCache === null) {
|
if ($rt_longclsCache === null) {
|
||||||
$rt_longclsCache = $rt_createcls();
|
$rt_longclsCache = $rt_createPrimitiveCls("long", "J");
|
||||||
$rt_longclsCache.primitive = true;
|
|
||||||
$rt_longclsCache.name = "long";
|
|
||||||
}
|
}
|
||||||
return $rt_longclsCache;
|
return $rt_longclsCache;
|
||||||
}
|
}
|
||||||
var $rt_floatclsCache = null;
|
var $rt_floatclsCache = null;
|
||||||
function $rt_floatcls() {
|
function $rt_floatcls() {
|
||||||
if ($rt_floatclsCache === null) {
|
if ($rt_floatclsCache === null) {
|
||||||
$rt_floatclsCache = $rt_createcls();
|
$rt_floatclsCache = $rt_createPrimitiveCls("float", "F");
|
||||||
$rt_floatclsCache.primitive = true;
|
|
||||||
$rt_floatclsCache.name = "float";
|
|
||||||
}
|
}
|
||||||
return $rt_floatclsCache;
|
return $rt_floatclsCache;
|
||||||
}
|
}
|
||||||
var $rt_doubleclsCache = null;
|
var $rt_doubleclsCache = null;
|
||||||
function $rt_doublecls() {
|
function $rt_doublecls() {
|
||||||
if ($rt_doubleclsCache === null) {
|
if ($rt_doubleclsCache === null) {
|
||||||
$rt_doubleclsCache = $rt_createcls();
|
$rt_doubleclsCache = $rt_createPrimitiveCls("double", "D");
|
||||||
$rt_doubleclsCache.primitive = true;
|
|
||||||
$rt_doubleclsCache.name = "double";
|
|
||||||
}
|
}
|
||||||
return $rt_doubleclsCache;
|
return $rt_doubleclsCache;
|
||||||
}
|
}
|
||||||
var $rt_voidclsCache = null;
|
var $rt_voidclsCache = null;
|
||||||
function $rt_voidcls() {
|
function $rt_voidcls() {
|
||||||
if ($rt_voidclsCache === null) {
|
if ($rt_voidclsCache === null) {
|
||||||
$rt_voidclsCache = $rt_createcls();
|
$rt_voidclsCache = $rt_createPrimitiveCls("void", "V");
|
||||||
$rt_voidclsCache.primitive = true;
|
|
||||||
$rt_voidclsCache.name = "void";
|
|
||||||
}
|
}
|
||||||
return $rt_voidclsCache;
|
return $rt_voidclsCache;
|
||||||
}
|
}
|
||||||
|
@ -383,6 +374,7 @@ function $rt_declClass(cls, data) {
|
||||||
cls.prototype = new Object();
|
cls.prototype = new Object();
|
||||||
}
|
}
|
||||||
cls.$meta.name = data.name;
|
cls.$meta.name = data.name;
|
||||||
|
cls.$meta.binaryName = "L" + data.name + ";";
|
||||||
cls.$meta.enum = data.enum;
|
cls.$meta.enum = data.enum;
|
||||||
cls.prototype.constructor = cls;
|
cls.prototype.constructor = cls;
|
||||||
cls.$clinit = data.clinit;
|
cls.$clinit = data.clinit;
|
||||||
|
|
|
@ -63,7 +63,7 @@ public interface XMLHttpRequest extends JSObject {
|
||||||
Document getResponseXML();
|
Document getResponseXML();
|
||||||
|
|
||||||
@JSProperty
|
@JSProperty
|
||||||
Integer getStatus();
|
int getStatus();
|
||||||
|
|
||||||
@JSProperty
|
@JSProperty
|
||||||
String getStatusText();
|
String getStatusText();
|
||||||
|
|
|
@ -6,7 +6,7 @@ Bundle-Version: 0.3.0.qualifer
|
||||||
Bundle-Vendor: Alexey Andreev <konsoletyper@gmail.com>
|
Bundle-Vendor: Alexey Andreev <konsoletyper@gmail.com>
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||||
Bundle-ClassPath: .,
|
Bundle-ClassPath: .,
|
||||||
lib/asm-debug-all-4.0.3.jar,
|
lib/asm-debug-all-5.0.3.jar,
|
||||||
lib/cdi-api-1.2.jar,
|
lib/cdi-api-1.2.jar,
|
||||||
lib/commons-io-2.4.jar,
|
lib/commons-io-2.4.jar,
|
||||||
lib/jackson-core-asl-1.9.13.jar,
|
lib/jackson-core-asl-1.9.13.jar,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user