public ExpressionTree newDotClassSelector(Optional<List<Tuple<InternalSyntaxToken, InternalSyntaxToken>>> dimensions, InternalSyntaxToken dotToken, InternalSyntaxToken classToken) { IdentifierTreeImpl identifier = new IdentifierTreeImpl(classToken); ArrayTypeTreeImpl nestedDimensions = newArrayTypeTree(dimensions); return new MemberSelectExpressionTreeImpl(nestedDimensions, dotToken, identifier); }
public ExpressionTree newDotClassSelector(Optional<List<Tuple<InternalSyntaxToken, InternalSyntaxToken>>> dimensions, InternalSyntaxToken dotToken, InternalSyntaxToken classToken) { IdentifierTreeImpl identifier = new IdentifierTreeImpl(classToken); ArrayTypeTreeImpl nestedDimensions = newArrayTypeTree(dimensions); return new MemberSelectExpressionTreeImpl(nestedDimensions, dotToken, identifier); }
public ExpressionTree newDotClassSelector(Optional<List<Tuple<InternalSyntaxToken, InternalSyntaxToken>>> dimensions, InternalSyntaxToken dotToken, InternalSyntaxToken classToken) { IdentifierTreeImpl identifier = new IdentifierTreeImpl(classToken); ArrayTypeTreeImpl nestedDimensions = newArrayTypeTree(dimensions); return new MemberSelectExpressionTreeImpl(nestedDimensions, dotToken, identifier); }
public ExpressionTree basicClassExpression(PrimitiveTypeTreeImpl basicType, Optional<List<Tuple<InternalSyntaxToken, InternalSyntaxToken>>> dimensions, InternalSyntaxToken dotToken, InternalSyntaxToken classToken) { // 15.8.2. Class Literals // int.class // int[].class IdentifierTreeImpl classIdentifier = new IdentifierTreeImpl(classToken); ArrayTypeTreeImpl nestedDimensions = newArrayTypeTree(dimensions); TypeTree typeTree = applyDim(basicType, nestedDimensions); return new MemberSelectExpressionTreeImpl((ExpressionTree) typeTree, dotToken, classIdentifier); }
public ExpressionTree voidClassExpression(AstNode voidTokenAstNode, AstNode dotToken, AstNode classTokenAstNode) { // void.class InternalSyntaxToken voidToken = InternalSyntaxToken.create(voidTokenAstNode); PrimitiveTypeTreeImpl voidType = new PrimitiveTypeTreeImpl(voidToken, ImmutableList.<AstNode>of(voidToken)); IdentifierTreeImpl classToken = new IdentifierTreeImpl(InternalSyntaxToken.create(classTokenAstNode)); return new MemberSelectExpressionTreeImpl(voidType, classToken, voidType, dotToken, classToken); }
public ExpressionTree basicClassExpression(PrimitiveTypeTreeImpl basicType, Optional<List<Tuple<InternalSyntaxToken, InternalSyntaxToken>>> dimensions, InternalSyntaxToken dotToken, InternalSyntaxToken classToken) { // 15.8.2. Class Literals // int.class // int[].class IdentifierTreeImpl classIdentifier = new IdentifierTreeImpl(classToken); ArrayTypeTreeImpl nestedDimensions = newArrayTypeTree(dimensions); TypeTree typeTree = applyDim(basicType, nestedDimensions); return new MemberSelectExpressionTreeImpl((ExpressionTree) typeTree, dotToken, classIdentifier); }
public ExpressionTree basicClassExpression(PrimitiveTypeTreeImpl basicType, Optional<List<Tuple<AstNode, AstNode>>> dimensions, AstNode dotToken, AstNode classTokenAstNode) { // 15.8.2. Class Literals // int.class // int[].class IdentifierTreeImpl classToken = new IdentifierTreeImpl(InternalSyntaxToken.create(classTokenAstNode)); List<AstNode> children = Lists.newArrayList(); children.add(basicType); if (dimensions.isPresent()) { for (Tuple<AstNode, AstNode> dimension : dimensions.get()) { children.add(dimension.first()); children.add(dimension.second()); } } children.add(dotToken); children.add(classToken); TypeTree typeTree = applyDim(basicType, dimensions.isPresent() ? dimensions.get().size() : 0); return new MemberSelectExpressionTreeImpl((ExpressionTree) typeTree, classToken, children.toArray(new AstNode[children.size()])); }
public ExpressionTree basicClassExpression(PrimitiveTypeTreeImpl basicType, Optional<List<Tuple<InternalSyntaxToken, InternalSyntaxToken>>> dimensions, InternalSyntaxToken dotToken, InternalSyntaxToken classToken) { // 15.8.2. Class Literals // int.class // int[].class IdentifierTreeImpl classIdentifier = new IdentifierTreeImpl(classToken); ArrayTypeTreeImpl nestedDimensions = newArrayTypeTree(dimensions); TypeTree typeTree = applyDim(basicType, nestedDimensions); return new MemberSelectExpressionTreeImpl((ExpressionTree) typeTree, dotToken, classIdentifier); }
public ExpressionTree newDotClassSelector(Optional<List<Tuple<AstNode, AstNode>>> dimensions, AstNode dotTokenAstNode, AstNode classTokenAstNode) { IdentifierTreeImpl identifier = new IdentifierTreeImpl(InternalSyntaxToken.create(classTokenAstNode)); List<AstNode> children = Lists.newArrayList(); if (dimensions.isPresent()) { for (Tuple<AstNode, AstNode> dimension : dimensions.get()) { children.add(dimension.first()); children.add(dimension.second()); } } children.add(dotTokenAstNode); children.add(identifier); return new MemberSelectExpressionTreeImpl(dimensions.isPresent() ? dimensions.get().size() : 0, identifier, children); }
public TypeTree annotationIdentifier(InternalSyntaxToken firstIdentifier, Optional<List<Tuple<InternalSyntaxToken, InternalSyntaxToken>>> rests) { List<InternalSyntaxToken> children = Lists.newArrayList(); children.add(firstIdentifier); if (rests.isPresent()) { for (Tuple<InternalSyntaxToken, InternalSyntaxToken> rest : rests.get()) { children.add(rest.first()); children.add(rest.second()); } } JavaTree result = null; InternalSyntaxToken dotToken = null; for (InternalSyntaxToken child : children) { if (!child.getGrammarRuleKey().equals(JavaTokenType.IDENTIFIER)) { dotToken = child; } else { InternalSyntaxToken identifierToken = child; if (result == null) { result = new IdentifierTreeImpl(identifierToken); } else { IdentifierTreeImpl identifier = new IdentifierTreeImpl(identifierToken); result = new MemberSelectExpressionTreeImpl((ExpressionTree) result, dotToken, identifier); } } } return (TypeTree) result; }
public TypeTree annotationIdentifier(InternalSyntaxToken firstIdentifier, Optional<List<Tuple<InternalSyntaxToken, InternalSyntaxToken>>> rests) { List<InternalSyntaxToken> children = Lists.newArrayList(); children.add(firstIdentifier); if (rests.isPresent()) { for (Tuple<InternalSyntaxToken, InternalSyntaxToken> rest : rests.get()) { children.add(rest.first()); children.add(rest.second()); } } JavaTree result = null; InternalSyntaxToken dotToken = null; for (InternalSyntaxToken child : children) { if (!child.getGrammarRuleKey().equals(JavaTokenType.IDENTIFIER)) { dotToken = child; } else { InternalSyntaxToken identifierToken = child; if (result == null) { result = new IdentifierTreeImpl(identifierToken); } else { IdentifierTreeImpl identifier = new IdentifierTreeImpl(identifierToken); result = new MemberSelectExpressionTreeImpl((ExpressionTree) result, dotToken, identifier); } } } return (TypeTree) result; }
public TypeTree annotationIdentifier(InternalSyntaxToken firstIdentifier, Optional<List<Tuple<InternalSyntaxToken, InternalSyntaxToken>>> rests) { List<InternalSyntaxToken> children = Lists.newArrayList(); children.add(firstIdentifier); if (rests.isPresent()) { for (Tuple<InternalSyntaxToken, InternalSyntaxToken> rest : rests.get()) { children.add(rest.first()); children.add(rest.second()); } } JavaTree result = null; InternalSyntaxToken dotToken = null; for (InternalSyntaxToken child : children) { if (!child.getGrammarRuleKey().equals(JavaTokenType.IDENTIFIER)) { dotToken = child; } else { InternalSyntaxToken identifierToken = child; if (result == null) { result = new IdentifierTreeImpl(identifierToken); } else { IdentifierTreeImpl identifier = new IdentifierTreeImpl(identifierToken); result = new MemberSelectExpressionTreeImpl((ExpressionTree) result, dotToken, identifier); } } } return (TypeTree) result; }
public <T extends Tree> T newQualifiedIdentifier(ExpressionTree firstIdentifier, Optional<List<Tuple<InternalSyntaxToken, ExpressionTree>>> rests) { ExpressionTree result = firstIdentifier; if (rests.isPresent()) { for (Tuple<InternalSyntaxToken, ExpressionTree> rest : rests.get()) { InternalSyntaxToken dotToken = rest.first(); if (rest.second().is(Kind.IDENTIFIER)) { result = new MemberSelectExpressionTreeImpl(result, dotToken, (IdentifierTreeImpl) rest.second()); } else if (rest.second().is(Kind.PARAMETERIZED_TYPE)) { ParameterizedTypeTreeImpl parameterizedType = (ParameterizedTypeTreeImpl) rest.second(); IdentifierTreeImpl identifier = (IdentifierTreeImpl) parameterizedType.type(); result = new MemberSelectExpressionTreeImpl(result, dotToken, identifier); result = new ParameterizedTypeTreeImpl((TypeTree) result, (TypeArgumentListTreeImpl) parameterizedType.typeArguments()); } else { throw new IllegalArgumentException(); } } moveAnnotations((TypeTree) result, (TypeTree) firstIdentifier); } return (T) result; }
public <T extends Tree> T newQualifiedIdentifier(ExpressionTree firstIdentifier, Optional<List<Tuple<InternalSyntaxToken, ExpressionTree>>> rests) { ExpressionTree result = firstIdentifier; if (rests.isPresent()) { for (Tuple<InternalSyntaxToken, ExpressionTree> rest : rests.get()) { InternalSyntaxToken dotToken = rest.first(); if (rest.second().is(Kind.IDENTIFIER)) { result = new MemberSelectExpressionTreeImpl(result, dotToken, (IdentifierTreeImpl) rest.second()); } else if (rest.second().is(Kind.PARAMETERIZED_TYPE)) { ParameterizedTypeTreeImpl parameterizedType = (ParameterizedTypeTreeImpl) rest.second(); IdentifierTreeImpl identifier = (IdentifierTreeImpl) parameterizedType.type(); result = new MemberSelectExpressionTreeImpl(result, dotToken, identifier); result = new ParameterizedTypeTreeImpl((TypeTree) result, (TypeArgumentListTreeImpl) parameterizedType.typeArguments()); } else { throw new IllegalArgumentException(); } } moveAnnotations((TypeTree) result, (TypeTree) firstIdentifier); } return (T) result; }
public <T extends Tree> T newQualifiedIdentifier(ExpressionTree firstIdentifier, Optional<List<Tuple<InternalSyntaxToken, ExpressionTree>>> rests) { ExpressionTree result = firstIdentifier; if (rests.isPresent()) { for (Tuple<InternalSyntaxToken, ExpressionTree> rest : rests.get()) { InternalSyntaxToken dotToken = rest.first(); if (rest.second().is(Kind.IDENTIFIER)) { result = new MemberSelectExpressionTreeImpl(result, dotToken, (IdentifierTreeImpl) rest.second()); } else if (rest.second().is(Kind.PARAMETERIZED_TYPE)) { ParameterizedTypeTreeImpl parameterizedType = (ParameterizedTypeTreeImpl) rest.second(); IdentifierTreeImpl identifier = (IdentifierTreeImpl) parameterizedType.type(); result = new MemberSelectExpressionTreeImpl(result, dotToken, identifier); result = new ParameterizedTypeTreeImpl((TypeTree) result, (TypeArgumentListTreeImpl) parameterizedType.typeArguments()); } else { throw new IllegalArgumentException(); } } moveAnnotations(result, firstIdentifier); } return (T) result; }
public <T extends Tree> T newQualifiedIdentifier(ExpressionTree firstIdentifier, Optional<List<Tuple<AstNode, ExpressionTree>>> rests) { ExpressionTree result = firstIdentifier; if (rests.isPresent()) { for (Tuple<AstNode, ExpressionTree> rest : rests.get()) { if (rest.second().is(Kind.IDENTIFIER)) { result = new MemberSelectExpressionTreeImpl(result, (IdentifierTreeImpl) rest.second(), (AstNode) result, rest.first(), (AstNode) rest.second()); } else if (rest.second().is(Kind.PARAMETERIZED_TYPE)) { ParameterizedTypeTreeImpl parameterizedType = (ParameterizedTypeTreeImpl) rest.second(); IdentifierTreeImpl identifier = (IdentifierTreeImpl) parameterizedType.type(); result = new MemberSelectExpressionTreeImpl(result, identifier, (AstNode) result, rest.first(), identifier); result = new ParameterizedTypeTreeImpl((TypeTree) result, (TypeArgumentListTreeImpl) parameterizedType.typeArguments()); } else { throw new IllegalArgumentException(); } } } return (T) result; }
public ImportTreeImpl newImportDeclaration(InternalSyntaxToken importToken, Optional<InternalSyntaxToken> staticToken, ExpressionTree qualifiedIdentifier, Optional<Tuple<InternalSyntaxToken, InternalSyntaxToken>> dotStar, InternalSyntaxToken semicolonToken) { ExpressionTree target = qualifiedIdentifier; if (dotStar.isPresent()) { IdentifierTreeImpl identifier = new IdentifierTreeImpl(dotStar.get().second()); InternalSyntaxToken dotToken = dotStar.get().first(); target = new MemberSelectExpressionTreeImpl(qualifiedIdentifier, dotToken, identifier); } InternalSyntaxToken staticKeyword = staticToken.orNull(); return new ImportTreeImpl(importToken, staticKeyword, target, semicolonToken); }
public ImportTreeImpl newImportDeclaration(InternalSyntaxToken importToken, Optional<InternalSyntaxToken> staticToken, ExpressionTree qualifiedIdentifier, Optional<Tuple<InternalSyntaxToken, InternalSyntaxToken>> dotStar, InternalSyntaxToken semicolonToken) { ExpressionTree target = qualifiedIdentifier; if (dotStar.isPresent()) { IdentifierTreeImpl identifier = new IdentifierTreeImpl(dotStar.get().second()); InternalSyntaxToken dotToken = dotStar.get().first(); target = new MemberSelectExpressionTreeImpl(qualifiedIdentifier, dotToken, identifier); } InternalSyntaxToken staticKeyword = staticToken.orNull(); return new ImportTreeImpl(importToken, staticKeyword, target, semicolonToken); }
public ImportTreeImpl newImportDeclaration(InternalSyntaxToken importToken, Optional<InternalSyntaxToken> staticToken, ExpressionTree qualifiedIdentifier, Optional<Tuple<InternalSyntaxToken, InternalSyntaxToken>> dotStar, InternalSyntaxToken semicolonToken) { ExpressionTree target = qualifiedIdentifier; if (dotStar.isPresent()) { IdentifierTreeImpl identifier = new IdentifierTreeImpl(dotStar.get().second()); InternalSyntaxToken dotToken = dotStar.get().first(); target = new MemberSelectExpressionTreeImpl(qualifiedIdentifier, dotToken, identifier); } InternalSyntaxToken staticKeyword = staticToken.orNull(); return new ImportTreeImpl(importToken, staticKeyword, target, semicolonToken); }
public ImportTreeImpl newImportDeclaration(AstNode importTokenAstNode, Optional<AstNode> staticTokenAstNode, ExpressionTree qualifiedIdentifier, Optional<Tuple<AstNode, AstNode>> dotStar, AstNode semicolonTokenAstNode) { ExpressionTree target = qualifiedIdentifier; if (dotStar.isPresent()) { IdentifierTreeImpl identifier = new IdentifierTreeImpl(InternalSyntaxToken.create(dotStar.get().second())); target = new MemberSelectExpressionTreeImpl(qualifiedIdentifier, identifier, (AstNode) qualifiedIdentifier, dotStar.get().first(), identifier); } InternalSyntaxToken importToken = InternalSyntaxToken.create(importTokenAstNode); InternalSyntaxToken staticToken = null; if (staticTokenAstNode.isPresent()) { staticToken = InternalSyntaxToken.create(staticTokenAstNode.get()); } InternalSyntaxToken semiColonToken = InternalSyntaxToken.create(semicolonTokenAstNode); return new ImportTreeImpl(importToken, staticToken, target, semiColonToken); }