rubinius-ast 3.5 → 3.6
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03b20e9b3a87699e1b270e481571d3cb3ce36ade
|
4
|
+
data.tar.gz: a1e2ab029d36856c39134ebac9b7281db7100941
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06a5d737c90eb84cc1576a9b1400a62e490e721e696c6cf54f8dc05b3a063ec2a33a9518267dd71e9a7fe9c08116fb21e14bbc9986d1e9fd3d1d42acad3e96e5
|
7
|
+
data.tar.gz: 1a5b784a46f81f132810f4128b9c8c0890d4ebd255e6ef1f1d7004332426772d9c68cc72015ef963c76fbf4dfdfebc99cd0ad01abeca3dacee5d84ec534df611
|
@@ -302,7 +302,7 @@ module CodeTools
|
|
302
302
|
class Parameters < Node
|
303
303
|
attr_accessor :names, :required, :optional, :defaults, :splat,
|
304
304
|
:post, :keywords, :kwrest
|
305
|
-
attr_reader :block_arg, :block_index
|
305
|
+
attr_reader :block_arg, :block_index, :kwrest_index
|
306
306
|
|
307
307
|
def initialize(line, required=nil, optional=nil, splat=nil,
|
308
308
|
post=nil, kwargs=nil, kwrest=nil, block=nil)
|
@@ -312,6 +312,7 @@ module CodeTools
|
|
312
312
|
@block_arg = nil
|
313
313
|
@splat_index = nil
|
314
314
|
@block_index = nil
|
315
|
+
@kwrest_index = nil
|
315
316
|
@locals = []
|
316
317
|
@local_index = 0
|
317
318
|
|
@@ -360,6 +361,11 @@ module CodeTools
|
|
360
361
|
|
361
362
|
@keywords.value = LocalVariableAccess.new line, placeholder_var if @keywords
|
362
363
|
|
364
|
+
if kwrest
|
365
|
+
@kwrest_index = total_args + @keywords.arguments.length + 1
|
366
|
+
@kwrest_index += 1 if block
|
367
|
+
end
|
368
|
+
|
363
369
|
@names = names
|
364
370
|
|
365
371
|
self.block_arg = block
|
@@ -403,10 +409,7 @@ module CodeTools
|
|
403
409
|
@block_arg = BlockArgument.new @line, block
|
404
410
|
end
|
405
411
|
|
406
|
-
if @locals.last.kind_of? BlockArgument
|
407
|
-
@block_index -= 1
|
408
|
-
@locals.pop
|
409
|
-
end
|
412
|
+
@locals.pop if @locals.last.kind_of? BlockArgument
|
410
413
|
@names.pop if @names.last.kind_of? BlockArgument
|
411
414
|
|
412
415
|
@block_index = @locals.size
|
@@ -443,12 +446,7 @@ module CodeTools
|
|
443
446
|
|
444
447
|
if @splat or not @optional.empty? or
|
445
448
|
(@keywords and not @keywords.required?)
|
446
|
-
arity
|
447
|
-
end
|
448
|
-
|
449
|
-
if @splat or not @optional.empty? or
|
450
|
-
(@keywords and not @keywords.required?)
|
451
|
-
arity = -arity
|
449
|
+
arity = -arity - 1
|
452
450
|
end
|
453
451
|
|
454
452
|
arity
|
@@ -66,6 +66,7 @@ module CodeTools
|
|
66
66
|
blk.block_index = arguments.block_index
|
67
67
|
blk.arity = arguments.arity
|
68
68
|
blk.keywords = arguments.keywords.entries if arguments.keywords
|
69
|
+
blk.kwrest_index = arguments.kwrest_index
|
69
70
|
|
70
71
|
blk
|
71
72
|
end
|
@@ -83,6 +84,7 @@ module CodeTools
|
|
83
84
|
meth.block_index = arguments.block_index
|
84
85
|
meth.arity = arguments.arity
|
85
86
|
meth.keywords = arguments.keywords.entries if arguments.keywords
|
87
|
+
meth.kwrest_index = arguments.kwrest_index
|
86
88
|
end
|
87
89
|
|
88
90
|
meth
|
@@ -622,6 +622,7 @@ module CodeTools
|
|
622
622
|
blk.pop_state
|
623
623
|
|
624
624
|
blk.splat_index = @arguments.splat_index
|
625
|
+
blk.kwrest_index = @arguments.kwrest_index
|
625
626
|
blk.local_count = local_count
|
626
627
|
blk.local_names = local_names
|
627
628
|
|
@@ -643,7 +644,7 @@ module CodeTools
|
|
643
644
|
|
644
645
|
class IterArguments < Node
|
645
646
|
attr_accessor :prelude, :arity, :optional, :arguments, :splat_index, :block_index
|
646
|
-
attr_accessor :required_args, :keywords
|
647
|
+
attr_accessor :required_args, :keywords, :kwrest_index
|
647
648
|
|
648
649
|
def initialize(line, arguments)
|
649
650
|
@line = line
|
@@ -652,6 +653,7 @@ module CodeTools
|
|
652
653
|
|
653
654
|
@splat_index = -1
|
654
655
|
@block_index = nil
|
656
|
+
@kwrest_index = nil
|
655
657
|
@required_args = 0
|
656
658
|
@splat = nil
|
657
659
|
@block = nil
|
@@ -843,7 +845,7 @@ module CodeTools
|
|
843
845
|
|
844
846
|
class ForParameters < Node
|
845
847
|
attr_accessor :assignments, :required_args, :splat_index,
|
846
|
-
:post_args, :keywords, :block_index
|
848
|
+
:post_args, :keywords, :block_index, :kwrest_index
|
847
849
|
|
848
850
|
def initialize(line, assignments)
|
849
851
|
@line = line
|
@@ -853,6 +855,7 @@ module CodeTools
|
|
853
855
|
@post_args = 0
|
854
856
|
@keywords = nil
|
855
857
|
@block_index = nil
|
858
|
+
@kwrest_index = nil
|
856
859
|
end
|
857
860
|
|
858
861
|
alias_method :total_args, :required_args
|
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: '3.
|
4
|
+
version: '3.6'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Shirai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04
|
11
|
+
date: 2016-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|