List of usage examples for org.eclipse.jdt.core.dom Statement setStructuralProperty
public final void setStructuralProperty(StructuralPropertyDescriptor property, Object value)
From source file:de.ovgu.cide.export.physical.ahead.JakHookMethodHelper.java
License:Open Source License
private void createRefinement() { refinement = createHookMethodSkeleton(); List<Statement> statementList = refinement.getBody().statements(); for (Statement stmt : statements) { Statement copyStmt = copyStatement(stmt); if (hasSubtreeRuleException && subtreeRuleExceptionParent == stmt) { assert returnValues.size() <= 1; Formal formal = null;/*from w w w. java 2s .c o m*/ if (returnValues.size() == 1) formal = returnValues.get(0); Statement replacement = JakFeatureRefactorer.createSuperCall(refinement, ast, false, formal); /* * we place the supercall at the old position where currently * the placeholder is located */ if (subtreeRuleExceptionIsBlock) { Block b = ast.newBlock(); b.statements().add(replacement); replacement = b; } StructuralPropertyDescriptor prop = exceptionPlaceholder.getLocationInParent(); if (prop.isSimpleProperty() || prop.isChildProperty()) { copyStmt.setStructuralProperty(prop, replacement); } else if (prop.isChildListProperty()) { assert false; } } statementList.add(copyStmt); } if (subtreeRuleException == null) statementList.add(JakFeatureRefactorer.createSuperCall(refinement, ast, true, null)); else appendReturnStatement(refinement.getBody()); }