List of usage examples for org.eclipse.jdt.core.dom ArrayCreation getType
public ArrayType getType()
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 .j a v a 2 s . c om*/ } // 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());//from ww w. ja va2 s . co 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 . jav a 2s. 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.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 {/*from w w w. j av a 2 s . c om*/ 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 ww w.j av a2 s .c om*/ 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.j2cpp.translate.JavaToIOSTypeConverter.java
License:Open Source License
@Override public boolean visit(ArrayCreation node) { ArrayType type = node.getType(); Type newType = Types.makeIOSType(type); if (newType != null) { type.setComponentType(newType);/* ww w. ja v a2 s . c o m*/ } return super.visit(node); }
From source file:com.google.devtools.j2objc.ast.DebugASTPrinter.java
License:Apache License
@Override public boolean visit(ArrayCreation node) { sb.print("new "); node.getType().accept(this); for (Expression dim : node.getDimensions()) { sb.print('['); dim.accept(this); sb.print(']'); }//from w w w . jav a2 s . co m int emptyDims = node.getTypeBinding().getDimensions() - node.getDimensions().size(); for (int i = 0; i < emptyDims; i++) { sb.print("[]"); } if (node.getInitializer() != null) { node.getInitializer().accept(this); } return false; }
From source file:com.google.googlejavaformat.java.JavaInputAstVisitor.java
License:Apache License
/** Visitor method for {@link ArrayCreation}s. */ @Override//from ww w. j a va 2 s . 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:java5totext.input.JDTVisitor.java
License:Open Source License
@Override public void endVisit(org.eclipse.jdt.core.dom.ArrayCreation node) { ArrayCreation element = (ArrayCreation) this.binding.get(node); this.initializeNode(element, node); if (this.binding.get(node.getType()) != null) element.setType((NamedElementRef) this.binding.get(node.getType())); for (Iterator<?> i = node.dimensions().iterator(); i.hasNext();) { Expression itElement = (Expression) this.binding.get(i.next()); if (itElement != null) element.getDimensions().add(itElement); }/*from w ww .j a va 2 s . c o m*/ if (this.binding.get(node.getInitializer()) != null) element.setInitializer((ArrayInitializer) this.binding.get(node.getInitializer())); }
From source file:lang.java.jdt.internal.JdtAstToRascalAstConverter.java
License:Open Source License
public boolean visit(ArrayCreation node) { IValue type = visitChild(node.getType().getElementType()); IValueList dimensions = new IValueList(values); for (Iterator it = node.dimensions().iterator(); it.hasNext();) { Expression e = (Expression) it.next(); dimensions.add(visitChild(e));/*from w w w. ja va2 s . co m*/ } IValue initializer = node.getInitializer() == null ? null : visitChild(node.getInitializer()); ownValue = constructRascalNode(node, type, dimensions.asList(), optional(initializer)); return false; }