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


Java Symbol类代码示例

本文整理汇总了Java中com.google.javascript.jscomp.AnalyzePrototypeProperties.Symbol的典型用法代码示例。如果您正苦于以下问题:Java Symbol类的具体用法?Java Symbol怎么用?Java Symbol使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Symbol类属于com.google.javascript.jscomp.AnalyzePrototypeProperties包,在下文中一共展示了Symbol类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: removeUnusedSymbols

import com.google.javascript.jscomp.AnalyzePrototypeProperties.Symbol; //导入依赖的package包/类
/**
 * Remove all properties under a given name if the property name is
 * never referenced.
 */
private void removeUnusedSymbols(Collection<NameInfo> allNameInfo) {
  boolean changed = false;
  for (NameInfo nameInfo : allNameInfo) {
    if (!nameInfo.isReferenced()) {
      for (Symbol declaration : nameInfo.getDeclarations()) {
        declaration.remove();
        changed = true;
      }

      logger.fine("Removed unused prototype property: " + nameInfo.name);
    }
  }

  if (changed) {
    compiler.reportCodeChange();
  }
}
 
开发者ID:andyjko,项目名称:feedlack,代码行数:22,代码来源:RemoveUnusedPrototypeProperties.java

示例2: hasUnmovableRedeclaration

import com.google.javascript.jscomp.AnalyzePrototypeProperties.Symbol; //导入依赖的package包/类
static boolean hasUnmovableRedeclaration(NameInfo nameInfo, Property prop) {
  for (Symbol symbol : nameInfo.getDeclarations()) {
    if (!(symbol instanceof Property)) {
      continue;
    }
    Property otherProp = (Property) symbol;
    // It is possible to do better here if the dependencies are well defined
    // but redefinitions are usually in optional modules so it isn't likely
    // worth the effort to check.
    if (prop != otherProp
        && prop.getRootVar() == otherProp.getRootVar()
        && prop.getModule() != otherProp.getModule()) {
      return true;
    }
  }
  return false;
}
 
开发者ID:google,项目名称:closure-compiler,代码行数:18,代码来源:CrossModuleMethodMotion.java

示例3: removeUnusedSymbols

import com.google.javascript.jscomp.AnalyzePrototypeProperties.Symbol; //导入依赖的package包/类
/**
 * Remove all properties under a given name if the property name is
 * never referenced.
 */
private void removeUnusedSymbols(Collection<NameInfo> allNameInfo) {
  boolean changed = false;
  for (NameInfo nameInfo : allNameInfo) {
    if (!nameInfo.isReferenced()) {
      for (Symbol declaration : nameInfo.getDeclarations()) {
        boolean canRemove = false;

        if (specializationState == null) {
          canRemove = true;
        } else {
          Node specializableFunction =
            getSpecializableFunctionFromSymbol(declaration);

          if (specializableFunction != null) {
            specializationState.reportRemovedFunction(specializableFunction);
            canRemove = true;
          }
        }

        if (canRemove) {
          declaration.remove();
          changed = true;
        }
      }

      logger.fine("Removed unused prototype property: " + nameInfo.name);
    }
  }

  if (changed) {
    compiler.reportCodeChange();
  }
}
 
开发者ID:ehsan,项目名称:js-symbolic-executor,代码行数:38,代码来源:RemoveUnusedPrototypeProperties.java

示例4: getSpecializableFunctionFromSymbol

import com.google.javascript.jscomp.AnalyzePrototypeProperties.Symbol; //导入依赖的package包/类
/**
 * Attempts to find a specializable function from the Symbol.
 */
private Node getSpecializableFunctionFromSymbol(Symbol symbol) {
  Preconditions.checkNotNull(specializationState);

  Node specializableFunction = null;

  if (symbol instanceof GlobalFunction) {
    specializableFunction = ((GlobalFunction) symbol).getFunctionNode();
  } else if (symbol instanceof AssignmentProperty) {
    Node propertyValue = ((AssignmentProperty) symbol).getValue();
    if (NodeUtil.isFunction(propertyValue)) {
      specializableFunction = propertyValue;
    }
  } else if (symbol instanceof LiteralProperty) {
    // Module specialization doesn't know how to handle these
    // because the "name" of the function isn't the name
    // it needs to add an unspecialized version of.

    return null;
  } else {
    Preconditions.checkState(false, "Should be unreachable.");
  }

  if (specializableFunction != null &&
      specializationState.canFixupFunction(specializableFunction)) {
    return specializableFunction;
  } else {
    return null;
  }
}
 
开发者ID:ehsan,项目名称:js-symbolic-executor,代码行数:33,代码来源:RemoveUnusedPrototypeProperties.java

示例5: removeUnusedSymbols

import com.google.javascript.jscomp.AnalyzePrototypeProperties.Symbol; //导入依赖的package包/类
/**
 * Remove all properties under a given name if the property name is
 * never referenced.
 */
private void removeUnusedSymbols(Collection<NameInfo> allNameInfo) {
  boolean changed = false;
  for (NameInfo nameInfo : allNameInfo) {
    if (!nameInfo.isReferenced()) {
      for (Symbol declaration : nameInfo.getDeclarations()) {
        boolean canRemove = false;

        if (specializationState == null) {
          canRemove = true;
        } else {
          Node specializableFunction =
            getSpecializableFunctionFromSymbol(declaration);

          if (specializableFunction != null) {
            specializationState.reportRemovedFunction(
                specializableFunction, null);
            canRemove = true;
          }
        }

        if (canRemove) {
          declaration.remove();
          changed = true;
        }
      }

      logger.fine("Removed unused prototype property: " + nameInfo.name);
    }
  }

  if (changed) {
    compiler.reportCodeChange();
  }
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:39,代码来源:RemoveUnusedPrototypeProperties.java

示例6: getSpecializableFunctionFromSymbol

import com.google.javascript.jscomp.AnalyzePrototypeProperties.Symbol; //导入依赖的package包/类
/**
 * Attempts to find a specializable function from the Symbol.
 */
private Node getSpecializableFunctionFromSymbol(Symbol symbol) {
  Preconditions.checkNotNull(specializationState);

  Node specializableFunction = null;

  if (symbol instanceof GlobalFunction) {
    specializableFunction = ((GlobalFunction) symbol).getFunctionNode();
  } else if (symbol instanceof AssignmentProperty) {
    Node propertyValue = ((AssignmentProperty) symbol).getValue();
    if (propertyValue.isFunction()) {
      specializableFunction = propertyValue;
    }
  } else if (symbol instanceof LiteralProperty) {
    // Module specialization doesn't know how to handle these
    // because the "name" of the function isn't the name
    // it needs to add an unspecialized version of.

    return null;
  } else {
    Preconditions.checkState(false, "Should be unreachable.");
  }

  if (specializableFunction != null &&
      specializationState.canFixupFunction(specializableFunction)) {
    return specializableFunction;
  } else {
    return null;
  }
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:33,代码来源:RemoveUnusedPrototypeProperties.java

示例7: removeUnusedSymbols

import com.google.javascript.jscomp.AnalyzePrototypeProperties.Symbol; //导入依赖的package包/类
/**
 * Remove all properties under a given name if the property name is
 * never referenced.
 */
private void removeUnusedSymbols(Collection<NameInfo> allNameInfo) {
  for (NameInfo nameInfo : allNameInfo) {
    if (!nameInfo.isReferenced()) {
      for (Symbol declaration : nameInfo.getDeclarations()) {
        boolean canRemove = false;
        if (specializationState == null) {
          canRemove = true;
        } else {
          Node specializableFunction =
            getSpecializableFunctionFromSymbol(declaration);

          if (specializableFunction != null) {
            specializationState.reportRemovedFunction(
                specializableFunction, null);
            canRemove = true;
          }
        }
        if (canRemove) {
          // Code-change reporting happens at the remove methods
          declaration.remove(compiler);
        }
      }
      logger.fine("Removed unused prototype property: " + nameInfo.name);
    }
  }
}
 
开发者ID:nicks,项目名称:closure-compiler-old,代码行数:31,代码来源:RemoveUnusedPrototypeProperties.java


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