rubinius-ast 2.3.0 → 2.3.1
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.
- checksums.yaml +4 -4
- data/lib/rubinius/ast/definitions.rb +2 -36
- data/lib/rubinius/ast/values.rb +1 -6
- data/lib/rubinius/ast/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a5b8df5e4a0e342c77b1d8c6317b627516e41b3d
|
4
|
+
data.tar.gz: 2b87feb14895fec496963887ea3c7c1e9f8e2c38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0a970ef34cefbdae30fc2af964ddac6a79b100489b7e82219b362eb012de6985c4e176141dbcb1622770ce28077ef1211a5855a5f17cfc7fd07980c715a0bfe
|
7
|
+
data.tar.gz: 82724b035d005f34d83d7f791ba75628b9ece1db99fef9e0008dd2a72dc2cc8b4d72c69aa1f521413272685836405969c0222754ddf11fde46544cfd4972d9b4
|
@@ -635,43 +635,18 @@ module CodeTools
|
|
635
635
|
|
636
636
|
def bytecode(g)
|
637
637
|
done = g.new_label
|
638
|
-
check_hash = g.new_label
|
639
638
|
assignments = g.new_label
|
639
|
+
missing_value = g.new_label
|
640
640
|
|
641
641
|
@value.bytecode(g)
|
642
642
|
|
643
643
|
g.dup
|
644
|
-
g.
|
645
|
-
g.gif check_hash
|
644
|
+
g.goto_if_not_nil assignments
|
646
645
|
|
647
646
|
g.pop
|
648
647
|
g.push_cpath_top
|
649
648
|
g.find_const :Hash
|
650
649
|
g.send :allocate, 0, true
|
651
|
-
g.goto assignments
|
652
|
-
|
653
|
-
check_hash.set!
|
654
|
-
kind_of_hash(g, assignments)
|
655
|
-
|
656
|
-
discard = g.new_label
|
657
|
-
|
658
|
-
g.dup
|
659
|
-
g.send :to_hash, 0, true
|
660
|
-
kind_of_hash(g, discard)
|
661
|
-
|
662
|
-
g.push_type
|
663
|
-
g.move_down 2
|
664
|
-
g.push_literal :to_hash
|
665
|
-
g.push_cpath_top
|
666
|
-
g.find_const :Hash
|
667
|
-
g.send :coerce_to_type_error, 4, true
|
668
|
-
g.goto done
|
669
|
-
|
670
|
-
discard.set!
|
671
|
-
g.swap
|
672
|
-
g.pop
|
673
|
-
|
674
|
-
missing_value = g.new_label
|
675
650
|
|
676
651
|
assignments.set!
|
677
652
|
|
@@ -766,15 +741,6 @@ module CodeTools
|
|
766
741
|
done.set!
|
767
742
|
end
|
768
743
|
|
769
|
-
def kind_of_hash(g, label)
|
770
|
-
g.dup
|
771
|
-
g.push_cpath_top
|
772
|
-
g.find_const :Hash
|
773
|
-
g.swap
|
774
|
-
g.kind_of
|
775
|
-
g.git label
|
776
|
-
end
|
777
|
-
|
778
744
|
def to_sexp
|
779
745
|
sexp = [:kwargs]
|
780
746
|
sexp << @names unless @names.empty?
|
data/lib/rubinius/ast/values.rb
CHANGED
@@ -14,12 +14,11 @@ module CodeTools
|
|
14
14
|
done = g.new_label
|
15
15
|
coerce = g.new_label
|
16
16
|
make_array = g.new_label
|
17
|
-
array_dup = g.new_label
|
18
17
|
dup_as_array = g.new_label
|
19
18
|
|
20
19
|
@value.bytecode(g)
|
21
20
|
|
22
|
-
instance_of_array(g,
|
21
|
+
instance_of_array(g, dup_as_array)
|
23
22
|
kind_of_array(g, dup_as_array)
|
24
23
|
|
25
24
|
g.dup
|
@@ -66,10 +65,6 @@ module CodeTools
|
|
66
65
|
g.send :coerce_to_type_error, 4, true
|
67
66
|
g.goto done
|
68
67
|
|
69
|
-
array_dup.set!
|
70
|
-
g.send :dup, 0, true
|
71
|
-
g.goto done
|
72
|
-
|
73
68
|
discard.set!
|
74
69
|
g.swap
|
75
70
|
g.pop
|
data/lib/rubinius/ast/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubinius-ast
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Shirai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|