Commit Graph

1087 Commits

Author SHA1 Message Date
Ian Farmer
b4ac032fd7 Fix the NOT instruction. Includes test case. 2007-07-21 04:08:28 +00:00
Ian Farmer
c0f054549b Change the pom.xml and remove some use of Java 1.5 features to reduce the
number of errors produced by "mvn package".
2007-07-19 04:23:42 +00:00
Ian Farmer
2a64db32b5 Add last Lua type: userdata. Changed LInstance to inherit from LUserData,
and changed instanceof/casts to LInstance to use LUserData instead. This
should enable various add-ons to be compatible without knowing much, or
anything, about each other.
2007-07-17 04:04:18 +00:00
Ian Farmer
8c3fe262f9 Adding test suite with tests from the set of standard Lua test cases. These
test cases were downloaded from:
  http://www.inf.puc-rio.br/~roberto/lua/lua5.1-tests.tar.gz
2007-07-17 03:20:53 +00:00
Ian Farmer
635f127cd0 Add new built-in function type() that returns the name of the type of
the given value as a string. Includes test case.
2007-07-16 02:37:08 +00:00
Ian Farmer
c65dec54fb Fix a bug in how comparison instructions are handled: the 'a' intruction field
was ignored.  Includes new test case.
2007-07-15 20:33:20 +00:00
James Roseborough
ba3da1ca2c Fine-tune protection to enable compiler porting. 2007-07-13 14:49:58 +00:00
Ian Farmer
2a28925f74 Fix a bug in how OP_SETLIST is handled. Includes new test case. 2007-07-12 04:06:41 +00:00
Ian Farmer
f7d6a49acb Add a new test case for upvalues, and enhance upvalue handling so that
they pass.
2007-07-09 04:10:25 +00:00
Ian Farmer
45964d7e22 Add simple test for correct upvalue handling. 2007-07-09 01:43:34 +00:00
Ian Farmer
62022d5881 While loading chunks, check if double values can be represented as integers,
and load them as LIntegers instead of LDoubles if so. Also change test2 so that
it does not fail because of the rounding problem. With these changes, 4 out of
7 test cases in LuaJTest now pass.
2007-07-09 01:31:31 +00:00
Ian Farmer
241edfbf37 Added a JUnit test case. Unfortunately, it will almost certainly not work on
Windows in its present form, and only one of the test cases passes.
In addition two changes to print() were made: output can be redirected to
an arbitrary OutputStream and tabs are no longer printed at the end of
each line.
2007-07-04 04:25:06 +00:00
Ian Farmer
ba26aed248 Add maven's "target" directory to .cvsignore file. 2007-07-04 03:24:44 +00:00
Ian Farmer
d987d89092 Fix two bugs in LuaJava compatibility addon:
(1) LDouble to Double/double coercions were missing
(2) LuaJava.LMethod.luaStackCall adjusted the top of stack in a way that
produces the wrong results when the call occurs as the argument to another
function (such as print)

Also added two lines to the bottom of test7.lua to test luajava.bindClass.
2007-07-04 03:23:09 +00:00
Ian Farmer
a3ffb9a207 Add .cvsignore listing "bin" directory, which is Eclipse's build outputs
directory.
2007-07-04 02:46:18 +00:00
Ian Farmer
bb8844f6b8 Fix Eclipse project settings: Java 1.5 features are used, so the java
language version must be set to 5.
2007-07-04 02:44:07 +00:00
James Roseborough
7aab64e6d3 Allow null values in arguments to pushCall, expose the underlying storage in LTable to simplify add-ons until the lTable is finished. 2007-07-02 14:39:17 +00:00
James Roseborough
2fe87230d8 Fix pointer to next available stack slot 2007-06-27 14:30:18 +00:00
James Roseborough
c8e1934916 Refactor call stack and its use throughout. CallFrame now does all bytecode processing, and the callframe is reinitialized anytime something might have changed, like a function call. 2007-06-27 06:43:33 +00:00
James Roseborough
93fc4699a9 Type coercion for luajava package, make luajava an "addon" 2007-06-24 15:04:19 +00:00
James Roseborough
1d7793f8e6 Initial draft of luajava package support. 2007-06-19 05:17:07 +00:00
James Roseborough
99077764ac Fix basic class processing via metatables. Make print output more closely match that produces by C interpreter 2007-06-19 04:25:34 +00:00
James Roseborough
54927db2fc Implement most of metatables 2007-06-17 02:58:40 +00:00
James Roseborough
5d3c86e552 Partial implementation of metatables. 2007-06-16 15:31:27 +00:00
James Roseborough
7449605d56 Improve table processing when table lookup fails. 2007-06-16 04:42:20 +00:00
James Roseborough
a9c72414d1 Fix for loop that uses iterator 2007-06-16 02:47:47 +00:00
James Roseborough
4fb619fe87 fix builtins to keep them from obliterating stack values. 2007-06-15 15:20:21 +00:00
James Roseborough
be20581731 Improve call stack handling to prepare for propert tail call handling. 2007-06-15 06:41:40 +00:00
James Roseborough
19bd995ba6 Enhance binary compare operators, especially equals, to more closely match what standard lua does. 2007-06-14 04:58:09 +00:00
James Roseborough
14108aee87 Fix upvalues that allow closures to work properly. 2007-06-14 04:09:57 +00:00
James Roseborough
4b7bbc1d8e Vix VARARGS passing by adjusting stack on varargs call to bury varargs + length of varargs under base of stack 2007-06-12 14:30:49 +00:00
James Roseborough
b6f123d5e5 Improve vararg handling logic. 2007-06-12 06:22:55 +00:00
James Roseborough
da6f63bb3d Fix calling convention by managing top of stack and adjusting on way in and out of function calls. 2007-06-11 05:51:19 +00:00
James Roseborough
05cfdaa33b Improve calling convention handling when the number of arguments doesn't match the expected number, and the number of return values doesn't match those needed. 2007-06-11 04:30:03 +00:00
James Roseborough
de763e0a1e Support for iterator-style for loops, and "pairs" builting function 2007-06-10 22:53:09 +00:00
James Roseborough
e1e6625aa1 Add binary compares, some unary ops, fix binary arithmetic, add plain for loop. 2007-06-10 19:49:47 +00:00
James Roseborough
70dfc20f57 Initial draft of interpreter. Lua compiled "chunks" can be unmarshalled. Approximately half of bytecodes implemented in some form or another. 2007-06-08 05:11:37 +00:00