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


Java JCModuleDecl.getModuleType方法代碼示例

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


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

示例1: visitModuleDef

import com.sun.tools.javac.tree.JCTree.JCModuleDecl; //導入方法依賴的package包/類
@Override
public void visitModuleDef(JCModuleDecl tree) {
    sym = Assert.checkNonNull(tree.sym);

    if (tree.getModuleType() == ModuleKind.OPEN) {
        sym.flags.add(ModuleFlags.OPEN);
    }
    sym.flags_field |= (tree.mods.flags & Flags.DEPRECATED);

    sym.requires = List.nil();
    sym.exports = List.nil();
    sym.opens = List.nil();
    tree.directives.forEach(t -> t.accept(this));
    sym.requires = sym.requires.reverse();
    sym.exports = sym.exports.reverse();
    sym.opens = sym.opens.reverse();
    ensureJavaBase();
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:19,代碼來源:Modules.java

示例2: diffModuleDef

import com.sun.tools.javac.tree.JCTree.JCModuleDecl; //導入方法依賴的package包/類
protected int diffModuleDef(JCModuleDecl oldT, JCModuleDecl newT, int[] bounds) {
    int localPointer = bounds[0];

    int[] qualBounds = getBounds(oldT.qualId);
    if (oldT.getModuleType() == newT.getModuleType()) {
        copyTo(localPointer, qualBounds[0]);
    } else {
        if (oldT.getModuleType() == ModuleTree.ModuleKind.OPEN) {
            //removing "open":
            moveFwdToToken(tokenSequence, localPointer, JavaTokenId.OPEN);
            copyTo(localPointer, tokenSequence.offset());
        } else {
            copyTo(localPointer, qualBounds[0]);
            printer.print("open ");
        }
    }
    localPointer = diffTree(oldT.qualId, newT.qualId, qualBounds);

    int insertHint = oldT.directives.isEmpty() ? endPos(oldT) - 1 : oldT.directives.get(0).getStartPosition() - 1;
    tokenSequence.move(insertHint);
    tokenSequence.moveNext();
    insertHint = moveBackToToken(tokenSequence, insertHint, JavaTokenId.LBRACE) + 1;

    int old = printer.indent();
    PositionEstimator est = EstimatorFactory.members(oldT.directives, newT.directives, diffContext);
    localPointer = copyUpTo(localPointer, insertHint);
    // diff inner comments
    insertHint = diffInnerComments(oldT, newT, insertHint);
    localPointer = diffList(oldT.directives, newT.directives, insertHint, est, Measure.REAL_MEMBER, printer);
    printer.undent(old);
    if (localPointer != -1 && localPointer < origText.length()) {
        if (origText.charAt(localPointer) == '}') {
            // another stupid hack
            printer.toLeftMargin();
        }
        copyTo(localPointer, bounds[1]);
    }
    return bounds[1];
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:40,代碼來源:CasualDiff.java


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