mirah 0.1.0.pre-java → 0.1.1-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -0,0 +1,110 @@
1
+ # Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
2
+ # All contributing project authors may be found in the NOTICE file.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ require 'test/unit'
17
+ require 'mirah'
18
+
19
+ class SimpleAsyncMirrorLoaderTest < Test::Unit::TestCase
20
+ java_import 'org.jruby.org.objectweb.asm.Type'
21
+ java_import 'org.mirah.jvm.mirrors.BaseType'
22
+ java_import 'org.mirah.jvm.mirrors.MirrorType'
23
+ java_import 'org.mirah.jvm.mirrors.SimpleAsyncMirrorLoader'
24
+ java_import 'org.mirah.jvm.mirrors.AsyncLoaderAdapter'
25
+ java_import 'org.mirah.jvm.mirrors.PrimitiveLoader'
26
+ java_import 'org.mirah.jvm.mirrors.ClassPath'
27
+ java_import 'org.mirah.jvm.types.JVMTypeUtils'
28
+ java_import 'org.mirah.typer.BaseTypeFuture'
29
+ java_import 'org.mirah.typer.ErrorType'
30
+ java_import 'org.mirah.util.Context'
31
+
32
+ def test_no_parent
33
+ loader = SimpleAsyncMirrorLoader.new(nil)
34
+ future = loader.loadMirrorAsync(Type.getType("V"))
35
+ mirror = future.resolve
36
+ assert(mirror.isError)
37
+ assert_kind_of(MirrorType, mirror)
38
+ assert_kind_of(ErrorType, mirror)
39
+ end
40
+
41
+ def test_define_type
42
+ loader = SimpleAsyncMirrorLoader.new(nil)
43
+ expected_future = BaseTypeFuture.new
44
+ loader.defineMirror(Type.getType("V"), expected_future)
45
+ actual_future = loader.loadMirrorAsync(Type.getType("V"))
46
+ expected_future.resolved(BaseType.new(nil, Type.getType("V"), 0, nil))
47
+ assert_equal("void", expected_future.resolve.name)
48
+ end
49
+
50
+
51
+ def test_define_type_later
52
+ loader = SimpleAsyncMirrorLoader.new(nil)
53
+ actual_future = loader.loadMirrorAsync(Type.getType("V"))
54
+ assert(actual_future.resolve.isError)
55
+ expected_future = BaseTypeFuture.new
56
+ expected_future.resolved(BaseType.new(nil, Type.getType("V"), 0, nil))
57
+ loader.defineMirror(Type.getType("V"), expected_future)
58
+ assert_equal("void", expected_future.resolve.name)
59
+ end
60
+
61
+ def defineType(loader, type, mirror)
62
+ future = BaseTypeFuture.new
63
+ future.resolved(mirror)
64
+ loader.defineMirror(type, future)
65
+ end
66
+
67
+ def test_parent
68
+ parent = SimpleAsyncMirrorLoader.new(nil)
69
+ child = SimpleAsyncMirrorLoader.new(nil, parent)
70
+
71
+ defineType(parent, Type.getType("LA;"),
72
+ BaseType.new(nil, Type.getType("Lparent/A;"), 0, nil))
73
+ defineType(child, Type.getType("LA;"),
74
+ BaseType.new(nil, Type.getType("Lchild/A;"), 0, nil))
75
+
76
+ future = child.loadMirrorAsync(Type.getType("LA;"))
77
+ assert_equal("child.A", future.resolve.name)
78
+
79
+ future = child.loadMirrorAsync(Type.getType("LB;"))
80
+ assert(future.resolve.isError)
81
+
82
+ defineType(parent, Type.getType("LB;"),
83
+ BaseType.new(nil, Type.getType("Lparent/B;"), 0, nil))
84
+ assert_equal("parent.B", future.resolve.name)
85
+ defineType(child, Type.getType("LB;"),
86
+ BaseType.new(nil, Type.getType("Lchild/B;"), 0, nil))
87
+ assert_equal("child.B", future.resolve.name)
88
+ end
89
+
90
+ def test_adapter
91
+ loader = AsyncLoaderAdapter.new(nil, PrimitiveLoader.new(nil))
92
+ future = loader.loadMirrorAsync(Type.getType("I"))
93
+ assert_equal('int', future.resolve.name)
94
+ end
95
+
96
+ def test_array
97
+ context = Context.new
98
+ classpath = ClassPath.new
99
+ classpath.bytecode_loader_set PrimitiveLoader.new(context)
100
+ classpath.macro_loader_set classpath.bytecode_loader
101
+ classpath.loader_set(loader = SimpleAsyncMirrorLoader.new(context))
102
+ context.add(ClassPath.java_class, classpath)
103
+ future = classpath.loader.loadMirrorAsync(Type.getType("[LA;"))
104
+ defineType(loader, Type.getType("LA;"),
105
+ BaseType.new(nil, Type.getType("LA;"), 0, nil))
106
+ assert(JVMTypeUtils.isArray(future.resolve))
107
+ assert_equal('LA;', future.resolve.getComponentType.asm_type.descriptor)
108
+ assert(!future.resolve.getComponentType.isError)
109
+ end
110
+ end
@@ -0,0 +1,104 @@
1
+ # Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
2
+ # All contributing project authors may be found in the NOTICE file.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ require 'test/unit'
17
+ require 'mirah'
18
+
19
+
20
+ java_import 'org.mirah.jvm.mirrors.SimpleMirrorLoader'
21
+ java_import 'org.mirah.jvm.mirrors.BaseType'
22
+
23
+ class ParentLoader < SimpleMirrorLoader
24
+ def initialize
25
+ @callcount = 0
26
+ end
27
+
28
+ def findMirror(type)
29
+ @callcount += 1
30
+ BaseType.new(nil, type, 0, nil) if type.descriptor == "V"
31
+ end
32
+
33
+ attr_reader :callcount
34
+ end
35
+
36
+ class SimpleMirrorLoaderTest < Test::Unit::TestCase
37
+ java_import 'org.jruby.org.objectweb.asm.Type'
38
+
39
+ def setup
40
+ @parent = ParentLoader.new
41
+ @loader = SimpleMirrorLoader.new(@parent)
42
+ end
43
+
44
+ def test_no_parent
45
+ assert_nil(SimpleMirrorLoader.new.loadMirror(Type.getType("V")))
46
+ assert_nil(SimpleMirrorLoader.new.loadMirror(Type.getType("I")))
47
+ end
48
+
49
+ def test_parent
50
+ type = @loader.loadMirror(Type.getType("V"))
51
+ assert_equal("void", type.name)
52
+ assert_nil(@loader.loadMirror(Type.getType("I")))
53
+ end
54
+
55
+ def test_cache
56
+ type = @loader.loadMirror(Type.getType("V"))
57
+ assert_equal("void", type.name)
58
+ type = @loader.loadMirror(Type.getType("V"))
59
+ assert_equal("void", type.name)
60
+ assert_equal(1, @parent.callcount)
61
+ end
62
+ end
63
+
64
+ class PrimitiveLoaderTest < Test::Unit::TestCase
65
+ java_import 'org.mirah.jvm.mirrors.PrimitiveLoader'
66
+ java_import 'org.jruby.org.objectweb.asm.Type'
67
+
68
+ def test_primitives
69
+ loader = PrimitiveLoader.new(nil)
70
+ %w(V Z B S C I J F D).each do |desc|
71
+ type = Type.getType(desc)
72
+ mirror = loader.loadMirror(type)
73
+ assert_equal(type.getClassName, mirror.name)
74
+ assert_equal(desc, mirror.asm_type.descriptor)
75
+ end
76
+ end
77
+
78
+ def test_parent
79
+ parent = ParentLoader.new
80
+ loader = PrimitiveLoader.new(nil, parent)
81
+ mirror = loader.loadMirror(Type.getType("V"))
82
+ assert_equal(1, parent.callcount)
83
+ end
84
+ end
85
+
86
+ class OrErrorLoaderTest < Test::Unit::TestCase
87
+ java_import 'org.mirah.jvm.mirrors.OrErrorLoader'
88
+ java_import 'org.jruby.org.objectweb.asm.Type'
89
+
90
+ def test_loader
91
+ loader = OrErrorLoader.new(nil)
92
+ mirror = loader.loadMirror(Type.getType("J"))
93
+ assert_equal("J", mirror.asm_type.descriptor)
94
+ assert(mirror.isError)
95
+ end
96
+
97
+ def test_parent
98
+ parent = ParentLoader.new
99
+ loader = OrErrorLoader.new(parent)
100
+ mirror = loader.loadMirror(Type.getType("V"))
101
+ assert_equal(1, parent.callcount)
102
+ assert(!mirror.isError)
103
+ end
104
+ end
data/test/test_helper.rb CHANGED
@@ -16,7 +16,8 @@ require 'bundler/setup'
16
16
  require 'test/unit'
17
17
  require 'mirah'
18
18
  require 'jruby'
19
- require 'turn'
19
+ require 'stringio'
20
+ require 'fileutils'
20
21
 
21
22
  module CommonAssertions
22
23
  import java.lang.System
metadata CHANGED
@@ -1,236 +1,263 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mirah
3
- version: !ruby/object:Gem::Version
4
- prerelease: 6
5
- version: 0.1.0.pre
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.1
6
6
  platform: java
7
- authors:
8
- - Charles Oliver Nutter
9
- - Ryan Brown
10
- autorequire:
7
+ authors:
8
+ - Charles Oliver Nutter
9
+ - Ryan Brown
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
-
14
- date: 2012-11-02 00:00:00 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: bitescript
18
- version_requirements: &id001 !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 0.0.8
24
- requirement: *id001
25
- prerelease: false
26
- type: :runtime
13
+ date: 2013-08-05 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bitescript
17
+ version_requirements: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.1.4
22
+ none: false
23
+ requirement: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - '>='
26
+ - !ruby/object:Gem::Version
27
+ version: 0.1.4
28
+ none: false
29
+ prerelease: false
30
+ type: :runtime
27
31
  description: |-
28
32
  Mirah is a customizable programming language featuring static types,
29
33
  local type inference and a heavily Ruby-inspired syntax. Mirah
30
34
  currently includes a typer/compiler backend for the JVM which can
31
35
  output either JVM bytecode or Java source files.
32
- email:
33
- - headius@headius.com
34
- - ribrdb@google.com
35
- executables:
36
- - mirah
37
- - mirahc
38
- - mirahp
36
+ email:
37
+ - headius@headius.com
38
+ - ribrdb@google.com
39
+ executables:
40
+ - mirah
41
+ - mirahc
42
+ - mirahp
39
43
  extensions: []
40
-
41
- extra_rdoc_files:
42
- - History.txt
43
- - README.txt
44
- files:
45
- - bin/mirah
46
- - bin/mirah.cmd
47
- - bin/mirahc
48
- - bin/mirahc.cmd
49
- - bin/mirahp
50
- - bin/mirahp.cmd
51
- - lib/duby.rb
52
- - lib/mirah.rb
53
- - lib/mirah_task.rb
54
- - lib/mirah/appengine_tasks.rb
55
- - lib/mirah/ast.rb
56
- - lib/mirah/commands.rb
57
- - lib/mirah/compiler.rb
58
- - lib/mirah/env.rb
59
- - lib/mirah/errors.rb
60
- - lib/mirah/generator.rb
61
- - lib/mirah/parser.rb
62
- - lib/mirah/transform.rb
63
- - lib/mirah/typer.rb
64
- - lib/mirah/version.rb
65
- - lib/mirah/ast/scope.rb
66
- - lib/mirah/commands/base.rb
67
- - lib/mirah/commands/compile.rb
68
- - lib/mirah/commands/parse.rb
69
- - lib/mirah/commands/run.rb
70
- - lib/mirah/jvm/compiler.rb
71
- - lib/mirah/jvm/method_lookup.rb
72
- - lib/mirah/jvm/typer.rb
73
- - lib/mirah/jvm/types.rb
74
- - lib/mirah/jvm/compiler/base.rb
75
- - lib/mirah/jvm/compiler/jvm_bytecode.rb
76
- - lib/mirah/jvm/types/array_type.rb
77
- - lib/mirah/jvm/types/basic_types.rb
78
- - lib/mirah/jvm/types/bitescript_ext.rb
79
- - lib/mirah/jvm/types/block_type.rb
80
- - lib/mirah/jvm/types/boolean.rb
81
- - lib/mirah/jvm/types/dynamic_type.rb
82
- - lib/mirah/jvm/types/enumerable.rb
83
- - lib/mirah/jvm/types/extensions.rb
84
- - lib/mirah/jvm/types/factory.rb
85
- - lib/mirah/jvm/types/floats.rb
86
- - lib/mirah/jvm/types/generic_type.rb
87
- - lib/mirah/jvm/types/implicit_nil_type.rb
88
- - lib/mirah/jvm/types/integers.rb
89
- - lib/mirah/jvm/types/interface_definition.rb
90
- - lib/mirah/jvm/types/intrinsics.rb
91
- - lib/mirah/jvm/types/literals.rb
92
- - lib/mirah/jvm/types/meta_type.rb
93
- - lib/mirah/jvm/types/methods.rb
94
- - lib/mirah/jvm/types/null_type.rb
95
- - lib/mirah/jvm/types/number.rb
96
- - lib/mirah/jvm/types/primitive_type.rb
97
- - lib/mirah/jvm/types/source_mirror.rb
98
- - lib/mirah/jvm/types/type.rb
99
- - lib/mirah/jvm/types/type_definition.rb
100
- - lib/mirah/jvm/types/unreachable_type.rb
101
- - lib/mirah/jvm/types/void_type.rb
102
- - lib/mirah/plugin/edb.rb
103
- - lib/mirah/transform/ast_ext.rb
104
- - lib/mirah/transform/transformer.rb
105
- - lib/mirah/util/argument_processor.rb
106
- - lib/mirah/util/class_loader.rb
107
- - lib/mirah/util/compilation_state.rb
108
- - lib/mirah/util/delegate.rb
109
- - lib/mirah/util/logging.rb
110
- - lib/mirah/util/process_errors.rb
111
- - test/test_helper.rb
112
- - test/core/commands_test.rb
113
- - test/core/env_test.rb
114
- - test/core/generator_test.rb
115
- - test/core/typer_test.rb
116
- - test/core/util/argument_processor_test.rb
117
- - test/core/util/class_loader_test.rb
118
- - test/fixtures/my.properties
119
- - test/fixtures/org/foo/A.class
120
- - test/jvm/annotations_test.rb
121
- - test/jvm/blocks_test.rb
122
- - test/jvm/bytecode_test_helper.rb
123
- - test/jvm/constructors_test.rb
124
- - test/jvm/enumerable_test.rb
125
- - test/jvm/factory_test.rb
126
- - test/jvm/generics_test.rb
127
- - test/jvm/hash_test.rb
128
- - test/jvm/java_typer_test.rb
129
- - test/jvm/jvm_compiler_test.rb
130
- - test/jvm/list_extensions_test.rb
131
- - test/jvm/macros_test.rb
132
- - test/jvm/main_method_test.rb
133
- - test/jvm/numeric_extensions_test.rb
134
- - test/jvm/rescue_test.rb
135
- - examples/bintrees.mirah
136
- - examples/construction.mirah
137
- - examples/dynamic.mirah
138
- - examples/edb.mirah
139
- - examples/fib.mirah
140
- - examples/fields.mirah
141
- - examples/fractal.mirah
142
- - examples/interfaces.mirah
143
- - examples/java_thing.mirah
144
- - examples/simple_class.mirah
145
- - examples/sort_closure.mirah
146
- - examples/swing.mirah
147
- - examples/tak.mirah
148
- - examples/test.edb
149
- - examples/ant/example-build.xml
150
- - examples/appengine/Rakefile
151
- - examples/appengine/Readme
152
- - examples/appengine/src/org/mirah/list.dhtml
153
- - examples/appengine/src/org/mirah/MirahApp.mirah
154
- - examples/appengine/war/WEB-INF/lib/dubydatastore.jar
155
- - examples/macros/square.mirah
156
- - examples/macros/square_int.mirah
157
- - examples/macros/string-each-char.mirah
158
- - examples/maven/pom.xml
159
- - examples/maven/README.txt
160
- - examples/maven/src/main/mirah/hello_mirah.mirah
161
- - examples/plugins/appengine/Rakefile
162
- - examples/plugins/appengine/src/com/google/appengine/ext/duby/db/MetaModel.mirah
163
- - examples/plugins/appengine/src/com/google/appengine/ext/duby/db/Model.duby
164
- - examples/plugins/appengine/test/com/google/appengine/ext/duby/db/ModelTest.duby
165
- - examples/rosettacode/100-doors.mirah
166
- - examples/rosettacode/99-bottles-of-beer.mirah
167
- - examples/rosettacode/arrays.mirah
168
- - examples/rosettacode/boolean-values.mirah
169
- - examples/rosettacode/comments.mirah
170
- - examples/rosettacode/copy-a-string.mirah
171
- - examples/rosettacode/count-occurrences-of-a-substring.mirah
172
- - examples/rosettacode/create-a-file.mirah
173
- - examples/rosettacode/empty-string.mirah
174
- - examples/rosettacode/factorial.mirah
175
- - examples/rosettacode/fibonacci.mirah
176
- - examples/rosettacode/file-size.mirah
177
- - examples/rosettacode/fizz-buzz.mirah
178
- - examples/rosettacode/flatten-a-list.mirah
179
- - examples/rosettacode/guess-the-number.mirah
180
- - examples/rosettacode/hamming-numbers.mirah
181
- - examples/rosettacode/host-introspection.mirah
182
- - examples/rosettacode/hostname.mirah
183
- - examples/rosettacode/is-string-numeric.mirah
184
- - examples/rosettacode/palindrome.mirah
185
- - examples/rosettacode/random-numbers.mirah
186
- - examples/rosettacode/README.txt
187
- - examples/rosettacode/repeat-a-string.mirah
188
- - examples/rosettacode/reverse-a-string.mirah
189
- - examples/rosettacode/rot-13.mirah
190
- - examples/rosettacode/secure-temporary-file.mirah
191
- - examples/rosettacode/sleep.mirah
192
- - examples/rosettacode/sort-integer-array.mirah
193
- - examples/rosettacode/string-case.mirah
194
- - examples/rosettacode/string-length.mirah
195
- - examples/rosettacode/user-input.mirah
196
- - javalib/dynalink-0.2.jar
197
- - javalib/mirah-bootstrap.jar
198
- - javalib/mirah-builtins.jar
199
- - javalib/mirah-newast-transitional.jar
200
- - javalib/mirah-parser.jar
201
- - History.txt
202
- - README.txt
203
- - Rakefile
44
+ extra_rdoc_files:
45
+ - History.txt
46
+ - README.md
47
+ files:
48
+ - bin/mirah
49
+ - bin/mirah.cmd
50
+ - bin/mirahc
51
+ - bin/mirahc.cmd
52
+ - bin/mirahp
53
+ - bin/mirahp.cmd
54
+ - lib/duby.rb
55
+ - lib/mirah.rb
56
+ - lib/mirah_task.rb
57
+ - lib/mirah/appengine_tasks.rb
58
+ - lib/mirah/ast.rb
59
+ - lib/mirah/commands.rb
60
+ - lib/mirah/compiler.rb
61
+ - lib/mirah/env.rb
62
+ - lib/mirah/errors.rb
63
+ - lib/mirah/generator.rb
64
+ - lib/mirah/parser.rb
65
+ - lib/mirah/transform.rb
66
+ - lib/mirah/typer.rb
67
+ - lib/mirah/version.rb
68
+ - lib/mirah/ast/scope.rb
69
+ - lib/mirah/commands/base.rb
70
+ - lib/mirah/commands/compile.rb
71
+ - lib/mirah/commands/parse.rb
72
+ - lib/mirah/commands/run.rb
73
+ - lib/mirah/jvm/compiler.rb
74
+ - lib/mirah/jvm/method_lookup.rb
75
+ - lib/mirah/jvm/types.rb
76
+ - lib/mirah/jvm/compiler/base.rb
77
+ - lib/mirah/jvm/compiler/jvm_bytecode.rb
78
+ - lib/mirah/jvm/types/array_type.rb
79
+ - lib/mirah/jvm/types/ast_ext.rb
80
+ - lib/mirah/jvm/types/basic_types.rb
81
+ - lib/mirah/jvm/types/bitescript_ext.rb
82
+ - lib/mirah/jvm/types/block_type.rb
83
+ - lib/mirah/jvm/types/boolean.rb
84
+ - lib/mirah/jvm/types/enumerable.rb
85
+ - lib/mirah/jvm/types/extensions.rb
86
+ - lib/mirah/jvm/types/factory.rb
87
+ - lib/mirah/jvm/types/floats.rb
88
+ - lib/mirah/jvm/types/generic_type.rb
89
+ - lib/mirah/jvm/types/implicit_nil_type.rb
90
+ - lib/mirah/jvm/types/integers.rb
91
+ - lib/mirah/jvm/types/interface_definition.rb
92
+ - lib/mirah/jvm/types/intrinsics.rb
93
+ - lib/mirah/jvm/types/literals.rb
94
+ - lib/mirah/jvm/types/meta_type.rb
95
+ - lib/mirah/jvm/types/methods.rb
96
+ - lib/mirah/jvm/types/methods.rb~
97
+ - lib/mirah/jvm/types/null_type.rb
98
+ - lib/mirah/jvm/types/number.rb
99
+ - lib/mirah/jvm/types/primitive_type.rb
100
+ - lib/mirah/jvm/types/source_mirror.rb
101
+ - lib/mirah/jvm/types/type.rb
102
+ - lib/mirah/jvm/types/type_definition.rb
103
+ - lib/mirah/jvm/types/void_type.rb
104
+ - lib/mirah/plugin/edb.rb
105
+ - lib/mirah/transform/ast_ext.rb
106
+ - lib/mirah/transform/transformer.rb
107
+ - lib/mirah/util/argument_processor.rb
108
+ - lib/mirah/util/argument_processor.rb~
109
+ - lib/mirah/util/class_loader.rb
110
+ - lib/mirah/util/compilation_state.rb
111
+ - lib/mirah/util/delegate.rb
112
+ - lib/mirah/util/logging.rb
113
+ - lib/mirah/util/process_errors.rb
114
+ - test/test_helper.rb
115
+ - test/core/commands_test.rb
116
+ - test/core/env_test.rb
117
+ - test/core/generator_test.rb
118
+ - test/core/typer_test.rb
119
+ - test/core/util/argument_processor_test.rb
120
+ - test/core/util/class_loader_test.rb
121
+ - test/core/util/compilation_state_test.rb
122
+ - test/fixtures/my.properties
123
+ - test/fixtures/org/foo/A.class
124
+ - test/fixtures/org/foo/LowerCaseInnerClass$inner.class
125
+ - test/fixtures/org/foo/LowerCaseInnerClass.class
126
+ - test/fixtures/org/foo/LowerCaseInnerClass.java
127
+ - test/jvm/annotations_test.rb
128
+ - test/jvm/blocks_test.rb
129
+ - test/jvm/bytecode_test_helper.rb
130
+ - test/jvm/cast_test.rb
131
+ - test/jvm/constructors_test.rb
132
+ - test/jvm/enumerable_test.rb
133
+ - test/jvm/example_test.rb
134
+ - test/jvm/factory_test.rb
135
+ - test/jvm/generics_test.rb
136
+ - test/jvm/hash_test.rb
137
+ - test/jvm/import_test.rb
138
+ - test/jvm/interface_test.rb
139
+ - test/jvm/java_typer_test.rb
140
+ - test/jvm/jvm_commands_test.rb
141
+ - test/jvm/jvm_compiler_test.rb
142
+ - test/jvm/list_extensions_test.rb
143
+ - test/jvm/macros_test.rb
144
+ - test/jvm/main_method_test.rb
145
+ - test/jvm/mirror_compilation_test_helper.rb
146
+ - test/jvm/new_backend_test_helper.rb
147
+ - test/jvm/numeric_extensions_test.rb
148
+ - test/jvm/rescue_test.rb
149
+ - test/jvm/string_test.rb
150
+ - test/jvm/varargs_test.rb
151
+ - test/mirrors/base_type_test.rb
152
+ - test/mirrors/bytecode_mirror_test.rb
153
+ - test/mirrors/generics_test.rb
154
+ - test/mirrors/member_test.rb
155
+ - test/mirrors/method_lookup_test.rb
156
+ - test/mirrors/mirrors_test.rb
157
+ - test/mirrors/simple_async_mirror_loader_test.rb
158
+ - test/mirrors/simple_mirror_loader_test.rb
159
+ - examples/bintrees.mirah
160
+ - examples/construction.mirah
161
+ - examples/edb.mirah
162
+ - examples/Fib.class
163
+ - examples/fib.mirah
164
+ - examples/fields.mirah
165
+ - examples/fractal.mirah
166
+ - examples/interfaces.mirah
167
+ - examples/java_thing.mirah
168
+ - examples/simple_class.mirah
169
+ - examples/simple_class.mirah~
170
+ - examples/sort_closure.mirah
171
+ - examples/swing.mirah
172
+ - examples/tak.mirah
173
+ - examples/test.edb
174
+ - examples/ant/example-build.xml
175
+ - examples/appengine/Rakefile
176
+ - examples/appengine/Readme
177
+ - examples/appengine/src/org/mirah/list.dhtml
178
+ - examples/appengine/src/org/mirah/MirahApp.mirah
179
+ - examples/appengine/war/WEB-INF/lib/dubydatastore.jar
180
+ - examples/macros/square.mirah
181
+ - examples/macros/square_int.mirah
182
+ - examples/macros/string_each_char.mirah
183
+ - examples/maven/pom.xml
184
+ - examples/maven/README.txt
185
+ - examples/maven/src/main/mirah/hello_mirah.mirah
186
+ - examples/plugins/appengine/Rakefile
187
+ - examples/plugins/appengine/src/com/google/appengine/ext/duby/db/MetaModel.mirah
188
+ - examples/plugins/appengine/src/com/google/appengine/ext/duby/db/Model.duby
189
+ - examples/plugins/appengine/test/com/google/appengine/ext/duby/db/ModelTest.duby
190
+ - examples/rosettacode/100-doors.mirah
191
+ - examples/rosettacode/99-bottles-of-beer.mirah
192
+ - examples/rosettacode/arrays.mirah
193
+ - examples/rosettacode/boolean-values.mirah
194
+ - examples/rosettacode/comments.mirah
195
+ - examples/rosettacode/copy-a-string.mirah
196
+ - examples/rosettacode/count-occurrences-of-a-substring.mirah
197
+ - examples/rosettacode/create-a-file.mirah
198
+ - examples/rosettacode/empty-string.mirah
199
+ - examples/rosettacode/factorial.mirah
200
+ - examples/rosettacode/fibonacci.mirah
201
+ - examples/rosettacode/file-size.mirah
202
+ - examples/rosettacode/fizz-buzz.mirah
203
+ - examples/rosettacode/flatten-a-list.mirah
204
+ - examples/rosettacode/guess-the-number.mirah
205
+ - examples/rosettacode/hamming-numbers.mirah
206
+ - examples/rosettacode/host-introspection.mirah
207
+ - examples/rosettacode/hostname.mirah
208
+ - examples/rosettacode/is-string-numeric.mirah
209
+ - examples/rosettacode/palindrome.mirah
210
+ - examples/rosettacode/random-numbers.mirah
211
+ - examples/rosettacode/README.txt
212
+ - examples/rosettacode/repeat-a-string.mirah
213
+ - examples/rosettacode/reverse-a-string.mirah
214
+ - examples/rosettacode/rot-13.mirah
215
+ - examples/rosettacode/secure-temporary-file.mirah
216
+ - examples/rosettacode/sleep.mirah
217
+ - examples/rosettacode/sort-integer-array.mirah
218
+ - examples/rosettacode/string-case.mirah
219
+ - examples/rosettacode/string-length.mirah
220
+ - examples/rosettacode/user-input.mirah
221
+ - javalib/mirah-bootstrap.jar
222
+ - javalib/mirah-builtins.jar
223
+ - javalib/mirah-compiler.jar
224
+ - javalib/mirah-newast-transitional.jar
225
+ - javalib/mirah-parser.jar
226
+ - javalib/mirah-util.jar
227
+ - History.txt
228
+ - Rakefile
229
+ - README.md
204
230
  homepage: http://www.mirah.org/
205
231
  licenses: []
206
-
207
- post_install_message:
208
- rdoc_options:
209
- - --main
210
- - README.txt
211
- require_paths:
212
- - lib
213
- required_ruby_version: !ruby/object:Gem::Requirement
232
+ post_install_message:
233
+ rdoc_options:
234
+ - --main
235
+ - README.md
236
+ require_paths:
237
+ - lib
238
+ required_ruby_version: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - '>='
241
+ - !ruby/object:Gem::Version
242
+ segments:
243
+ - 0
244
+ hash: 2
245
+ version: '0'
214
246
  none: false
215
- requirements:
216
- - - ">="
217
- - !ruby/object:Gem::Version
218
- hash: 2
219
- segments:
220
- - 0
221
- version: "0"
222
- required_rubygems_version: !ruby/object:Gem::Requirement
247
+ required_rubygems_version: !ruby/object:Gem::Requirement
248
+ requirements:
249
+ - - '>='
250
+ - !ruby/object:Gem::Version
251
+ segments:
252
+ - 0
253
+ hash: 2
254
+ version: '0'
223
255
  none: false
224
- requirements:
225
- - - ">"
226
- - !ruby/object:Gem::Version
227
- version: 1.3.1
228
256
  requirements: []
229
-
230
257
  rubyforge_project: mirah
231
258
  rubygems_version: 1.8.24
232
- signing_key:
259
+ signing_key:
233
260
  specification_version: 3
234
261
  summary: Mirah is a customizable programming language featuring static types, local type inference and a heavily Ruby-inspired syntax
235
- test_files:
236
- - test/test_helper.rb
262
+ test_files:
263
+ - test/test_helper.rb