本文整理汇总了Java中com.sun.tools.javac.code.Symbol.isLocal方法的典型用法代码示例。如果您正苦于以下问题:Java Symbol.isLocal方法的具体用法?Java Symbol.isLocal怎么用?Java Symbol.isLocal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.tools.javac.code.Symbol
的用法示例。
在下文中一共展示了Symbol.isLocal方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visitApply
import com.sun.tools.javac.code.Symbol; //导入方法依赖的package包/类
@Override
public void visitApply(JCMethodInvocation tree) {
boolean prevCheckThis = checkThis;
try {
Symbol meth = TreeInfo.symbol(tree.meth);
Name methName = TreeInfo.name(tree.meth);
if (meth != null && meth.name == names.init) {
Symbol c = meth.owner;
if (c.hasOuterInstance()) {
checkThis = false;
if (tree.meth.getTag() != JCTree.Tag.SELECT && (c.isLocal() || methName == names._this)) {
checkThis(tree.meth.pos(), c.type.getEnclosingType().tsym);
}
}
}
super.visitApply(tree);
} finally {
checkThis = prevCheckThis;
}
}
示例2: visitNewClass
import com.sun.tools.javac.code.Symbol; //导入方法依赖的package包/类
@Override
public void visitNewClass(JCNewClass tree) {
super.visitNewClass(tree);
Symbol c = tree.constructor != null ? tree.constructor.owner : null;
if (c != null && c != syms.noSymbol && c.hasOuterInstance()) {
if (tree.encl == null && c.isLocal()) {
checkThis(tree.pos(), c.type.getEnclosingType().tsym);
}
}
}