@CopyMethod static String getTypeName(TypeReference self) { StringBuilder out = new StringBuilder(); for (TypeReferencePart p : self.astParts()) { if (out.length() > 0) out.append("."); out.append(p.getTypeName()); } for (int i = 0; i < self.astArrayDimensions(); i++) out.append("[]"); return out.toString(); }
@CopyMethod static String getTypeName(TypeReference self) { StringBuilder out = new StringBuilder(); for (TypeReferencePart p : self.astParts()) { if (out.length() > 0) out.append("."); out.append(p.getTypeName()); } for (int i = 0; i < self.astArrayDimensions(); i++) out.append("[]"); return out.toString(); }
@CopyMethod static String getTypeName(TypeReference self) { StringBuilder out = new StringBuilder(); for (TypeReferencePart p : self.astParts()) { if (out.length() > 0) out.append("."); out.append(p.getTypeName()); } for (int i = 0; i < self.astArrayDimensions(); i++) out.append("[]"); return out.toString(); }
@Override public void visitTypeArray(JCArrayTypeTree node) { TypeReference ref = (TypeReference) toTree(node.getType(), FlagKey.TYPE_REFERENCE); int currentDim = ref.astArrayDimensions(); ref.astArrayDimensions(currentDim + 1); setConversionPositionInfo(ref, "[]" + currentDim, getPosition(node)); set(node, ref); }
@CopyMethod static TypeReference getEffectiveTypeReference(VariableDefinitionEntry self) { VariableDefinition parent = self.upToVariableDefinition(); if (parent == null) throw new AstException( self, "Cannot calculate type reference of a VariableDefinitionEntry without a VariableDefinition as parent"); TypeReference typeRef = parent.astTypeReference().copy(); return typeRef.astArrayDimensions(typeRef.astArrayDimensions() + self.astArrayDimensions() + (parent.astVarargs() ? 1 : 0)); }
@CopyMethod static TypeReference getEffectiveTypeReference(VariableDefinitionEntry self) { VariableDefinition parent = self.upToVariableDefinition(); if (parent == null) throw new AstException( self, "Cannot calculate type reference of a VariableDefinitionEntry without a VariableDefinition as parent"); TypeReference typeRef = parent.astTypeReference().copy(); return typeRef.astArrayDimensions(typeRef.astArrayDimensions() + self.astArrayDimensions() + (parent.astVarargs() ? 1 : 0)); }
@CopyMethod static TypeReference getEffectiveTypeReference(VariableDefinitionEntry self) { VariableDefinition parent = self.upToVariableDefinition(); if (parent == null) throw new AstException( self, "Cannot calculate type reference of a VariableDefinitionEntry without a VariableDefinition as parent"); TypeReference typeRef = parent.astTypeReference().copy(); return typeRef.astArrayDimensions(typeRef.astArrayDimensions() + self.astArrayDimensions() + (parent.astVarargs() ? 1 : 0)); }
@Override public void visitArrayQualifiedTypeReference(ArrayQualifiedTypeReference node) { lombok.ast.TypeReference ref = new lombok.ast.TypeReference(); fillTypeReferenceParts(node.tokens, node.sourcePositions, ref.astParts()); ref.astArrayDimensions(node.dimensions()); set(node, setPosition(node, ref)); }
@CopyMethod static boolean isPrimitive(TypeReference self) { if (self.astArrayDimensions() > 0 || self.rawParts().size() != 1) return false; try { String name = self.astParts().first().astIdentifier().astValue(); return name.indexOf(' ') == -1 && PRIMITIVE_NAMES.contains(" " + name + " "); } catch (NullPointerException e) { return false; } }
@CopyMethod static boolean isPrimitive(TypeReference self) { if (self.astArrayDimensions() > 0 || self.rawParts().size() != 1) return false; try { String name = self.astParts().first().astIdentifier().astValue(); return name.indexOf(' ') == -1 && PRIMITIVE_NAMES.contains(" " + name + " "); } catch (NullPointerException e) { return false; } }
@CopyMethod static boolean isPrimitive(TypeReference self) { if (self.astArrayDimensions() > 0 || self.rawParts().size() != 1) return false; try { String name = self.astParts().first().astIdentifier().astValue(); return name.indexOf(' ') == -1 && PRIMITIVE_NAMES.contains(" " + name + " "); } catch (NullPointerException e) { return false; } }
@Override public void visitArrayQualifiedTypeReference(ArrayQualifiedTypeReference node) { lombok.ast.TypeReference ref = new lombok.ast.TypeReference(); fillTypeReferenceParts(node.tokens, node.sourcePositions, ref.astParts()); ref.astArrayDimensions(node.dimensions()); set(node, setPosition(node, ref)); }
public Node createAnnotationMethodDeclaration(Node modifiers, Node typeReference, Node name, List<org.parboiled.Node<Node>> dims, Node defaultValue) { AnnotationMethodDeclaration decl = new AnnotationMethodDeclaration() .astMethodName(createIdentifierIfNeeded(name, currentPos())).rawDefaultValue(defaultValue); if (modifiers != null) decl.astModifiers(createModifiersIfNeeded(modifiers, currentPos())); int extraDims = dims == null ? 0 : dims.size(); Node returnType = typeReference; if (extraDims > 0 && returnType instanceof TypeReference) { ((TypeReference)returnType).astArrayDimensions(((TypeReference)returnType).astArrayDimensions() + extraDims); } decl.rawReturnTypeReference(returnType); return posify(decl); }
public Node createAnnotationMethodDeclaration(Node modifiers, Node typeReference, Node name, List<org.parboiled.Node<Node>> dims, Node defaultValue) { AnnotationMethodDeclaration decl = new AnnotationMethodDeclaration() .astMethodName(createIdentifierIfNeeded(name, currentPos())).rawDefaultValue(defaultValue); if (modifiers != null) decl.astModifiers(createModifiersIfNeeded(modifiers, currentPos())); int extraDims = dims == null ? 0 : dims.size(); Node returnType = typeReference; if (extraDims > 0 && returnType instanceof TypeReference) { ((TypeReference)returnType).astArrayDimensions(((TypeReference)returnType).astArrayDimensions() + extraDims); } decl.rawReturnTypeReference(returnType); return posify(decl); }
public Node createAnnotationMethodDeclaration(Node modifiers, Node typeReference, Node name, List<org.parboiled.Node<Node>> dims, Node defaultValue) { AnnotationMethodDeclaration decl = new AnnotationMethodDeclaration() .astMethodName(createIdentifierIfNeeded(name, currentPos())).rawDefaultValue(defaultValue); if (modifiers != null) decl.astModifiers(createModifiersIfNeeded(modifiers, currentPos())); int extraDims = dims == null ? 0 : dims.size(); Node returnType = typeReference; if (extraDims > 0 && returnType instanceof TypeReference) { ((TypeReference)returnType).astArrayDimensions(((TypeReference)returnType).astArrayDimensions() + extraDims); } decl.rawReturnTypeReference(returnType); return posify(decl); }
@Override public void visitParameterizedQualifiedTypeReference(ParameterizedQualifiedTypeReference node) { lombok.ast.TypeReference ref = new lombok.ast.TypeReference(); ref.astArrayDimensions(node.dimensions()); fillTypeReferenceParts(node.tokens, node.sourcePositions, node.typeArguments, ref.astParts()); set(node, setPosition(node, ref)); }
@Override public void visitArrayTypeReference(ArrayTypeReference node) { lombok.ast.TypeReference ref = new lombok.ast.TypeReference(); ref.astArrayDimensions(((node.bits & ASTNode.IsVarArgs) == 0) ? node.dimensions : node.dimensions - 1); lombok.ast.TypeReferencePart part = new lombok.ast.TypeReferencePart(); part.astIdentifier(toIdentifier(node.token, node.sourceStart, node.sourceEnd)); ref.astParts().addToEnd(part); set(node, setPosition(node, ref)); }
@Override public boolean visitTypeReference(TypeReference node) { WildcardKind wildcard = node.astWildcard(); if (wildcard == WildcardKind.UNBOUND) { return posSet(node, treeMaker.Wildcard(treeMaker.TypeBoundKind(BoundKind.UNBOUND), null)); } JCExpression result = plainTypeReference(node); result = addWildcards(node, result, wildcard); result = addDimensions(node, result, node.astArrayDimensions()); return set(node, result); }
@Override public void visitParameterizedSingleTypeReference(ParameterizedSingleTypeReference node) { lombok.ast.TypeReference ref = new lombok.ast.TypeReference(); lombok.ast.TypeReferencePart part = new lombok.ast.TypeReferencePart(); part.astIdentifier(toIdentifier(node.token, node.sourceStart, node.sourceEnd)); ref.astParts().addToEnd(part); fillList(node.typeArguments, part.rawTypeArguments()); ref.astArrayDimensions(node.dimensions()); set(node, setPosition(node, ref)); }
public void checkVoidNotLegalJustAboutEverywhere(TypeReference node) { if (!node.isVoid()) return; if (node.astArrayDimensions() > 0) { node.addMessage(error(TYPEREFERENCE_VOID_NOT_ALLOWED, "Array of void type is not legal.")); return; } if (node.upIfReturnTypeToMethodDeclaration() != null) return; if (node.upToClassLiteral() != null) return; node.addMessage(error(TYPEREFERENCE_VOID_NOT_ALLOWED, "The void type is not legal here.")); } }