/** * Builds a new {@link ClassInstanceCreation} instance. * * @param typeBinding the type binding of the instantiated type * @param arguments the constructor invocation arguments * @return a new class instance creation */ public ClassInstanceCreation new0(ITypeBinding typeBinding, Expression... arguments) { final String className = typeBinding.getName(); final int ltIdx = className.indexOf('<'); if (ltIdx == -1) { final ClassInstanceCreation cic = ast.newClassInstanceCreation(); cic.setType(newSimpleType(className)); addAll(arguments(cic), arguments); return cic; } final String erasedClassName = className.substring(0, ltIdx); final int gtIdx = className.indexOf('>', ltIdx); final String typeParams = className.substring(ltIdx + 1, gtIdx); final ClassInstanceCreation cic = ast.newClassInstanceCreation(); final ParameterizedType type = ast.newParameterizedType(newSimpleType(erasedClassName)); addNewTypesFromTypeParameters(typeArguments(type), typeParams); cic.setType(type); addAll(arguments(cic), arguments); return cic; }
/** * Builds a new {@link ClassInstanceCreation} instance. * * @param typeName the instantiated type name * @param arguments the constructor invocation arguments * @return a new class instance creation */ public ClassInstanceCreation new0(String typeName, Expression... arguments) { final ClassInstanceCreation cic = ast.newClassInstanceCreation(); cic.setType(newSimpleType(typeName)); addAll(arguments(cic), arguments); return cic; }