Lines Matching refs:node

20 import com.google.clearsilver.jsilver.syntax.node.AAddExpression;
21 import com.google.clearsilver.jsilver.syntax.node.ADecimalExpression;
22 import com.google.clearsilver.jsilver.syntax.node.ADivideExpression;
23 import com.google.clearsilver.jsilver.syntax.node.AEqExpression;
24 import com.google.clearsilver.jsilver.syntax.node.AFunctionExpression;
25 import com.google.clearsilver.jsilver.syntax.node.AHexExpression;
26 import com.google.clearsilver.jsilver.syntax.node.AModuloExpression;
27 import com.google.clearsilver.jsilver.syntax.node.AMultiplyExpression;
28 import com.google.clearsilver.jsilver.syntax.node.ANameVariable;
29 import com.google.clearsilver.jsilver.syntax.node.ANeExpression;
30 import com.google.clearsilver.jsilver.syntax.node.ANegativeExpression;
31 import com.google.clearsilver.jsilver.syntax.node.ANumericAddExpression;
32 import com.google.clearsilver.jsilver.syntax.node.ANumericEqExpression;
33 import com.google.clearsilver.jsilver.syntax.node.ANumericExpression;
34 import com.google.clearsilver.jsilver.syntax.node.ANumericNeExpression;
35 import com.google.clearsilver.jsilver.syntax.node.ASubtractExpression;
36 import com.google.clearsilver.jsilver.syntax.node.PExpression;
37 import com.google.clearsilver.jsilver.syntax.node.PVariable;
49 * Note how we preprocess our node before testing to see is it should be replaced. This is very
78 public void caseAAddExpression(AAddExpression node) {
79 super.caseAAddExpression(node);
80 PExpression lhs = node.getLeft();
81 PExpression rhs = node.getRight();
83 node.replaceBy(new ANumericAddExpression(lhs, rhs));
88 public void caseAEqExpression(AEqExpression node) {
89 super.caseAEqExpression(node);
90 PExpression lhs = node.getLeft();
91 PExpression rhs = node.getRight();
93 node.replaceBy(new ANumericEqExpression(lhs, rhs));
98 public void caseANeExpression(ANeExpression node) {
99 super.caseANeExpression(node);
100 PExpression lhs = node.getLeft();
101 PExpression rhs = node.getRight();
103 node.replaceBy(new ANumericNeExpression(lhs, rhs));
111 static boolean isNumeric(PExpression node) {
112 return node instanceof ANumericExpression // forced numeric (#a)
113 || node instanceof ANumericAddExpression // numeric addition (a + b)
114 || node instanceof ASubtractExpression // subtraction (a - b)
115 || node instanceof AMultiplyExpression // multiplication (a * b)
116 || node instanceof ADivideExpression // division (a / b)
117 || node instanceof AModuloExpression // modulu (x % b)
118 || node instanceof ADecimalExpression // literal decimal (213)
119 || node instanceof AHexExpression // literal hex (0xabc or 0XABC)
120 || node instanceof ANegativeExpression // negative expression (-a)
121 || isNumericFunction(node); // numeric function (subcount)
127 static boolean isNumericFunction(PExpression node) {
128 if (!(node instanceof AFunctionExpression)) {
131 PVariable functionName = ((AFunctionExpression) node).getName();