public static ClassOrInterfaceType getResolvedName(final JavaType target, final JavaType current, final CompilationUnit compilationUnit) { final NameExpr nameExpr = JavaParserUtils.importTypeIfRequired(target, compilationUnit.getImports(), current); final ClassOrInterfaceType resolvedName = JavaParserUtils.getClassOrInterfaceType(nameExpr); if (current.getParameters() != null && current.getParameters().size() > 0) { resolvedName.setTypeArgs(new ArrayList<Type>()); for (final JavaType param : current.getParameters()) { resolvedName.getTypeArgs().add(getResolvedName(target, param, compilationUnit)); } } return resolvedName; }
public static ReferenceType importParametersForType(final JavaType targetType, final List<ImportDeclaration> imports, final JavaType typeToImport) { Validate.notNull(targetType, "Target type is required"); Validate.notNull(imports, "Compilation unit imports required"); Validate.notNull(typeToImport, "Java type to import is required"); final ClassOrInterfaceType cit = getClassOrInterfaceType(importTypeIfRequired(targetType, imports, typeToImport)); // Add any type arguments presented for the return type if (typeToImport.getParameters().size() > 0) { final List<Type> typeArgs = new ArrayList<Type>(); cit.setTypeArgs(typeArgs); for (final JavaType parameter : typeToImport.getParameters()) { typeArgs.add(JavaParserUtils.importParametersForType(targetType, imports, parameter)); } } final ReferenceType refType = new ReferenceType(cit); // Handle arrays if (typeToImport.isArray()) { refType.setArrayCount(typeToImport.getArray()); } return refType; }
public static Type getResolvedName(final JavaType target, final JavaType current, final CompilationUnitServices compilationUnit) { final NameExpr nameExpr = JavaParserUtils.importTypeIfRequired(target, compilationUnit.getImports(), current); final ClassOrInterfaceType resolvedName = JavaParserUtils.getClassOrInterfaceType(nameExpr); if (current.getParameters() != null && current.getParameters().size() > 0) { resolvedName.setTypeArgs(new ArrayList<Type>()); for (final JavaType param : current.getParameters()) { resolvedName.getTypeArgs().add(getResolvedName(target, param, compilationUnit)); } } if (current.getArray() > 0) { // Primitives includes array declaration in resolvedName if (!current.isPrimitive()) { return new ReferenceType(resolvedName, current.getArray()); } } return resolvedName; }
finalType.setTypeArgs(fieldTypeArgs); for (final JavaType parameter : field.getFieldType().getParameters()) { fieldTypeArgs.add(JavaParserUtils.importParametersForType( finalType.setTypeArgs(initTypeArgs); for (final JavaType parameter : typeToImport.getParameters()) { initTypeArgs.add(JavaParserUtils.importParametersForType( compilationUnitServices.getImports(), parameter)); classOrInterfaceType.setTypeArgs(initTypeArgs);
cit.setTypeArgs(typeArgs); for (final JavaType parameter : constructorParameter.getJavaType().getParameters()) {
cit.setTypeArgs(typeArgs); for (final JavaType parameter : method.getReturnType().getParameters()) { typeArgs.add(JavaParserUtils.importParametersForType( cit.setTypeArgs(typeArgs); for (final JavaType parameter : methodParameter.getJavaType().getParameters()) { typeArgs.add(JavaParserUtils.importParametersForType(
public ClassOrInterfaceType adapt(Java7Parser.ClassOrInterfaceTypeContext context, AdapterParameters adapterParameters) { ClassOrInterfaceType classOrInterfaceType = new ClassOrInterfaceType(); AdapterUtil.setComments(classOrInterfaceType, context, adapterParameters); AdapterUtil.setPosition(classOrInterfaceType, context); List<ClassOrInterfaceType> scopes = new LinkedList<ClassOrInterfaceType>(); for (Java7Parser.IdentifierTypeArgumentContext identifierTypeArgumentContext : context.identifierTypeArgument()) { ClassOrInterfaceType scope = new ClassOrInterfaceType(); scope.setTypeArgs(Adapters.getTypeArgumentsContextAdapter().adapt(identifierTypeArgumentContext.typeArguments(), adapterParameters)); scope.setName(identifierTypeArgumentContext.Identifier().getText()); scopes.add(scope); } // This is a weird way of handling this, but should take care of the scope hierarchy classOrInterfaceType = scopes.get(scopes.size() - 1); ClassOrInterfaceType currentScope = classOrInterfaceType; for (int i = (scopes.size() - 2); i >= 0; i--) { ClassOrInterfaceType scope = scopes.get(i); currentScope.setScope(scope); currentScope = scope; } return classOrInterfaceType; } }
public ClassOrInterfaceType adapt(Java7Parser.ClassOrInterfaceTypeContext context, AdapterParameters adapterParameters) { ClassOrInterfaceType classOrInterfaceType = new ClassOrInterfaceType(); AdapterUtil.setComments(classOrInterfaceType, context, adapterParameters); AdapterUtil.setPosition(classOrInterfaceType, context); List<ClassOrInterfaceType> scopes = new LinkedList<ClassOrInterfaceType>(); for (Java7Parser.IdentifierTypeArgumentContext identifierTypeArgumentContext : context.identifierTypeArgument()) { ClassOrInterfaceType scope = new ClassOrInterfaceType(); scope.setTypeArgs(Adapters.getTypeArgumentsContextAdapter().adapt(identifierTypeArgumentContext.typeArguments(), adapterParameters)); scope.setName(identifierTypeArgumentContext.Identifier().getText()); scopes.add(scope); } // This is a weird way of handling this, but should take care of the scope hierarchy classOrInterfaceType = scopes.get(scopes.size() - 1); ClassOrInterfaceType currentScope = classOrInterfaceType; for (int i = (scopes.size() - 2); i >= 0; i--) { ClassOrInterfaceType scope = scopes.get(i); currentScope.setScope(scope); currentScope = scope; } return classOrInterfaceType; } }
classOrInterfaceType.setTypeArgs(Adapters.getTypeArgumentsContextAdapter().adapt(context.identifierTypeArgument().typeArguments(), adapterParameters));
classOrInterfaceType.setTypeArgs(Adapters.getTypeArgumentsContextAdapter().adapt(context.identifierTypeArgument().typeArguments(), adapterParameters));