當前位置: 首頁>>代碼示例>>Java>>正文


Java ClassTree.getExtendsClause方法代碼示例

本文整理匯總了Java中com.sun.source.tree.ClassTree.getExtendsClause方法的典型用法代碼示例。如果您正苦於以下問題:Java ClassTree.getExtendsClause方法的具體用法?Java ClassTree.getExtendsClause怎麽用?Java ClassTree.getExtendsClause使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.sun.source.tree.ClassTree的用法示例。


在下文中一共展示了ClassTree.getExtendsClause方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: computeClass

import com.sun.source.tree.ClassTree; //導入方法依賴的package包/類
private static List<? extends TypeMirror> computeClass(Set<ElementKind> types, CompilationInfo info, TreePath parent, Tree error, int offset) {
    ClassTree ct = (ClassTree) parent.getLeaf();
    
    if (ct.getExtendsClause() == error) {
        types.add(ElementKind.CLASS);
        return null;
    }
    
    for (Tree t : ct.getImplementsClause()) {
        if (t == error) {
            types.add(ElementKind.INTERFACE);
            return null;
        }
    }
    
    //XXX: annotation types...
    
    return null;
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:20,代碼來源:CreateElementUtilities.java

示例2: isInHeader

import com.sun.source.tree.ClassTree; //導入方法依賴的package包/類
private static boolean isInHeader(CompilationInfo info, ClassTree tree, int offset) {
    CompilationUnitTree cut = info.getCompilationUnit();
    SourcePositions sp = info.getTrees().getSourcePositions();
    long lastKnownOffsetInHeader = sp.getStartPosition(cut, tree);
    
    List<? extends Tree> impls = tree.getImplementsClause();
    List<? extends TypeParameterTree> typeparams;
    if (impls != null && !impls.isEmpty()) {
        lastKnownOffsetInHeader= sp.getEndPosition(cut, impls.get(impls.size() - 1));
    } else if ((typeparams = tree.getTypeParameters()) != null && !typeparams.isEmpty()) {
        lastKnownOffsetInHeader= sp.getEndPosition(cut, typeparams.get(typeparams.size() - 1));
    } else if (tree.getExtendsClause() != null) {
        lastKnownOffsetInHeader = sp.getEndPosition(cut, tree.getExtendsClause());
    } else if (tree.getModifiers() != null) {
        lastKnownOffsetInHeader = sp.getEndPosition(cut, tree.getModifiers());
    }
    
    TokenSequence<JavaTokenId> ts = info.getTreeUtilities().tokensFor(tree);
    
    ts.move((int) lastKnownOffsetInHeader);
    
    while (ts.moveNext()) {
        if (ts.token().id() == JavaTokenId.LBRACE) {
            return offset < ts.offset();
        }
    }
    
    return false;
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:30,代碼來源:JavadocUtilities.java

示例3: visitClassDeclaration

import com.sun.source.tree.ClassTree; //導入方法依賴的package包/類
public void visitClassDeclaration(ClassTree node) {
    sync(node);
    List<Op> breaks =
            visitModifiers(node.getModifiers(), Direction.VERTICAL, Optional.<BreakTag>absent());
    boolean hasSuperclassType = node.getExtendsClause() != null;
    boolean hasSuperInterfaceTypes = !node.getImplementsClause().isEmpty();
    builder.addAll(breaks);
    token(node.getKind() == Tree.Kind.INTERFACE ? "interface" : "class");
    builder.space();
    visit(node.getSimpleName());
    if (!node.getTypeParameters().isEmpty()) {
        token("<");
    }
    builder.open(plusFour);
    {
        if (!node.getTypeParameters().isEmpty()) {
            typeParametersRest(
                    node.getTypeParameters(),
                    hasSuperclassType || hasSuperInterfaceTypes ? plusFour : ZERO);
        }
        if (hasSuperclassType) {
            builder.breakToFill(" ");
            token("extends");
            builder.space();
            scan(node.getExtendsClause(), null);
        }
        if (hasSuperInterfaceTypes) {
            builder.breakToFill(" ");
            builder.open(node.getImplementsClause().size() > 1 ? plusFour : ZERO);
            token(node.getKind() == Tree.Kind.INTERFACE ? "extends" : "implements");
            builder.space();
            boolean first = true;
            for (Tree superInterfaceType : node.getImplementsClause()) {
                if (!first) {
                    token(",");
                    builder.breakOp(" ");
                }
                scan(superInterfaceType, null);
                first = false;
            }
            builder.close();
        }
    }
    builder.close();
    if (node.getMembers() == null) {
        token(";");
    } else {
        addBodyDeclarations(node.getMembers(), BracesOrNot.YES, FirstDeclarationsOrNot.YES);
    }
    dropEmptyDeclarations();
}
 
開發者ID:tranleduy2000,項目名稱:javaide,代碼行數:52,代碼來源:JavaInputAstVisitor.java


注:本文中的com.sun.source.tree.ClassTree.getExtendsClause方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。