TypeParameter tp = ast.newTypeParameter(); tp.setName(ast.newSimpleName("X")); td.typeParameters().add(tp); cu.types().add(td);
private static boolean hasTypeParametersInDeclaringTypes(Deque<TypeDeclaration> declaringTypes) { for (TypeDeclaration td : declaringTypes) { if (!td.typeParameters().isEmpty()) { return true; } } return false; }
@Override public List<TypeVariableSource<O>> getTypeVariables() { TypeDeclaration type = (TypeDeclaration) body; List<TypeParameter> typeParameters = type.typeParameters(); List<TypeVariableSource<O>> result = new ArrayList<TypeVariableSource<O>>(); for (TypeParameter typeParameter : typeParameters) { result.add(new TypeVariableImpl<O>((O) this, typeParameter)); } return Collections.unmodifiableList(result); }
@Override public List<TypeVariableSource<O>> getTypeVariables() { TypeDeclaration type = (TypeDeclaration) body; List<TypeParameter> typeParameters = type.typeParameters(); List<TypeVariableSource<O>> result = new ArrayList<TypeVariableSource<O>>(); for (TypeParameter typeParameter : typeParameters) { result.add(new TypeVariableImpl<O>((O) this, typeParameter)); } return Collections.unmodifiableList(result); }
@Override public O removeTypeVariable(String name) { TypeDeclaration type = (TypeDeclaration) body; List<TypeParameter> typeParameters = type.typeParameters(); for (Iterator<TypeParameter> iter = typeParameters.iterator(); iter.hasNext();) { if (Strings.areEqual(name, iter.next().getName().getIdentifier())) { iter.remove(); break; } } return (O) this; }
@Override public O removeTypeVariable(String name) { TypeDeclaration type = (TypeDeclaration) body; List<TypeParameter> typeParameters = type.typeParameters(); for (Iterator<TypeParameter> iter = typeParameters.iterator(); iter.hasNext();) { if (Strings.areEqual(name, iter.next().getName().getIdentifier())) { iter.remove(); break; } } return (O) this; }
@SuppressWarnings("unchecked") public String[] getTypeParameters() { if (typeParameters == EMPTY_STRING_ARRAY) { typeParameters = convertASTNodeListToStringArray(getASTNode().typeParameters()); } return typeParameters; }
@SuppressWarnings("unchecked") public String[] getTypeParameters() { if (typeParameters == EMPTY_STRING_ARRAY) { typeParameters = convertASTNodeListToStringArray(getASTNode().typeParameters()); } return typeParameters; }
@Override public TypeVariableSource<O> addTypeVariable() { TypeDeclaration type = (TypeDeclaration) body; TypeParameter tp2 = unit.getAST().newTypeParameter(); type.typeParameters().add(tp2); return new TypeVariableImpl<O>((O) this, tp2); }
@Override public TypeVariableSource<O> addTypeVariable() { TypeDeclaration type = (TypeDeclaration) body; TypeParameter tp2 = unit.getAST().newTypeParameter(); type.typeParameters().add(tp2); return new TypeVariableImpl<O>((O) this, tp2); }
@Override public boolean hasTypeVariable(String name) { TypeDeclaration type = (TypeDeclaration) body; List<TypeParameter> typeParameters = type.typeParameters(); for (TypeParameter typeParameter : typeParameters) { if (Strings.areEqual(name, typeParameter.getName().getIdentifier())) { return true; } } return false; }
@Override public TypeVariableSource<O> getTypeVariable(String name) { TypeDeclaration type = (TypeDeclaration) body; List<TypeParameter> typeParameters = type.typeParameters(); for (TypeParameter typeParameter : typeParameters) { if (Strings.areEqual(name, typeParameter.getName().getIdentifier())) { return new TypeVariableImpl<O>((O) this, typeParameter); } } return null; }
@Override public TypeVariableSource<O> getTypeVariable(String name) { TypeDeclaration type = (TypeDeclaration) body; List<TypeParameter> typeParameters = type.typeParameters(); for (TypeParameter typeParameter : typeParameters) { if (Strings.areEqual(name, typeParameter.getName().getIdentifier())) { return new TypeVariableImpl<O>((O) this, typeParameter); } } return null; }
private CSTypeDeclaration mapTypeDeclaration(AbstractTypeDeclaration node) { if (!(node instanceof TypeDeclaration) && !(node instanceof EnumDeclaration)) { unsupportedConstruct(node, "Cannot map type declaration for node."); } CSTypeDeclaration type = typeDeclarationFor(node); type.startPosition(node.getStartPosition()); type.sourceLength(node.getLength()); if (node instanceof TypeDeclaration) { mapTypeParameters(((TypeDeclaration)node).typeParameters(), type); } return checkForMainType(node, type); }
private void insertAllMissingTypeTags(ASTRewrite rewriter, TypeDeclaration typeDecl) { AST ast= typeDecl.getAST(); Javadoc javadoc= typeDecl.getJavadoc(); ListRewrite tagsRewriter= rewriter.getListRewrite(javadoc, Javadoc.TAGS_PROPERTY); List<TypeParameter> typeParams= typeDecl.typeParameters(); for (int i= typeParams.size() - 1; i >= 0; i--) { TypeParameter decl= typeParams.get(i); String name= '<' + decl.getName().getIdentifier() + '>'; if (findTag(javadoc, TagElement.TAG_PARAM, name) == null) { TagElement newTag= ast.newTagElement(); newTag.setTagName(TagElement.TAG_PARAM); TextElement text= ast.newTextElement(); text.setText(name); newTag.fragments().add(text); insertTabStop(rewriter, newTag.fragments(), "typeParam" + i); //$NON-NLS-1$ insertTag(tagsRewriter, newTag, getPreviousTypeParamNames(typeParams, decl)); } } }
private void insertAllMissingTypeTags(ASTRewrite rewriter, TypeDeclaration typeDecl) { AST ast= typeDecl.getAST(); Javadoc javadoc= typeDecl.getJavadoc(); ListRewrite tagsRewriter= rewriter.getListRewrite(javadoc, Javadoc.TAGS_PROPERTY); List<TypeParameter> typeParams= typeDecl.typeParameters(); for (int i= typeParams.size() - 1; i >= 0; i--) { TypeParameter decl= typeParams.get(i); String name= '<' + decl.getName().getIdentifier() + '>'; if (findTag(javadoc, TagElement.TAG_PARAM, name) == null) { TagElement newTag= ast.newTagElement(); newTag.setTagName(TagElement.TAG_PARAM); TextElement text= ast.newTextElement(); text.setText(name); newTag.fragments().add(text); insertTabStop(rewriter, newTag.fragments(), "typeParam" + i); //$NON-NLS-1$ insertTag(tagsRewriter, newTag, getPreviousTypeParamNames(typeParams, decl)); } } }
@Override public boolean visit(TypeDeclaration node) { if (node.getName().getStartPosition() == -1) return true; // this is a fake type created by parsing in class body mode handleToken(node.getName(), TokenNameIdentifier, true, false); List<TypeParameter> typeParameters = node.typeParameters(); handleTypeParameters(typeParameters); if (!node.isInterface() && !node.superInterfaceTypes().isEmpty()) { // fix for: class A<E> extends ArrayList<String>implements Callable<String> handleToken(node.getName(), TokenNameimplements, true, false); } handleToken(node.getName(), TokenNameLBRACE, this.options.insert_space_before_opening_brace_in_type_declaration, false); handleCommas(node.superInterfaceTypes(), this.options.insert_space_before_comma_in_superinterfaces, this.options.insert_space_after_comma_in_superinterfaces); return true; }
@Override public boolean visit(TypeDeclaration node) { if (node.getName().getStartPosition() == -1) return true; // this is a fake type created by parsing in class body mode handleToken(node.getName(), TokenNameIdentifier, true, false); List<TypeParameter> typeParameters = node.typeParameters(); handleTypeParameters(typeParameters); if (!node.isInterface() && !node.superInterfaceTypes().isEmpty()) { // fix for: class A<E> extends ArrayList<String>implements Callable<String> handleToken(node.getName(), TokenNameimplements, true, false); } handleToken(node.getName(), TokenNameLBRACE, this.options.insert_space_before_opening_brace_in_type_declaration, false); handleCommas(node.superInterfaceTypes(), this.options.insert_space_before_comma_in_superinterfaces, this.options.insert_space_after_comma_in_superinterfaces); return true; }
@Override public boolean visit(TypeDeclaration node) { if (node.getName().getStartPosition() == -1) return true; // this is a fake type created by parsing in class body mode handleToken(node.getName(), TokenNameIdentifier, true, false); List<TypeParameter> typeParameters = node.typeParameters(); handleTypeParameters(typeParameters); if (!node.isInterface() && !node.superInterfaceTypes().isEmpty()) { // fix for: class A<E> extends ArrayList<String>implements Callable<String> handleToken(node.getName(), TokenNameimplements, true, false); } handleToken(node.getName(), TokenNameLBRACE, this.options.insert_space_before_opening_brace_in_type_declaration, false); handleCommas(node.superInterfaceTypes(), this.options.insert_space_before_comma_in_superinterfaces, this.options.insert_space_after_comma_in_superinterfaces); return true; }
@Override public boolean visit(TypeDeclaration node) { if (node.getName().getStartPosition() == -1) return true; // this is a fake type created by parsing in class body mode handleToken(node.getName(), TokenNameIdentifier, true, false); List<TypeParameter> typeParameters = node.typeParameters(); handleTypeParameters(typeParameters); if (!node.isInterface() && !node.superInterfaceTypes().isEmpty()) { // fix for: class A<E> extends ArrayList<String>implements Callable<String> handleToken(node.getName(), TokenNameimplements, true, false); } handleToken(node.getName(), TokenNameLBRACE, this.options.insert_space_before_opening_brace_in_type_declaration, false); handleCommas(node.superInterfaceTypes(), this.options.insert_space_before_comma_in_superinterfaces, this.options.insert_space_after_comma_in_superinterfaces); return true; }