本文整理汇总了Java中com.google.javascript.jscomp.NodeUtil.isStatementParent方法的典型用法代码示例。如果您正苦于以下问题:Java NodeUtil.isStatementParent方法的具体用法?Java NodeUtil.isStatementParent怎么用?Java NodeUtil.isStatementParent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.google.javascript.jscomp.NodeUtil
的用法示例。
在下文中一共展示了NodeUtil.isStatementParent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visit
import com.google.javascript.jscomp.NodeUtil; //导入方法依赖的package包/类
@Override
public void visit(NodeTraversal t, Node n, Node parent) {
switch (n.getToken()) {
case CLASS:
if (NodeUtil.isStatementParent(parent)) {
currentFile.recordNameDeclaration(n.getFirstChild());
}
break;
case FUNCTION:
if (NodeUtil.isStatementParent(parent)) {
currentFile.recordNameDeclaration(n.getFirstChild());
} else if (ClassUtil.isClassMethod(n) && ClassUtil.hasNamedClass(n)) {
currentFile.recordMethod(n);
}
break;
case EXPR_RESULT:
Node expr = n.getFirstChild();
switch (expr.getToken()) {
case CALL:
Node callee = expr.getFirstChild();
checkState(CALLS_TO_PRESERVE.contains(callee.getQualifiedName()));
if (callee.matchesQualifiedName("goog.provide")) {
currentFile.markProvided(expr.getLastChild().getString());
} else if (callee.matchesQualifiedName("goog.require")) {
currentFile.recordImport(expr.getLastChild().getString());
} else if (callee.matchesQualifiedName("goog.define")) {
currentFile.recordDefine(expr);
}
break;
case ASSIGN:
Node lhs = expr.getFirstChild();
propagateJsdocAtName(t, lhs);
currentFile.recordNameDeclaration(lhs);
break;
case GETPROP:
currentFile.recordNameDeclaration(expr);
break;
default:
throw new RuntimeException("Unexpected declaration: " + expr);
}
break;
case VAR:
case CONST:
case LET:
checkState(n.hasOneChild(), n);
propagateJsdocAtName(t, n.getFirstChild());
recordNameDeclaration(n);
break;
case STRING_KEY:
if (n.hasOneChild()) {
propagateJsdocAtName(t, n);
}
break;
default:
break;
}
}