October 1 2003
jtools/js/tinyvm/CodeUtilities: (search for
OP_LDC:) If this patch is missing, compile error can raise up with a message, that there are too many constants.
case OP_LDC: // Bug reported by Jochen Hiller, fixed by Lawrie Griffiths // convert aCode[i] not to an int, mask it to an unsigned byte instead // pOutCode[i] = (byte) processConstantIndex ((int) aCode[i]); pOutCode[i] = (byte) processConstantIndex (aCode[i] & 0xFF); i++; break;
lejosunit.rcxui.TestRunner, which enables leJOS to start tests using the RCX buttons, and display useful output on the very simple text display.
Mathlibrary, which will increase the size of the linked program for some kBytes. Implicitely, Java will use the class
String s = "abc" + "def" + "123";.
Stringconcatenations. The class
lesjosunit.util.Utilimplements some simple
Stringconcatenations for 2 and 3 arguments based on
Assert: Does not support
assertEqualsmethods for argument types
Assert: Does not support
assertEquals(String, String, String), as they print out a specialiced format in JUnit. This cannot be supported within the limited text display. Therefore, class
ComparisonFailurehas not been implemented.
Asserthas been designed, to avoid dependencies to class
StringBuffer, as this would require the
Mathclass, and would increase the required footprint.
assertEquals(float, float, float)and
assertEquals(String, float, float, float)are implemented by the class
FloatAssertuses the class
StringBuffer, which requires the
TestSuitedoes not support a name.
TestResultdoes support only ONE TestListener, to avoid
TestCasedoes not implement any deprecated methods.
leJOSUnit includes some tests
to compare the required
executable without leJOSUnit and including leJOSUnit.
In leJOS 2.1, there is less footprint, due to the enhanced optimized linker, which removes also not used methods.
This is based on leJOS 2.0, which includes an optimized linker, removing not required classes.
Util.arraycopy(char, int, char, int, int)should be provided by the core leJOS environment in
System.arraycopy(char, int, char, int, int), as this can be a general useful function. At the moment (leJOS 2.0), it is in package scope and cannot be used outside of
java.lang. This would decrease the required code size.
Vector also implements
arraycopy(Object, int, Object, int, int).
Can this be consolidated ?
System.arraycopy(char, int, char, int, int)
a public method ! Consolidate with
Vector.arraycopy(Object, int, Object, int, int),
Object instead of
char argument type.
Does it make sense, to implement this as a native method ?
int i = 1; StringBuffer sbuf = new StringBuffer(); sbuf.append (i); // this code fails sbuf.append (new Integer (i)); // this code works
RemoteTestRunner, running at PC side, and a
TestRunnerServerrunning at RCX.
byte, instead of
String. Will decrease footprint.