当前位置: 首页>>代码示例>>Java>>正文


Java Statement.getParent方法代码示例

本文整理汇总了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;
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:21,代码来源:AdvancedQuickAssistProcessor.java

示例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));
    }
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:28,代码来源:ControlStatementsFix.java

示例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);
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:13,代码来源:ExtractToNullCheckedLocalProposal.java

示例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));
		}
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:28,代码来源:ControlStatementsFix.java

示例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


注:本文中的org.eclipse.jdt.core.dom.Statement.getParent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。