/** * Generates something like * <code>private static final AtomicLongFieldUpdater<MpmcAtomicArrayQueueProducerIndexField> P_INDEX_UPDATER = AtomicLongFieldUpdater.newUpdater(MpmcAtomicArrayQueueProducerIndexField.class, "producerIndex");</code> * * @param type * @param name * @param initializer * @param modifiers * @return */ private static FieldDeclaration fieldDeclarationWithInitialiser(Type type, String name, Expression initializer, Modifier... modifiers) { FieldDeclaration fieldDeclaration = new FieldDeclaration(); VariableDeclarator variable = new VariableDeclarator(type, name, initializer); fieldDeclaration.getVariables().add(variable); EnumSet<Modifier> modifierSet = EnumSet.copyOf(Arrays.asList(modifiers)); fieldDeclaration.setModifiers(modifierSet); return fieldDeclaration; }
/** * Generates something like * <code>private static final AtomicLongFieldUpdater<MpmcAtomicArrayQueueProducerIndexField> P_INDEX_UPDATER = AtomicLongFieldUpdater.newUpdater(MpmcAtomicArrayQueueProducerIndexField.class, "producerIndex");</code> * * @param type * @param name * @param initializer * @param modifiers * @return */ private static FieldDeclaration fieldDeclarationWithInitialiser(Type type, String name, Expression initializer, Modifier... modifiers) { FieldDeclaration fieldDeclaration = new FieldDeclaration(); VariableDeclarator variable = new VariableDeclarator(type, name, initializer); fieldDeclaration.getVariables().add(variable); EnumSet<Modifier> modifierSet = EnumSet.copyOf(Arrays.asList(modifiers)); fieldDeclaration.setModifiers(modifierSet); return fieldDeclaration; }
String initString = "ArrayList<" + argType + ">()"; FieldDeclaration fd = new FieldDeclaration( ModifierSet.PUBLIC, new ClassOrInterfaceType(className), new VariableDeclarator( new VariableDeclaratorId(name, new NameExpr(initString))));
private FieldDeclaration fieldDeclaration(EntityField field) { VariableDeclarator variableDec = new VariableDeclarator(new VariableDeclaratorId(field.getName())); List<AnnotationExpr> annoList = new ArrayList<>(); return new FieldDeclaration(ModifierSet.PRIVATE, annoList, ASTHelper.createReferenceType(field.getType().getSimpleName(), 0), Collections.singletonList(variableDec)); }
return; } else { VariableDeclarator vd_typename = new VariableDeclarator( stringType, "_TypeName", new StringLiteralExpr(packageAndClassName)); fi_fields.add(new FieldDeclaration(public_static_final, vd_typename));
private VariableDeclarationExpr createAssignStatement() { VariableDeclarationExpr expr = ASTHelper.createVariableDeclarationExpr(ASTHelper.createReferenceType("Statement", 0), "stmt"); expr.setVars(Collections.singletonList(new VariableDeclarator( new VariableDeclaratorId("stmt"), new MethodCallExpr(ASTHelper.createNameExpr("connection"), "createStatement") ))); return expr; } private BlockStmt createStatementExecuteBlock() {
initCallSite.addArgument(new FieldAccessExpr(new NameExpr(className), "class")); initCallSite.addArgument(new StringLiteralExpr(featName)); VariableDeclarator vd_FC = new VariableDeclarator(callSiteType, "_FC_" + featName, initCallSite); fi_fields.add(new FieldDeclaration(private_static_final, vd_FC)); VariableDeclarator vd_FH = new VariableDeclarator(methodHandleType, "_FH_" + featName, initInvoker); fi_fields.add(new FieldDeclaration(private_static_final, vd_FH)); VariableDeclarator vd_fn = new VariableDeclarator(stringType, "_FeatName_" + featName, new StringLiteralExpr(featName)); fi_fields.add(new FieldDeclaration(public_static_final, vd_fn));
@Override public VariableDeclarator doMerge(VariableDeclarator first, VariableDeclarator second) { if(first.getInit() == second.getInit()) return first; VariableDeclarator vd = new VariableDeclarator(); vd.setId(first.getId()); vd.setInit(mergeSingle(first.getInit(),second.getInit())); return vd; }