CoffeeScript-in-CoffeeScript can compile object[indexes]
This commit is contained in:
parent
cb57a1ca1f
commit
863de88671
|
@ -1,5 +1,5 @@
|
|||
(function(){
|
||||
var AccessorNode, CallNode, CommentNode, Expressions, ExtendsNode, LiteralNode, Node, ReturnNode, TAB, TRAILING_WHITESPACE, ValueNode, any, compact, del, dup, flatten, inherit, merge, statement;
|
||||
var AccessorNode, CallNode, CommentNode, Expressions, ExtendsNode, IndexNode, LiteralNode, Node, ReturnNode, TAB, TRAILING_WHITESPACE, ValueNode, any, compact, del, dup, flatten, inherit, merge, statement;
|
||||
var __hasProp = Object.prototype.hasOwnProperty;
|
||||
process.mixin(require('./scope'));
|
||||
// The abstract base class for all CoffeeScript nodes.
|
||||
|
@ -734,4 +734,14 @@
|
|||
return '.' + (this.prototype ? 'prototype.' : '') + this.name.compile(o);
|
||||
}
|
||||
}));
|
||||
// An indexed accessor into a part of an array or object.
|
||||
IndexNode = (exports.IndexNode = inherit(Node, {
|
||||
constructor: function constructor(index) {
|
||||
this.children = [(this.index = index)];
|
||||
return this;
|
||||
},
|
||||
compile_node: function compile_node(o) {
|
||||
return '[' + this.index.compile(o) + ']';
|
||||
}
|
||||
}));
|
||||
})();
|
|
@ -460,6 +460,19 @@ AccessorNode: exports.AccessorNode: inherit Node, {
|
|||
}
|
||||
|
||||
|
||||
# An indexed accessor into a part of an array or object.
|
||||
IndexNode: exports.IndexNode: inherit Node, {
|
||||
|
||||
constructor: (index) ->
|
||||
@children: [@index: index]
|
||||
this
|
||||
|
||||
compile_node: (o) ->
|
||||
'[' + @index.compile(o) + ']'
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue