本文整理汇总了Java中org.eclipse.jdt.core.dom.Statement.getParent方法的典型用法代码示例。如果您正苦于以下问题:Java Statement.getParent方法的具体用法?Java Statement.getParent怎么用?Java Statement.getParent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.jdt.core.dom.Statement
的用法示例。
在下文中一共展示了Statement.getParent方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: isLastStatementInEnclosingMethodOrLambda
import org.eclipse.jdt.core.dom.Statement; //导入方法依赖的package包/类
private static boolean isLastStatementInEnclosingMethodOrLambda(Statement statement) {
ASTNode currentStructure= statement;
ASTNode currentParent= statement.getParent();
while (!(currentParent instanceof MethodDeclaration || currentParent instanceof LambdaExpression)) {
// should not be in a loop
if (currentParent instanceof ForStatement || currentParent instanceof EnhancedForStatement
|| currentParent instanceof WhileStatement || currentParent instanceof DoStatement) {
return false;
}
if (currentParent instanceof Block) {
Block parentBlock= (Block) currentParent;
if (parentBlock.statements().indexOf(currentStructure) != parentBlock.statements().size() - 1) { // not last statement in the block
return false;
}
}
currentStructure= currentParent;
currentParent= currentParent.getParent();
}
return true;
}
示例2: handle
import org.eclipse.jdt.core.dom.Statement; //导入方法依赖的package包/类
private void handle(Statement body, ChildPropertyDescriptor bodyProperty) {
if ((body.getFlags() & ASTNode.RECOVERED) != 0) return;
Statement parent = (Statement) body.getParent();
if ((parent.getFlags() & ASTNode.RECOVERED) != 0) return;
if (fRemoveUnnecessaryBlocksOnlyWhenReturnOrThrow) {
if (!(body instanceof Block)) {
if (body.getNodeType() != ASTNode.IF_STATEMENT
&& body.getNodeType() != ASTNode.RETURN_STATEMENT
&& body.getNodeType() != ASTNode.THROW_STATEMENT) {
fResult.add(new AddBlockOperation(bodyProperty, body, parent));
}
} else {
if (RemoveBlockOperation.satisfiesCleanUpPrecondition(parent, bodyProperty, true)) {
fResult.add(new RemoveBlockOperation(parent, bodyProperty));
}
}
} else if (fFindControlStatementsWithoutBlock) {
if (!(body instanceof Block)) {
fResult.add(new AddBlockOperation(bodyProperty, body, parent));
}
} else if (fRemoveUnnecessaryBlocks) {
if (RemoveBlockOperation.satisfiesCleanUpPrecondition(parent, bodyProperty, false)) {
fResult.add(new RemoveBlockOperation(parent, bodyProperty));
}
}
}
示例3: create
import org.eclipse.jdt.core.dom.Statement; //导入方法依赖的package包/类
public static RearrangeStrategy create(
Statement origStmt, ASTRewrite rewrite, TextEditGroup group) {
ASTNode parent = origStmt.getParent();
if (parent instanceof Block) {
Block block = (Block) parent;
if (origStmt instanceof VariableDeclarationStatement)
return new ModifyBlockWithLocalDecl(origStmt, block, rewrite, group);
else return new ModifyBlock(origStmt, block, rewrite, group);
} else {
return new ReplaceStatement(origStmt, rewrite, group);
}
}
示例4: handle
import org.eclipse.jdt.core.dom.Statement; //导入方法依赖的package包/类
private void handle(Statement body, ChildPropertyDescriptor bodyProperty) {
if ((body.getFlags() & ASTNode.RECOVERED) != 0)
return;
Statement parent= (Statement)body.getParent();
if ((parent.getFlags() & ASTNode.RECOVERED) != 0)
return;
if (fRemoveUnnecessaryBlocksOnlyWhenReturnOrThrow) {
if (!(body instanceof Block)) {
if (body.getNodeType() != ASTNode.IF_STATEMENT && body.getNodeType() != ASTNode.RETURN_STATEMENT && body.getNodeType() != ASTNode.THROW_STATEMENT) {
fResult.add(new AddBlockOperation(bodyProperty, body, parent));
}
} else {
if (RemoveBlockOperation.satisfiesCleanUpPrecondition(parent, bodyProperty, true)) {
fResult.add(new RemoveBlockOperation(parent, bodyProperty));
}
}
} else if (fFindControlStatementsWithoutBlock) {
if (!(body instanceof Block)) {
fResult.add(new AddBlockOperation(bodyProperty, body, parent));
}
} else if (fRemoveUnnecessaryBlocks) {
if (RemoveBlockOperation.satisfiesCleanUpPrecondition(parent, bodyProperty, false)) {
fResult.add(new RemoveBlockOperation(parent, bodyProperty));
}
}
}
示例5: create
import org.eclipse.jdt.core.dom.Statement; //导入方法依赖的package包/类
public static RearrangeStrategy create(Statement origStmt, ASTRewrite rewrite, TextEditGroup group) {
ASTNode parent = origStmt.getParent();
if (parent instanceof Block) {
Block block= (Block)parent;
if (origStmt instanceof VariableDeclarationStatement)
return new ModifyBlockWithLocalDecl(origStmt, block, rewrite, group);
else
return new ModifyBlock(origStmt, block, rewrite, group);
} else {
return new ReplaceStatement(origStmt, rewrite, group);
}
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:13,代码来源:ExtractToNullCheckedLocalProposal.java