@NotNull protected List<TypeReference> getTypes(final AstNodeCollection<? extends AstNode> nodes) { if (nodes == null || nodes.isEmpty()) { return Collections.emptyList(); } final List<TypeReference> types = new ArrayList<>(); for (final AstNode node : nodes) { final TypeReference nodeType = getType(node); if (nodeType == null) { return Collections.emptyList(); } types.add(nodeType); } return types; }
@NotNull protected List<TypeReference> getTypes(final AstNodeCollection<? extends AstNode> nodes) { if (nodes == null || nodes.isEmpty()) { return Collections.emptyList(); } final List<TypeReference> types = new ArrayList<>(); for (final AstNode node : nodes) { final TypeReference nodeType = getType(node); if (nodeType == null) { return Collections.emptyList(); } types.add(nodeType); } return types; }
@NotNull protected List<TypeReference> getTypes(final AstNodeCollection<? extends AstNode> nodes) { if (nodes == null || nodes.isEmpty()) { return Collections.emptyList(); } final List<TypeReference> types = new ArrayList<>(); for (final AstNode node : nodes) { final TypeReference nodeType = getType(node); if (nodeType == null) { return Collections.emptyList(); } types.add(nodeType); } return types; }
@Override public String toString() { final AstNodeCollection<AstType> typeArguments = getTypeArguments(); if (typeArguments.isEmpty()) { return getIdentifier(); } final StringBuilder sb = new StringBuilder(getIdentifier()).append('<'); boolean first = true; for (final AstType typeArgument : typeArguments) { if (!first) { sb.append(", "); } first = false; sb.append(typeArgument); } return sb.append('>').toString(); }
@Override public String toString() { final AstNodeCollection<AstType> typeArguments = getTypeArguments(); if (typeArguments.isEmpty()) { return getIdentifier(); } final StringBuilder sb = new StringBuilder(getIdentifier()).append('<'); boolean first = true; for (final AstType typeArgument : typeArguments) { if (!first) { sb.append(", "); } first = false; sb.append(typeArgument); } return sb.append('>').toString(); }
@Override public Set<Object> visitForStatement(final ForStatement node, final String name) { if (_mode == NameResolveMode.EXPRESSION) { Set<Object> results = null; for (final Statement initializer : node.getInitializers()) { final Set<Object> initializerResults = initializer.acceptVisitor(this, name); if (node.getInitializers().isEmpty()) { continue; } if (results == null) { results = new LinkedHashSet<>(); } results.addAll(initializerResults); } } return Collections.emptySet(); }
@Override public DefiniteAssignmentStatus visitIdentifierExpression(final IdentifierExpression node, final DefiniteAssignmentStatus data) { if (data != DefiniteAssignmentStatus.DEFINITELY_ASSIGNED && StringUtilities.equals(node.getIdentifier(), variableName) && node.getTypeArguments().isEmpty()) { unassignedVariableUses.add(node); } return data; } }
@Override public Set<Object> visitForStatement(final ForStatement node, final String name) { if (_mode == NameResolveMode.EXPRESSION) { Set<Object> results = null; for (final Statement initializer : node.getInitializers()) { final Set<Object> initializerResults = initializer.acceptVisitor(this, name); if (node.getInitializers().isEmpty()) { continue; } if (results == null) { results = new LinkedHashSet<>(); } results.addAll(initializerResults); } } return Collections.emptySet(); }
@Override public DefiniteAssignmentStatus visitIdentifierExpression(final IdentifierExpression node, final DefiniteAssignmentStatus data) { if (data != DefiniteAssignmentStatus.DEFINITELY_ASSIGNED && StringUtilities.equals(node.getIdentifier(), variableName) && node.getTypeArguments().isEmpty()) { unassignedVariableUses.add(node); } return data; } }
@Override public DefiniteAssignmentStatus visitIdentifierExpression(final IdentifierExpression node, final DefiniteAssignmentStatus data) { if (data != DefiniteAssignmentStatus.DEFINITELY_ASSIGNED && StringUtilities.equals(node.getIdentifier(), variableName) && node.getTypeArguments().isEmpty()) { unassignedVariableUses.add(node); } return data; } }
@Override public Set<Object> visitForStatement(final ForStatement node, final String name) { if (_mode == NameResolveMode.EXPRESSION) { Set<Object> results = null; for (final Statement initializer : node.getInitializers()) { final Set<Object> initializerResults = initializer.acceptVisitor(this, name); if (node.getInitializers().isEmpty()) { continue; } if (results == null) { results = new LinkedHashSet<>(); } results.addAll(initializerResults); } } return Collections.emptySet(); }
@Override public boolean test(final SwitchSection s) { return !s.getCaseLabels().isEmpty() && all( s.getCaseLabels(), new Predicate<CaseLabel>() { @Override public boolean test(final CaseLabel c) { return c.getExpression().isNull() || (c.getExpression() instanceof PrimitiveExpression && ((PrimitiveExpression) c.getExpression()).getValue() instanceof Integer && tableInputMap.containsKey(((PrimitiveExpression) c.getExpression()).getValue())); } } ); } }
@Override public boolean test(final SwitchSection s) { return !s.getCaseLabels().isEmpty() && all( s.getCaseLabels(), new Predicate<CaseLabel>() { @Override public boolean test(final CaseLabel c) { return c.getExpression().isNull() || (c.getExpression() instanceof PrimitiveExpression && ((PrimitiveExpression) c.getExpression()).getValue() instanceof Integer && tableInputMap.containsKey(((PrimitiveExpression) c.getExpression()).getValue())); } } ); } }
@Override public boolean test(final SwitchSection s) { return !s.getCaseLabels().isEmpty() && all( s.getCaseLabels(), new Predicate<CaseLabel>() { @Override public boolean test(final CaseLabel c) { return c.getExpression().isNull() || (c.getExpression() instanceof PrimitiveExpression && ((PrimitiveExpression) c.getExpression()).getValue() instanceof Integer && tableInputMap.containsKey(((PrimitiveExpression) c.getExpression()).getValue())); } } ); } }
@Override public Void visitMethodDeclaration(final MethodDeclaration node, final Void p) { final MethodDefinition method = node.getUserData(Keys.METHOD_DEFINITION); if (method != null) { if (AstBuilder.isMemberHidden(method, context)) { node.remove(); return null; } if (method.isTypeInitializer()) { if (node.getBody().getStatements().isEmpty()) { node.remove(); return null; } } } return super.visitMethodDeclaration(node, p); }
@Override public Void visitMethodDeclaration(final MethodDeclaration node, final Void _) { final MethodDefinition method = node.getUserData(Keys.METHOD_DEFINITION); if (method != null) { if (AstBuilder.isMemberHidden(method, context)) { node.remove(); return null; } if (method.isTypeInitializer()) { if (node.getBody().getStatements().isEmpty()) { node.remove(); return null; } } } return super.visitMethodDeclaration(node, _); }
@Override public Void visitMethodDeclaration(final MethodDeclaration node, final Void _) { final MethodDefinition method = node.getUserData(Keys.METHOD_DEFINITION); if (method != null) { if (AstBuilder.isMemberHidden(method, context)) { node.remove(); return null; } if (method.isTypeInitializer()) { if (node.getBody().getStatements().isEmpty()) { node.remove(); return null; } } } return super.visitMethodDeclaration(node, _); }
@Override public Void visitAnnotation(final Annotation node, final Void ignored) { startNode(node); startNode(node.getType()); formatter.writeIdentifier("@"); endNode(node.getType()); node.getType().acceptVisitor(this, ignored); final AstNodeCollection<Expression> arguments = node.getArguments(); if (!arguments.isEmpty()) { writeCommaSeparatedListInParenthesis(arguments, false); } endNode(node); return null; }
@Override public Void visitAnnotation(final Annotation node, final Void ignored) { startNode(node); startNode(node.getType()); formatter.writeIdentifier("@"); endNode(node.getType()); node.getType().acceptVisitor(this, ignored); final AstNodeCollection<Expression> arguments = node.getArguments(); if (!arguments.isEmpty()) { writeCommaSeparatedListInParenthesis(arguments, false); } endNode(node); return null; }
@Override public Void visitAnnotation(final Annotation node, final Void ignored) { startNode(node); startNode(node.getType()); formatter.writeIdentifier("@"); endNode(node.getType()); node.getType().acceptVisitor(this, ignored); final AstNodeCollection<Expression> arguments = node.getArguments(); if (!arguments.isEmpty()) { writeCommaSeparatedListInParenthesis(arguments, false); } endNode(node); return null; }