mirror of
https://github.com/jashkenas/coffeescript.git
synced 2026-04-11 03:00:13 -04:00
parser test raises some minor improvements (remove unnecessary ValueNode arrays, etc
This commit is contained in:
@@ -169,10 +169,10 @@ rule
|
||||
|
||||
# Expressions that can be treated as values.
|
||||
Value:
|
||||
IDENTIFIER { result = ValueNode.new(val) }
|
||||
| Array { result = ValueNode.new(val) }
|
||||
| Object { result = ValueNode.new(val) }
|
||||
| Parenthetical { result = ValueNode.new(val) }
|
||||
IDENTIFIER { result = ValueNode.new(val[0]) }
|
||||
| Array { result = ValueNode.new(val[0]) }
|
||||
| Object { result = ValueNode.new(val[0]) }
|
||||
| Parenthetical { result = ValueNode.new(val[0]) }
|
||||
| Value Accessor { result = val[0] << val[1] }
|
||||
| Invocation Accessor { result = ValueNode.new(val[0], [val[1]]) }
|
||||
;
|
||||
|
||||
@@ -157,8 +157,9 @@ module CoffeeScript
|
||||
index = 0
|
||||
loop do
|
||||
tok = @tokens[index -= 1]
|
||||
return if !tok || tok[0] != :IDENTIFIER
|
||||
return if !tok
|
||||
next if tok[0] == ','
|
||||
return if tok[0] != :IDENTIFIER
|
||||
tok[0] = :PARAM
|
||||
end
|
||||
end
|
||||
|
||||
@@ -148,7 +148,7 @@ module CoffeeScript
|
||||
|
||||
# A value, indexed or dotted into or vanilla.
|
||||
class ValueNode < Node
|
||||
attr_reader :last
|
||||
attr_reader :name, :properties, :last
|
||||
|
||||
def initialize(name, properties=[])
|
||||
@name, @properties = name, properties
|
||||
@@ -212,6 +212,8 @@ module CoffeeScript
|
||||
statement
|
||||
custom_return
|
||||
|
||||
attr_reader :variable, :value, :context
|
||||
|
||||
def initialize(variable, value, context=nil)
|
||||
@variable, @value, @context = variable, value, context
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user