当前位置: 首页>>代码示例>>Java>>正文


Java Node.isEquivalentTo方法代码示例

本文整理汇总了Java中com.google.javascript.rhino.Node.isEquivalentTo方法的典型用法代码示例。如果您正苦于以下问题:Java Node.isEquivalentTo方法的具体用法?Java Node.isEquivalentTo怎么用?Java Node.isEquivalentTo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.javascript.rhino.Node的用法示例。


在下文中一共展示了Node.isEquivalentTo方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: checkNodesMatch

import com.google.javascript.rhino.Node; //导入方法依赖的package包/类
/**
 * Check that the two nodes have the same relative position in the tree.
 */
private boolean checkNodesMatch(Node nodeA, Node nodeB) {
  Node currentA = nodeA;
  Node currentB = nodeB;
  while (currentA != null && currentB != null) {
    if (currentA.getType() != currentB.getType() ||
        !currentA.isEquivalentTo(currentB)) {
      return false;
    }

    currentA = currentA.getParent();
    currentB = currentB.getParent();
  }

  return currentA == null && currentB == null;
}
 
开发者ID:andyjko,项目名称:feedlack,代码行数:19,代码来源:SymbolTable.java

示例2: overrideDefines

import com.google.javascript.rhino.Node; //导入方法依赖的package包/类
private void overrideDefines(Map<String, DefineInfo> allDefines) {
  boolean changed = false;
  for (Map.Entry<String, DefineInfo> def : allDefines.entrySet()) {
    String defineName = def.getKey();
    DefineInfo info = def.getValue();
    Node inputValue = dominantReplacements.get(defineName);
    Node finalValue = inputValue != null ?
        inputValue : info.getLastValue();
    if (finalValue != info.initialValue) {
      info.initialValueParent.replaceChild(
          info.initialValue, finalValue.cloneTree());
      compiler.addToDebugLog("Overriding @define variable " + defineName);
      changed = changed ||
          finalValue.getType() != info.initialValue.getType() ||
          !finalValue.isEquivalentTo(info.initialValue);
    }
  }

  if (changed) {
    compiler.reportCodeChange();
  }

  Set<String> unusedReplacements = dominantReplacements.keySet();
  unusedReplacements.removeAll(allDefines.keySet());
  unusedReplacements.removeAll(KNOWN_DEFINES);
  for (String unknownDefine : unusedReplacements) {
    compiler.report(JSError.make(UNKNOWN_DEFINE_WARNING, unknownDefine));
  }
}
 
开发者ID:andyjko,项目名称:feedlack,代码行数:30,代码来源:ProcessDefines.java

示例3: maybeReplaceChildWithNumber

import com.google.javascript.rhino.Node; //导入方法依赖的package包/类
/**
 * Replaces a node with a number node if the new number node is not equivalent
 * to the current node.
 */
private void maybeReplaceChildWithNumber(NodeTraversal t, Node n, Node parent,
    int num) {
  Node newNode = Node.newNumber(num);
  if(!newNode.isEquivalentTo(n)) {
    parent.replaceChild(n, newNode);
    t.getCompiler().reportCodeChange();
  }
}
 
开发者ID:andyjko,项目名称:feedlack,代码行数:13,代码来源:FoldConstants.java


注:本文中的com.google.javascript.rhino.Node.isEquivalentTo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。