private JavaType parametrizedTypeWithTypeArguments(JavaSymbol.TypeJavaSymbol symbol, TypeArguments typeArguments) { TypeSubstitution typeSubstitution = new TypeSubstitution(); if (typeArguments.size() <= symbol.typeVariableTypes.size()) { for (int i = 0; i < typeArguments.size(); i++) { typeSubstitution.add(symbol.typeVariableTypes.get(i), getType(typeArguments.get(i))); } } return parametrizedTypeCache.getParametrizedTypeType(symbol, typeSubstitution); }
private static boolean isCollectionOfSerializable(Tree tree) { if (tree.is(Tree.Kind.PARAMETERIZED_TYPE)) { ParameterizedTypeTree typeTree = (ParameterizedTypeTree) tree; if (isSubtypeOfCollectionApi(typeTree.symbolType())) { return typeTree.typeArguments().stream().allMatch(SerializableFieldInSerializableClassCheck::isCollectionOfSerializable); } } return isSerializable(tree); }
@Override public void visitTypeArguments(TypeArguments trees) { trees.forEach(typeArg -> addKind(typeArg, UastNode.Kind.TYPE_ARGUMENT)); super.visitTypeArguments(trees); }
private static SyntaxToken getIdentifierToken(TypeTree typeTree) { if (typeTree.is(Tree.Kind.IDENTIFIER)) { return ((IdentifierTree) typeTree).identifierToken(); } else if (typeTree.is(Tree.Kind.MEMBER_SELECT)) { return ((MemberSelectExpressionTree) typeTree).identifier().identifierToken(); } else { return ((ParameterizedTypeTree) typeTree).typeArguments().closeBracketToken(); } }
private static boolean isParameterizedType(TypeTree type) { if (type.is(Tree.Kind.ARRAY_TYPE)) { return isParameterizedType(((ArrayTypeTree) type).type()); } return type.is(Tree.Kind.PARAMETERIZED_TYPE) && !((ParameterizedTypeTree) type).typeArguments().isEmpty(); }
@Override public void visitParameterizedType(ParameterizedTypeTree parameterizedTypeTree) { for (Iterator<Tree> iterator = parameterizedTypeTree.typeArguments().iterator(); iterator.hasNext() && !withResourceTypeVariable; ) { TypeTreeVisitor treeVisitor = new TypeTreeVisitor(); iterator.next().accept(treeVisitor); withResourceTypeVariable = treeVisitor.isResourceTypeInstance(); } super.visitParameterizedType(parameterizedTypeTree); }
private static SyntaxToken getIdentifierToken(TypeTree typeTree) { if (typeTree.is(Tree.Kind.IDENTIFIER)) { return ((IdentifierTree) typeTree).identifierToken(); } else if (typeTree.is(Tree.Kind.MEMBER_SELECT)) { return ((MemberSelectExpressionTree) typeTree).identifier().identifierToken(); } else { return ((ParameterizedTypeTree) typeTree).typeArguments().closeBracketToken(); } }
private static boolean isParameterizedType(TypeTree type) { if (type.is(Tree.Kind.ARRAY_TYPE)) { return isParameterizedType(((ArrayTypeTree) type).type()); } return type.is(Tree.Kind.PARAMETERIZED_TYPE) && !((ParameterizedTypeTree) type).typeArguments().isEmpty(); }
private JavaType parametrizedTypeWithTypeArguments(JavaSymbol.TypeJavaSymbol symbol, TypeArguments typeArguments) { TypeSubstitution typeSubstitution = new TypeSubstitution(); if (typeArguments.size() <= symbol.typeVariableTypes.size()) { for (int i = 0; i < typeArguments.size(); i++) { typeSubstitution.add(symbol.typeVariableTypes.get(i), getType(typeArguments.get(i))); } } return parametrizedTypeCache.getParametrizedTypeType(symbol, typeSubstitution); }
private static boolean isCollectionOfSerializable(Tree tree) { if (tree.is(Tree.Kind.PARAMETERIZED_TYPE)) { ParameterizedTypeTree typeTree = (ParameterizedTypeTree) tree; if (isSubtypeOfCollectionApi(typeTree.symbolType())) { return typeTree.typeArguments().stream().allMatch(SerializableFieldInSerializableClassCheck::isCollectionOfSerializable); } } return isSerializable(tree); }
@Override public void visitParameterizedType(ParameterizedTypeTree tree) { resolveAs(tree.type(), JavaSymbol.TYP); resolveAs((List<Tree>) tree.typeArguments(), JavaSymbol.TYP); JavaType type = getType(tree.type()); //Type substitution for parametrized type. TypeSubstitution typeSubstitution = new TypeSubstitution(); if (tree.typeArguments().size() <= type.getSymbol().typeVariableTypes.size()) { for (int i = 0; i < tree.typeArguments().size(); i++) { typeSubstitution.add(type.getSymbol().typeVariableTypes.get(i), getType(tree.typeArguments().get(i))); } } registerType(tree, parametrizedTypeCache.getParametrizedTypeType(type.getSymbol(), typeSubstitution)); }
if (tree.typeArguments() != null) { resolveAs((List<Tree>) tree.typeArguments(), JavaSymbol.TYP); typeArgumentsTypes = tree.typeArguments().stream().map(this::getType).collect(Collectors.toList());
if (tree.typeArguments() != null) { resolveAs((List<Tree>) tree.typeArguments(), JavaSymbol.TYP); typeArgumentsTypes = tree.typeArguments().stream().map(this::getType).collect(Collectors.toList());