Code with Finding: |
class Writer {
private void processLiteral(Node node, JsonML currentParent) {
JsonML element = new JsonML(TagType.LiteralExpr);
switch (node.getType()) {
case Token.NUMBER:
element.setAttribute(TagAttr.TYPE, "number");
element.setAttribute(TagAttr.VALUE, node.getDouble());
break;
case Token.STRING:
element.setAttribute(TagAttr.TYPE, "string");
element.setAttribute(TagAttr.VALUE, node.getString());
break;
case Token.NULL:
element.setAttribute(TagAttr.TYPE, "null");
element.setAttribute(TagAttr.VALUE, null);
break;
case Token.TRUE:
element.setAttribute(TagAttr.TYPE, "boolean");
element.setAttribute(TagAttr.VALUE, true);
break;
case Token.FALSE:
element.setAttribute(TagAttr.TYPE, "boolean");
element.setAttribute(TagAttr.VALUE, false);
break;
default:
throw new IllegalArgumentException("Illegal type of node.");
}
currentParent.appendChild(element);
}
}
|