Java Code Examples for org.eclipse.jdt.core.dom.AST#newClassInstanceCreation()
The following examples show how to use
org.eclipse.jdt.core.dom.AST#newClassInstanceCreation() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ConvertAnonymousToNestedRefactoring.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 6 votes |
private ASTNode createNewClassInstanceCreation(CompilationUnitRewrite rewrite, ITypeBinding[] parameters) { AST ast= fAnonymousInnerClassNode.getAST(); ClassInstanceCreation newClassCreation= ast.newClassInstanceCreation(); newClassCreation.setAnonymousClassDeclaration(null); Type type= null; SimpleName newNameNode= ast.newSimpleName(fClassName); if (parameters.length > 0) { final ParameterizedType parameterized= ast.newParameterizedType(ast.newSimpleType(newNameNode)); for (int index= 0; index < parameters.length; index++) parameterized.typeArguments().add(ast.newSimpleType(ast.newSimpleName(parameters[index].getName()))); type= parameterized; } else type= ast.newSimpleType(newNameNode); newClassCreation.setType(type); copyArguments(rewrite, newClassCreation); addArgumentsForLocalsUsedInInnerClass(newClassCreation); addLinkedPosition(KEY_TYPE_NAME, newNameNode, rewrite.getASTRewrite(), true); return newClassCreation; }
Example 2
Source File: EnsuresPredicateFix.java From CogniCrypt with Eclipse Public License 2.0 | 5 votes |
/** * This method builds a {@link ClassInstanceCreation} object (i.e. "new Ensuerer(varName, predicate") * * @param ast * @param varName * @param predicate * @return */ private ClassInstanceCreation createEnsurerClassInstance(final AST ast, String varName, String predicate) { final ClassInstanceCreation classInstance = ast.newClassInstanceCreation(); classInstance.setType(createAstType(INJAR_CLASS_NAME, ast)); final StringLiteral literalPredicate = ast.newStringLiteral(); literalPredicate.setLiteralValue(predicate); classInstance.arguments().add(ast.newSimpleName(varName)); classInstance.arguments().add(literalPredicate); return classInstance; }
Example 3
Source File: BuildMethodBodyCreatorFragment.java From SparkBuilderGenerator with MIT License | 5 votes |
public Block createBody(AST ast, TypeDeclaration originalType) { ClassInstanceCreation newClassInstanceCreation = ast.newClassInstanceCreation(); newClassInstanceCreation.setType(ast.newSimpleType(ast.newName(originalType.getName().toString()))); newClassInstanceCreation.arguments().add(ast.newThisExpression()); ReturnStatement statement = ast.newReturnStatement(); statement.setExpression(newClassInstanceCreation); Block block = ast.newBlock(); block.statements().add(statement); return block; }
Example 4
Source File: NewBuilderAndWithMethodCallCreationFragment.java From SparkBuilderGenerator with MIT License | 5 votes |
public Block createReturnBlock(AST ast, TypeDeclaration builderType, String withName, String parameterName) { Block builderMethodBlock = ast.newBlock(); ReturnStatement returnStatement = ast.newReturnStatement(); ClassInstanceCreation newClassInstanceCreation = ast.newClassInstanceCreation(); newClassInstanceCreation.setType(ast.newSimpleType(ast.newName(builderType.getName().toString()))); MethodInvocation withMethodInvocation = ast.newMethodInvocation(); withMethodInvocation.setExpression(newClassInstanceCreation); withMethodInvocation.setName(ast.newSimpleName(withName)); withMethodInvocation.arguments().add(ast.newSimpleName(parameterName)); returnStatement.setExpression(withMethodInvocation); builderMethodBlock.statements().add(returnStatement); return builderMethodBlock; }
Example 5
Source File: BlockWithNewBuilderCreationFragment.java From SparkBuilderGenerator with MIT License | 5 votes |
public Block createReturnBlock(AST ast, TypeDeclaration builderType) { Block builderMethodBlock = ast.newBlock(); ReturnStatement returnStatement = ast.newReturnStatement(); ClassInstanceCreation newClassInstanceCreation = ast.newClassInstanceCreation(); newClassInstanceCreation.setType(ast.newSimpleType(ast.newName(builderType.getName().toString()))); returnStatement.setExpression(newClassInstanceCreation); builderMethodBlock.statements().add(returnStatement); return builderMethodBlock; }
Example 6
Source File: LocalCorrectionsSubProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 5 votes |
private static ThrowStatement getThrowForUnsupportedCase(Expression switchExpr, AST ast, ASTRewrite astRewrite) { ThrowStatement newThrowStatement = ast.newThrowStatement(); ClassInstanceCreation newCic = ast.newClassInstanceCreation(); newCic.setType(ast.newSimpleType(ast.newSimpleName("UnsupportedOperationException"))); //$NON-NLS-1$ InfixExpression newInfixExpr = ast.newInfixExpression(); StringLiteral newStringLiteral = ast.newStringLiteral(); newStringLiteral.setLiteralValue("Unimplemented case: "); //$NON-NLS-1$ newInfixExpr.setLeftOperand(newStringLiteral); newInfixExpr.setOperator(InfixExpression.Operator.PLUS); newInfixExpr.setRightOperand((Expression) astRewrite.createCopyTarget(switchExpr)); newCic.arguments().add(newInfixExpr); newThrowStatement.setExpression(newCic); return newThrowStatement; }
Example 7
Source File: LocalCorrectionsSubProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 5 votes |
private static ThrowStatement getThrowForUnexpectedDefault(Expression switchExpression, AST ast, ASTRewrite astRewrite) { ThrowStatement newThrowStatement = ast.newThrowStatement(); ClassInstanceCreation newCic = ast.newClassInstanceCreation(); newCic.setType(ast.newSimpleType(ast.newSimpleName("IllegalArgumentException"))); //$NON-NLS-1$ InfixExpression newInfixExpr = ast.newInfixExpression(); StringLiteral newStringLiteral = ast.newStringLiteral(); newStringLiteral.setLiteralValue("Unexpected value: "); //$NON-NLS-1$ newInfixExpr.setLeftOperand(newStringLiteral); newInfixExpr.setOperator(InfixExpression.Operator.PLUS); newInfixExpr.setRightOperand((Expression) astRewrite.createCopyTarget(switchExpression)); newCic.arguments().add(newInfixExpr); newThrowStatement.setExpression(newCic); return newThrowStatement; }
Example 8
Source File: CreateDoPrivilegedBlockResolution.java From spotbugs with GNU Lesser General Public License v2.1 | 5 votes |
private ClassInstanceCreation createPrivilegedActionCreation(ASTRewrite rewrite, ClassInstanceCreation classLoaderCreation) { AST ast = rewrite.getAST(); ClassInstanceCreation privilegedActionCreation = ast.newClassInstanceCreation(); ParameterizedType privilegedActionType = createPrivilegedActionType(rewrite, classLoaderCreation); AnonymousClassDeclaration anonymousClassDeclaration = createAnonymousClassDeclaration(rewrite, classLoaderCreation); privilegedActionCreation.setType(privilegedActionType); privilegedActionCreation.setAnonymousClassDeclaration(anonymousClassDeclaration); return privilegedActionCreation; }
Example 9
Source File: IntroduceParameterObjectProcessor.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 5 votes |
public Expression createDefaultExpression(List<Expression> invocationArguments, ParameterInfo addedInfo, List<ParameterInfo> parameterInfos, MethodDeclaration enclosingMethod, boolean isRecursive, CompilationUnitRewrite cuRewrite) { final AST ast= cuRewrite.getAST(); final ASTRewrite rewrite= cuRewrite.getASTRewrite(); if (isRecursive && canReuseParameterObject(invocationArguments, addedInfo, parameterInfos, enclosingMethod)) { return ast.newSimpleName(addedInfo.getNewName()); } ClassInstanceCreation classCreation= ast.newClassInstanceCreation(); int startPosition= enclosingMethod != null ? enclosingMethod.getStartPosition() : cuRewrite.getRoot().getStartPosition(); ContextSensitiveImportRewriteContext context= fParameterObjectFactory.createParameterClassAwareContext(fCreateAsTopLevel, cuRewrite, startPosition); classCreation.setType(fParameterObjectFactory.createType(fCreateAsTopLevel, cuRewrite, startPosition)); List<Expression> constructorArguments= classCreation.arguments(); for (Iterator<ParameterInfo> iter= parameterInfos.iterator(); iter.hasNext();) { ParameterInfo pi= iter.next(); if (isValidField(pi)) { if (pi.isOldVarargs()) { boolean isLastParameter= !iter.hasNext(); constructorArguments.addAll(computeVarargs(invocationArguments, pi, isLastParameter, cuRewrite, context)); } else { Expression exp= invocationArguments.get(pi.getOldIndex()); importNodeTypes(exp, cuRewrite, context); constructorArguments.add(moveNode(exp, rewrite)); } } } return classCreation; }
Example 10
Source File: BlockWithNewCopyInstanceConstructorCreationFragment.java From SparkBuilderGenerator with MIT License | 4 votes |
private ClassInstanceCreation createClassInstantiation(AST ast, TypeDeclaration builderType, String parameterName) { ClassInstanceCreation newClassInstanceCreation = ast.newClassInstanceCreation(); newClassInstanceCreation.setType(ast.newSimpleType(ast.newName(builderType.getName().toString()))); newClassInstanceCreation.arguments().add(createArgument(ast, parameterName)); return newClassInstanceCreation; }
Example 11
Source File: ExtractClassRefactoring.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
private FieldDeclaration createParameterObjectField(ParameterObjectFactory pof, TypeDeclaration typeNode, int modifier) { AST ast= fBaseCURewrite.getAST(); ClassInstanceCreation creation= ast.newClassInstanceCreation(); creation.setType(pof.createType(fDescriptor.isCreateTopLevel(), fBaseCURewrite, typeNode.getStartPosition())); ListRewrite listRewrite= fBaseCURewrite.getASTRewrite().getListRewrite(creation, ClassInstanceCreation.ARGUMENTS_PROPERTY); for (Iterator<FieldInfo> iter= fVariables.values().iterator(); iter.hasNext();) { FieldInfo fi= iter.next(); if (isCreateField(fi)) { Expression expression= fi.initializer; if (expression != null && !fi.hasFieldReference()) { importNodeTypes(expression, fBaseCURewrite); ASTNode createMoveTarget= fBaseCURewrite.getASTRewrite().createMoveTarget(expression); if (expression instanceof ArrayInitializer) { ArrayInitializer ai= (ArrayInitializer) expression; ITypeBinding type= ai.resolveTypeBinding(); Type addImport= fBaseCURewrite.getImportRewrite().addImport(type, ast); fBaseCURewrite.getImportRemover().registerAddedImports(addImport); ArrayCreation arrayCreation= ast.newArrayCreation(); arrayCreation.setType((ArrayType) addImport); arrayCreation.setInitializer((ArrayInitializer) createMoveTarget); listRewrite.insertLast(arrayCreation, null); } else { listRewrite.insertLast(createMoveTarget, null); } } } } VariableDeclarationFragment fragment= ast.newVariableDeclarationFragment(); fragment.setName(ast.newSimpleName(fDescriptor.getFieldName())); fragment.setInitializer(creation); ModifierKeyword acc= null; if (Modifier.isPublic(modifier)) { acc= ModifierKeyword.PUBLIC_KEYWORD; } else if (Modifier.isProtected(modifier)) { acc= ModifierKeyword.PROTECTED_KEYWORD; } else if (Modifier.isPrivate(modifier)) { acc= ModifierKeyword.PRIVATE_KEYWORD; } FieldDeclaration fieldDeclaration= ast.newFieldDeclaration(fragment); fieldDeclaration.setType(pof.createType(fDescriptor.isCreateTopLevel(), fBaseCURewrite, typeNode.getStartPosition())); if (acc != null) fieldDeclaration.modifiers().add(ast.newModifier(acc)); return fieldDeclaration; }
Example 12
Source File: IntroduceFactoryRefactoring.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
/** * Creates and returns a new MethodDeclaration that represents the factory method to be used in * place of direct calls to the constructor in question. * * @param ast An AST used as a factory for various AST nodes * @param ctorBinding binding for the constructor being wrapped * @param unitRewriter the ASTRewrite to be used * @return the new method declaration * @throws CoreException if an exception occurs while accessing its corresponding resource */ private MethodDeclaration createFactoryMethod(AST ast, IMethodBinding ctorBinding, ASTRewrite unitRewriter) throws CoreException{ MethodDeclaration newMethod= ast.newMethodDeclaration(); SimpleName newMethodName= ast.newSimpleName(fNewMethodName); ClassInstanceCreation newCtorCall= ast.newClassInstanceCreation(); ReturnStatement ret= ast.newReturnStatement(); Block body= ast.newBlock(); List<Statement> stmts= body.statements(); String retTypeName= ctorBinding.getName(); createFactoryMethodSignature(ast, newMethod); newMethod.setName(newMethodName); newMethod.setBody(body); ITypeBinding declaringClass= fCtorBinding.getDeclaringClass(); ITypeBinding[] ctorOwnerTypeParameters= declaringClass.getTypeParameters(); setMethodReturnType(newMethod, retTypeName, ctorOwnerTypeParameters, ast); newMethod.modifiers().addAll(ASTNodeFactory.newModifiers(ast, Modifier.STATIC | Modifier.PUBLIC)); setCtorTypeArguments(newCtorCall, retTypeName, ctorOwnerTypeParameters, ast); createFactoryMethodConstructorArgs(ast, newCtorCall); if (Modifier.isAbstract(declaringClass.getModifiers())) { AnonymousClassDeclaration decl= ast.newAnonymousClassDeclaration(); IMethodBinding[] unimplementedMethods= getUnimplementedMethods(declaringClass); CodeGenerationSettings settings= JavaPreferencesSettings.getCodeGenerationSettings(fCUHandle.getJavaProject()); ImportRewriteContext context= new ContextSensitiveImportRewriteContext(fFactoryCU, decl.getStartPosition(), fImportRewriter); for (int i= 0; i < unimplementedMethods.length; i++) { IMethodBinding unImplementedMethod= unimplementedMethods[i]; MethodDeclaration newMethodDecl= StubUtility2.createImplementationStub(fCUHandle, unitRewriter, fImportRewriter, context, unImplementedMethod, unImplementedMethod.getDeclaringClass() .getName(), settings, false); decl.bodyDeclarations().add(newMethodDecl); } newCtorCall.setAnonymousClassDeclaration(decl); } ret.setExpression(newCtorCall); stmts.add(ret); return newMethod; }