mirah 0.1.0.pre-java → 0.1.1-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. data/History.txt +736 -0
  2. data/README.md +71 -0
  3. data/Rakefile +227 -73
  4. data/examples/Fib.class +0 -0
  5. data/examples/macros/{string-each-char.mirah → string_each_char.mirah} +2 -3
  6. data/examples/simple_class.mirah +3 -3
  7. data/examples/{dynamic.mirah → simple_class.mirah~} +7 -12
  8. data/javalib/mirah-bootstrap.jar +0 -0
  9. data/javalib/mirah-builtins.jar +0 -0
  10. data/javalib/mirah-compiler.jar +0 -0
  11. data/javalib/mirah-parser.jar +0 -0
  12. data/javalib/mirah-util.jar +0 -0
  13. data/lib/mirah.rb +8 -1
  14. data/lib/mirah/ast.rb +1 -1
  15. data/lib/mirah/ast/scope.rb +16 -0
  16. data/lib/mirah/commands/base.rb +1 -3
  17. data/lib/mirah/compiler.rb +17 -3
  18. data/lib/mirah/errors.rb +10 -10
  19. data/lib/mirah/generator.rb +21 -9
  20. data/lib/mirah/jvm/compiler.rb +17 -0
  21. data/lib/mirah/jvm/compiler/base.rb +24 -5
  22. data/lib/mirah/jvm/compiler/jvm_bytecode.rb +83 -20
  23. data/lib/mirah/jvm/method_lookup.rb +43 -22
  24. data/lib/mirah/jvm/types.rb +1 -2
  25. data/lib/mirah/jvm/types/array_type.rb +1 -6
  26. data/lib/mirah/jvm/types/ast_ext.rb +31 -0
  27. data/lib/mirah/jvm/types/basic_types.rb +1 -2
  28. data/lib/mirah/jvm/types/boolean.rb +11 -10
  29. data/lib/mirah/jvm/types/extensions.rb +14 -5
  30. data/lib/mirah/jvm/types/factory.rb +128 -43
  31. data/lib/mirah/jvm/types/floats.rb +8 -10
  32. data/lib/mirah/jvm/types/integers.rb +16 -9
  33. data/lib/mirah/jvm/types/intrinsics.rb +17 -69
  34. data/lib/mirah/jvm/types/meta_type.rb +5 -0
  35. data/lib/mirah/jvm/types/methods.rb +317 -151
  36. data/lib/mirah/jvm/types/methods.rb~ +973 -0
  37. data/lib/mirah/jvm/types/number.rb +29 -6
  38. data/lib/mirah/jvm/types/primitive_type.rb +35 -7
  39. data/lib/mirah/jvm/types/source_mirror.rb +11 -6
  40. data/lib/mirah/jvm/types/type.rb +52 -0
  41. data/lib/mirah/jvm/types/type_definition.rb +8 -2
  42. data/lib/mirah/transform/ast_ext.rb +9 -31
  43. data/lib/mirah/transform/transformer.rb +1 -1
  44. data/lib/mirah/typer.rb +2 -1
  45. data/lib/mirah/util/argument_processor.rb +10 -14
  46. data/lib/mirah/util/argument_processor.rb~ +146 -0
  47. data/lib/mirah/util/compilation_state.rb +15 -9
  48. data/lib/mirah/util/process_errors.rb +8 -2
  49. data/lib/mirah/version.rb +2 -2
  50. data/lib/mirah_task.rb +0 -7
  51. data/test/core/typer_test.rb +21 -13
  52. data/test/core/util/argument_processor_test.rb +19 -19
  53. data/test/core/util/class_loader_test.rb +19 -4
  54. data/test/core/util/compilation_state_test.rb +38 -0
  55. data/test/fixtures/org/foo/LowerCaseInnerClass$inner.class +0 -0
  56. data/test/fixtures/org/foo/LowerCaseInnerClass.class +0 -0
  57. data/test/fixtures/org/foo/LowerCaseInnerClass.java +7 -0
  58. data/test/jvm/blocks_test.rb +50 -29
  59. data/test/jvm/bytecode_test_helper.rb +71 -57
  60. data/test/jvm/cast_test.rb +162 -0
  61. data/test/jvm/constructors_test.rb +48 -0
  62. data/test/jvm/enumerable_test.rb +136 -7
  63. data/test/jvm/example_test.rb +39 -0
  64. data/test/jvm/factory_test.rb +6 -0
  65. data/test/jvm/generics_test.rb +0 -5
  66. data/test/jvm/import_test.rb +81 -0
  67. data/test/jvm/interface_test.rb +113 -0
  68. data/test/jvm/java_typer_test.rb +57 -11
  69. data/test/jvm/jvm_commands_test.rb +24 -0
  70. data/test/jvm/jvm_compiler_test.rb +186 -370
  71. data/test/jvm/macros_test.rb +67 -6
  72. data/test/jvm/main_method_test.rb +1 -1
  73. data/test/jvm/mirror_compilation_test_helper.rb +24 -0
  74. data/test/jvm/new_backend_test_helper.rb +25 -0
  75. data/test/jvm/rescue_test.rb +153 -18
  76. data/test/jvm/string_test.rb +41 -0
  77. data/test/jvm/varargs_test.rb +65 -0
  78. data/test/mirrors/base_type_test.rb +96 -0
  79. data/test/mirrors/bytecode_mirror_test.rb +86 -0
  80. data/test/mirrors/generics_test.rb +776 -0
  81. data/test/mirrors/member_test.rb +69 -0
  82. data/test/mirrors/method_lookup_test.rb +574 -0
  83. data/test/mirrors/mirrors_test.rb +562 -0
  84. data/test/mirrors/simple_async_mirror_loader_test.rb +110 -0
  85. data/test/mirrors/simple_mirror_loader_test.rb +104 -0
  86. data/test/test_helper.rb +2 -1
  87. metadata +244 -217
  88. data/README.txt +0 -59
  89. data/javalib/dynalink-0.2.jar +0 -0
  90. data/lib/mirah/jvm/typer.rb +0 -177
  91. data/lib/mirah/jvm/types/dynamic_type.rb +0 -45
  92. data/lib/mirah/jvm/types/unreachable_type.rb +0 -27
data/History.txt CHANGED
@@ -1,3 +1,739 @@
1
+ === 0.1.1 Summer Summit / 2013-08-05
2
+
3
+ e94e5be bump bitescript dependency
4
+ a8c7863 bump 0.1.1 history
5
+ 963c81c bump bitescript version to 0.1.3
6
+ 5e457f9 when bundled in a jar, add the jar to the classpath
7
+ 4834157 rm dynalink from zip/jar dist
8
+ 7313495 bump version to 0.1.1; update history
9
+ accd0ea add tests to nail down super behavior
10
+ 1f97de5 add inherited lookup to static fields
11
+ 937e766 fix missing conversion for implicit returns in new backend
12
+ 881907e fix primitive conversion errors in code generation for implicit return in methods
13
+ ce85b11 Implement macro compilation in mirahc.jar
14
+ e09e9fb Really fix puts(reduce) macro expansion bug.
15
+ 99eab9a Merge branch 'master' of https://github.com/mirah/mirah
16
+ 3673800 Fix for test_raise
17
+ 9b23973 Fix typer tests.
18
+ bf1cabe Fix reduce test
19
+ 3826fe1 break up big blocks of test in enumerable_test into single assert tests
20
+ cc0d34a rm merge detritus
21
+ 3a8f7aa Add more commandline options. Decrease default verbosity.
22
+ 13fd769 Error handling and other cleanup for mirahc.jar
23
+ 6a79ddd Merge
24
+ 8810226 Make array and hash literals generic.
25
+ 517561c Fix generic inference for ArrayList.new(int)
26
+ bdcb595 First pass at doing multi-call generic inference.
27
+ 896fbe8 Use leastUpperBound for BaseType.widen.
28
+ 53e300e Pass the Context to BaseType
29
+ b47c315 More test fixes
30
+ 4929dbe Fix some test breakage.
31
+ 0cc666b Basic generic method lookup
32
+ 4cb2620 scripts should have a void return type
33
+ 72cb1f4 replace if _.nil? with unless _ in factory.rb
34
+ c48bcba closure builder: pass klass to new_closure_call instead of type future
35
+ f07811b closure builder: set parent scope on method after method creation
36
+ a1e6df8 closure builder: extract helper for setting parent scope
37
+ e7feee6 closure builder: move body insertion around
38
+ a76b8fe add a couple helper methods to closure builder
39
+ 50b5aee more whitespace in closure builder
40
+ 4d0799f push around some indentation in closures
41
+ 7154ea7 add test for closures with multiple args
42
+ 7eb317a add test helper to block_test
43
+ 3d198e9 pull ClosureBuilder#add_methods into two methods, for clarity
44
+ 626c46f reformat signatures of closure builder
45
+ 6da2556 rm unused var in jvm/types/methods.rb
46
+ 76a8b49 remove dynamic type
47
+ ec76ac0 update help text to be accurate for -d option
48
+ f14a047 Make class literals generic
49
+ 8f68e3d Generic type loading
50
+ 17c8b51 Use a Context for type system initialization.
51
+ 4a0f1ad Loop detection and protection in BaseTypeFuture and AssignableTypeFuture
52
+ 922b6cd Clean up Wildcard creation.
53
+ a41aef5 Implement lub()
54
+ dd0f645 Type refactoring
55
+ 752cd13 Fix supertypes of generic arrays.
56
+ 9c519ee format AstFormatter w/ new style formatting
57
+ 6250606 fix inference of begin;rescue with raise in rescue
58
+ 3b90bd2 bump copyright, clean up errors.rb
59
+ bd1bf44 add toString to BaseTypeFuture
60
+ 4a41229 Implement subtyping rules for parameterized types.
61
+ 7767324 pull out some helper methods for visitRaise in mirah typer
62
+ 13f3812 fix gemspec -- README.txt sub md
63
+ 295e9d9 Move subtype logic from MethodLookup into the Type classes.
64
+ 4c07089 Remove a bunch of isX methods from JVMType.
65
+ beda1d4 Remove class_id and internal_name methods from JVMType
66
+ 8855368 Implement erasure
67
+ 2aab102 Fix rescue and zip codegen
68
+ dddbaeb Move map macro from List to Collection.
69
+ 08dcb96 Add zip, map, and reduce macros.
70
+ a4bb8b9 add new backend as a failable travis build
71
+ 74aa5d8 run travis builds for java 6 and 7
72
+ d2fa22f fix up README code formatting
73
+ d3fb725 More work on implementing generics
74
+ 6994a18 Start implementing generic inference
75
+ b92ddc6 Add lambda macro.
76
+ b16f7b3 use string as pending switch as const is only defined when new backend is compiled
77
+ 18c9d5d add some tests around assignment types, 1 working 2 pending
78
+ ab3b9c2 skip invoke dynamic test for new backend until support added
79
+ b0e1e1f fix small typo
80
+ 780f350 pull super class valid check into helper method
81
+ 80ca8ec Fix method_lookup_test
82
+ c225fb1 Fix test_assign_int_to_double_in_closure
83
+ 3e1c718 Fix test_lowercase_inner_class
84
+ 757403d Fix for test_main_generation_for_file_with_class_of_same_name
85
+ 53d79a7 Fix test_imported_constants_available_in_macros
86
+ 62f36d2 Fix simple_class example
87
+ 7962d91 Fix field initialization in the new backend.
88
+ 6059a00 Implement static imports
89
+ 467ba5a fix test_method_requiring_subclass_of_abstract_class_finds_abstract_method
90
+ 20ddd4c Fix test_constructor_chaining
91
+ 8b5aa47 Fix test_mirah_iterable
92
+ 7101176 Fix test_array_cast_primitive
93
+ 0ad9ba7 Array extensions and casts
94
+ 6019d98 Infer argument types from superclass.
95
+ 28eeed2 Interface fixes.
96
+ 575c86f MirrorProxy needs to support declareField.
97
+ c8cfaec Fix scope caching.
98
+ ee7b654 Always search interfaces for methods - we don't need the methods for non-abstract classes, but we do need the macros.
99
+ 23eaa7a Fix loading macros from source.
100
+ 5672029 Implement annotation retention
101
+ 8b52cbd Fix selfType in child scopes.
102
+ e6f20bf Varargs method lookup.
103
+ ff14996 Implement boxing.
104
+ 6772a38 Support closures.
105
+ 961c301 Fix widen.
106
+ ee11868 Constructor lookup shouldn't search parent classes.
107
+ 823c143 Fix constructor definitions
108
+ 0ed0ed8 Assignment should infer to the right side, not the left
109
+ 869ea11 Fix ambiguous methods in test_nil_assign
110
+ 0457072 Implement field setters.
111
+ 003ac5e Fix for setter methods.
112
+ e50da24 Implement implicit nil
113
+ a6046ea Support loading inner classes.
114
+ ed4cb18 Verify the classname when loading bytecode mirrors.
115
+ 7597f49 Object intrinsics
116
+ 0cf05c3 Implement getCharType
117
+ 192e541 Try again fixing InlineCode strangeness.
118
+ 83cfc8f Merge branch 'master' of https://github.com/mirah/mirah
119
+ 0ea3766 Use full method lookup for compiling string concat.
120
+ 7bbecc9 Implement a basic pure-mirah compiler.
121
+ 16d0f8c Builtin support
122
+ 67220f6 Start implementing macro lookup
123
+ 98eeb0a pull finding interfaces into collect_up_interface_tree
124
+ 51a85aa rm temp inteface vars
125
+ badda24 add helper for collecting things off of interfaces
126
+ db03d9c make method collecting methods do one thing
127
+ cf90d34 add method for walking inheritance tree to method type
128
+ 1457ed5 add new find_callable_static_methods method to extension delegate
129
+ 93aeaaa Look up static methods on super classes too closes #134
130
+ 455e8b4 remove vestigal ant build.xml
131
+ 30d7650 rm test.sh as its no longer necessary
132
+ 2a87fdf add build status to README
133
+ 2682fd4 convert README to markdown
134
+ 44574be ignore more generated files
135
+ 4316070 fix test task that points at non-existent task
136
+ e423465 Merge pull request #217 from ralph-moeritz/master
137
+ a1d8b24 Add boolean operators.
138
+ 417bc1f Fix for constructors
139
+ 5fc5fe3 Fix search packages.
140
+ de190e6 Implement narrowing.
141
+ b936303 Add a BlockType
142
+ 1710ba2 Support fields.
143
+ d4d957b Redefining a MirahMirror should yield the same type.
144
+ 98bddff Change fixnum -> int.
145
+ e3514fe Fix method listeners on static methods.
146
+ 0b6f12c Include "this" argument in debug info.
147
+ 257ad85 Main type should be meta.
148
+ 913b7fc Add more debug logging.
149
+ 4b18c0b Fix typo
150
+ a6e3d83 Fix meta method lookup
151
+ 6aa873a Add missing methods to MirrorProxy
152
+ a64d97a Fix static fields.
153
+ bd5cc3f Pass methods found by the Mirror type system to the compiler.
154
+ 3985c1d Issue #216
155
+ deb729a test empty rescue body with else
156
+ 1aa0ff2 extract rescue_node.else_clause.size comparisons to make it easier to figure out what visitRescue does
157
+ b57841c add test ensuring rescue behavior w/ else is right on raise
158
+ 2aaa612 split test_empty_rescues in rescue_test.rb
159
+ 7218b3d add test for return from else clause in rescue
160
+ 49eae91 add test for returning from a rescue clause
161
+ c117bbd break out tests in rescue_test
162
+ 6e1d491 s/sout.println/puts/ in rescue_test
163
+ 8dfccaf make array literals modifiable closes #126
164
+ 5e2f62c move privateish methods under private in jvmbytecode compiler
165
+ 1fb54ef replace nesting with guard clause in LocalFuture#assignedValues
166
+ ba43b46 so apparently !a.b && c breaks the parser
167
+ 5bade0e add with_finest_logging helper to tests
168
+ b557eb3 add some whitespace
169
+ bbc9be3 LocalAssignFuture add my assigns after parent, but before children.
170
+ 9c03d69 add core tests to default test run
171
+ f265faf override compile_widen for chars, so we will not try to convert them to ints/treat them as ints
172
+ e3e8a42 actually, widening should happen when the value type is primitive
173
+ b45f9c4 turns out, if you wanna dup a wide value, you need to use dup2
174
+ 420f49e enforce some ordering on assignments' type lookup through LinkedHash*
175
+ 622a2b0 use same conversion logic on varargs array conversions
176
+ 80c035a convert primitives before assigning them to locals
177
+ 14fd7b5 get rid of some Foos
178
+ 1e3e328 move box_type to PrimitiveType
179
+ b9da885 move box method to PrimitiveType
180
+ c0a3bc6 bump copyright dates on jvm_compiler_test
181
+ 448c698 move string concat tests into their own file
182
+ db7d753 use self type as argument type for boxing primitives
183
+ 94dab66 update / add copyright notices to primitive types
184
+ 59a42a9 use the wrapper name, instead of hard coding strings for primitive types
185
+ f0fe88a remove last references to Mirah::AST.type_factory
186
+ 82ce051 bump copyright version on base command
187
+ 8359686 move common test helper dependencies to test_helper
188
+ e1212f6 bump copyright on a couple test files
189
+ 4f0791e move some imports of new typer into Mirah::Typer
190
+ 96a1d60 remove unused JVM typer file
191
+ c18d497 bump copyright jvm/methods.rb
192
+ ec7fd43 fix typo in typesystem comment, bump copyright
193
+ 6fbde2f bump copyright on rakefile
194
+ 1fecacf run mirror tests on 'rake test:jvm:new', consolidate setup
195
+ 058f0f5 bump copyright year for number.rb
196
+ d3820d8 add travis IRC notifications
197
+ 764ab6f remove import of unused class - GeneratorAdapter jvm/types/number.rb
198
+ 955531d add travis-ci
199
+ 1099e8d pull out TypeDefinition common method lookup by type bits
200
+ cf2aa60 dry up declared_method common structures in TypeDefinition jvm/methods.rb
201
+ 1d6e1c0 use an alias instead of a separate method definition jvm/methods.rb
202
+ 15c10b4 extract type wrapping in jvm/methods.rb
203
+ c5c8f16 jvm methods.rb: inline some descriptors where they are only used in one place
204
+ bd77cdf extract bitescript signature generation in methods.rb into it's own method
205
+ c65ec80 consolidate jvm field getter / setter common structure
206
+ ac0775c pull out common structure from jvm declared method lookup
207
+ 538052f add test for interface override type inference error
208
+ 9af44c5 fix boolean boxing method, so it doesn't use undefined method
209
+ fc0e913 remove mirah task rule for source backend
210
+ d585d67 Add no-arg constructor for tests.
211
+ bc1a5a0 Make scopes inherit package and imports.
212
+ a627114 Add field accesses to method lookup.
213
+ 2f9ba45 Implement real local scoping.
214
+ fcd7669 Implement math operators.
215
+ e785935 Support arrays in the mirror loaders.
216
+ 238c936 Create DerivedFuture, and use it where appropriate.
217
+ 2211cfb Array support
218
+ 930434d Set main class name from filename.
219
+ 089a08e Implement widen, assignableFrom, super in constructor
220
+ b5e95fd Implement imports
221
+ 4927619 Implement packages
222
+ f360f8b Add more of the basic types.
223
+ d3efcee Support deferred inference of superclass.
224
+ 8be82f7 Fix closures in a constructor.
225
+ 4202277 Delete obsolete code
226
+ 6c8f40c Support infering argument types after the method def.
227
+ 2e15048 Support error types during method lookup.
228
+ 29e53a1 Support infering method return type after visiting the declaration.
229
+ 08aafe1 Start using MethodLookup in MirrorTypeSystem.
230
+ f995c3d Merge branch 'master' of https://github.com/mirah/mirah
231
+ 534e789 Fix visibility checks for protected methods.
232
+ 4012357 Merge pull request #203 from ribrdb/master
233
+ 8ed8d52 Don't return a MethodFuture from MethodLookup.findMethod
234
+ 6b7559d Finish implementing Java 1.4 method lookup.
235
+ 98fc5a1 Start using BytecodeMirrorLoader in MirrorTypeSystem
236
+ 6101757 Start support for reading type info from .class files.
237
+ 258bc7e Remove unused method.
238
+ 9534aef Introduce MirrorLoaders, and delegate to them from MirrorTypeSystem.
239
+ 6b822f4 Implement missing method
240
+ fb15ff0 Add missing cast
241
+ bf5bb71 Don't call varargs? on macros
242
+ 36b3804 Start support for changing supertypes.
243
+ 1de88e1 Merge pull request #211 from jstepien/remove-dash-j-flag
244
+ e5f1c7d compile closure in closure test and run it
245
+ 3277c1c add java 8 bytecode support. fixes #210
246
+ 28f7737 add license to a couple test files
247
+ ce6e48f bump version to 0.1.1.dev
248
+ 4781fc8 use bundle exec when running maven exec jruby tasks
249
+ b2250a4 Disable the -j/--java flag
250
+ b4fa599 Merge
251
+ bb2ea2e Merge
252
+ f6d68c4 Merge
253
+ ae623c0 Merge
254
+ 61f42b4 Merge 57835f12aac7b92d62656029a7128592a83f8114
255
+ b444722 Start implementing method lookup.
256
+ 6c10c14 Fix missing value conversion on local variable assignment.
257
+ 4906797 Start implementing method lookup.
258
+ fd95b06 Implement abstract
259
+ e04f739 Really update the parser jar this time
260
+ 1a0f4ef Fix merge error
261
+ 3e7e4d3 Merge
262
+ 5160899 Start re-implementing the TypeFactory in Mirah.
263
+ ea95efe Make sure arguements to Map.[]= are passed correctly
264
+ eee5f5d Only remove each tempfile once.
265
+ eee4a87 Emit variable names in class files.
266
+ c769e05 Build the new compiler by default.
267
+ 3ed0a5b Merge
268
+ 266d9d1 Support building the new backend from the rakefile.
269
+ aec81a7 Fix interface compilation.
270
+ 2f4c5a5 Implement varargs in the new backend.
271
+ 92bdc39 Fix bad merge.
272
+ 7a5b9f1 Fix varargs method called with array.
273
+ fe666f4 Merge
274
+ 2631d07 Implement optional args
275
+ a88589b Fix declaration for array instance variables
276
+ a55dde8 Support captured arguments.
277
+ 3be7f16 Implement captured locals
278
+ 0d643a5 Support field annotations
279
+ 080686d Fix void chaining.
280
+ 76096a6 Skip enclosed classes during constructor cleanup.
281
+ 31d3052 Fix constructor chaining.
282
+ ea4d07e Generate casts for the return value from generic methods.
283
+ a45dc9f Fix closures inside toplevel methods.
284
+ beac16a Fix 2 rescue bugs.
285
+ cb47b9c Fix for empty method body.
286
+ 1b72ed0 Basic closure support (no captures yet).
287
+ 6d494a5 Add an invokeSpecial method to Bytecode.
288
+ 15359a3 Start supporting inner classes.
289
+ 077fc92 Fix loop bug.
290
+ 1fe9063 Hash literals
291
+ 90380b4 Implement CharLiteral and Noop
292
+ c3cd759 Implement ensure.
293
+ ae8bd23 Work around ast bug.
294
+ 2e1c9d9 Rescue
295
+ 01a6af9 Implement raise
296
+ 781447e Fix test_interface
297
+ b55c5c7 Implement remaining Object intrinsics.
298
+ e14ae07 Implement array literals
299
+ 531e7de Implement loops.
300
+ 1cf29dc Fix implementing multiple interfaces
301
+ 990a45a Implement kind_of? and class literals.
302
+ 5e230fe Implement Self and ImplicitSelf
303
+ c975ae6 Report mismatch between method return type and declared method type.
304
+ b9868b3 Implement pattern literals
305
+ 880bf51 Fix test_string_concat
306
+ 44bd8ec String concat
307
+ ea905f4 AttrAssign
308
+ 53005a4 Array intrinsics.
309
+ 2a08b2b Generate classes in the same order as the current backend.
310
+ df4db6a Fix calling parent constructor when the parent class is being compiled at the same time.
311
+ f14b357 Support calling other overloads using super
312
+ c68aebe Fix constructor cleanup to make sure super constructor gets called.
313
+ 0b0848b Fix for static void method as an expression.
314
+ 1f16299 Fix for FieldAssign
315
+ c2c96c8 Fix for void chaining
316
+ b883fe5 Compile field declarations
317
+ 20c9de8 Fix for compiling vcall
318
+ 76dbe85 Fix extra dupX1 for FieldAssign nodes.
319
+ 136d3c7 Implement basic comparison operators.
320
+ beb81dd Fix for empy branches in an if statement returning a primitive.
321
+ 93c7638 Implement more nodes
322
+ 40f3de0 Basic "if" support.
323
+ 1612b20 Implement more literals.
324
+ 4f17b7c Implement constructors.
325
+ 6328e63 Implement fields and method calls.
326
+ 8d29438 Basic support for integer math.
327
+ eb65791 Basic local support
328
+ f3304d7 Basic super support.
329
+ f159a15 Support compiling int literals
330
+ 5dd601e Fixes for script cleanup
331
+ 093a8cb Run tests with the new backend.
332
+ 7d3c704 Move constructor mangling to separate file.
333
+ 41207a8 Fix compilation of superclass.
334
+ 6b64470 Fix some tests.
335
+ ae8b9cc Add some char literal tests.
336
+ 0e94de1 Add an example of what ScriptCleanup does.
337
+ 30b7b31 Cleanup the error message for unsupported nodes.
338
+ ac30c03 Try to get rid of a warning about ambiguos methods
339
+ 57db944 Start generating methods.
340
+ d1e4e9d Merge branch 'master' into compiler
341
+ 8ee08bc Fix macro loading in 1.7.0
342
+ 9d8a11d Merge commit 'a224598'
343
+ a224598 Fix bootstrap under jruby 1.7.0
344
+ a41951b Fix widening for stack frames.
345
+ 9398b40 Move classpath manipulation.
346
+ a871638 Fix merge problem.
347
+ 8f5808e Merge branch 'master' of https://github.com/mirah/mirah
348
+ ddaf645 Merge in the new backend, a JVM backend written in Mirah.
349
+ ec01ace More jruby 1.7.0 fixes (but these break 1.6.x)
350
+ e0eb90d Fix for JRuby 1.7.0
351
+ 71a99ca Generate 1.6 bytecode by default, since we still don't generate stack frames correctly sometimes.
352
+ 8bf3fb7 Fixes for annotation support in new backend
353
+ 84e2161 Fix interface ambiguity
354
+ b8e0df2 Update the parser to report errors like the rest of the compiler.
355
+ 2f7ef43 Annotation support
356
+ 8882d59 Get the new backend generating classes.
357
+ b2b9a48 Fix for classes which change package.
358
+ d0afc09 Fix compilation
359
+ 65b1efd Support declaring a method before the parameter types are resolved.
360
+ 196ee6a Lookup return type for overrides with no declared return type
361
+ 4695843 Fix infinite recursion in AssignableTypeFuture
362
+ 99cff6a Start wiring up the new backend.
363
+ e45fc11 Better error message when method args are missing the type declaration.
364
+ 57643d5 Fix compilation issues in the jvm backend port.
365
+ 44ba77d Merge branch 'master' of https://github.com/mirah/mirah
366
+ 33cc7b3 Better error message when method args are missing the type declaration.
367
+ f6fab05 Merge branch 'mirrors'
368
+ 9086970 More fixes for better error messages.
369
+ ad3167f Fix typo
370
+ cd417a5 Merge branch 'mirrors'
371
+ 37f031f Fix error propagation to better show the source of errors.
372
+ cfb2786 Support char literals ( ?x )
373
+ 35f7753 Fix bug where a local variable foo loads class Foo
374
+ 6dff9cc Merge branch 'master' of https://github.com/mirah/mirah
375
+ 72c0a22 Remove reference to AST.type_factory
376
+ 5f24055 rm_f so we can clean even if the file is already missing.
377
+ 55cdcfa update history for 0.1.0.pre
378
+ ad4a5e8 change version to 0.1.0.pre
379
+ 91d88dd merge
380
+ 22332b7 Start porting the JVM backend to mirah.
381
+ a4315d1 Add quote macro to Compiler
382
+ 9934c7a add toString to EnumValue
383
+ ed6ae27 Remove reference to AST.type_factory
384
+ f5d3289 Start porting bitescript mirrors to mirah
385
+
386
+ === 0.1.0 Steamboating / 2013-02-24
387
+
388
+ db38a8d make tests 1.6.8 compatible
389
+ 57835f1 raise an error attempting to compile mirah using jruby before 1.7
390
+ ea04a51 stop using turn gem
391
+ 46f603e when the source mirror doesn't work (1.6.8 on java 7), continue
392
+ 9bb9f29 bump version to 0.1.0 from 0.1.0.pre / 0.1.0-SNAPSHOT
393
+ 06dff98 bump bitescript version required to 0.1.2 or higher
394
+ e74bc53 reenable dynamic, raise nice errors when on jvm < 1.7
395
+ 8bb7728 rename generator's extension compiler to @extension_compiler
396
+ 4936c8c remove dynamic type assignment test
397
+ c44c78e use the test name as part of the class name of anon Mirah classes in tests
398
+ 56a10ef fix some whitespace in test/jvm/bytecode_test_helper.rb
399
+ 0471e49 clean tmp directory as it's used in building distribution artifacts
400
+ 3824dcc add mirah-util.jar to bootstrap task
401
+ c78cd1b also rm the mirah-util jar on clean
402
+ 76bc6ef don't blow up if the source mirror can't work. (Java 7-15 appears to have removed an internal class)
403
+ 5ee433f fix java version of class files compiled for 7 instead of 6
404
+ 400b718 Recompile mmeta.BaseParser for Java 6
405
+ 91f4974 Add missing file
406
+ 76facfc Fix DynamicType.superclass. This fixes the tests, but I still think dynamic is generally broken.
407
+ 9057240 Closes #206
408
+ 79c400c Merge https://github.com/mirah/mirah into fix
409
+ 586bfc3 Fix abstract Closes #207
410
+ d90563f merge
411
+ 9164bf2 Implement static imports with new syntax.
412
+ 09c4a4b Rebuild lexer for Java 6
413
+ 91d3a6a Really update the parser jar this time
414
+ 53fccff Update the parser.
415
+ 1595e89 start a test suite for the examples
416
+ 6d61273 fix string_each_char to work with new ast
417
+ cec675b clean up import related tests
418
+ cd17b50 add tests for static macros
419
+ c9f8bcd fix lower case inner class lookup.
420
+ 69085e8 add lowercase inner class test that fails, add java test fixture for it
421
+ 400d549 don't use Ruby string interpolation on test that uses Mirah interpolation
422
+ 36a5a84 add whitespace to ErrorType
423
+ d62cfda bump cast_test copyright year to 2013
424
+ dd9048a fix raise assertion in rescue tests
425
+ 7135761 fix java exception assertion method
426
+ cacd537 move interface tests into own test case
427
+ 7247dde ensure we don't try cleaning up a class file twice it tests
428
+ 2dc065e move casting tests to their own file
429
+ 23712cb add toString to LocalFuture
430
+ 652179b add to string to CallFuture
431
+ f968291 primitives shouldn't be convertible to arrays of that primitive
432
+ 5e55644 fix whitespace in factory/ note possibly dead code
433
+ 84262c2 remove array_type if statement that had both sides commented out
434
+ 1fcd805 clean up method_lookup.rb a little, fix printing bitescript mirrors on ambiguity errors
435
+ f0765f4 move jvm ensure tests to rescue_test
436
+ 884645e add check to make sure gem build fails when generated jars not present
437
+ 6241541 Access RubyGems via SSL so it'll stop whining.
438
+ 9541f01 Bundler uses `vendor` for gems. Ignore it.
439
+ 1a1a68d Fix class_loader_test
440
+ 5414ac3 Fix typer_test.
441
+ 332f4a9 pick primitives last in typer to avoid assuming things are meta as much
442
+ fe73423 Revert "make typer vcall test pass again." Turns out the test is pointing out a real bug
443
+ ea265ee make typer vcall test pass again.
444
+ 6fe3c28 add toString to MethodType
445
+ 28e184b Merge pull request #204 from tychobrailleur/maven-fix
446
+ dd0cba1 Clean up Maven poms.
447
+ fbbcdb8 Ignore backup files.
448
+ b11dcfe give super test class better name
449
+ 2fe9b84 don't include minitest, as we don't use it, clean up .class file cleanup
450
+ 0d5691f first pass at doing autoboxing
451
+ c1a070e rename some block test classes to ensure they don't conflict
452
+ 8479db5 fix dash e, add regression test
453
+ cb33c59 if a varargs method is passed a matching array, use that as the varargs array
454
+ 9e35eac test cleanup: remove unnecessary clear, add/remove whitespace
455
+ dcbb4fb missed a varargs method definition
456
+ c1886fc add varargs support
457
+ f56c38d add support for referring to macros that have already been compiled.
458
+ 0d866a4 clean up byte code test helper a bit
459
+ 01b6c3b Merge remote-tracking branch 'tychobrailleur/fix_compile'
460
+ 4ad6a4d Ensure resolve return type is ResolvedType.
461
+ f0fd6b0 Really fix the parser jar this time.
462
+ f856785 Merge from master
463
+ 3182a90 Recompile some parser classes for java 6.
464
+ 931f041 note that you need jruby 1.7.0 to compile mirah
465
+ d7bd6a1 Fix bootstrap under jruby 1.7.0
466
+ 9967d48 Fix some tests.
467
+ af0a9ee Try to get rid of a warning about ambiguos methods
468
+ aedab51 Fix bootstrap under jruby 1.7.0
469
+ fadf3c8 Fix widening for stack frames.
470
+ 1b16915 Fix macro loading in 1.7.0
471
+ 5d5ce53 More jruby 1.7.0 fixes (but these break 1.6.x)
472
+ 83a5ce9 Fix interface ambiguity
473
+ a7283f3 Merge in better parser error handling
474
+ 3a2bbfa Fix for classes which change package.
475
+ 1bd8200 Support declaring a method before the parameter types are resolved.
476
+ 636fe73 Lookup return type for overrides with no declared return type
477
+ c5a02e1 Fix infinite recursion in AssignableTypeFuture
478
+ c9e8433 Better error message when method args are missing the type declaration.
479
+ 9438dfc More fixes for better error messages.
480
+ 2631f2c Fix typo
481
+ c7c8559 Fix error propagation to better show the source of errors.
482
+ 765e50a Fix bug where a local variable foo loads class Foo
483
+ e4fb346 Remove reference to AST.type_factory
484
+ 978611b don't remove the build dir after finishing the build.
485
+ 02da6ed remove unused constant
486
+ 2c50acb remove references in README to java source generation as it is no longer supported
487
+ bebcfa4 fix class path for generating ant task
488
+ 1a54f0c add util jar containing ant task, add it to classpath for gem
489
+ 645253b consolidate classpath munging into mirah.rb
490
+ 15483bf some 1.9 fixes: each_with_index => each.with_index / each_line.with_index / zip
491
+ 6a2bd1b Merge pull request #193 from SaberUK/patch-1
492
+ 0a9d165 Merge branch 'master' of https://github.com/mirah/mirah
493
+ d7f39b8 Compile the ant task.
494
+ fd25564 rm_f so we can clean even if the file is already missing.
495
+ 90ac5b9 Fix small typo in help message.
496
+
497
+ === 0.1.0.pre RubyConf newast preview release / 2012-11-02
498
+
499
+ a104440 change version to 0.1.0.pre
500
+ afe5384 Add attr_{reader,writer,accessor} builtins.
501
+ 8e31256 Generify array literals and reimplement hash literals the same way as arrays.
502
+ 8976381 Fix hygene for all? and any? builtins.
503
+ a8c5d60 Fix test_void_chain
504
+ f9ba709 Fix test_implements
505
+ 9f55cbb Support references to primitive types
506
+ 3aaac97 Support for static macros and casts to array types.
507
+ 179ea1f Fix test_super_constructor
508
+ cf3e040 Fix test_optional_args
509
+ 6de0a1c Fix test_block_with_method_def
510
+ dcbb840 Fix a couple macro tests
511
+ f4102d6 Fixes for trying to compile the typer.
512
+ fcfc448 Allow widening to the other type, not just its ancestors.
513
+ 939a155 Fixes for mirah-complete.jar
514
+ e2228bf Bug fixes and better error handling.
515
+ a6e9cc8 Fix assignable_from?(NullType)
516
+ fe75374 Remove mirah-builtins.jar in the 'clean' task.
517
+ 4e67815 Merge pull request #192 from nuclearsandwich/whitespace
518
+ 64da41e Strip trailing whitespace from test directory.
519
+ d61a535 Strip trailing whitespace from examples.
520
+ a48641b Strip trailing whitespace from lib directory.
521
+ ce169d2 Strip trailing whitespace from src directory.
522
+ f9c1910 clean up some debugging code
523
+ f12db8a Merge branch 'master' of https://github.com/mirah/mirah
524
+ 9e03b1a Fix test_constructor_chaining
525
+ 2b86e38 fix typer rescue test
526
+ 32e1658 add [], []= support to List
527
+ 1dc2d5c rake clean should rm the bootstrap jar
528
+ 7879e20 fix class name of NumericExtensionTest
529
+ 6536e0b add some documentation to the macro builder
530
+ d72cbe0 Generate missing arguments for blocks
531
+ f0792db Revert "Remove obsolete test_block_with_no_params_on_interface_with"
532
+ 6fa6472 Fix test_void_chain
533
+ 33dc95a Remove obsolete test_block_with_no_params_on_interface_with
534
+ 0cb1f6a Fix test_parameter_used_in_block
535
+ 1150c0a Implement closures.
536
+ 2875d54 add license/ whitespace to transformer
537
+ 4538141 actually lib/mirah/transform/error.rb isn't used anymore, so deleting it
538
+ cbf7b6c add license to lib/mirah/transform/error.rb
539
+ 3b66952 add license header to errors file
540
+ 29e8edb clean up underlining
541
+ 8a492b2 unwind some nested logic in jvm method lookup
542
+ e45e21b put the 0.0.12 history back in
543
+ 26224db Merge branch 'master' into newast
544
+ 93cb158 bump to 0.1.0.dev, because 0.0.x is oldast
545
+ 9e10f98 bump versions to 0.0.13.dev
546
+ 83a021c remove win JAVA_HOME lookup because it has problems with spaces in the PATH
547
+ b97b567 Add file headers
548
+ 81e94e0 Split up types.mirah
549
+ 9439368 Split up simple.mirah
550
+ a5384f9 Split up futures.mirah and add some documentation
551
+ c1ebe5c More quick test fixes
552
+ c8c28b9 Fix test_interface_declaration
553
+ b13b84a Fix "Cannot assign #<IntegerType int> to #<VoidType void>" error from void methods
554
+ ca875de More test fixes
555
+ 1c5542f Fix test_block_with_mirah_interface
556
+ 2e13c9f Fix scope for block args (test_block_with_abstract_from_object)
557
+ 6fe2e59 Fix test_block_impling_interface_w_multiple_methods
558
+ 65dd342 Infer arg types from superclasses or interfaces
559
+ 2329074 Constant narrowing for AttrAssign and ElemAssign nodes
560
+ 1d225d9 Fix test_argument_widening
561
+ d62ad67 Fix macro inheritance on generic types
562
+ de79c6f Implement ZSuper
563
+ e84f525 Delete test_arg_bootclasspath_sets_bootclasspath_on_type_factory_ugh
564
+ 257eb93 Merge
565
+ c7fdf60 Mostly fix typer tests.
566
+ ddc1498 Remove the broken java source backend
567
+ 03cbb4b fix #186 on newast, ignore implemented methods in getAbstractMethods on factory
568
+ 65520ec actually use bootclasspath in the generator
569
+ 16647d4 ignore generated/ downloaded jar files
570
+ 4301fc5 actually use the bootclasspath in the bootstrap_loader
571
+ 2ece709 convert IsolatedResouceLoader to Java, put MirahClassLoader's mirah src in a comment, test class loaders.
572
+ e54d183 add tests for MirahClassLoader
573
+ 8a7f943 add some comments on class loaders
574
+ 39cf42b test that bootclasspath arg sets the bootclasspath
575
+ b5afc07 add tab to cli help for bootclasspath
576
+ 34af825 Support specifying --bootclasspath
577
+ e31ed58 fixes #185 ScopedBody's generated by macros outside methods should work
578
+ b32a286 Merge pull request #184 from pepijndevos/newast
579
+ cae497b add power macro test
580
+ 9178182 Merge branch 'newast' of https://github.com/mirah/mirah into newast
581
+ e9da596 Delete dead code
582
+ 81d7b58 basic power macro
583
+ 05615cf Duplicate DelegateClass logic from Ruby 1.8, for consistency.
584
+ 11ec687 update version to 0.0.12.dev
585
+ 2f5ac6c missed the SNAPSHOT in a couple pom.xmls
586
+ 862c760 update history for 0.0.11
587
+ 17814eb set version to 0.0.11
588
+ e00ab4b comment out bootclasspath test--there is no bootclasspath yet
589
+ 1e46765 add needed breaks in to args processor
590
+ 79c6c66 clean up arg processor interface a bit
591
+ 040d276 rename test classes to match their filenames
592
+ 59a0ccb clean up build_string in java_source
593
+ b9550e7 fixes #175. wrap string interp prior to calling method on it.
594
+ 54526f5 Merge pull request #174 from nighthacker/master
595
+ f396297 add test for nested closures, touch struct method where changes were added in master
596
+ fe53909 previous change was insufficiently argy.
597
+ 0f1cd70 complain if blocks don't have the right number of arguments
598
+ 9b88275 add zip install instructions
599
+ 167c9c2 Update README.txt. Fixes #163
600
+ f5fdb07 Array.each
601
+ 57faaca add missing files
602
+ b33ae42 Merge branch 'newast' of github.com:mirah/mirah into newast
603
+ 0291c24 Iterable builtins
604
+ 65c726d Don't run javac backend tests by default -- they're completely broken
605
+ 9541d76 Test fixes
606
+ bc6b158 Loops
607
+ 6ebe8da Merge branch 'newast' of github.com:mirah/mirah into newast
608
+ 6223111 Re-enable hash_test.rb
609
+ c43ce7a Hash support
610
+ 1ff787d Clean up trailing newlines.
611
+ bbc8e4d Handle one level of nesting on return types, and arbitrary nesting on parameters. Also handle wildcards in parameters. Support single 'extends' or 'implements' bounds, but not 'implements' with multiple interfaces.
612
+ b3cf443 Start implementing hashes
613
+ 8803dd7 Fix test_instance_macro_call
614
+ 41fcca0 Fix test_block_parameter_uses_outer_scope
615
+ 9eca828 Fix test_add_args_in_macro
616
+ a6f8a07 Some macro fixes
617
+ d83daa8 Merge branch 'newast' of https://github.com/mirah/mirah into newast
618
+ 63c2101 Basic generics support. Handles only the case where the method parameter or return type are simple type variables.
619
+ 82cf35c puts. Sweet. Except JRuby can't find it most of the time. Cry.
620
+ 8d0df92 Fix package for main type
621
+ f0499f5 Don't auto-generate a class or a main method unless needed
622
+ 632a453 Add missing file logging.rb
623
+ 5f31337 Add gensym and disable test for hygenic macros
624
+ 34a15a9 Fix macros with arguments
625
+ ea73382 Write macro annotations
626
+ ce77a0e Use java logging everywhere
627
+ 7dc94c8 Fix the quote macro
628
+ fff3962 Fix Call and FunctionalCall macros
629
+ 77cd6f2 fix printing of unqutoes in TypePrinter
630
+ 808b52d Fix vcall macros; one macro test passing.
631
+ 191062e Macro lookup. So close...
632
+ bced9fa Re-enable macro tests
633
+ 330bfbb Start implementing macro loading
634
+ b5a61ad Quote macro implementation
635
+ ec1b520 Add missing file MirahClassLoader.java
636
+ f0cba97 Macro compilation
637
+ 0ffaa55 Fix compilation of mirah-bootstrap.jar
638
+ 8c594e5 Start implementing macro compilation
639
+ 64dce74 Add missing file
640
+ 4703e7b Fix test_block_with_abstract_from_object
641
+ c8d613d Move block tests to block_test.rb and split them up
642
+ 6bd8de3 Basic block support
643
+ 18c6d26 Fix mirahp and error processing
644
+ f3bd920 Start typer support for blocks and macros
645
+ a272f7b Update parser
646
+ 6d0821f Add Rakefile support for building typer.jar
647
+ 87f1ce5 Merge branch 'newast' of github.com:mirah/mirah into newast
648
+ 4622581 jmeta is mmeta.
649
+ f0672e1 Fix compiling implicit nil
650
+ a6b59f6 Disable hash tests
651
+ a3497cb Fix return type for methods that always raise an exception
652
+ 8238ee7 Fix array return types
653
+ d1e6f05 Fix loops
654
+ 0f646f7 Fix loops
655
+ 506fb9c test fix
656
+ fec18f0 Fix long constants
657
+ a1129c8 fix static method listeners
658
+ 9213d89 Disable enumerable tests for now
659
+ 45a3c43 Fix default constructors
660
+ a37e0b9 Fix test_inexact_constructor
661
+ 04d02ef Fix constructor chaining
662
+ 6f08cf4 Fix blocks_test
663
+ eb5e74c Fix annotations
664
+ 1d0062c Cleanup merge issues
665
+ 9b4733f Merge pull request #171 from baroquebobcat/masterful_newast
666
+ 46422d3 merge master into new ast. It's crazy awesome.
667
+ 7c76dd9 Test fixes part 2
668
+ b6d511f Test fixes
669
+ 4cc953e fix test_not
670
+ e33454b Fix test_nil_assign
671
+ af78bd2 Fix test_literal_array
672
+ cfa426d Fix test_interface_declaration
673
+ 1f942fc Fix test_import, test_import_package
674
+ 16e550c fix test_implements
675
+ 053b89a Fix test_ensure
676
+ 30e6517 Fix test_rescue_scope
677
+ b33c4dc Fix test_rescue
678
+ a123bd4 Work on fixing exceptions
679
+ 0f0cbc0 Fix type in rescue support
680
+ b3bc74e Fix test_class_append_self
681
+ 5a02c90 Fix test_array_with_dynamic_size
682
+ fc469af Fix test_array_return_type
683
+ 264bd9a Fix test_literal_regexp
684
+ 4e62d93 Fix test_annotations
685
+ 5611920 Fix test_colon2
686
+ bb12fb0 Fix test_string_concat and test_string_interpolation
687
+ 408fae2 Fix test_super_constructor
688
+ 7a1000e Fix test_super
689
+ 50fb396 Fix test_constructor
690
+ f1d8eb3 Partial fix for test_return_type
691
+ 5e0c9b3 Update mirah-parser
692
+ de71d88 Work on fixing test_cast
693
+ 9d19812 Support the AttrAssign node
694
+ bfda51d Fix 2nd testcase in test_and
695
+ f786982 Fix first testcase in test_and
696
+ 118697f Fix some bad method calls
697
+ a93ca0b Use imports when resolving type names
698
+ a5770f3 disable filename tagging
699
+ 478b921 Work on fixing method lookup
700
+ d411915 Add the typer .jar
701
+ bd4cdef Work on getting super to work
702
+ 3bca242 Use System.out.println instead of puts
703
+ 28b2015 Fix more tests
704
+ 4c4dd4b Fix superclass tracking and no-arg block calls
705
+ cc687c8 Fix arrays
706
+ 7dc7ab4 Get addition working
707
+ 959b435 Start working on test_jvm_compiler
708
+ 5108278 Fix some more compilation errors
709
+ 8b33dab Work around bug in RubyArray.hashCode
710
+ 92db094 Add some more logging during type inference
711
+ 61d3f2f Get hello world compiling
712
+ df1f9db Start getting jvm compiler to work
713
+ bbb3423 Mostly fix test_java_typer
714
+ ada7948 Fix test_typer
715
+ 570efac Work on getting test_typer to pass
716
+ 7203e19 Start using the new typer
717
+ 88a047d Get the typer to compile
718
+ e246b53 Unquote fixes
719
+ 6f170d8 Fix typo
720
+ 486f70f Implement UnquoteAssign
721
+ e822c5f Fix some compilation errors
722
+ 0fafe68 Start new inference engine
723
+ dafc7ca Fix custom scopes on locals
724
+ b24f54e Fix test_add_args_in_macro
725
+ bcdef19 Fix test_self_call_preserves_scope
726
+ 428c493 Fix hash literals
727
+ 1f2f4a4 Fix generator
728
+ 2f46511 Fix merge error
729
+ 5eb7bde Merge
730
+ 79a5cc6 Rebuild bootrap jar
731
+ b08d2bb Fix scope for self_call macros
732
+ 3dfb2f4 Fix some more tests
733
+ 5edb785 Fix some tests
734
+ ef1f7f6 Serialize AST as text instead of using Marshal. This seems a bit fragile, but it should be enough to bootstrap the new AST.
735
+ c28a393 Get rid of ScopedBody nodes
736
+
1
737
  === 0.0.12 Working Jars / 2012-07-22
2
738
 
3
739
  c06e1df bump versions to 0.0.12