@Override public boolean equals(Object other) { if (other == null || !(other instanceof NumberData)) { return false; } if (other instanceof IntegerData) { return value == ((IntegerData) other).getValue(); } else { return super.equals(other); } }
@Override protected void visitForNode(ForNode node) { List<Integer> rangeArgValues = Lists.newArrayList(); for (ExprNode rangeArg : node.getRangeArgs()) { SoyData rangeArgValue = eval(rangeArg); if (!(rangeArgValue instanceof IntegerData)) { throw new RenderException( "In 'for' command " + node.toSourceString() + ", the expression \"" + rangeArg.toSourceString() + "\" does not resolve to an integer."); } rangeArgValues.add(((IntegerData) rangeArgValue).getValue()); } int increment = (rangeArgValues.size() == 3) ? rangeArgValues.remove(2) : 1 /* default */; int init = (rangeArgValues.size() == 2) ? rangeArgValues.remove(0) : 0 /* default */; int limit = rangeArgValues.get(0); String localVarName = node.getVarName(); Map<String, SoyData> newEnvFrame = Maps.newHashMap(); env.push(newEnvFrame); for (int i = init; i < limit; i += increment) { newEnvFrame.put(localVarName, IntegerData.forValue(i)); visitChildren(node); } env.pop(); }
); } else if (data instanceof IntegerData) { return ((IntegerData) data).getValue(); } else if (data instanceof BooleanData) { return ((BooleanData) data).getValue();
return ((IntegerData) data).getValue();
SoyData keyData = visit(accessNode.getChild(0)); if (keyData instanceof IntegerData) { index = ((IntegerData) keyData).getValue(); } else { key = keyData.toString();