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; }