/** * Builds a new {@link FieldDeclaration} instance. * * @param type * the declared variable type * @param fragment * the variable declaration fragment * @return a new field declaration */ public FieldDeclaration declareField(Type type, VariableDeclarationFragment fragment) { final FieldDeclaration fd = ast.newFieldDeclaration(fragment); fd.setType(type); return fd; }
public FieldImpl(final O parent) { init(parent); this.fragment = ast.newVariableDeclarationFragment(); this.field = ast.newFieldDeclaration(this.fragment); }
public FieldImpl(final O parent) { this.parent = parent; this.cu = (CompilationUnit) parent.getInternal(); this.ast = cu.getAST(); this.fragment = ast.newVariableDeclarationFragment(); this.field = ast.newFieldDeclaration(this.fragment); }
public FieldDeclaration createInjectableField(String type, String name) { VariableDeclarationFragment fragment = ast.newVariableDeclarationFragment(); fragment.setName(ast.newSimpleName(name)); FieldDeclaration field = ast.newFieldDeclaration(fragment); field.setType(createSimpleType(type)); field.modifiers().add(createMarkerAnnotation("In")); List<Modifier> modifiers = field.modifiers(); modifiers.add(ast.newModifier(Modifier.ModifierKeyword.PRIVATE_KEYWORD)); return field; }
private void createServiceFields(final TypeBuilder builder, final Context context, final ConnectorType connectorType) { for (final Map.Entry<String, Map<String, List<Topic>>> entry : context.getServiceDefinitions().getVersions().entrySet()) { final String version = Names.makeVersion(entry.getKey()); for (final Map.Entry<String, List<Topic>> serviceEntry : entry.getValue().entrySet()) { final String serviceName = Names.toCamelCase(serviceEntry.getKey(), false); final String serviceInstanceField = version + Names.toCamelCase(serviceName, true); final String serviceTypeName = makeServiceType(context, connectorType, version, serviceEntry, true); builder.createBodyContent((ast, cu) -> { final VariableDeclarationFragment vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName(serviceInstanceField)); final FieldDeclaration fd = ast.newFieldDeclaration(vdf); fd.setType(ast.newSimpleType(ast.newName(serviceTypeName))); JDTHelper.make(fd, ModifierKeyword.PRIVATE_KEYWORD, ModifierKeyword.FINAL_KEYWORD); return Collections.singletonList(fd); }); } } }
private FieldDeclaration getNewFinalStringFieldDeclaration(String name) { VariableDeclarationFragment variableDeclarationFragment= fAst.newVariableDeclarationFragment(); variableDeclarationFragment.setName(fAst.newSimpleName(name)); FieldDeclaration fieldDeclaration= fAst.newFieldDeclaration(variableDeclarationFragment); fieldDeclaration.setType(fAst.newSimpleType(fAst.newSimpleName("String"))); //$NON-NLS-1$ fieldDeclaration.modifiers().add(fAst.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD)); fieldDeclaration.modifiers().add(fAst.newModifier(Modifier.ModifierKeyword.STATIC_KEYWORD)); return fieldDeclaration; }
private FieldDeclaration getNewFinalStringFieldDeclaration(String name) { VariableDeclarationFragment variableDeclarationFragment= fAst.newVariableDeclarationFragment(); variableDeclarationFragment.setName(fAst.newSimpleName(name)); FieldDeclaration fieldDeclaration= fAst.newFieldDeclaration(variableDeclarationFragment); fieldDeclaration.setType(fAst.newSimpleType(fAst.newSimpleName("String"))); //$NON-NLS-1$ fieldDeclaration.modifiers().add(fAst.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD)); fieldDeclaration.modifiers().add(fAst.newModifier(Modifier.ModifierKeyword.STATIC_KEYWORD)); return fieldDeclaration; }
private FieldDeclaration getNewFinalStringFieldDeclaration(String name) { VariableDeclarationFragment variableDeclarationFragment= fAst.newVariableDeclarationFragment(); variableDeclarationFragment.setName(fAst.newSimpleName(name)); FieldDeclaration fieldDeclaration= fAst.newFieldDeclaration(variableDeclarationFragment); fieldDeclaration.setType(fAst.newSimpleType(fAst.newSimpleName("String"))); //$NON-NLS-1$ fieldDeclaration.modifiers().add(fAst.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD)); fieldDeclaration.modifiers().add(fAst.newModifier(Modifier.ModifierKeyword.STATIC_KEYWORD)); return fieldDeclaration; }
public static FieldDeclaration createField(final AST ast, final Type type, final String name, final Expression initializer, final ModifierKeyword... keywords) { final VariableDeclarationFragment vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName(name)); if (initializer != null) { vdf.setInitializer(initializer); } final FieldDeclaration fd = ast.newFieldDeclaration(vdf); make(fd, keywords); fd.setType(type); return fd; }
/** * Add field declaration. * * @param name field name * @param type field type * @return field builder */ public FieldBuilder addField(String name, Type type) { VariableDeclarationFragment vfrag = getAST().newVariableDeclarationFragment(); vfrag.setName(getAST().newSimpleName(name)); FieldDeclaration fdecl = getAST().newFieldDeclaration(vfrag); fdecl.setType(type); m_fields.add(fdecl); return new FieldBuilder(this, fdecl); }
private void addEnclosingInstanceDeclaration(final AbstractTypeDeclaration declaration, final ASTRewrite rewrite) throws CoreException { Assert.isNotNull(declaration); Assert.isNotNull(rewrite); final AST ast= declaration.getAST(); final VariableDeclarationFragment fragment= ast.newVariableDeclarationFragment(); fragment.setName(ast.newSimpleName(fEnclosingInstanceFieldName)); final FieldDeclaration newField= ast.newFieldDeclaration(fragment); newField.modifiers().addAll(ASTNodeFactory.newModifiers(ast, getEnclosingInstanceAccessModifiers())); newField.setType(createEnclosingType(ast)); final String comment= CodeGeneration.getFieldComment(fType.getCompilationUnit(), declaration.getName().getIdentifier(), fEnclosingInstanceFieldName, StubUtility.getLineDelimiterUsed(fType.getJavaProject())); if (comment != null && comment.length() > 0) { final Javadoc doc= (Javadoc) rewrite.createStringPlaceholder(comment, ASTNode.JAVADOC); newField.setJavadoc(doc); } rewrite.getListRewrite(declaration, declaration.getBodyDeclarationsProperty()).insertFirst(newField, null); }
private void addEnclosingInstanceDeclaration(final AbstractTypeDeclaration declaration, final ASTRewrite rewrite) throws CoreException { Assert.isNotNull(declaration); Assert.isNotNull(rewrite); final AST ast= declaration.getAST(); final VariableDeclarationFragment fragment= ast.newVariableDeclarationFragment(); fragment.setName(ast.newSimpleName(fEnclosingInstanceFieldName)); final FieldDeclaration newField= ast.newFieldDeclaration(fragment); newField.modifiers().addAll(ASTNodeFactory.newModifiers(ast, getEnclosingInstanceAccessModifiers())); newField.setType(createEnclosingType(ast)); final String comment= CodeGeneration.getFieldComment(fType.getCompilationUnit(), declaration.getName().getIdentifier(), fEnclosingInstanceFieldName, StubUtility.getLineDelimiterUsed(fType.getJavaProject())); if (comment != null && comment.length() > 0) { final Javadoc doc= (Javadoc) rewrite.createStringPlaceholder(comment, ASTNode.JAVADOC); newField.setJavadoc(doc); } rewrite.getListRewrite(declaration, declaration.getBodyDeclarationsProperty()).insertFirst(newField, null); }
private void addEnclosingInstanceDeclaration(final AbstractTypeDeclaration declaration, final ASTRewrite rewrite) throws CoreException { Assert.isNotNull(declaration); Assert.isNotNull(rewrite); final AST ast= declaration.getAST(); final VariableDeclarationFragment fragment= ast.newVariableDeclarationFragment(); fragment.setName(ast.newSimpleName(fEnclosingInstanceFieldName)); final FieldDeclaration newField= ast.newFieldDeclaration(fragment); newField.modifiers().addAll(ASTNodeFactory.newModifiers(ast, getEnclosingInstanceAccessModifiers())); newField.setType(createEnclosingType(ast)); final String comment= CodeGeneration.getFieldComment(fType.getCompilationUnit(), declaration.getName().getIdentifier(), fEnclosingInstanceFieldName, StubUtility.getLineDelimiterUsed(fType.getJavaProject())); if (comment != null && comment.length() > 0) { final Javadoc doc= (Javadoc) rewrite.createStringPlaceholder(comment, ASTNode.JAVADOC); newField.setJavadoc(doc); } rewrite.getListRewrite(declaration, declaration.getBodyDeclarationsProperty()).insertFirst(newField, null); }
public FieldDeclaration createLogger(String loggerName, String loggedClassName) { VariableDeclarationFragment fragment = ast.newVariableDeclarationFragment(); fragment.setName(ast.newSimpleName(loggerName)); MethodInvocation loggerCreation = ast.newMethodInvocation(); loggerCreation.setExpression(ast.newSimpleName("Logger")); loggerCreation.setName(ast.newSimpleName("getLogger")); TypeLiteral typeLiteral = ast.newTypeLiteral(); typeLiteral.setType(createSimpleType(loggedClassName)); loggerCreation.arguments().add(typeLiteral); fragment.setInitializer(loggerCreation); FieldDeclaration loggerDecl = ast.newFieldDeclaration(fragment); loggerDecl.setType(createSimpleType("Logger")); loggerDecl.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PRIVATE_KEYWORD)); loggerDecl.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.STATIC_KEYWORD)); return loggerDecl; }
private TextEditGroup makeDeclarationPrivate(ASTRewrite rewriter, FieldDeclaration decl) { AST ast= rewriter.getAST(); TextEditGroup description= new TextEditGroup(RefactoringCoreMessages.SelfEncapsulateField_change_visibility); if (decl.fragments().size() > 1) { //TODO: doesn't work for cases like this: int field1, field2= field1, field3= field2; // keeping refs to field rewriter.remove(fFieldDeclaration, description); ChildListPropertyDescriptor descriptor= getBodyDeclarationsProperty(decl.getParent()); VariableDeclarationFragment newField= (VariableDeclarationFragment) rewriter.createCopyTarget(fFieldDeclaration); FieldDeclaration fieldDecl= ast.newFieldDeclaration(newField); fieldDecl.setType((Type)rewriter.createCopyTarget(decl.getType())); fieldDecl.modifiers().addAll(ASTNodeFactory.newModifiers(ast, Modifier.PRIVATE)); rewriter.getListRewrite(decl.getParent(), descriptor).insertAfter(fieldDecl, decl, description); } else { ModifierRewrite.create(rewriter, decl).setVisibility(Modifier.PRIVATE, description); } return description; }
private FieldDeclaration createNewFieldDeclaration(ASTRewrite rewrite) { AST ast= getAST(); VariableDeclarationFragment fragment= ast.newVariableDeclarationFragment(); SimpleName variableName= ast.newSimpleName(fFieldName); fragment.setName(variableName); addLinkedName(rewrite, variableName, false); List<Dimension> extraDimensions= DimensionRewrite.copyDimensions(fTempDeclarationNode.extraDimensions(), rewrite); fragment.extraDimensions().addAll(extraDimensions); if (fInitializeIn == INITIALIZE_IN_FIELD && tempHasInitializer()){ Expression initializer= (Expression)rewrite.createCopyTarget(getTempInitializer()); fragment.setInitializer(initializer); } FieldDeclaration fieldDeclaration= ast.newFieldDeclaration(fragment); VariableDeclarationStatement vds= getTempDeclarationStatement(); Type type= (Type)rewrite.createCopyTarget(vds.getType()); fieldDeclaration.setType(type); fieldDeclaration.modifiers().addAll(ASTNodeFactory.newModifiers(ast, getModifiers())); return fieldDeclaration; }
private FieldDeclaration createNewFieldDeclaration(ASTRewrite rewrite) { AST ast= getAST(); VariableDeclarationFragment fragment= ast.newVariableDeclarationFragment(); SimpleName variableName= ast.newSimpleName(fFieldName); fragment.setName(variableName); addLinkedName(rewrite, variableName, false); List<Dimension> extraDimensions= DimensionRewrite.copyDimensions(fTempDeclarationNode.extraDimensions(), rewrite); fragment.extraDimensions().addAll(extraDimensions); if (fInitializeIn == INITIALIZE_IN_FIELD && tempHasInitializer()){ Expression initializer= (Expression)rewrite.createCopyTarget(getTempInitializer()); fragment.setInitializer(initializer); } FieldDeclaration fieldDeclaration= ast.newFieldDeclaration(fragment); VariableDeclarationStatement vds= getTempDeclarationStatement(); Type type= (Type)rewrite.createCopyTarget(vds.getType()); fieldDeclaration.setType(type); fieldDeclaration.modifiers().addAll(ASTNodeFactory.newModifiers(ast, getModifiers())); return fieldDeclaration; }
private void createFieldsForAccessedLocals(CompilationUnitRewrite rewrite, IVariableBinding[] varBindings, String[] fieldNames, List<BodyDeclaration> newBodyDeclarations) throws CoreException { final ImportRewrite importRewrite= rewrite.getImportRewrite(); final ASTRewrite astRewrite= rewrite.getASTRewrite(); final AST ast= astRewrite.getAST(); for (int i= 0; i < varBindings.length; i++) { VariableDeclarationFragment fragment= ast.newVariableDeclarationFragment(); fragment.setInitializer(null); fragment.setName(ast.newSimpleName(fieldNames[i])); FieldDeclaration field= ast.newFieldDeclaration(fragment); ITypeBinding varType= varBindings[i].getType(); field.setType(importRewrite.addImport(varType, ast)); field.modifiers().addAll(ASTNodeFactory.newModifiers(ast, Modifier.PRIVATE | Modifier.FINAL)); if (doAddComments()) { String string= CodeGeneration.getFieldComment(rewrite.getCu(), varType.getName(), fieldNames[i], StubUtility.getLineDelimiterUsed(fCu)); if (string != null) { Javadoc javadoc= (Javadoc) astRewrite.createStringPlaceholder(string, ASTNode.JAVADOC); field.setJavadoc(javadoc); } } newBodyDeclarations.add(field); addLinkedPosition(KEY_FIELD_NAME_EXT + i, fragment.getName(), astRewrite, false); } }
private FieldDeclaration createNewFieldDeclaration(ASTRewrite rewrite) { AST ast= getAST(); VariableDeclarationFragment fragment= ast.newVariableDeclarationFragment(); SimpleName variableName= ast.newSimpleName(fFieldName); fragment.setName(variableName); addLinkedName(rewrite, variableName, false); fragment.setExtraDimensions(fTempDeclarationNode.getExtraDimensions()); if (fInitializeIn == INITIALIZE_IN_FIELD && tempHasInitializer()){ Expression initializer= (Expression)rewrite.createCopyTarget(getTempInitializer()); fragment.setInitializer(initializer); } FieldDeclaration fieldDeclaration= ast.newFieldDeclaration(fragment); VariableDeclarationStatement vds= getTempDeclarationStatement(); Type type= (Type)rewrite.createCopyTarget(vds.getType()); fieldDeclaration.setType(type); fieldDeclaration.modifiers().addAll(ASTNodeFactory.newModifiers(ast, getModifiers())); return fieldDeclaration; }
private VariableDeclarationFragment addFieldDeclaration(ASTRewrite rewrite, ASTNode newTypeDecl, int modifiers, Expression expression) throws CoreException { if (fExistingFragment != null) { return fExistingFragment; } ChildListPropertyDescriptor property= ASTNodes.getBodyDeclarationsProperty(newTypeDecl); List decls= (List) newTypeDecl.getStructuralProperty(property); AST ast= newTypeDecl.getAST(); String[] varNames= suggestFieldNames(fTypeBinding, expression, modifiers); for (int i= 0; i < varNames.length; i++) { addLinkedPositionProposal(KEY_NAME, varNames[i], null); } String varName= varNames[0]; VariableDeclarationFragment newDeclFrag= ast.newVariableDeclarationFragment(); newDeclFrag.setName(ast.newSimpleName(varName)); FieldDeclaration newDecl= ast.newFieldDeclaration(newDeclFrag); Type type= evaluateType(ast); newDecl.setType(type); newDecl.modifiers().addAll(ASTNodeFactory.newModifiers(ast, modifiers)); ModifierCorrectionSubProcessor.installLinkedVisibilityProposals(getLinkedProposalModel(), rewrite, newDecl.modifiers(), false); int insertIndex= findFieldInsertIndex(decls, fNodeToAssign.getStartPosition()); rewrite.getListRewrite(newTypeDecl, property).insertAt(newDecl, insertIndex, null); return newDeclFrag; }