Commit Graph

2160 Commits

Author SHA1 Message Date
bc414fd3e8 function call now saves the return address before calling
that means SaveReturn is obsolete (breaks loads of tests)
first step towards multi - return which obviously can not have the
callee save return address.
In fact this would make FunctionCall redundant too, as it is really
just a branch
2015-11-03 11:20:49 +02:00
cffbc91821 fix field_def to new syntax 2015-11-02 21:27:37 +02:00
45bd4bfdc6 remove save return 2015-11-02 20:11:12 +02:00
ddb1df7362 start to fix the link issue
that came from removing SaveReturn
2015-11-02 20:10:48 +02:00
86b0030f15 refactor on_call 2015-11-02 17:32:21 +02:00
834266e11e improve label names a bit 2015-11-01 19:13:40 +02:00
d3a7809746 use . to mark methods 2015-10-30 00:01:28 +02:00
7e24f63327 polish sources 2015-10-29 22:31:28 +02:00
7d7b7ca995 adding types to layout
so we can test assignment
2015-10-29 12:45:29 +02:00
e4201143b3 last fixes from source change 2015-10-28 21:40:48 +02:00
e6743c7216 (string) source knockoffs 2015-10-28 21:39:59 +02:00
c426f4a6d5 some of the sources methods belonged to method really 2015-10-28 21:38:52 +02:00
bdb4a40f9c only string and ast allowed as source 2015-10-28 21:38:23 +02:00
191be8d2f6 use compiler to generate methods and their instructions 2015-10-28 21:37:42 +02:00
99a695907c move method_source functionality into compiler
the source was there long before the compiler (sis language) came along
and was basically doing the same
Much clearer concept with using compiler to generate methods and code
Also move compile method to method
2015-10-28 21:36:41 +02:00
c245272e52 don't export current 2015-10-28 14:37:40 +02:00
ef6cb2a069 use instruction steam from message
had been attached there last week, but was still used mainly through
the source (which i’m trying to remove)
2015-10-28 14:33:38 +02:00
72b790c107 remove method source receiver
no harm done it seems
2015-10-28 14:24:14 +02:00
e75517ff05 move constants to machine 2015-10-28 13:00:23 +02:00
7e0778dc70 remove return_type
soon to be obsolete with multi returns
2015-10-28 12:19:10 +02:00
142c36a374 fix return statement to actually return
fix a million tests
2015-10-27 21:04:46 +02:00
79cf59c4e2 still finding index errors 2015-10-27 18:45:56 +02:00
444ad75e1e some message tests, all ok 2015-10-27 18:08:40 +02:00
bb908dcf76 adding arg length to call sequence
and fix all the tests that affects
2015-10-27 16:21:11 +02:00
bd171d091a fix tests for indexed messages and frames
index_length changes index a bit
but from now on changes to layouts should push the index automatically
just have to set the index while calling now
2015-10-27 16:05:50 +02:00
50029711ff make frame and message indexed
also auto generate a replacement for previous offset class method (dry)
2015-10-27 16:04:36 +02:00
fdc7f8b39c small opal fix
the return didn’t work
but couldn’t reproduce in opal try
2015-10-27 12:44:53 +02:00
638c367e00 more class methods 2015-10-26 22:23:06 +02:00
5b7c98f50b order requires 2015-10-26 22:22:38 +02:00
abaa56fbba add create_method for layout too
as for class, same signature
some more test for behavior
2015-10-26 17:24:28 +02:00
9d0b264b79 minors 2015-10-26 17:23:35 +02:00
a0944266c5 hack weird instantiation bug
self.instance_methods is not always set. tried but didn’t find why
any instantiating to circumvent
2015-10-26 17:23:02 +02:00
624699f8ed minor 2015-10-26 15:14:38 +02:00
55dd5f74fc fixed layout inspect bug 2015-10-26 15:07:59 +02:00
885aa765d6 still fixing index bugs
the indexed_length got written wrong
which is why the layout methods didn’t work
Now all indexes are 1 based, even fake men, where we just ignore 0
2015-10-26 14:33:36 +02:00
9f4952b5ac create behavior module
behavior handles instance methods (add/remove/find)
and shall be included in layout later too
2015-10-26 13:27:56 +02:00
b76c140d32 some class field tests 2015-10-26 13:08:40 +02:00
dc58dbe2fe little clean 2015-10-26 13:02:08 +02:00
4cadfc9ea9 shortening some methods, removing object prefix 2015-10-26 12:58:38 +02:00
d2c670b31a fixing offset bug
found by tests that overwrite the attribute
2015-10-26 12:57:54 +02:00
1a236aa50e make binary code indexed (not derive from word)
still some work to be done there, as we should really have a byte buffer
2015-10-26 12:24:47 +02:00
96f43dcfda also giving word it's length
still hacked as char per word, but should be easy enough to fix when…
2015-10-26 12:23:52 +02:00
979ebb7612 fixing indexed stuff
layout returns layout as first name (offsets indexes)
object internal length is gone  into layouts functionality
2015-10-26 12:22:32 +02:00
bb3d211c04 layout moves to 0
no more type word, only layout
2015-10-25 20:44:30 +02:00
df62b75c6f adding an instance for the length of lists 2015-10-25 20:44:03 +02:00
c1ee67038c internally objects stop changing size 2015-10-25 20:43:13 +02:00
92fe12a0d1 move methods back to the module
easier to read and debug
2015-10-25 19:32:36 +02:00
60098257e9 use include so we can test with is_a
using the well documented included/extend trick
2015-10-25 19:16:12 +02:00
3318b5026c externalizing list functionality
redefining it with define_method and adding it dynamically to the list
gotta love ruby for it
2015-10-25 18:40:17 +02:00
b7d0ee8f99 wit metaclass and class functions
needs to go back to arrays first
2015-10-25 15:40:12 +02:00