@Override @SuppressWarnings("unchecked") public <T1> T1[] toArray(final T1[] a) { int index = 0; T1[] destination = a; for (final T child : this) { if (index >= destination.length) { destination = Arrays.copyOf(destination, size()); } destination[index++] = (T1) child; } return destination; }
@Override @SuppressWarnings("unchecked") public <T1> T1[] toArray(final T1[] a) { int index = 0; T1[] destination = a; for (final T child : this) { if (index >= destination.length) { destination = Arrays.copyOf(destination, size()); } destination[index++] = (T1) child; } return destination; }
@Override @SuppressWarnings("NullableProblems") public Object[] toArray() { return toArray(new Object[size()]); }
@Override @SuppressWarnings("NullableProblems") public Object[] toArray() { return toArray(new Object[size()]); }
@Override @SuppressWarnings("NullableProblems") public Object[] toArray() { return toArray(new Object[size()]); }
@NotNull @Override @SuppressWarnings("unchecked") public <T1> T1[] toArray(@NotNull final T1[] a) { int index = 0; T1[] destination = a; for (final T child : this) { if (index >= destination.length) { destination = Arrays.copyOf(destination, size()); } destination[index++] = (T1) child; } return destination; }
@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 visitInvocationExpression(final InvocationExpression node, final Void data) { super.visitInvocationExpression(node, data); if (node.getArguments().size() == 1 && node.getTarget() instanceof MemberReferenceExpression) { removeBoxing(node); } else { removeUnboxing(node); } return null; }
@Override public Void visitInvocationExpression(final InvocationExpression node, final Void data) { super.visitInvocationExpression(node, data); if (node.getArguments().size() == 1 && node.getTarget() instanceof MemberReferenceExpression) { removeBoxing(node); } else { removeUnboxing(node); } return null; }
@Override public Void visitInvocationExpression(final InvocationExpression node, final Void data) { super.visitInvocationExpression(node, data); if (node.getArguments().size() == 1 && node.getTarget() instanceof MemberReferenceExpression) { removeBoxing(node); } else { removeUnboxing(node); } return null; }
private static boolean lambdaNeedsParenthesis(final LambdaExpression lambda) { return lambda.getParameters().size() != 1 || !lambda.getParameters().firstOrNullObject().getType().isNull(); }
private static boolean lambdaNeedsParenthesis(final LambdaExpression lambda) { return lambda.getParameters().size() != 1 || !lambda.getParameters().firstOrNullObject().getType().isNull(); }
private static boolean lambdaNeedsParenthesis(final LambdaExpression lambda) { return lambda.getParameters().size() != 1 || !lambda.getParameters().firstOrNullObject().getType().isNull(); }
public void run(final AstNode root) { if (!(root instanceof MethodDeclaration)) { throw new IllegalArgumentException("InliningVisitor must be run against a MethodDeclaration."); } final MethodDeclaration clone = (MethodDeclaration) root.clone(); super.run(clone); final BlockStatement body = clone.getBody(); final AstNodeCollection<Statement> statements = body.getStatements(); if (statements.size() == 1) { final Statement firstStatement = statements.firstOrNullObject(); if (firstStatement instanceof ExpressionStatement || firstStatement instanceof ReturnStatement) { _result = firstStatement.getChildByRole(Roles.EXPRESSION); _result.remove(); return; } } _result = body; _result.remove(); }
@Override public Void visitFieldDeclaration(final FieldDeclaration node, final Void data) { super.visitFieldDeclaration(node, data); final FieldDefinition field = node.getUserData(Keys.FIELD_DEFINITION); if (field != null && !_initializers.isEmpty() && node.getVariables().size() == 1 && node.getVariables().firstOrNullObject().getInitializer().isNull()) { final Expression initializer = _initializers.get(field.getFullName()); if (initializer != null) { node.getVariables().firstOrNullObject().setInitializer(initializer.clone()); } } return null; }
@Override public Void visitFieldDeclaration(final FieldDeclaration node, final Void data) { super.visitFieldDeclaration(node, data); final FieldDefinition field = node.getUserData(Keys.FIELD_DEFINITION); if (field != null && !_initializers.isEmpty() && node.getVariables().size() == 1 && node.getVariables().firstOrNullObject().getInitializer().isNull()) { final Expression initializer = _initializers.get(field.getFullName()); if (initializer != null) { node.getVariables().firstOrNullObject().setInitializer(initializer.clone()); } } return null; }
@Override public Void visitFieldDeclaration(final FieldDeclaration node, final Void data) { super.visitFieldDeclaration(node, data); final FieldDefinition field = node.getUserData(Keys.FIELD_DEFINITION); if (field != null && !_initializers.isEmpty() && node.getVariables().size() == 1 && node.getVariables().firstOrNullObject().getInitializer().isNull()) { final Expression initializer = _initializers.get(field.getFullName()); if (initializer != null) { node.getVariables().firstOrNullObject().setInitializer(initializer.clone()); } } return null; }
@Override public AstNode visitSwitchSection(final SwitchSection node, final Void p) { if (node.getStatements().size() != 1) { return super.visitSwitchSection(node, p); } final Statement firstStatement = node.getStatements().firstOrNullObject(); if (firstStatement instanceof BlockStatement) { final BlockStatement block = (BlockStatement) firstStatement; if (any(ofType(block.getStatements(), VariableDeclarationStatement.class))) { return super.visitSwitchSection(node, p); } block.remove(); block.getStatements().moveTo(node.getStatements()); } return super.visitSwitchSection(node, p); } }