public static Java50Fix createRawTypeReferenceFix( CompilationUnit compilationUnit, IProblemLocation problem) { List operations = new ArrayList(); SimpleType node = createRawTypeReferenceOperations( compilationUnit, new IProblemLocation[] {problem}, operations); if (operations.size() == 0) return null; return new Java50Fix( Messages.format( FixMessages.Java50Fix_AddTypeArguments_description, BasicElementLabels.getJavaElementName(node.getName().getFullyQualifiedName())), compilationUnit, (CompilationUnitRewriteOperation[]) operations.toArray(new CompilationUnitRewriteOperation[operations.size()])); }
@Override public boolean visit(VariableDeclarationStatement node) { Type typ = node.getType(); if (typ.isSimpleType()) { SimpleType simple = (SimpleType) typ; String typName = simple.getName().getFullyQualifiedName(); List<VariableDeclarationFragment> vars = node.fragments(); for (VariableDeclarationFragment var : vars) { map.put(var.getName().getIdentifier(), typName); } } if (typ.isQualifiedType()) { QualifiedType qual = (QualifiedType) typ; String typName = qual.getName().getFullyQualifiedName(); List<VariableDeclarationFragment> vars = node.fragments(); for (VariableDeclarationFragment var : vars) { map.put(var.getName().getIdentifier(), typName); } } if (typ.isPrimitiveType()) { PrimitiveType prim = (PrimitiveType) typ; String typName = prim.getPrimitiveTypeCode().toString(); List<VariableDeclarationFragment> vars = node.fragments(); for (VariableDeclarationFragment var : vars) { map.put(var.getName().getIdentifier(), typName); } } if (typ.isParameterizedType()) { ParameterizedType prim = (ParameterizedType) typ; String typName = prim.getType().toString(); List<VariableDeclarationFragment> vars = node.fragments(); for (VariableDeclarationFragment var : vars) { map.put(var.getName().getIdentifier(), typName); } } if (typ.isArrayType()) { ArrayType prim = (ArrayType) typ; String typName = "Array"; List<VariableDeclarationFragment> vars = node.fragments(); for (VariableDeclarationFragment var : vars) { map.put(var.getName().getIdentifier(), typName); } } return true; }
/** * Visits a simple type node and stores its information. * * @param node the type declaration node * @return <code>true</code> if this visit is continued inside, otherwise <code>false</code> */ public boolean visit(SimpleType node) { ITypeBinding tbinding = node.resolveBinding(); if (tbinding != null) { String fqn; if (isInProject(tbinding)) { fqn = JavaClass.createClassName(tbinding); } else { JavaClass jc = ExternalJavaClass.create(tbinding); fqn = jc.getQualifiedName(); } String str = JavaClass.getString(fqn); typeUses.add(str); } else { bindingOk = false; } return false; }
/* * @see ASTVisitor#visit(SimpleType) */ @Override public boolean visit(SimpleType node) { typeRefFound(node.getName()); visitAnnotations(node); return false; }
/* * @see ASTVisitor#visit(SimpleType) */ @Override public boolean visit(SimpleType node) { printTypeAnnotations(node); node.getName().accept(this); return false; }