Commit Graph

44 Commits

Author SHA1 Message Date
Andrey Breslav 94daf4c6bc Interpreter is not needed to create uninitialized values 2013-10-12 23:56:24 +04:00
Andrey Breslav 38e8e6addd Start with initial frame, not from scratch 2013-10-12 23:47:39 +04:00
Andrey Breslav 41d576c108 Support exceptionCaught() handler 2013-10-12 23:40:56 +04:00
Andrey Breslav 2e8ae6b7db TODO removed 2013-10-07 01:46:05 +04:00
Andrey Breslav 00fd00e09b Arrays supported 2013-10-07 01:45:05 +04:00
Andrey Breslav e1e1428f4b Exception handling fixed for the case of inner classes 2013-10-07 01:44:29 +04:00
Andrey Breslav 1dfbbb9f08 Support NPE and exceptions thrown from methods being called 2013-10-07 00:32:34 +04:00
Andrey Breslav 4a7fa6632e Class literals supported 2013-10-07 00:17:52 +04:00
Andrey Breslav 58ad84d4e9 Support try..catch and instanceof/casts 2013-10-07 00:16:09 +04:00
Andrey Breslav 3199a8f690 Support constructor calls 2013-10-06 23:41:20 +04:00
Andrey Breslav e8ac8cd7fa Invoke instance method supported 2013-10-06 22:59:44 +04:00
Andrey Breslav 47fd67a9b0 Get/Put instance field supported 2013-10-06 22:55:49 +04:00
Andrey Breslav 6e597b0438 Unused variable removed 2013-10-06 22:39:13 +04:00
Andrey Breslav 7d7316a077 Reading static fields supported 2013-10-06 18:01:12 +04:00
Andrey Breslav 2e6d523966 Reading static fields supported 2013-10-06 17:59:06 +04:00
Andrey Breslav b7c169fc89 Support static method calls 2013-10-06 17:46:23 +04:00
Andrey Breslav cec2111c29 Coerce object types on return 2013-10-06 17:44:37 +04:00
Andrey Breslav 8d29047204 Run configuration for tests 2013-10-06 17:43:56 +04:00
Andrey Breslav 9b2190e1b9 All objects should be loaded by Eval and not directly 2013-10-06 16:30:30 +04:00
Andrey Breslav c5cddd42cb .gitignore 2013-10-06 15:19:04 +04:00
Andrey Breslav 173e7157ab ReadMe 2013-10-06 15:17:59 +04:00
Andrey Breslav 632adb595c Some tests for loops 2013-10-06 15:17:59 +04:00
Andrey Breslav 55e861e503 Don't forget to pop the condition off the stack 2013-10-06 15:17:59 +04:00
Andrey Breslav c376619790 Allow omitting "public" and "test" 2013-10-06 15:17:59 +04:00
Andrey Breslav e85a6fda39 Support int coercions on return 2013-10-06 15:17:59 +04:00
Andrey Breslav 85ac477b2f assertEquals(): order fixed 2013-10-06 15:17:59 +04:00
Andrey Breslav 5a075b80d5 Testing infrastructure 2013-10-06 15:17:59 +04:00
Andrey Breslav ffca4dd5a0 Setting up equals()/hashCode() for values and results 2013-10-06 15:17:59 +04:00
Andrey Breslav a55c350c0c Added dependency on junit 2013-10-06 15:17:59 +04:00
Andrey Breslav b067b1abe4 toString() supported for values and results 2013-10-06 15:17:59 +04:00
Andrey Breslav 0aca17ce15 Do not evaluate label instructions and such 2013-10-06 15:17:59 +04:00
Andrey Breslav b926e79aac Support for interpreter events 2013-10-06 15:17:58 +04:00
Andrey Breslav 3bae3e25b5 Support for throwing exceptions from Eval 2013-10-06 15:17:58 +04:00
Andrey Breslav 7559c3bd94 Main interpreter loop implemented 2013-10-06 15:17:58 +04:00
Andrey Breslav 2e374df5a9 Formatting 2013-10-06 15:17:58 +04:00
Andrey Breslav f93d209b88 Control logic will be handled by interpreter loop 2013-10-06 15:17:58 +04:00
Andrey Breslav 21e0dabf87 Using LabelNode instead of bare Label 2013-10-06 15:17:58 +04:00
Andrey Breslav 8aad18e849 Class renamed 2013-10-06 12:31:15 +04:00
Andrey Breslav 2a24c00539 Unused methods removed 2013-10-06 12:25:21 +04:00
Andrey Breslav f1601b2da0 Eval and Control separated 2013-10-06 03:52:09 +04:00
Andrey Breslav a078727ea3 IINC treatment corrected 2013-10-06 03:47:16 +04:00
Andrey Breslav fcc3fae8e5 Interpreter completed 2013-10-06 03:34:37 +04:00
Andrey Breslav dae297d262 Nilary and unary operations supported 2013-10-06 02:00:18 +04:00
Andrey Breslav a6dee0fd3b Initial project structure 2013-10-06 00:06:06 +04:00