下面列出了org.eclipse.jdt.core.dom.IVariableBinding#getModifiers ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* @since 2.4
*/
protected JvmField createField(StringBuilder typeName, IVariableBinding field) {
JvmField result;
if (!field.isEnumConstant()) {
result = TypesFactory.eINSTANCE.createJvmField();
Object constantValue = field.getConstantValue();
if (constantValue != null) {
result.setConstant(true);
result.setConstantValue(constantValue);
} else {
result.setConstant(false);
}
} else
result = TypesFactory.eINSTANCE.createJvmEnumerationLiteral();
String name = field.getName();
result.internalSetIdentifier(typeName.append(name).toString());
result.setSimpleName(name);
int modifiers = field.getModifiers();
result.setFinal(Modifier.isFinal(modifiers));
result.setStatic(Modifier.isStatic(modifiers));
result.setTransient(Modifier.isTransient(modifiers));
result.setVolatile(Modifier.isVolatile(modifiers));
result.setDeprecated(field.isDeprecated());
setVisibility(result, modifiers);
result.setType(createTypeReference(field.getType()));
createAnnotationValues(field, result);
return result;
}
private boolean testModifier(IVariableBinding curr) {
int modifiers= curr.getModifiers();
int staticFinal= Modifier.STATIC | Modifier.FINAL;
if ((modifiers & staticFinal) == staticFinal) {
return false;
}
if (Modifier.isStatic(modifiers) && !ASTResolving.isInStaticContext(fCallerNode)) {
return false;
}
return true;
}
protected boolean testModifier(IVariableBinding curr) {
int modifiers= curr.getModifiers();
int staticFinal= Modifier.STATIC | Modifier.FINAL;
if ((modifiers & staticFinal) == staticFinal) {
return false;
}
if (Modifier.isStatic(modifiers) && !Modifier.isStatic(getModifiers())) {
return false;
}
return true;
}
public ExpressionStatement createInitializer(ParameterInfo pi, String paramName, CompilationUnitRewrite cuRewrite) {
AST ast= cuRewrite.getAST();
VariableDeclarationFragment fragment= ast.newVariableDeclarationFragment();
fragment.setName(ast.newSimpleName(pi.getOldName()));
fragment.setInitializer(createFieldReadAccess(pi, paramName, ast, cuRewrite.getCu().getJavaProject(), false, null));
VariableDeclarationExpression declaration= ast.newVariableDeclarationExpression(fragment);
IVariableBinding variable= pi.getOldBinding();
declaration.setType(importBinding(pi.getNewTypeBinding(), cuRewrite));
int modifiers= variable.getModifiers();
List<Modifier> newModifiers= ast.newModifiers(modifiers);
declaration.modifiers().addAll(newModifiers);
return ast.newExpressionStatement(declaration);
}
private static boolean canAddFinal(IBinding binding, ASTNode declNode) {
if (!(binding instanceof IVariableBinding))
return false;
IVariableBinding varbinding= (IVariableBinding)binding;
int modifiers= varbinding.getModifiers();
if (Modifier.isFinal(modifiers) || Modifier.isVolatile(modifiers) || Modifier.isTransient(modifiers))
return false;
ASTNode parent= ASTNodes.getParent(declNode, VariableDeclarationExpression.class);
if (parent != null && ((VariableDeclarationExpression)parent).fragments().size() > 1)
return false;
if (varbinding.isField() && !Modifier.isPrivate(modifiers))
return false;
if (varbinding.isParameter()) {
ASTNode varDecl= declNode.getParent();
if (varDecl instanceof MethodDeclaration) {
MethodDeclaration declaration= (MethodDeclaration)varDecl;
if (declaration.getBody() == null)
return false;
}
}
return true;
}
boolean markOccurrencesOfType(IBinding binding) {
if (binding == null)
return false;
int kind= binding.getKind();
if (fMarkTypeOccurrences && kind == IBinding.TYPE)
return true;
if (fMarkMethodOccurrences && kind == IBinding.METHOD)
return true;
if (kind == IBinding.VARIABLE) {
IVariableBinding variableBinding= (IVariableBinding)binding;
if (variableBinding.isField()) {
int constantModifier= IModifierConstants.ACC_STATIC | IModifierConstants.ACC_FINAL;
boolean isConstant= (variableBinding.getModifiers() & constantModifier) == constantModifier;
if (isConstant)
return fMarkConstantOccurrences;
else
return fMarkFieldOccurrences;
}
return fMarkLocalVariableypeOccurrences;
}
return false;
}
private boolean testModifier(IVariableBinding curr) {
int modifiers= curr.getModifiers();
int staticFinal= Modifier.STATIC | Modifier.FINAL;
if ((modifiers & staticFinal) == staticFinal) {
return false;
}
if (Modifier.isStatic(modifiers) && !ASTResolving.isInStaticContext(fCallerNode)) {
return false;
}
return true;
}
protected boolean testModifier(IVariableBinding curr) {
int modifiers= curr.getModifiers();
int staticFinal= Modifier.STATIC | Modifier.FINAL;
if ((modifiers & staticFinal) == staticFinal) {
return false;
}
if (Modifier.isStatic(modifiers) && !Modifier.isStatic(getModifiers())) {
return false;
}
return true;
}
private static ImageDescriptor getFieldImageDescriptor(IVariableBinding binding) {
final int modifiers= binding.getModifiers();
if (Modifier.isPublic(modifiers) || binding.isEnumConstant())
return JavaPluginImages.DESC_FIELD_PUBLIC;
if (Modifier.isProtected(modifiers))
return JavaPluginImages.DESC_FIELD_PROTECTED;
if (Modifier.isPrivate(modifiers))
return JavaPluginImages.DESC_FIELD_PRIVATE;
return JavaPluginImages.DESC_FIELD_DEFAULT;
}
public AbstractVariable(VariableDeclaration name) {
IVariableBinding variableBinding = name.resolveBinding();
this.variableBindingKey = variableBinding.getKey();
this.variableName = variableBinding.getName();
this.variableType = variableBinding.getType().getQualifiedName();
this.isField = variableBinding.isField();
this.isParameter = variableBinding.isParameter();
this.isStatic = (variableBinding.getModifiers() & Modifier.STATIC) != 0;
}
private boolean isNamedConstant(ASTNode node){
if (node instanceof SimpleName){
SimpleName simpleName = (SimpleName) node;
IBinding binding = simpleName.resolveBinding();
if(binding != null && binding.getKind() == IBinding.VARIABLE) {
IVariableBinding variableBinding = (IVariableBinding)binding;
if(variableBinding.isField() && (variableBinding.getModifiers() & Modifier.STATIC) != 0)
return true;
}
}
return false;
}
private boolean isNonStaticField(ASTNode node){
if (node instanceof SimpleName){
SimpleName simpleName = (SimpleName) node;
IBinding binding = simpleName.resolveBinding();
if(binding != null && binding.getKind() == IBinding.VARIABLE) {
IVariableBinding variableBinding = (IVariableBinding)binding;
if(variableBinding.isField() && (variableBinding.getModifiers() & Modifier.STATIC) == 0)
return true;
}
}
return false;
}
public AbstractVariable(IVariableBinding variableBinding) {
this(variableBinding.getKey(), variableBinding.getName(), variableBinding.getType().getQualifiedName(),
variableBinding.isField(), variableBinding.isParameter(), (variableBinding.getModifiers() & Modifier.STATIC) != 0);
}