List of usage examples for org.eclipse.jdt.core.dom VariableDeclarationExpression setSourceRange
public final void setSourceRange(int startPosition, int length)
From source file:org.eclipse.jdt.core.dom.ASTConverter.java
License:Open Source License
public ForStatement convert(org.eclipse.jdt.internal.compiler.ast.ForStatement statement) { ForStatement forStatement = new ForStatement(this.ast); forStatement.setSourceRange(statement.sourceStart, statement.sourceEnd - statement.sourceStart + 1); org.eclipse.jdt.internal.compiler.ast.Statement[] initializations = statement.initializations; if (initializations != null) { // we know that we have at least one initialization if (initializations[0] instanceof org.eclipse.jdt.internal.compiler.ast.LocalDeclaration) { org.eclipse.jdt.internal.compiler.ast.LocalDeclaration initialization = (org.eclipse.jdt.internal.compiler.ast.LocalDeclaration) initializations[0]; VariableDeclarationExpression variableDeclarationExpression = convertToVariableDeclarationExpression( initialization);/* w w w . j a va 2 s . co m*/ int initializationsLength = initializations.length; for (int i = 1; i < initializationsLength; i++) { initialization = (org.eclipse.jdt.internal.compiler.ast.LocalDeclaration) initializations[i]; variableDeclarationExpression.fragments() .add(convertToVariableDeclarationFragment(initialization)); } if (initializationsLength != 1) { int start = variableDeclarationExpression.getStartPosition(); int end = ((org.eclipse.jdt.internal.compiler.ast.LocalDeclaration) initializations[initializationsLength - 1]).declarationSourceEnd; variableDeclarationExpression.setSourceRange(start, end - start + 1); } forStatement.initializers().add(variableDeclarationExpression); } else { int initializationsLength = initializations.length; for (int i = 0; i < initializationsLength; i++) { Expression initializer = convertToExpression(initializations[i]); if (initializer != null) { forStatement.initializers().add(initializer); } else { forStatement.setFlags(forStatement.getFlags() | ASTNode.MALFORMED); } } } } if (statement.condition != null) { forStatement.setExpression(convert(statement.condition)); } org.eclipse.jdt.internal.compiler.ast.Statement[] increments = statement.increments; if (increments != null) { int incrementsLength = increments.length; for (int i = 0; i < incrementsLength; i++) { forStatement.updaters().add(convertToExpression(increments[i])); } } final Statement action = convert(statement.action); if (action == null) return null; forStatement.setBody(action); return forStatement; }
From source file:org.eclipse.jdt.core.dom.ASTConverter.java
License:Open Source License
public TryStatement convert(org.eclipse.jdt.internal.compiler.ast.TryStatement statement) { final TryStatement tryStatement = new TryStatement(this.ast); tryStatement.setSourceRange(statement.sourceStart, statement.sourceEnd - statement.sourceStart + 1); LocalDeclaration[] localDeclarations = statement.resources; int resourcesLength = localDeclarations.length; if (resourcesLength > 0) { switch (this.ast.apiLevel) { case AST.JLS2_INTERNAL: case AST.JLS3: // convert it to a simple try statement tagged as MALFORMED tryStatement.setFlags(tryStatement.getFlags() | ASTNode.MALFORMED); break; default:/*from w ww . j a va 2 s. c o m*/ for (int i = 0; i < resourcesLength; i++) { LocalDeclaration localDeclaration = localDeclarations[i]; VariableDeclarationExpression variableDeclarationExpression = convertToVariableDeclarationExpression( localDeclaration); int start = variableDeclarationExpression.getStartPosition(); int end = localDeclaration.declarationEnd; variableDeclarationExpression.setSourceRange(start, end - start + 1); tryStatement.resources().add(variableDeclarationExpression); } } } tryStatement.setBody(convert(statement.tryBlock)); org.eclipse.jdt.internal.compiler.ast.Argument[] catchArguments = statement.catchArguments; if (catchArguments != null) { int catchArgumentsLength = catchArguments.length; org.eclipse.jdt.internal.compiler.ast.Block[] catchBlocks = statement.catchBlocks; int start = statement.tryBlock.sourceEnd; for (int i = 0; i < catchArgumentsLength; i++) { CatchClause catchClause = new CatchClause(this.ast); int catchClauseSourceStart = retrieveStartingCatchPosition(start, catchArguments[i].sourceStart); catchClause.setSourceRange(catchClauseSourceStart, catchBlocks[i].sourceEnd - catchClauseSourceStart + 1); catchClause.setBody(convert(catchBlocks[i])); catchClause.setException(convert(catchArguments[i])); tryStatement.catchClauses().add(catchClause); start = catchBlocks[i].sourceEnd; } } if (statement.finallyBlock != null) { tryStatement.setFinally(convert(statement.finallyBlock)); } return tryStatement; }
From source file:org.eclipse.jdt.core.dom.ASTConverter.java
License:Open Source License
protected VariableDeclarationExpression convertToVariableDeclarationExpression( org.eclipse.jdt.internal.compiler.ast.LocalDeclaration localDeclaration) { final VariableDeclarationFragment variableDeclarationFragment = convertToVariableDeclarationFragment( localDeclaration);//from w ww . j a v a 2 s .c o m final VariableDeclarationExpression variableDeclarationExpression = new VariableDeclarationExpression( this.ast); variableDeclarationExpression.fragments().add(variableDeclarationFragment); if (this.resolveBindings) { recordNodes(variableDeclarationFragment, localDeclaration); } variableDeclarationExpression.setSourceRange(localDeclaration.declarationSourceStart, localDeclaration.declarationSourceEnd - localDeclaration.declarationSourceStart + 1); Type type = convertType(localDeclaration.type); setTypeForVariableDeclarationExpression(variableDeclarationExpression, type, variableDeclarationFragment.getExtraDimensions()); if (localDeclaration.modifiersSourceStart != -1) { setModifiers(variableDeclarationExpression, localDeclaration); } return variableDeclarationExpression; }