@Override public boolean matches(final INode other, final Match match) { if (other instanceof ArrayCreationExpression) { final ArrayCreationExpression otherExpression = (ArrayCreationExpression) other; return !otherExpression.isNull() && getType().matches(otherExpression.getType(), match) && getDimensions().matches(otherExpression.getDimensions(), match) && getInitializer().matches(otherExpression.getInitializer(), match) && getAdditionalArraySpecifiers().matches(otherExpression.getAdditionalArraySpecifiers(), match); } return false; } }
@Override public boolean matches(final INode other, final Match match) { if (other instanceof ArrayCreationExpression) { final ArrayCreationExpression otherExpression = (ArrayCreationExpression) other; return !otherExpression.isNull() && getType().matches(otherExpression.getType(), match) && getDimensions().matches(otherExpression.getDimensions(), match) && getInitializer().matches(otherExpression.getInitializer(), match) && getAdditionalArraySpecifiers().matches(otherExpression.getAdditionalArraySpecifiers(), match); } return false; } }
@Override public boolean matches(final INode other, final Match match) { if (other instanceof ArrayCreationExpression) { final ArrayCreationExpression otherExpression = (ArrayCreationExpression) other; return !otherExpression.isNull() && getType().matches(otherExpression.getType(), match) && getDimensions().matches(otherExpression.getDimensions(), match) && getInitializer().matches(otherExpression.getInitializer(), match) && getAdditionalArraySpecifiers().matches(otherExpression.getAdditionalArraySpecifiers(), match); } return false; } }
@Override public ResolveResult visitArrayCreationExpression(final ArrayCreationExpression node, final Void data) { final TypeReference elementType = node.getType().toTypeReference(); if (elementType == null) { return null; } final int rank = node.getDimensions().size() + node.getAdditionalArraySpecifiers().size(); TypeReference arrayType = elementType; for (int i = 0; i < rank; i++) { arrayType = arrayType.makeArrayType(); } return new ResolveResult(arrayType); }
@Override public ResolveResult visitArrayCreationExpression(final ArrayCreationExpression node, final Void data) { final TypeReference elementType = node.getType().toTypeReference(); if (elementType == null) { return null; } final int rank = node.getDimensions().size() + node.getAdditionalArraySpecifiers().size(); TypeReference arrayType = elementType; for (int i = 0; i < rank; i++) { arrayType = arrayType.makeArrayType(); } return new ResolveResult(arrayType); }
@Override public ResolveResult visitArrayCreationExpression(final ArrayCreationExpression node, final Void data) { final TypeReference elementType = node.getType().toTypeReference(); if (elementType == null) { return null; } final int rank = node.getDimensions().size() + node.getAdditionalArraySpecifiers().size(); TypeReference arrayType = elementType; for (int i = 0; i < rank; i++) { arrayType = arrayType.makeArrayType(); } return new ResolveResult(arrayType); }
@Override public Void visitArrayCreationExpression(final ArrayCreationExpression node, final Void ignored) { startNode(node); boolean needType = true; if (node.getDimensions().isEmpty() && node.getType() != null && (node.getParent() instanceof ArrayInitializerExpression || node.getParent() instanceof VariableInitializer)) { needType = false; } if (needType) { writeKeyword(ArrayCreationExpression.NEW_KEYWORD_ROLE); node.getType().acceptVisitor(this, ignored); for (final Expression dimension : node.getDimensions()) { writeToken(Roles.LEFT_BRACKET); dimension.acceptVisitor(this, ignored); writeToken(Roles.RIGHT_BRACKET); } for (final ArraySpecifier specifier : node.getAdditionalArraySpecifiers()) { specifier.acceptVisitor(this, ignored); } if (node.getInitializer() != null && !node.getInitializer().isNull()) { space(); } } node.getInitializer().acceptVisitor(this, ignored); endNode(node); return null; }
@Override public Void visitArrayCreationExpression(final ArrayCreationExpression node, final Void ignored) { startNode(node); boolean needType = true; if (node.getDimensions().isEmpty() && node.getType() != null && (node.getParent() instanceof ArrayInitializerExpression || node.getParent() instanceof VariableInitializer)) { needType = false; } if (needType) { writeKeyword(ArrayCreationExpression.NEW_KEYWORD_ROLE); node.getType().acceptVisitor(this, ignored); for (final Expression dimension : node.getDimensions()) { writeToken(Roles.LEFT_BRACKET); dimension.acceptVisitor(this, ignored); writeToken(Roles.RIGHT_BRACKET); } for (final ArraySpecifier specifier : node.getAdditionalArraySpecifiers()) { specifier.acceptVisitor(this, ignored); } if (node.getInitializer() != null && !node.getInitializer().isNull()) { space(); } } node.getInitializer().acceptVisitor(this, ignored); endNode(node); return null; }
@Override public Void visitArrayCreationExpression(final ArrayCreationExpression node, final Void ignored) { startNode(node); boolean needType = true; if (node.getDimensions().isEmpty() && node.getType() != null && (node.getParent() instanceof ArrayInitializerExpression || node.getParent() instanceof VariableInitializer)) { needType = false; } if (needType) { writeKeyword(ArrayCreationExpression.NEW_KEYWORD_ROLE); node.getType().acceptVisitor(this, ignored); for (final Expression dimension : node.getDimensions()) { writeToken(Roles.LEFT_BRACKET); dimension.acceptVisitor(this, ignored); writeToken(Roles.RIGHT_BRACKET); } for (final ArraySpecifier specifier : node.getAdditionalArraySpecifiers()) { specifier.acceptVisitor(this, ignored); } if (node.getInitializer() != null && !node.getInitializer().isNull()) { space(); } } node.getInitializer().acceptVisitor(this, ignored); endNode(node); return null; }
arrayCreation.getDimensions().add(new IdentifierExpressionBackReference("size").toExpression()); arrayCreation.setType(new NamedNode("type", new AnyNode()).toType());
arrayCreation.getDimensions().add(new IdentifierExpressionBackReference("size").toExpression()); arrayCreation.setType(new NamedNode("type", new AnyNode()).toType());
arrayCreation.getDimensions().add(new IdentifierExpressionBackReference("size").toExpression()); arrayCreation.setType(new NamedNode("type", new AnyNode()).toType());
arrayCreation.getDimensions().add(arguments.get(i)); --rank; arrayCreation.getDimensions().add(arg1);
arrayCreation.getDimensions().add(arguments.get(i)); --rank; arrayCreation.getDimensions().add(arg1);
arrayCreation.getDimensions().add(arguments.get(i)); --rank; arrayCreation.getDimensions().add(arg1);