Lines Matching refs:node

26     ast.nodes.forEach(function addNode(node) {  argument
27 if (node.type === 'NamedBlock') {
28 expectedBlocks.push(node);
29 } else if (node.type === 'Block') {
30 node.nodes.forEach(addNode);
31 } else if (node.type === 'Mixin' && node.call === false) {
32 mixins.push(node);
34 …_ROOT', 'Only named blocks and mixins can appear at the top level of an extending template', node);
40 walk(parent, function (node) { argument
41 if (node.type === 'NamedBlock') {
42 foundBlockNames.push(node.name);
66 walk(ast, function before(node) { argument
67 if (node.type === 'NamedBlock' && node.mode === 'replace') {
68 definitions[node.name] = definitions[node.name] || [];
69 definitions[node.name].push(node);
88 walk(ast, function before(node) { argument
89 if (node.type === 'NamedBlock') {
90 if (stack[node.name] === node.name) {
91 return node.ignore = true;
93 stack[node.name] = node.name;
94 … var parentBlockList = parentBlocks[node.name] ? flattenParentBlocks(parentBlocks[node.name]) : [];
96 node.parents = parentBlockList;
98 switch (node.mode) {
100 parentBlock.nodes = parentBlock.nodes.concat(node.nodes);
103 parentBlock.nodes = node.nodes.concat(parentBlock.nodes);
106 parentBlock.nodes = node.nodes;
112 }, function after(node) { argument
113 if (node.type === 'NamedBlock' && !node.ignore) {
114 delete stack[node.name];
120 return walk(ast, function before(node, replace) { argument
121 if (node.type === 'RawInclude') {
122 replace({type: 'Text', val: node.file.str.replace(/\r/g, '')});
124 }, function after(node, replace) { argument
125 if (node.type === 'Include') {
126 var childAST = link(node.file.ast);
130 replace(applyYield(childAST, node.block));
135 return walk(ast, function (node, replace) { argument
136 if (node.type === 'NamedBlock') {
139 nodes: node.nodes
148 ast = walk(ast, null, function (node, replace) { argument
149 if (node.type === 'YieldBlock') {
151 node.type = 'Block';
152 node.nodes = [block];
155 function defaultYieldLocation(node) { argument
156 var res = node;
157 for (var i = 0; i < node.nodes.length; i++) {
158 if (node.nodes[i].textOnly) continue;
159 if (node.nodes[i].type === 'Block') {
160 res = defaultYieldLocation(node.nodes[i]);
161 } else if (node.nodes[i].block && node.nodes[i].block.nodes.length) {
162 res = defaultYieldLocation(node.nodes[i].block);
176 walk(ast, function (node) { argument
177 if (node.type === 'Extends') {
181 …) should be the first thing in the file. There can only be one extends statement per file.', node);