下面列出了org.eclipse.jdt.core.dom.VariableDeclarationExpression#getParent ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public boolean visit(VariableDeclarationExpression node) {
ASTNode parent = node.getParent();
while(parent != null){
if(parent instanceof Block || parent instanceof ForStatement){
break;
}
parent = parent.getParent();
}
if(parent != null) {
int start = _unit.getLineNumber(node.getStartPosition());
int end = _unit.getLineNumber(parent.getStartPosition() + parent.getLength());
for (Object o : node.fragments()) {
VariableDeclarationFragment vdf = (VariableDeclarationFragment) o;
Pair<String, Type> pair = new Pair<String, Type>(vdf.getName().getFullyQualifiedName(), node.getType());
Pair<Integer, Integer> range = new Pair<Integer, Integer>(start, end);
_tmpVars.put(pair, range);
}
}
return true;
}
@Override
public boolean visit(final VariableDeclarationExpression node) {
final ASTNode parent = node.getParent();
for (final Object fragment : node.fragments()) {
final VariableDeclarationFragment frag = (VariableDeclarationFragment) fragment;
variableScopes.put(parent, new Variable(frag.getName()
.getIdentifier(), node.getType().toString(),
ScopeType.SCOPE_LOCAL));
}
return false;
}
@Override
public boolean visit(final VariableDeclarationExpression node) {
final ASTNode parent = node.getParent();
for (final Object fragment : node.fragments()) {
final VariableDeclarationFragment frag = (VariableDeclarationFragment) fragment;
variableScopes.put(parent, new Variable(frag.getName()
.getIdentifier(), node.getType().toString(),
ScopeType.SCOPE_LOCAL));
}
return false;
}
@Override
public boolean visit(final VariableDeclarationExpression node) {
final ASTNode parent = node.getParent();
for (final Object fragment : node.fragments()) {
final VariableDeclarationFragment frag = (VariableDeclarationFragment) fragment;
variableScopes.put(parent, new Variable(frag.getName()
.getIdentifier(), node.getType().toString(),
ScopeType.SCOPE_LOCAL));
}
return false;
}