List of usage examples for org.eclipse.jdt.core.dom ArrayCreation dimensions
ASTNode.NodeList dimensions
To view the source code for org.eclipse.jdt.core.dom ArrayCreation dimensions.
Click Source Link
From source file:at.bestsolution.fxide.jdt.corext.dom.ASTFlattener.java
License:Open Source License
@Override public boolean visit(ArrayCreation node) { this.fBuffer.append("new ");//$NON-NLS-1$ ArrayType at = node.getType(); int dims = at.getDimensions(); Type elementType = at.getElementType(); elementType.accept(this); for (Iterator<Expression> it = node.dimensions().iterator(); it.hasNext();) { this.fBuffer.append("[");//$NON-NLS-1$ Expression e = it.next(); e.accept(this); this.fBuffer.append("]");//$NON-NLS-1$ dims--;/*from w w w . ja v a2 s .co m*/ } // add empty "[]" for each extra array dimension for (int i = 0; i < dims; i++) { this.fBuffer.append("[]");//$NON-NLS-1$ } if (node.getInitializer() != null) { node.getInitializer().accept(this); } return false; }
From source file:boa.datagen.util.Java7Visitor.java
License:Apache License
@Override public boolean visit(ArrayCreation node) { boa.types.Ast.Expression.Builder b = boa.types.Ast.Expression.newBuilder(); // b.setPosition(pos.build()); b.setKind(boa.types.Ast.Expression.ExpressionKind.NEWARRAY); boa.types.Ast.Type.Builder tb = boa.types.Ast.Type.newBuilder(); tb.setName(getIndex(typeName(node.getType()))); tb.setKind(boa.types.Ast.TypeKind.OTHER); b.setNewType(tb.build());/* ww w . j av a2s . c o m*/ for (Object e : node.dimensions()) { ((org.eclipse.jdt.core.dom.Expression) e).accept(this); b.addExpressions(expressions.pop()); } if (node.getInitializer() != null) { node.getInitializer().accept(this); // FIXME b.addExpressions(expressions.pop()); } expressions.push(b.build()); return false; }
From source file:coloredide.utils.CopiedNaiveASTFlattener.java
License:Open Source License
public boolean visit(ArrayCreation node) { this.buffer.append("new ");//$NON-NLS-1$ ArrayType at = node.getType(); int dims = at.getDimensions(); Type elementType = at.getElementType(); elementType.accept(this); for (Iterator it = node.dimensions().iterator(); it.hasNext();) { this.buffer.append("[");//$NON-NLS-1$ Expression e = (Expression) it.next(); e.accept(this); this.buffer.append("]");//$NON-NLS-1$ dims--;//from w w w .ja va2s.c o m } // add empty "[]" for each extra array dimension for (int i = 0; i < dims; i++) { this.buffer.append("[]");//$NON-NLS-1$ } if (node.getInitializer() != null) { node.getInitializer().accept(this); } return false; }
From source file:com.bsiag.eclipse.jdt.java.formatter.SpacePreparator.java
License:Open Source License
@Override public boolean visit(ArrayCreation node) { List<Expression> dimensions = node.dimensions(); for (Expression dimension : dimensions) { handleTokenBefore(dimension, TokenNameLBRACKET, false, this.options.insert_space_after_opening_bracket_in_array_allocation_expression); handleTokenAfter(dimension, TokenNameRBRACKET, this.options.insert_space_before_closing_bracket_in_array_allocation_expression, false); }//from ww w . j ava2 s . c om return true; }
From source file:com.google.dart.java2dart.SyntaxTranslator.java
License:Open Source License
@Override public boolean visit(org.eclipse.jdt.core.dom.ArrayCreation node) { TypeName listType = translate(node.getType()); TypeArgumentList typeArgs = listType.getTypeArguments(); if (node.getInitializer() != null) { List<Expression> elements = translateExpressionList(node.getInitializer().expressions()); return done(listLiteral(null, typeArgs, elements)); } else {/* w ww . j ava 2 s .c o m*/ List<Expression> arguments = translateArguments(null, node.dimensions()); // may be primitive array element { String arrayElementTypeName = typeArgs.getArguments().get(0).getName().getName(); Expression initializer = getPrimitiveTypeDefaultValue(arrayElementTypeName); if (initializer != null) { arguments.add(initializer); return done(instanceCreationExpression(Keyword.NEW, listType, "filled", arguments)); } } // non-primitive array element return done(instanceCreationExpression(Keyword.NEW, listType, arguments)); } }
From source file:com.google.devtools.j2cpp.gen.CppStatementGenerator.java
License:Open Source License
@Override public boolean visit(ArrayCreation node) { @SuppressWarnings("unchecked") List<Expression> dimensions = node.dimensions(); // safe by definition ArrayInitializer init = node.getInitializer(); if (init != null) { // Create an expression like [IOSArrayInt arrayWithInts:(int[]){ 1, 2, 3 }]. ArrayType at = node.getType(); ITypeBinding componentType = Types.getTypeBinding(node).getComponentType(); // New array needs to be retained if it's a new assignment, since the // arrayWith* methods return an autoreleased object. boolean shouldRetain = useReferenceCounting && isNewAssignment(node); if (shouldRetain) { buffer.append("[["); } else {//from w w w . j a v a 2 s .co m buffer.append('['); } String elementType = at.getElementType().toString(); buffer.append(elementType); buffer.append(' '); IOSArrayTypeBinding iosArrayBinding = Types.resolveArrayType(componentType); buffer.append(iosArrayBinding.getInitMethod()); buffer.append(':'); printArrayLiteral(init); buffer.append(" count:"); buffer.append(init.expressions().size()); if (elementType.equals("IOSObjectArray")) { buffer.append(" type:"); printObjectArrayType(componentType); } buffer.append(']'); if (shouldRetain) { buffer.append(" retain]"); } } else if (node.dimensions().size() > 1) { printMultiDimArray(Types.getTypeBinding(node).getElementType(), dimensions); } else { assert dimensions.size() == 1; printSingleDimArray(Types.getTypeBinding(node).getElementType(), dimensions.get(0), useReferenceCounting && !isNewAssignment(node)); } return false; }
From source file:com.google.devtools.j2objc.util.ASTUtil.java
License:Apache License
@SuppressWarnings("unchecked") public static List<Expression> getDimensions(ArrayCreation node) { return node.dimensions(); }
From source file:com.google.googlejavaformat.java.JavaInputAstVisitor.java
License:Apache License
/** Visitor method for {@link ArrayCreation}s. */ @Override// w ww. j a v a 2s . co m public boolean visit(ArrayCreation node) { sync(node); builder.open(plusFour); token("new"); builder.space(); visitArrayType(node.getType(), DimensionsOrNot.NO); int dimensions = node.getType().getDimensions(); builder.open(ZERO); for (int i = 0; i < dimensions; i++) { builder.breakOp(); token("["); if (i < node.dimensions().size()) { ((Expression) node.dimensions().get(i)).accept(this); } token("]"); } builder.close(); builder.close(); if (node.getInitializer() != null) { builder.space(); visit(node.getInitializer()); } return false; }
From source file:com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.java
License:Open Source License
private CAstNode visit(ArrayCreation n, WalkContext context) { ITypeBinding newType = n.resolveTypeBinding(); ArrayInitializer ai = n.getInitializer(); assert newType.isArray(); if (ai != null) { return visitNode(ai, context); } else {//from w w w . j ava 2 s . c om TypeReference arrayTypeRef = fIdentityMapper.getTypeRef(newType); List/* <Expression> */ dims = n.dimensions(); CAstNode[] args = new CAstNode[dims.size() + 1]; int idx = 0; args[idx++] = fFactory.makeConstant(arrayTypeRef); for (Iterator iter = dims.iterator(); iter.hasNext();) { Expression dimExpr = (Expression) iter.next(); args[idx++] = visitNode(dimExpr, context); } return makeNode(context, fFactory, n, CAstNode.NEW, args); } }
From source file:edu.cmu.cs.crystal.cfg.eclipse.EclipseCFG.java
License:Open Source License
@Override public void endVisit(ArrayCreation node) { EclipseCFGNode arrayCreation = nodeMap.get(node); if (node.getInitializer() == null) makeListEdges(null, node.dimensions(), arrayCreation); else {// w w w . j ava 2s .c o m EclipseCFGNode arrayInit = nodeMap.get(node.getInitializer()); createEdge(arrayInit.getEnd(), arrayCreation); arrayCreation.setStart(arrayInit.getStart()); } }