private void print(ObjectProperty node) throws IOException { if (node.isGetterMethod()) { writer.append("get "); } else if (node.isSetterMethod()) { writer.append("set "); } Map<String, NameEmitter> oldNameMap = nameMap; nameMap = Collections.emptyMap(); print(node.getLeft()); nameMap = oldNameMap; if (!node.isMethod()) { writer.ws().append(':').ws(); } print(node.getRight()); }
private String getParentName(AstNode fn) { for(int i = 5; fn != null && i > 0; i--, fn = fn.getParent()) { if (fn instanceof ObjectProperty) { ObjectProperty prop = (ObjectProperty) fn; AstNode label = prop.getLeft(); if (label instanceof Name) { return (((Name)label).getString()); } } } return null; }
@Override public CAstNode visitObjectLiteral(ObjectLiteral n, WalkContext context) { List<ObjectProperty> props = n.getElements(); CAstNode[] args = new CAstNode[props.size() * 2 + 1]; int i = 0; args[i++] = ((isPrologueScript(context)) ? makeBuiltinNew("Object") : handleNew(context, "Object", null)); for(ObjectProperty prop : props) { AstNode label = prop.getLeft(); args[i++] = (label instanceof Name)? Ast.makeConstant(((Name)prop.getLeft()).getString()): visit(label, context); args[i++] = visit(prop, context); } CAstNode lit = Ast.makeNode(CAstNode.OBJECT_LITERAL, args); context.cfg().map(n, lit); return lit; }
private void visitPrototypeMembers(ObjectLiteral objLiteral, String clazz) { List<ObjectProperty> properties = objLiteral.getElements(); for (ObjectProperty property : properties) { AstNode propertyKey = property.getLeft(); JavaScriptTreeNode tn = createTreeNode(propertyKey); String memberName = RhinoUtil.getPropertyName(propertyKey); AstNode propertyValue = property.getRight(); visitPrototypeMember(tn, clazz, memberName, propertyValue); } }
void decompileObjectLiteral(ObjectLiteral node) { decompiler.addToken(Token.LC); List<ObjectProperty> props = node.getElements(); int size = props.size(); for (int i = 0; i < size; i++) { ObjectProperty prop = props.get(i); boolean destructuringShorthand = Boolean.TRUE.equals(prop.getProp(Node.DESTRUCTURING_SHORTHAND)); decompile(prop.getLeft()); if (!destructuringShorthand) { decompiler.addToken(Token.COLON); decompile(prop.getRight()); } if (i < size - 1) { decompiler.addToken(Token.COMMA); } } decompiler.addToken(Token.RC); }
void decompileObjectLiteral(ObjectLiteral node) { decompiler.addToken(Token.LC); List<ObjectProperty> props = node.getElements(); int size = props.size(); for (int i = 0; i < size; i++) { ObjectProperty prop = props.get(i); boolean destructuringShorthand = Boolean.TRUE.equals(prop.getProp(Node.DESTRUCTURING_SHORTHAND)); decompile(prop.getLeft()); if (!destructuringShorthand) { decompiler.addToken(Token.COLON); decompile(prop.getRight()); } if (i < size - 1) { decompiler.addToken(Token.COMMA); } } decompiler.addToken(Token.RC); }
void decompileObjectLiteral(ObjectLiteral node) { decompiler.addToken(Token.LC); List<ObjectProperty> props = node.getElements(); int size = props.size(); for (int i = 0; i < size; i++) { ObjectProperty prop = props.get(i); boolean destructuringShorthand = Boolean.TRUE.equals(prop.getProp(Node.DESTRUCTURING_SHORTHAND)); decompile(prop.getLeft()); if (!destructuringShorthand) { decompiler.addToken(Token.COLON); decompile(prop.getRight()); } if (i < size - 1) { decompiler.addToken(Token.COMMA); } } decompiler.addToken(Token.RC); }
void decompileObjectLiteral(ObjectLiteral node) { decompiler.addToken(Token.LC); List<ObjectProperty> props = node.getElements(); int size = props.size(); for (int i = 0; i < size; i++) { ObjectProperty prop = props.get(i); boolean destructuringShorthand = Boolean.TRUE.equals(prop.getProp(Node.DESTRUCTURING_SHORTHAND)); decompile(prop.getLeft()); if (!destructuringShorthand) { decompiler.addToken(Token.COLON); decompile(prop.getRight()); } if (i < size - 1) { decompiler.addToken(Token.COMMA); } } decompiler.addToken(Token.RC); }
for (ObjectProperty propDescProperty : propDescProperties) { AstNode propertyKey = propDescProperty.getLeft(); String propName = RhinoUtil.getPropertyName(propertyKey); if ("value".equals(propName)) {
/** * It is assumed that <code>descriptorObjectLit</code> has been * identified as an object literal containing property descriptors. Any * property descriptors found as properties of that literal are parsed * and tree nodes are created for them. * * @param descriptorObjLit The object literal containing property * descriptors (for example, the object parameter to * <code>Object.create()</code>). * @param clazz The class that the properties belong to. */ private void visitPropertyDescriptors(ObjectLiteral descriptorObjLit, String clazz) { List<ObjectProperty> descriptors = descriptorObjLit.getElements(); for (ObjectProperty prop : descriptors) { AstNode propertyKey = prop.getLeft(); AstNode propertyValue = prop.getRight(); // Should always be true, as this should be a property descriptor if (propertyValue instanceof ObjectLiteral) { JavaScriptTreeNode tn = createTreeNode(propertyKey); String memberName = RhinoUtil.getPropertyName(propertyKey); visitPropertyDescriptor(tn, clazz, memberName, (ObjectLiteral)propertyValue); } } }
private void print(ObjectProperty node) throws IOException { if (node.isGetterMethod()) { writer.append("get "); } else if (node.isSetterMethod()) { writer.append("set "); } Map<String, NameEmitter> oldNameMap = nameMap; nameMap = Collections.emptyMap(); print(node.getLeft()); nameMap = oldNameMap; if (!node.isMethod()) { writer.ws().append(':').ws(); } print(node.getRight()); }
properties[i++] = getPropKey(prop.getLeft());
properties[i++] = getPropKey(prop.getLeft());
properties[i++] = getPropKey(prop.getLeft());
ObjectLiteral obj = (ObjectLiteral) args.get(1); for (ObjectProperty prop : obj.getElements()) { String name = nameOf(prop.getLeft()); switch (name) {
properties[i++] = getPropKey(prop.getLeft());
lineno = ts.lineno; AstNode id = prop.getLeft(); Node rightElem = null; if (id instanceof Name) {
lineno = ts.lineno; AstNode id = prop.getLeft(); Node rightElem = null; if (id instanceof Name) {
lineno = ts.lineno; AstNode id = prop.getLeft(); Node rightElem = null; if (id instanceof Name) {
lineno = ts.lineno; AstNode id = prop.getLeft(); Node rightElem = null; if (id instanceof Name) {