More execution, including getstatic

This commit is contained in:
Adam
2014-12-02 15:36:06 -05:00
parent 37dac95ee0
commit 81095be5da
44 changed files with 1091 additions and 26 deletions

View File

@@ -23,4 +23,10 @@ public class Double extends PoolEntry
{
return 2;
}
@Override
public Object getObject()
{
return value;
}
}

View File

@@ -17,4 +17,10 @@ public class Float extends PoolEntry
value = is.readFloat();
}
@Override
public Object getObject()
{
return value;
}
}

View File

@@ -17,4 +17,10 @@ public class Integer extends PoolEntry
value = is.readInt();
}
@Override
public Object getObject()
{
return value;
}
}

View File

@@ -23,4 +23,10 @@ public class Long extends PoolEntry
{
return 2;
}
@Override
public Object getObject()
{
return value;
}
}

View File

@@ -31,4 +31,30 @@ public class NameAndType extends PoolEntry
UTF8 u = (UTF8) this.getPool().getEntry(descriptorIndex);
return u.getValue();
}
public Object getStackObject()
{
java.lang.String desc = getDescriptor();
switch (desc)
{
case "B":
return (byte) 0;
case "C":
return (char) 0;
case "I":
return 0;
case "S":
return null;
case "Z":
return false;
case "D":
return 0d;
case "F":
return 0f;
case "L":
return 0L;
default:
return null;
}
}
}

View File

@@ -22,4 +22,9 @@ public abstract class PoolEntry
{
return 1;
}
public Object getObject()
{
throw new RuntimeException("No getObject implemented for " + this);
}
}

View File

@@ -17,4 +17,10 @@ public class String extends PoolEntry
stringIndex = is.readUnsignedShort();
}
@Override
public Object getObject()
{
return stringIndex;
}
}