/** * 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; }
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)); }
VariableDeclarator vd_typename = new VariableDeclarator( stringType, "_TypeName", new StringLiteralExpr(packageAndClassName)); fi_fields.add(new FieldDeclaration(public_static_final, vd_typename));
initCallSite.addArgument(new StringLiteralExpr(featName)); VariableDeclarator vd_FC = new VariableDeclarator(callSiteType, "_FC_" + featName, initCallSite); fi_fields.add(new FieldDeclaration(private_static_final, vd_FC)); fi_fields.add(new FieldDeclaration(private_static_final, vd_FH)); fi_fields.add(new FieldDeclaration(public_static_final, vd_fn));
public static FieldDeclaration mergeField(FieldDeclaration one, FieldDeclaration two) { if (isAllNull(one, two)) return null; FieldDeclaration fd = null; if (isAllNotNull(one, two)) { fd = new FieldDeclaration(); fd.setType(mergeSelective(one.getType(), two.getType())); fd.setComment(mergeSelective(one.getComment(), two.getComment())); fd.setAnnotations(mergeListNoDuplicate(one.getAnnotations(), two.getAnnotations())); fd.setModifiers(mergeModifiers(one.getModifiers(), two.getModifiers())); fd.setJavaDoc(mergeSelective(one.getJavaDoc(), two.getJavaDoc())); fd.setVariables(mergeListNoDuplicate(one.getVariables(), two.getVariables())); LOG.info("merge FieldDeclaration --> {}", fd.getVariables()); } else { fd = findFirstNotNull(one, two); LOG.info("add FieldDeclaration --> {}", fd.getVariables()); } return fd; }
@Override public FieldDeclaration doMerge(FieldDeclaration first, FieldDeclaration second) { FieldDeclaration fd = new FieldDeclaration(); fd.setJavaDoc(mergeSingle(first.getJavaDoc(),second.getJavaDoc())); fd.setType(mergeSingle(first.getType(),second.getType())); fd.setModifiers(mergeModifiers(first.getModifiers(),second.getModifiers())); fd.setAnnotations(mergeCollections(first.getAnnotations(),second.getAnnotations())); fd.setVariables(mergeListNoDuplicate(first.getVariables(),second.getVariables(),true)); return fd; }