本文整理汇总了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();
}
}
示例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;
}
示例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();
}
}
示例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;
}
}
示例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();
}
}
示例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;
}
}
示例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);
}
}
}