List of usage examples for org.eclipse.jdt.core.dom SingleVariableDeclaration MODIFIERS2_PROPERTY
ChildListPropertyDescriptor MODIFIERS2_PROPERTY
To view the source code for org.eclipse.jdt.core.dom SingleVariableDeclaration MODIFIERS2_PROPERTY.
Click Source Link
From source file:com.halware.nakedide.eclipse.ext.annot.ast.AbstractAnnotationEvaluatorOrModifier.java
License:Open Source License
private void addNormalAnnotation(ICompilationUnit compilationUnit, SingleVariableDeclaration declaration, Map<String, Object> memberValues) throws MalformedTreeException, BadLocationException, CoreException { if (annotationExists(declaration)) { return;// w ww.j a va2 s . c o m } AST ast = declaration.getAST(); NormalAnnotation normalAnnotation = AstUtils.createNormalAnnotation(ast, getAnnotationFullyQualifiedName(), memberValues); normalAnnotation.setSourceRange(AstUtils.calculateOffset(declaration).offset, normalAnnotation.getLength()); ImportDeclaration importDeclaration = AstUtils.createImportStatement(ast, getAnnotationFullyQualifiedName()); String source = compilationUnit.getBuffer().getContents(); Document document = new Document(source); ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setSource(compilationUnit); ASTRewrite rewrite = ASTRewrite.create(declaration.getAST()); ListRewrite listRewrite = rewrite.getListRewrite(declaration, SingleVariableDeclaration.MODIFIERS2_PROPERTY); listRewrite.insertFirst(normalAnnotation, null); maintainValuesProperty(normalAnnotation, memberValues, ast, rewrite); TextEdit importEdits = null; ImportRewrite importRewrite = ImportRewrite.create(compilationUnit, true); importRewrite.addImport(importDeclaration.getName().getFullyQualifiedName()); importEdits = importRewrite.rewriteImports(null); Map options = compilationUnit.getJavaProject().getOptions(true); TextEdit edits = rewrite.rewriteAST(document, options); // computation of the new source code edits.apply(document); if (importEdits != null) { importEdits.apply(document); } String newSource = document.get(); // update of the compilation unit compilationUnit.getBuffer().setContents(newSource); }
From source file:com.halware.nakedide.eclipse.ext.annot.utils.AstUtils.java
License:Open Source License
public static void rewriteAddFirst(ICompilationUnit compilationUnit, SingleVariableDeclaration declaration, Annotation annotation, ImportDeclaration importDeclaration) throws MalformedTreeException, BadLocationException, CoreException { String source = compilationUnit.getBuffer().getContents(); Document document = new Document(source); ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setSource(compilationUnit);// w w w. j ava 2s. c o m ASTRewrite rewrite = ASTRewrite.create(declaration.getAST()); ListRewrite listRewrite = rewrite.getListRewrite(declaration, SingleVariableDeclaration.MODIFIERS2_PROPERTY); listRewrite.insertFirst(annotation, null); TextEdit importEdits = null; if (importDeclaration != null) { ImportRewrite importRewrite = ImportRewrite.create(compilationUnit, true); importRewrite.addImport(importDeclaration.getName().getFullyQualifiedName()); importEdits = importRewrite.rewriteImports(null); } Map options = compilationUnit.getJavaProject().getOptions(true); TextEdit edits = rewrite.rewriteAST(document, options); // computation of the new source code edits.apply(document); if (importEdits != null) { importEdits.apply(document); } String newSource = document.get(); // update of the compilation unit compilationUnit.getBuffer().setContents(newSource); }
From source file:edu.umd.cs.findbugs.plugin.eclipse.quickfix.CreateDoPrivilegedBlockResolution.java
License:Open Source License
protected void updateMethodParams(ASTRewrite rewrite, Set<String> variables, List<?> params) { Assert.isNotNull(rewrite);/*from w ww. j av a2 s. c o m*/ Assert.isNotNull(variables); Assert.isNotNull(params); for (Object paramObj : params) { SingleVariableDeclaration param = (SingleVariableDeclaration) paramObj; if (variables.contains(param.getName().getFullyQualifiedName())) { ListRewrite listRewrite = rewrite.getListRewrite(param, SingleVariableDeclaration.MODIFIERS2_PROPERTY); listRewrite.insertLast(rewrite.getAST().newModifier(ModifierKeyword.FINAL_KEYWORD), null); } } }
From source file:edu.umd.cs.findbugs.quickfix.resolution.CreateDoPrivilegedBlockResolution.java
License:Open Source License
protected void updateMethodParams(ASTRewrite rewrite, Set<String> variables, List<?> params) { assert rewrite != null; assert variables != null; assert params != null; for (Object paramObj : params) { SingleVariableDeclaration param = (SingleVariableDeclaration) paramObj; if (variables.contains(param.getName().getFullyQualifiedName())) { ListRewrite listRewrite = rewrite.getListRewrite(param, SingleVariableDeclaration.MODIFIERS2_PROPERTY); listRewrite.insertLast(rewrite.getAST().newModifier(ModifierKeyword.FINAL_KEYWORD), null); }/*from ww w. j av a2 s . com*/ } }
From source file:org.moe.natjgen.MethodEditor.java
License:Apache License
@SuppressWarnings("unchecked") public void setArgument(int idx, String arg_name, Type type, TypeResolver resolver) throws GeneratorException { editLock();/*from ww w .j av a2 s . c o m*/ ListRewrite mlrw = getRewrite().getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY); List<SingleVariableDeclaration> list = (List<SingleVariableDeclaration>) mlrw.getRewrittenList(); SingleVariableDeclaration svd = list.get(idx); SimpleName property = (SimpleName) getRewrite().get(svd, SingleVariableDeclaration.NAME_PROPERTY); if (property == null || !property.getFullyQualifiedName().equals(arg_name)) { getRewrite().set(svd, SingleVariableDeclaration.NAME_PROPERTY, getAST().newName(arg_name), getEditGroup()); } ModifierEditor argmod = new ModifierEditor(getManager(), svd, SingleVariableDeclaration.MODIFIERS2_PROPERTY, true); resolver.resolve(getManager(), svd, SingleVariableDeclaration.TYPE_PROPERTY, argmod, type, true); argmod.close(); // Add uncertain descriptor UncertainDescriptor udesc = argmod.getUncertainDescriptor(); if (udesc != null) { uncertains.add(new UncertainElem(Integer.toString(idx), udesc)); } }
From source file:org.springframework.ide.eclipse.quickfix.jdt.proposals.AddPathVariableCompletionProposal.java
License:Open Source License
@Override protected ASTRewrite getRewrite() throws CoreException { CompilationUnit astRoot = ASTResolving.findParentCompilationUnit(methodDecl); final ASTRewrite astRewrite = ASTRewrite.create(astRoot.getAST()); AST ast = astRewrite.getAST();// w w w. java 2s . co m String importName = PathVariable.class.getCanonicalName(); if (!ProposalCalculatorUtil.containsImport(getCompilationUnit(), importName)) { ImportRewrite importRewrite = createImportRewrite(astRoot); importRewrite.addImport(importName); } SingleMemberAnnotation annotation = ast.newSingleMemberAnnotation(); annotation.setTypeName(ast.newSimpleName("PathVariable")); StringLiteral pathVariableName = ast.newStringLiteral(); pathVariableName.setLiteralValue(variable.getVariableName()); annotation.setValue(pathVariableName); astRewrite.getListRewrite(param, SingleVariableDeclaration.MODIFIERS2_PROPERTY).insertFirst(annotation, null); final ITrackedNodePosition literalPosition = astRewrite.track(variable.getNode()); addLinkedPosition(new ITrackedNodePosition() { public int getStartPosition() { return literalPosition.getStartPosition() + variable.getOffsetFromNode(); } public int getLength() { return variable.getVariableName().length(); } }, true, "PathVariable"); addLinkedPosition(new StringLiteralTrackedPosition(astRewrite.track(pathVariableName)), false, "PathVariable"); return astRewrite; }
From source file:org.springframework.ide.eclipse.quickfix.jdt.proposals.AddPathVariableParameterCompletionProposal.java
License:Open Source License
@Override protected ASTRewrite getRewrite() throws CoreException { CompilationUnit astRoot = ASTResolving.findParentCompilationUnit(methodDecl); ASTRewrite astRewrite = ASTRewrite.create(astRoot.getAST()); AST ast = astRewrite.getAST();//w ww .j a v a 2 s .c o m String importName = PathVariable.class.getCanonicalName(); if (!ProposalCalculatorUtil.containsImport(getCompilationUnit(), importName)) { ImportRewrite importRewrite = createImportRewrite(astRoot); importRewrite.addImport(importName); } addLinkedPosition(new ITrackedNodePosition() { public int getStartPosition() { return variable.getOffset(); } public int getLength() { return variable.getVariableName().length(); } }, true, "variableName"); SingleVariableDeclaration paramDecl = ast.newSingleVariableDeclaration(); SimpleType variableType = ast.newSimpleType(ast.newSimpleName("String")); paramDecl.setType(variableType); addLinkedPosition(astRewrite.track(variableType), false, "variableType"); SimpleName variableName = ast.newSimpleName(variable.getVariableName()); paramDecl.setName(variableName); addLinkedPosition(astRewrite.track(variableName), false, "variableName"); SingleMemberAnnotation annotation = ast.newSingleMemberAnnotation(); annotation.setTypeName(ast.newSimpleName("PathVariable")); StringLiteral pathVariableName = ast.newStringLiteral(); pathVariableName.setLiteralValue(variable.getVariableName()); annotation.setValue(pathVariableName); addLinkedPosition(new StringLiteralTrackedPosition(astRewrite.track(pathVariableName)), false, "variableName"); ListRewrite listRewrite = astRewrite.getListRewrite(paramDecl, SingleVariableDeclaration.MODIFIERS2_PROPERTY); listRewrite.insertFirst(annotation, null); listRewrite = astRewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY); listRewrite.insertLast(paramDecl, null); return astRewrite; }
From source file:org.springframework.ide.eclipse.quickfix.jdt.proposals.AddQualiferToMethodParamCompletionProposal.java
License:Open Source License
private SingleMemberAnnotation createAnnotation(SingleVariableDeclaration decl, String qualifiedName, String simpleName, CompilationUnit astRoot, AST ast, ASTRewrite astRewrite, ImportRewrite importRewrite, boolean multiple, int pos) { if (!ProposalCalculatorUtil.containsImport(getCompilationUnit(), qualifiedName)) { importRewrite.addImport(qualifiedName); }//from ww w .j a v a2s . com SingleMemberAnnotation annotation = ast.newSingleMemberAnnotation(); annotation.setTypeName(ast.newSimpleName(simpleName)); StringLiteral literal = ast.newStringLiteral(); // literal.setLiteralValue(qualifier); annotation.setValue(literal); setTrackPosition(new StringLiteralTrackedPosition(astRewrite.track(literal))); ChildListPropertyDescriptor property; property = SingleVariableDeclaration.MODIFIERS2_PROPERTY; // if (precedingNode != null) { // astRewrite.getListRewrite(decl, property).insertAfter(annotation, // precedingNode, null); // } // else { astRewrite.getListRewrite(decl, property).insertLast(annotation, null); // } if (multiple) { addLinkedPosition(new StringLiteralTrackedPosition(astRewrite.track(literal)), pos == 0, "Qualifier " + pos); } return annotation; }
From source file:org.springframework.ide.eclipse.quickfix.jdt.proposals.AddRequestMappingParamCompletionProposal.java
License:Open Source License
@Override protected ASTRewrite getRewrite() throws CoreException { CompilationUnit astRoot = ASTResolving.findParentCompilationUnit(param); ASTRewrite astRewrite = ASTRewrite.create(astRoot.getAST()); AST ast = astRewrite.getAST();/*from w w w .ja v a 2 s. co m*/ String importName = annotationClass.getCanonicalName(); if (!ProposalCalculatorUtil.containsImport(getCompilationUnit(), importName)) { ImportRewrite importRewrite = createImportRewrite(astRoot); importRewrite.addImport(importName); } Annotation annotation; if (annotationClass.equals(PathVariable.class)) { SingleMemberAnnotation sAnnotation = ast.newSingleMemberAnnotation(); StringLiteral paramName = ast.newStringLiteral(); paramName.setLiteralValue(param.getName().getFullyQualifiedName()); sAnnotation.setValue(paramName); addLinkedPosition(new StringLiteralTrackedPosition(astRewrite.track(paramName)), true, "paramValue"); annotation = sAnnotation; } else { annotation = ast.newMarkerAnnotation(); } annotation.setTypeName(ast.newSimpleName(annotationClass.getSimpleName())); astRewrite.getListRewrite(param, SingleVariableDeclaration.MODIFIERS2_PROPERTY).insertFirst(annotation, null); return astRewrite; }
From source file:org.springframework.ide.eclipse.quickfix.jdt.proposals.RequestMappingVariableCompletionProposal.java
License:Open Source License
@Override protected ASTRewrite getRewrite() throws CoreException { AST ast = decl.getAST();/*from ww w .j a v a 2 s .c o m*/ ASTRewrite rewrite = ASTRewrite.create(ast); if (newTemplateString == null || oldTemplate == null) { return rewrite; } boolean isLinked = false; if (param != null && !ProposalCalculatorUtil.hasAnnotation("PathVariable", param)) { String requestMappingTypeName = PathVariable.class.getCanonicalName(); if (!ProposalCalculatorUtil.containsImport(getCompilationUnit(), requestMappingTypeName)) { CompilationUnit astRoot = ASTResolving.findParentCompilationUnit(decl); ImportRewrite importRewrite = createImportRewrite(astRoot); importRewrite.addImport(requestMappingTypeName); } SingleMemberAnnotation annotation = ast.newSingleMemberAnnotation(); annotation.setTypeName(ast.newSimpleName("PathVariable")); StringLiteral pathVariableName = ast.newStringLiteral(); pathVariableName.setLiteralValue(variableName); ITrackedNodePosition trackPathVariable = rewrite.track(pathVariableName); addLinkedPosition(new StringLiteralTrackedPosition(trackPathVariable), true, "PathVariable"); annotation.setValue(pathVariableName); isLinked = true; ChildListPropertyDescriptor property; property = SingleVariableDeclaration.MODIFIERS2_PROPERTY; rewrite.getListRewrite(param, property).insertLast(annotation, null); } StringLiteral newTemplate = ast.newStringLiteral(); newTemplate.setLiteralValue(newTemplateString); ITrackedNodePosition trackTemplateVariable = rewrite.track(newTemplate); rewrite.replace(oldTemplate, newTemplate, null); if (isLinked) { addLinkedPosition(new StringLiteralTrackedPosition(trackTemplateVariable, cursorOffset, variableName.length(), false), false, "PathVariable"); } else { setTrackPosition(new StringLiteralTrackedPosition(trackTemplateVariable, cursorOffset + variableName.length(), 0, true)); } return rewrite; }