本文整理汇总了Java中com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility类的典型用法代码示例。如果您正苦于以下问题:Java VariableVisibility类的具体用法?Java VariableVisibility怎么用?Java VariableVisibility使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
VariableVisibility类属于com.google.javascript.jscomp.VariableVisibilityAnalysis包,在下文中一共展示了VariableVisibility类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testFunctions
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
public void testFunctions() {
String source =
"function global() {\n" +
" function inner() {\n" +
" }\n" +
" function innerCaptured() {\n" +
" (function(){innerCaptured()})()\n" +
" }\n" +
"}\n";
analyze(source);
assertFunctionHasVisibility("global",
VariableVisibility.GLOBAL);
assertFunctionHasVisibility("inner",
VariableVisibility.LOCAL);
assertFunctionHasVisibility("innerCaptured",
VariableVisibility.CAPTURED_LOCAL);
}
示例2: testFunctions
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
public void testFunctions() {
String source =
"function global() {\n" +
" function inner() {\n" +
" }\n" +
" function innerCaptured() {\n" +
" (function(){innerCaptured()})()\n" +
" }\n" +
"}\n";
analyze(source);
assertFunctionHasVisibility("global",
VariableVisibility.GLOBAL);
assertFunctionHasVisibility("inner",
VariableVisibility.LOCAL);
assertFunctionHasVisibility("innerCaptured",
VariableVisibility.CAPTURED_LOCAL);
}
示例3: effectMaskForVariableReference
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
/**
* Calculates the effect mask for a variable reference.
*/
private int effectMaskForVariableReference(Node variableReference) {
Preconditions.checkArgument(NodeUtil.isName(variableReference));
int effectMask = VISIBILITY_LOCATION_NONE;
Node declaringNameNode =
variableUseMap.findDeclaringNameNodeForUse(variableReference);
if (declaringNameNode != null) {
VariableVisibility visibility =
variableVisibilityAnalysis.getVariableVisibility(declaringNameNode);
switch (visibility) {
case LOCAL:
effectMask = LOCAL_VARIABLE_LOCATION_MASK;
break;
case CAPTURED_LOCAL:
effectMask = CAPTURED_LOCAL_VARIABLE_LOCATION_MASK;
break;
case PARAMETER:
// Parameters are considered to be on the heap since they
// can be accessed via the arguments object.
effectMask = HEAP_LOCATION_MASK;
break;
case GLOBAL:
effectMask = GLOBAL_VARIABLE_LOCATION_MASK;
break;
default:
throw new IllegalStateException("Unrecognized variable" +
" visibility: " + visibility);
}
} else {
// Couldn't find a variable for the reference
effectMask = UNKNOWN_LOCATION_MASK;
}
return effectMask;
}
示例4: assertFunctionHasVisibility
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
private void assertFunctionHasVisibility(String functionName,
VariableVisibility visibility) {
Node functionNode = searchForFunction(functionName);
assertNotNull(functionNode);
Node nameNode = functionNode.getFirstChild();
assertEquals(visibility, lastAnalysis.getVariableVisibility(nameNode));
}
示例5: assertLabeledVariableHasVisibility
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
private void assertLabeledVariableHasVisibility(String label,
VariableVisibility visibility) {
Node labeledVariable = searchLabel(label);
Preconditions.checkState(NodeUtil.isVar(labeledVariable));
// VAR
// NAME
Node nameNode = labeledVariable.getFirstChild();
assertEquals(visibility, lastAnalysis.getVariableVisibility(nameNode));
}
示例6: assertIsParameter
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
private void assertIsParameter(String parameterName) {
Node parameterNode = searchForParameter(parameterName);
assertNotNull(parameterNode);
assertEquals(VariableVisibility.PARAMETER,
lastAnalysis.getVariableVisibility(parameterNode));
}
示例7: effectMaskForVariableReference
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
/**
* Calculates the effect mask for a variable reference.
*/
private int effectMaskForVariableReference(Node variableReference) {
Preconditions.checkArgument(variableReference.isName());
int effectMask = VISIBILITY_LOCATION_NONE;
Node declaringNameNode =
variableUseMap.findDeclaringNameNodeForUse(variableReference);
if (declaringNameNode != null) {
VariableVisibility visibility =
variableVisibilityAnalysis.getVariableVisibility(declaringNameNode);
switch (visibility) {
case LOCAL:
effectMask = LOCAL_VARIABLE_LOCATION_MASK;
break;
case CAPTURED_LOCAL:
effectMask = CAPTURED_LOCAL_VARIABLE_LOCATION_MASK;
break;
case PARAMETER:
// Parameters are considered to be on the heap since they
// can be accessed via the arguments object.
effectMask = HEAP_LOCATION_MASK;
break;
case GLOBAL:
effectMask = GLOBAL_VARIABLE_LOCATION_MASK;
break;
default:
throw new IllegalStateException("Unrecognized variable" +
" visibility: " + visibility);
}
} else {
// Couldn't find a variable for the reference
effectMask = UNKNOWN_LOCATION_MASK;
}
return effectMask;
}
示例8: assertFunctionHasVisibility
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
private void assertFunctionHasVisibility(String functionName,
VariableVisibility visibility) {
Node functionNode = searchForFunction(functionName);
assertNotNull(functionNode);
Node nameNode = functionNode.getFirstChild();
assertEquals(visibility, lastAnalysis.getVariableVisibility(nameNode));
}
示例9: assertLabeledVariableHasVisibility
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
private void assertLabeledVariableHasVisibility(String label,
VariableVisibility visibility) {
Node labeledVariable = searchLabel(label);
Preconditions.checkState(labeledVariable.isVar());
// VAR
// NAME
Node nameNode = labeledVariable.getFirstChild();
assertEquals(visibility, lastAnalysis.getVariableVisibility(nameNode));
}
示例10: assertIsParameter
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
private void assertIsParameter(String parameterName) {
Node parameterNode = searchForParameter(parameterName);
assertNotNull(parameterNode);
assertEquals(VariableVisibility.PARAMETER,
lastAnalysis.getVariableVisibility(parameterNode));
}
示例11: effectMaskForVariableReference
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
/**
* Calculates the effect mask for a variable reference.
*/
private int effectMaskForVariableReference(Node variableReference) {
checkArgument(variableReference.isName());
int effectMask = VISIBILITY_LOCATION_NONE;
Node declaringNameNode =
variableUseMap.findDeclaringNameNodeForUse(variableReference);
if (declaringNameNode != null) {
VariableVisibility visibility =
variableVisibilityAnalysis.getVariableVisibility(declaringNameNode);
switch (visibility) {
case LOCAL:
effectMask = LOCAL_VARIABLE_LOCATION_MASK;
break;
case CAPTURED_LOCAL:
effectMask = CAPTURED_LOCAL_VARIABLE_LOCATION_MASK;
break;
case PARAMETER:
// Parameters are considered to be on the heap since they
// can be accessed via the arguments object.
effectMask = HEAP_LOCATION_MASK;
break;
case GLOBAL:
effectMask = GLOBAL_VARIABLE_LOCATION_MASK;
break;
default:
throw new IllegalStateException("Unrecognized variable" +
" visibility: " + visibility);
}
} else {
// Couldn't find a variable for the reference
effectMask = UNKNOWN_LOCATION_MASK;
}
return effectMask;
}
示例12: assertLabeledVariableHasVisibility
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
private void assertLabeledVariableHasVisibility(String label,
VariableVisibility visibility) {
Node labeledVariable = searchLabel(label);
checkState(labeledVariable.isVar());
// VAR
// NAME
Node nameNode = labeledVariable.getFirstChild();
assertEquals(visibility, lastAnalysis.getVariableVisibility(nameNode));
}
示例13: assertIsCapturedLocal
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
private void assertIsCapturedLocal(String label) {
assertLabeledVariableHasVisibility(label,
VariableVisibility.CAPTURED_LOCAL);
}
示例14: assertIsUncapturedLocal
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
private void assertIsUncapturedLocal(String label) {
assertLabeledVariableHasVisibility(label,
VariableVisibility.LOCAL);
}
示例15: assertIsGlobal
import com.google.javascript.jscomp.VariableVisibilityAnalysis.VariableVisibility; //导入依赖的package包/类
private void assertIsGlobal(String label) {
assertLabeledVariableHasVisibility(label,
VariableVisibility.GLOBAL);
}