io.sundr.model.ForFluent Maven / Gradle / Ivy
package io.sundr.model;
import java.util.ArrayList;
import java.lang.String;
import java.util.List;
import java.lang.SuppressWarnings;
import java.util.Collection;
import java.util.function.Predicate;
import java.lang.Class;
import java.util.Iterator;
import java.lang.Integer;
import io.sundr.builder.BaseFluent;
import java.lang.Object;
import io.sundr.builder.VisitableBuilder;
import io.sundr.builder.Nested;
/**
* Generated
*/
@SuppressWarnings("unchecked")
public class ForFluent> extends BaseFluent{
public ForFluent() {
}
public ForFluent(For instance) {
this.copyInstance(instance);
}
private ArrayList> init = new ArrayList>();
private VisitableBuilder extends Expression,?> compare;
private ArrayList> update = new ArrayList>();
private VisitableBuilder extends Statement,?> body;
protected void copyInstance(For instance) {
if (instance != null) {
this.withInit(instance.getInit());
this.withCompare(instance.getCompare());
this.withUpdate(instance.getUpdate());
this.withBody(instance.getBody());
}
}
public A addToInit(VisitableBuilder extends Expression,?> builder) {
if (this.init == null) {this.init = new ArrayList>();}
_visitables.get("init").add(builder);this.init.add(builder); return (A)this;
}
public A addToInit(int index,VisitableBuilder extends Expression,?> builder) {
if (this.init == null) {this.init = new ArrayList>();}
if (index < 0 || index >= init.size()) { _visitables.get("init").add(builder); init.add(builder); } else { _visitables.get("init").add(index, builder); init.add(index, builder);}
return (A)this;
}
public A addToInit(int index,Expression item) {
if (this.init == null) {this.init = new ArrayList>();}
VisitableBuilder extends Expression,?> builder = builder(item);
if (index < 0 || index >= init.size()) { _visitables.get("init").add(builder); init.add(builder); } else { _visitables.get("init").add(index, builder); init.add(index, builder);}
return (A)this;
}
public A setToInit(int index,Expression item) {
if (this.init == null) {this.init = new ArrayList>();}
VisitableBuilder extends Expression,?> builder = builder(item);
if (index < 0 || index >= init.size()) { _visitables.get("init").add(builder); init.add(builder); } else { _visitables.get("init").set(index, builder); init.set(index, builder);}
return (A)this;
}
public A addToInit(io.sundr.model.Expression... items) {
if (this.init == null) {this.init = new ArrayList>();}
for (Expression item : items) { VisitableBuilder extends Expression,?> builder = builder(item); _visitables.get("init").add(builder);this.init.add(builder); }
return (A)this;
}
public A addAllToInit(Collection items) {
if (this.init == null) {this.init = new ArrayList>();}
for (Expression item : items) { VisitableBuilder extends Expression,?> builder = builder(item); _visitables.get("init").add(builder);this.init.add(builder); }
return (A)this;
}
public A removeFromInit(VisitableBuilder extends Expression,?> builder) {
if (this.init == null) return (A)this;
_visitables.get("init").remove(builder);this.init.remove(builder); return (A)this;
}
public A removeFromInit(io.sundr.model.Expression... items) {
if (this.init == null) return (A)this;
for (Expression item : items) {
VisitableBuilder extends Expression,?> builder = builder(item); _visitables.get("init").remove(builder);this.init.remove(builder);
} return (A)this;
}
public A removeAllFromInit(Collection items) {
if (this.init == null) return (A)this;
for (Expression item : items) {
VisitableBuilder extends Expression,?> builder = builder(item); _visitables.get("init").remove(builder);this.init.remove(builder);
} return (A)this;
}
public A removeMatchingFromInit(Predicate> predicate) {
if (init == null) return (A) this;
final Iterator> each = init.iterator();
final List visitables = _visitables.get("init");
while (each.hasNext()) {
VisitableBuilder extends Expression,?> builder = each.next();
if (predicate.test(builder)) {
visitables.remove(builder);
each.remove();
}
}
return (A)this;
}
public List buildInit() {
return build(init);
}
public Expression buildInit(int index) {
return this.init.get(index).build();
}
public Expression buildFirstInit() {
return this.init.get(0).build();
}
public Expression buildLastInit() {
return this.init.get(init.size() - 1).build();
}
public Expression buildMatchingInit(Predicate> predicate) {
for (VisitableBuilder extends Expression,?> item: init) { if(predicate.test(item)){ return item.build();} } return null;
}
public boolean hasMatchingInit(Predicate> predicate) {
for (VisitableBuilder extends Expression,?> item: init) { if(predicate.test(item)){ return true;} } return false;
}
public A withInit(List init) {
if (init != null) {this.init = new ArrayList(); for (Expression item : init){this.addToInit(item);}} else { this.init = null;} return (A) this;
}
public A withInit(io.sundr.model.Expression... init) {
if (this.init != null) {this.init.clear(); _visitables.remove("init"); }
if (init != null) {for (Expression item :init){ this.addToInit(item);}} return (A) this;
}
public boolean hasInit() {
return init != null && !init.isEmpty();
}
public MultiplyInitNested addNewMultiplyInit() {
return new MultiplyInitNested(-1, null);
}
public MultiplyInitNested addNewMultiplyInitLike(Multiply item) {
return new MultiplyInitNested(-1, item);
}
public A addNewMultiplyInit(Object left,Object right) {
return (A)addToInit(new Multiply(left, right));
}
public MultiplyInitNested setNewMultiplyInitLike(int index,Multiply item) {
return new MultiplyInitNested(index, item);
}
public NewArrayInitNested addNewNewArrayInit() {
return new NewArrayInitNested(-1, null);
}
public NewArrayInitNested addNewNewArrayInitLike(NewArray item) {
return new NewArrayInitNested(-1, item);
}
public A addNewNewArrayInit(Class type,Integer[] sizes) {
return (A)addToInit(new NewArray(type, sizes));
}
public NewArrayInitNested setNewNewArrayInitLike(int index,NewArray item) {
return new NewArrayInitNested(index, item);
}
public InstanceOfInitNested addNewInstanceOfInit() {
return new InstanceOfInitNested(-1, null);
}
public InstanceOfInitNested addNewInstanceOfInitLike(InstanceOf item) {
return new InstanceOfInitNested(-1, item);
}
public InstanceOfInitNested setNewInstanceOfInitLike(int index,InstanceOf item) {
return new InstanceOfInitNested(index, item);
}
public MethodCallInitNested addNewMethodCallInit() {
return new MethodCallInitNested(-1, null);
}
public MethodCallInitNested addNewMethodCallInitLike(MethodCall item) {
return new MethodCallInitNested(-1, item);
}
public MethodCallInitNested setNewMethodCallInitLike(int index,MethodCall item) {
return new MethodCallInitNested(index, item);
}
public InverseInitNested addNewInverseInit() {
return new InverseInitNested(-1, null);
}
public InverseInitNested addNewInverseInitLike(Inverse item) {
return new InverseInitNested(-1, item);
}
public InverseInitNested setNewInverseInitLike(int index,Inverse item) {
return new InverseInitNested(index, item);
}
public IndexInitNested addNewIndexInit() {
return new IndexInitNested(-1, null);
}
public IndexInitNested addNewIndexInitLike(Index item) {
return new IndexInitNested(-1, item);
}
public IndexInitNested setNewIndexInitLike(int index,Index item) {
return new IndexInitNested(index, item);
}
public GreaterThanOrEqualInitNested addNewGreaterThanOrEqualInit() {
return new GreaterThanOrEqualInitNested(-1, null);
}
public GreaterThanOrEqualInitNested addNewGreaterThanOrEqualInitLike(GreaterThanOrEqual item) {
return new GreaterThanOrEqualInitNested(-1, item);
}
public A addNewGreaterThanOrEqualInit(Object left,Object right) {
return (A)addToInit(new GreaterThanOrEqual(left, right));
}
public GreaterThanOrEqualInitNested setNewGreaterThanOrEqualInitLike(int index,GreaterThanOrEqual item) {
return new GreaterThanOrEqualInitNested(index, item);
}
public BitwiseAndInitNested addNewBitwiseAndInit() {
return new BitwiseAndInitNested(-1, null);
}
public BitwiseAndInitNested addNewBitwiseAndInitLike(BitwiseAnd item) {
return new BitwiseAndInitNested(-1, item);
}
public A addNewBitwiseAndInit(Object left,Object right) {
return (A)addToInit(new BitwiseAnd(left, right));
}
public BitwiseAndInitNested setNewBitwiseAndInitLike(int index,BitwiseAnd item) {
return new BitwiseAndInitNested(index, item);
}
public MinusInitNested addNewMinusInit() {
return new MinusInitNested(-1, null);
}
public MinusInitNested addNewMinusInitLike(Minus item) {
return new MinusInitNested(-1, item);
}
public A addNewMinusInit(Object left,Object right) {
return (A)addToInit(new Minus(left, right));
}
public MinusInitNested setNewMinusInitLike(int index,Minus item) {
return new MinusInitNested(index, item);
}
public LogicalOrInitNested addNewLogicalOrInit() {
return new LogicalOrInitNested(-1, null);
}
public LogicalOrInitNested addNewLogicalOrInitLike(LogicalOr item) {
return new LogicalOrInitNested(-1, item);
}
public A addNewLogicalOrInit(Object left,Object right) {
return (A)addToInit(new LogicalOr(left, right));
}
public LogicalOrInitNested setNewLogicalOrInitLike(int index,LogicalOr item) {
return new LogicalOrInitNested(index, item);
}
public NotEqualsInitNested addNewNotEqualsInit() {
return new NotEqualsInitNested(-1, null);
}
public NotEqualsInitNested addNewNotEqualsInitLike(NotEquals item) {
return new NotEqualsInitNested(-1, item);
}
public A addNewNotEqualsInit(Object left,Object right) {
return (A)addToInit(new NotEquals(left, right));
}
public NotEqualsInitNested setNewNotEqualsInitLike(int index,NotEquals item) {
return new NotEqualsInitNested(index, item);
}
public DivideInitNested addNewDivideInit() {
return new DivideInitNested(-1, null);
}
public DivideInitNested addNewDivideInitLike(Divide item) {
return new DivideInitNested(-1, item);
}
public A addNewDivideInit(Object left,Object right) {
return (A)addToInit(new Divide(left, right));
}
public DivideInitNested setNewDivideInitLike(int index,Divide item) {
return new DivideInitNested(index, item);
}
public LessThanInitNested addNewLessThanInit() {
return new LessThanInitNested(-1, null);
}
public LessThanInitNested addNewLessThanInitLike(LessThan item) {
return new LessThanInitNested(-1, item);
}
public A addNewLessThanInit(Object left,Object right) {
return (A)addToInit(new LessThan(left, right));
}
public LessThanInitNested setNewLessThanInitLike(int index,LessThan item) {
return new LessThanInitNested(index, item);
}
public BitwiseOrInitNested addNewBitwiseOrInit() {
return new BitwiseOrInitNested(-1, null);
}
public BitwiseOrInitNested addNewBitwiseOrInitLike(BitwiseOr item) {
return new BitwiseOrInitNested(-1, item);
}
public A addNewBitwiseOrInit(Object left,Object right) {
return (A)addToInit(new BitwiseOr(left, right));
}
public BitwiseOrInitNested setNewBitwiseOrInitLike(int index,BitwiseOr item) {
return new BitwiseOrInitNested(index, item);
}
public PropertyRefInitNested addNewPropertyRefInit() {
return new PropertyRefInitNested(-1, null);
}
public PropertyRefInitNested addNewPropertyRefInitLike(PropertyRef item) {
return new PropertyRefInitNested(-1, item);
}
public PropertyRefInitNested setNewPropertyRefInitLike(int index,PropertyRef item) {
return new PropertyRefInitNested(index, item);
}
public RightShiftInitNested addNewRightShiftInit() {
return new RightShiftInitNested(-1, null);
}
public RightShiftInitNested addNewRightShiftInitLike(RightShift item) {
return new RightShiftInitNested(-1, item);
}
public A addNewRightShiftInit(Object left,Object right) {
return (A)addToInit(new RightShift(left, right));
}
public RightShiftInitNested setNewRightShiftInitLike(int index,RightShift item) {
return new RightShiftInitNested(index, item);
}
public GreaterThanInitNested addNewGreaterThanInit() {
return new GreaterThanInitNested(-1, null);
}
public GreaterThanInitNested addNewGreaterThanInitLike(GreaterThan item) {
return new GreaterThanInitNested(-1, item);
}
public A addNewGreaterThanInit(Object left,Object right) {
return (A)addToInit(new GreaterThan(left, right));
}
public GreaterThanInitNested setNewGreaterThanInitLike(int index,GreaterThan item) {
return new GreaterThanInitNested(index, item);
}
public DeclareInitNested addNewDeclareInit() {
return new DeclareInitNested(-1, null);
}
public DeclareInitNested addNewDeclareInitLike(Declare item) {
return new DeclareInitNested(-1, item);
}
public A addNewDeclareInit(Class type,String name) {
return (A)addToInit(new Declare(type, name));
}
public A addNewDeclareInit(Class type,String name,Object value) {
return (A)addToInit(new Declare(type, name, value));
}
public DeclareInitNested setNewDeclareInitLike(int index,Declare item) {
return new DeclareInitNested(index, item);
}
public CastInitNested addNewCastInit() {
return new CastInitNested(-1, null);
}
public CastInitNested addNewCastInitLike(Cast item) {
return new CastInitNested(-1, item);
}
public CastInitNested setNewCastInitLike(int index,Cast item) {
return new CastInitNested(index, item);
}
public ModuloInitNested addNewModuloInit() {
return new ModuloInitNested(-1, null);
}
public ModuloInitNested addNewModuloInitLike(Modulo item) {
return new ModuloInitNested(-1, item);
}
public A addNewModuloInit(Object left,Object right) {
return (A)addToInit(new Modulo(left, right));
}
public ModuloInitNested setNewModuloInitLike(int index,Modulo item) {
return new ModuloInitNested(index, item);
}
public ValueRefInitNested addNewValueRefInit() {
return new ValueRefInitNested(-1, null);
}
public ValueRefInitNested addNewValueRefInitLike(ValueRef item) {
return new ValueRefInitNested(-1, item);
}
public A addNewValueRefInit(Object value) {
return (A)addToInit(new ValueRef(value));
}
public ValueRefInitNested setNewValueRefInitLike(int index,ValueRef item) {
return new ValueRefInitNested(index, item);
}
public LeftShiftInitNested addNewLeftShiftInit() {
return new LeftShiftInitNested(-1, null);
}
public LeftShiftInitNested addNewLeftShiftInitLike(LeftShift item) {
return new LeftShiftInitNested(-1, item);
}
public A addNewLeftShiftInit(Object left,Object right) {
return (A)addToInit(new LeftShift(left, right));
}
public LeftShiftInitNested setNewLeftShiftInitLike(int index,LeftShift item) {
return new LeftShiftInitNested(index, item);
}
public TernaryInitNested addNewTernaryInit() {
return new TernaryInitNested(-1, null);
}
public TernaryInitNested addNewTernaryInitLike(Ternary item) {
return new TernaryInitNested(-1, item);
}
public TernaryInitNested setNewTernaryInitLike(int index,Ternary item) {
return new TernaryInitNested(index, item);
}
public BinaryExpressionInitNested addNewBinaryExpressionInit() {
return new BinaryExpressionInitNested(-1, null);
}
public BinaryExpressionInitNested addNewBinaryExpressionInitLike(BinaryExpression item) {
return new BinaryExpressionInitNested(-1, item);
}
public BinaryExpressionInitNested setNewBinaryExpressionInitLike(int index,BinaryExpression item) {
return new BinaryExpressionInitNested(index, item);
}
public EqualsInitNested addNewEqualsInit() {
return new EqualsInitNested(-1, null);
}
public EqualsInitNested addNewEqualsInitLike(Equals item) {
return new EqualsInitNested(-1, item);
}
public A addNewEqualsInit(Object left,Object right) {
return (A)addToInit(new Equals(left, right));
}
public EqualsInitNested setNewEqualsInitLike(int index,Equals item) {
return new EqualsInitNested(index, item);
}
public EnclosedInitNested addNewEnclosedInit() {
return new EnclosedInitNested(-1, null);
}
public EnclosedInitNested addNewEnclosedInitLike(Enclosed item) {
return new EnclosedInitNested(-1, item);
}
public EnclosedInitNested setNewEnclosedInitLike(int index,Enclosed item) {
return new EnclosedInitNested(index, item);
}
public PreDecrementInitNested addNewPreDecrementInit() {
return new PreDecrementInitNested(-1, null);
}
public PreDecrementInitNested addNewPreDecrementInitLike(PreDecrement item) {
return new PreDecrementInitNested(-1, item);
}
public PreDecrementInitNested setNewPreDecrementInitLike(int index,PreDecrement item) {
return new PreDecrementInitNested(index, item);
}
public PostDecrementInitNested addNewPostDecrementInit() {
return new PostDecrementInitNested(-1, null);
}
public PostDecrementInitNested addNewPostDecrementInitLike(PostDecrement item) {
return new PostDecrementInitNested(-1, item);
}
public PostDecrementInitNested setNewPostDecrementInitLike(int index,PostDecrement item) {
return new PostDecrementInitNested(index, item);
}
public LambdaInitNested addNewLambdaInit() {
return new LambdaInitNested(-1, null);
}
public LambdaInitNested addNewLambdaInitLike(Lambda item) {
return new LambdaInitNested(-1, item);
}
public LambdaInitNested setNewLambdaInitLike(int index,Lambda item) {
return new LambdaInitNested(index, item);
}
public NotInitNested addNewNotInit() {
return new NotInitNested(-1, null);
}
public NotInitNested addNewNotInitLike(Not item) {
return new NotInitNested(-1, item);
}
public NotInitNested setNewNotInitLike(int index,Not item) {
return new NotInitNested(index, item);
}
public ThisInitNested addNewThisInit() {
return new ThisInitNested(-1, null);
}
public ThisInitNested addNewThisInitLike(This item) {
return new ThisInitNested(-1, item);
}
public ThisInitNested setNewThisInitLike(int index,This item) {
return new ThisInitNested(index, item);
}
public NegativeInitNested addNewNegativeInit() {
return new NegativeInitNested(-1, null);
}
public NegativeInitNested addNewNegativeInitLike(Negative item) {
return new NegativeInitNested(-1, item);
}
public NegativeInitNested setNewNegativeInitLike(int index,Negative item) {
return new NegativeInitNested(index, item);
}
public AssignInitNested addNewAssignInit() {
return new AssignInitNested(-1, null);
}
public AssignInitNested addNewAssignInitLike(Assign item) {
return new AssignInitNested(-1, item);
}
public AssignInitNested setNewAssignInitLike(int index,Assign item) {
return new AssignInitNested(index, item);
}
public LogicalAndInitNested addNewLogicalAndInit() {
return new LogicalAndInitNested(-1, null);
}
public LogicalAndInitNested addNewLogicalAndInitLike(LogicalAnd item) {
return new LogicalAndInitNested(-1, item);
}
public A addNewLogicalAndInit(Object left,Object right) {
return (A)addToInit(new LogicalAnd(left, right));
}
public LogicalAndInitNested setNewLogicalAndInitLike(int index,LogicalAnd item) {
return new LogicalAndInitNested(index, item);
}
public PostIncrementInitNested addNewPostIncrementInit() {
return new PostIncrementInitNested(-1, null);
}
public PostIncrementInitNested addNewPostIncrementInitLike(PostIncrement item) {
return new PostIncrementInitNested(-1, item);
}
public PostIncrementInitNested setNewPostIncrementInitLike(int index,PostIncrement item) {
return new PostIncrementInitNested(index, item);
}
public RightUnsignedShiftInitNested addNewRightUnsignedShiftInit() {
return new RightUnsignedShiftInitNested(-1, null);
}
public RightUnsignedShiftInitNested addNewRightUnsignedShiftInitLike(RightUnsignedShift item) {
return new RightUnsignedShiftInitNested(-1, item);
}
public A addNewRightUnsignedShiftInit(Object left,Object right) {
return (A)addToInit(new RightUnsignedShift(left, right));
}
public RightUnsignedShiftInitNested setNewRightUnsignedShiftInitLike(int index,RightUnsignedShift item) {
return new RightUnsignedShiftInitNested(index, item);
}
public PlusInitNested addNewPlusInit() {
return new PlusInitNested(-1, null);
}
public PlusInitNested addNewPlusInitLike(Plus item) {
return new PlusInitNested(-1, item);
}
public A addNewPlusInit(Object left,Object right) {
return (A)addToInit(new Plus(left, right));
}
public PlusInitNested setNewPlusInitLike(int index,Plus item) {
return new PlusInitNested(index, item);
}
public ConstructInitNested addNewConstructInit() {
return new ConstructInitNested(-1, null);
}
public ConstructInitNested addNewConstructInitLike(Construct item) {
return new ConstructInitNested(-1, item);
}
public ConstructInitNested setNewConstructInitLike(int index,Construct item) {
return new ConstructInitNested(index, item);
}
public XorInitNested addNewXorInit() {
return new XorInitNested(-1, null);
}
public XorInitNested addNewXorInitLike(Xor item) {
return new XorInitNested(-1, item);
}
public A addNewXorInit(Object left,Object right) {
return (A)addToInit(new Xor(left, right));
}
public XorInitNested setNewXorInitLike(int index,Xor item) {
return new XorInitNested(index, item);
}
public PreIncrementInitNested addNewPreIncrementInit() {
return new PreIncrementInitNested(-1, null);
}
public PreIncrementInitNested addNewPreIncrementInitLike(PreIncrement item) {
return new PreIncrementInitNested(-1, item);
}
public PreIncrementInitNested setNewPreIncrementInitLike(int index,PreIncrement item) {
return new PreIncrementInitNested(index, item);
}
public LessThanOrEqualInitNested addNewLessThanOrEqualInit() {
return new LessThanOrEqualInitNested(-1, null);
}
public LessThanOrEqualInitNested addNewLessThanOrEqualInitLike(LessThanOrEqual item) {
return new LessThanOrEqualInitNested(-1, item);
}
public A addNewLessThanOrEqualInit(Object left,Object right) {
return (A)addToInit(new LessThanOrEqual(left, right));
}
public LessThanOrEqualInitNested setNewLessThanOrEqualInitLike(int index,LessThanOrEqual item) {
return new LessThanOrEqualInitNested(index, item);
}
public PositiveInitNested addNewPositiveInit() {
return new PositiveInitNested(-1, null);
}
public PositiveInitNested addNewPositiveInitLike(Positive item) {
return new PositiveInitNested(-1, item);
}
public PositiveInitNested setNewPositiveInitLike(int index,Positive item) {
return new PositiveInitNested(index, item);
}
public Expression buildCompare() {
return this.compare!=null?this.compare.build():null;
}
public A withCompare(Expression compare) {
if (compare==null){ this.compare = null; _visitables.remove("compare"); return (A) this;}
VisitableBuilder extends Expression,?> builder = builder(compare); _visitables.get("compare").clear();_visitables.get("compare").add(builder);this.compare = builder;
return (A) this;
}
public boolean hasCompare() {
return this.compare != null;
}
public MultiplyCompareNested withNewMultiplyCompare() {
return new MultiplyCompareNested(null);
}
public MultiplyCompareNested withNewMultiplyCompareLike(Multiply item) {
return new MultiplyCompareNested(item);
}
public A withNewMultiplyCompare(Object left,Object right) {
return (A)withCompare(new Multiply(left, right));
}
public NewArrayCompareNested withNewNewArrayCompare() {
return new NewArrayCompareNested(null);
}
public NewArrayCompareNested withNewNewArrayCompareLike(NewArray item) {
return new NewArrayCompareNested(item);
}
public A withNewNewArrayCompare(Class type,Integer[] sizes) {
return (A)withCompare(new NewArray(type, sizes));
}
public InstanceOfCompareNested withNewInstanceOfCompare() {
return new InstanceOfCompareNested(null);
}
public InstanceOfCompareNested withNewInstanceOfCompareLike(InstanceOf item) {
return new InstanceOfCompareNested(item);
}
public MethodCallCompareNested withNewMethodCallCompare() {
return new MethodCallCompareNested(null);
}
public MethodCallCompareNested withNewMethodCallCompareLike(MethodCall item) {
return new MethodCallCompareNested(item);
}
public InverseCompareNested withNewInverseCompare() {
return new InverseCompareNested(null);
}
public InverseCompareNested withNewInverseCompareLike(Inverse item) {
return new InverseCompareNested(item);
}
public IndexCompareNested withNewIndexCompare() {
return new IndexCompareNested(null);
}
public IndexCompareNested withNewIndexCompareLike(Index item) {
return new IndexCompareNested(item);
}
public GreaterThanOrEqualCompareNested withNewGreaterThanOrEqualCompare() {
return new GreaterThanOrEqualCompareNested(null);
}
public GreaterThanOrEqualCompareNested withNewGreaterThanOrEqualCompareLike(GreaterThanOrEqual item) {
return new GreaterThanOrEqualCompareNested(item);
}
public A withNewGreaterThanOrEqualCompare(Object left,Object right) {
return (A)withCompare(new GreaterThanOrEqual(left, right));
}
public BitwiseAndCompareNested withNewBitwiseAndCompare() {
return new BitwiseAndCompareNested(null);
}
public BitwiseAndCompareNested withNewBitwiseAndCompareLike(BitwiseAnd item) {
return new BitwiseAndCompareNested(item);
}
public A withNewBitwiseAndCompare(Object left,Object right) {
return (A)withCompare(new BitwiseAnd(left, right));
}
public MinusCompareNested withNewMinusCompare() {
return new MinusCompareNested(null);
}
public MinusCompareNested withNewMinusCompareLike(Minus item) {
return new MinusCompareNested(item);
}
public A withNewMinusCompare(Object left,Object right) {
return (A)withCompare(new Minus(left, right));
}
public LogicalOrCompareNested withNewLogicalOrCompare() {
return new LogicalOrCompareNested(null);
}
public LogicalOrCompareNested withNewLogicalOrCompareLike(LogicalOr item) {
return new LogicalOrCompareNested(item);
}
public A withNewLogicalOrCompare(Object left,Object right) {
return (A)withCompare(new LogicalOr(left, right));
}
public NotEqualsCompareNested withNewNotEqualsCompare() {
return new NotEqualsCompareNested(null);
}
public NotEqualsCompareNested withNewNotEqualsCompareLike(NotEquals item) {
return new NotEqualsCompareNested(item);
}
public A withNewNotEqualsCompare(Object left,Object right) {
return (A)withCompare(new NotEquals(left, right));
}
public DivideCompareNested withNewDivideCompare() {
return new DivideCompareNested(null);
}
public DivideCompareNested withNewDivideCompareLike(Divide item) {
return new DivideCompareNested(item);
}
public A withNewDivideCompare(Object left,Object right) {
return (A)withCompare(new Divide(left, right));
}
public LessThanCompareNested withNewLessThanCompare() {
return new LessThanCompareNested(null);
}
public LessThanCompareNested withNewLessThanCompareLike(LessThan item) {
return new LessThanCompareNested(item);
}
public A withNewLessThanCompare(Object left,Object right) {
return (A)withCompare(new LessThan(left, right));
}
public BitwiseOrCompareNested withNewBitwiseOrCompare() {
return new BitwiseOrCompareNested(null);
}
public BitwiseOrCompareNested withNewBitwiseOrCompareLike(BitwiseOr item) {
return new BitwiseOrCompareNested(item);
}
public A withNewBitwiseOrCompare(Object left,Object right) {
return (A)withCompare(new BitwiseOr(left, right));
}
public PropertyRefCompareNested withNewPropertyRefCompare() {
return new PropertyRefCompareNested(null);
}
public PropertyRefCompareNested withNewPropertyRefCompareLike(PropertyRef item) {
return new PropertyRefCompareNested(item);
}
public RightShiftCompareNested withNewRightShiftCompare() {
return new RightShiftCompareNested(null);
}
public RightShiftCompareNested withNewRightShiftCompareLike(RightShift item) {
return new RightShiftCompareNested(item);
}
public A withNewRightShiftCompare(Object left,Object right) {
return (A)withCompare(new RightShift(left, right));
}
public GreaterThanCompareNested withNewGreaterThanCompare() {
return new GreaterThanCompareNested(null);
}
public GreaterThanCompareNested withNewGreaterThanCompareLike(GreaterThan item) {
return new GreaterThanCompareNested(item);
}
public A withNewGreaterThanCompare(Object left,Object right) {
return (A)withCompare(new GreaterThan(left, right));
}
public DeclareCompareNested withNewDeclareCompare() {
return new DeclareCompareNested(null);
}
public DeclareCompareNested withNewDeclareCompareLike(Declare item) {
return new DeclareCompareNested(item);
}
public A withNewDeclareCompare(Class type,String name) {
return (A)withCompare(new Declare(type, name));
}
public A withNewDeclareCompare(Class type,String name,Object value) {
return (A)withCompare(new Declare(type, name, value));
}
public CastCompareNested withNewCastCompare() {
return new CastCompareNested(null);
}
public CastCompareNested withNewCastCompareLike(Cast item) {
return new CastCompareNested(item);
}
public ModuloCompareNested withNewModuloCompare() {
return new ModuloCompareNested(null);
}
public ModuloCompareNested withNewModuloCompareLike(Modulo item) {
return new ModuloCompareNested(item);
}
public A withNewModuloCompare(Object left,Object right) {
return (A)withCompare(new Modulo(left, right));
}
public ValueRefCompareNested withNewValueRefCompare() {
return new ValueRefCompareNested(null);
}
public ValueRefCompareNested withNewValueRefCompareLike(ValueRef item) {
return new ValueRefCompareNested(item);
}
public A withNewValueRefCompare(Object value) {
return (A)withCompare(new ValueRef(value));
}
public LeftShiftCompareNested withNewLeftShiftCompare() {
return new LeftShiftCompareNested(null);
}
public LeftShiftCompareNested withNewLeftShiftCompareLike(LeftShift item) {
return new LeftShiftCompareNested(item);
}
public A withNewLeftShiftCompare(Object left,Object right) {
return (A)withCompare(new LeftShift(left, right));
}
public TernaryCompareNested withNewTernaryCompare() {
return new TernaryCompareNested(null);
}
public TernaryCompareNested withNewTernaryCompareLike(Ternary item) {
return new TernaryCompareNested(item);
}
public BinaryExpressionCompareNested withNewBinaryExpressionCompare() {
return new BinaryExpressionCompareNested(null);
}
public BinaryExpressionCompareNested withNewBinaryExpressionCompareLike(BinaryExpression item) {
return new BinaryExpressionCompareNested(item);
}
public EqualsCompareNested withNewEqualsCompare() {
return new EqualsCompareNested(null);
}
public EqualsCompareNested withNewEqualsCompareLike(Equals item) {
return new EqualsCompareNested(item);
}
public A withNewEqualsCompare(Object left,Object right) {
return (A)withCompare(new Equals(left, right));
}
public EnclosedCompareNested withNewEnclosedCompare() {
return new EnclosedCompareNested(null);
}
public EnclosedCompareNested withNewEnclosedCompareLike(Enclosed item) {
return new EnclosedCompareNested(item);
}
public PreDecrementCompareNested withNewPreDecrementCompare() {
return new PreDecrementCompareNested(null);
}
public PreDecrementCompareNested withNewPreDecrementCompareLike(PreDecrement item) {
return new PreDecrementCompareNested(item);
}
public PostDecrementCompareNested withNewPostDecrementCompare() {
return new PostDecrementCompareNested(null);
}
public PostDecrementCompareNested withNewPostDecrementCompareLike(PostDecrement item) {
return new PostDecrementCompareNested(item);
}
public LambdaCompareNested withNewLambdaCompare() {
return new LambdaCompareNested(null);
}
public LambdaCompareNested withNewLambdaCompareLike(Lambda item) {
return new LambdaCompareNested(item);
}
public NotCompareNested withNewNotCompare() {
return new NotCompareNested(null);
}
public NotCompareNested withNewNotCompareLike(Not item) {
return new NotCompareNested(item);
}
public ThisCompareNested withNewThisCompare() {
return new ThisCompareNested(null);
}
public ThisCompareNested withNewThisCompareLike(This item) {
return new ThisCompareNested(item);
}
public NegativeCompareNested withNewNegativeCompare() {
return new NegativeCompareNested(null);
}
public NegativeCompareNested withNewNegativeCompareLike(Negative item) {
return new NegativeCompareNested(item);
}
public AssignCompareNested withNewAssignCompare() {
return new AssignCompareNested(null);
}
public AssignCompareNested withNewAssignCompareLike(Assign item) {
return new AssignCompareNested(item);
}
public LogicalAndCompareNested withNewLogicalAndCompare() {
return new LogicalAndCompareNested(null);
}
public LogicalAndCompareNested withNewLogicalAndCompareLike(LogicalAnd item) {
return new LogicalAndCompareNested(item);
}
public A withNewLogicalAndCompare(Object left,Object right) {
return (A)withCompare(new LogicalAnd(left, right));
}
public PostIncrementCompareNested withNewPostIncrementCompare() {
return new PostIncrementCompareNested(null);
}
public PostIncrementCompareNested withNewPostIncrementCompareLike(PostIncrement item) {
return new PostIncrementCompareNested(item);
}
public RightUnsignedShiftCompareNested withNewRightUnsignedShiftCompare() {
return new RightUnsignedShiftCompareNested(null);
}
public RightUnsignedShiftCompareNested withNewRightUnsignedShiftCompareLike(RightUnsignedShift item) {
return new RightUnsignedShiftCompareNested(item);
}
public A withNewRightUnsignedShiftCompare(Object left,Object right) {
return (A)withCompare(new RightUnsignedShift(left, right));
}
public PlusCompareNested withNewPlusCompare() {
return new PlusCompareNested(null);
}
public PlusCompareNested withNewPlusCompareLike(Plus item) {
return new PlusCompareNested(item);
}
public A withNewPlusCompare(Object left,Object right) {
return (A)withCompare(new Plus(left, right));
}
public ConstructCompareNested withNewConstructCompare() {
return new ConstructCompareNested(null);
}
public ConstructCompareNested withNewConstructCompareLike(Construct item) {
return new ConstructCompareNested(item);
}
public XorCompareNested withNewXorCompare() {
return new XorCompareNested(null);
}
public XorCompareNested withNewXorCompareLike(Xor item) {
return new XorCompareNested(item);
}
public A withNewXorCompare(Object left,Object right) {
return (A)withCompare(new Xor(left, right));
}
public PreIncrementCompareNested withNewPreIncrementCompare() {
return new PreIncrementCompareNested(null);
}
public PreIncrementCompareNested withNewPreIncrementCompareLike(PreIncrement item) {
return new PreIncrementCompareNested(item);
}
public LessThanOrEqualCompareNested withNewLessThanOrEqualCompare() {
return new LessThanOrEqualCompareNested(null);
}
public LessThanOrEqualCompareNested withNewLessThanOrEqualCompareLike(LessThanOrEqual item) {
return new LessThanOrEqualCompareNested(item);
}
public A withNewLessThanOrEqualCompare(Object left,Object right) {
return (A)withCompare(new LessThanOrEqual(left, right));
}
public PositiveCompareNested withNewPositiveCompare() {
return new PositiveCompareNested(null);
}
public PositiveCompareNested withNewPositiveCompareLike(Positive item) {
return new PositiveCompareNested(item);
}
public A addToUpdate(VisitableBuilder extends Expression,?> builder) {
if (this.update == null) {this.update = new ArrayList>();}
_visitables.get("update").add(builder);this.update.add(builder); return (A)this;
}
public A addToUpdate(int index,VisitableBuilder extends Expression,?> builder) {
if (this.update == null) {this.update = new ArrayList>();}
if (index < 0 || index >= update.size()) { _visitables.get("update").add(builder); update.add(builder); } else { _visitables.get("update").add(index, builder); update.add(index, builder);}
return (A)this;
}
public A addToUpdate(int index,Expression item) {
if (this.update == null) {this.update = new ArrayList>();}
VisitableBuilder extends Expression,?> builder = builder(item);
if (index < 0 || index >= update.size()) { _visitables.get("update").add(builder); update.add(builder); } else { _visitables.get("update").add(index, builder); update.add(index, builder);}
return (A)this;
}
public A setToUpdate(int index,Expression item) {
if (this.update == null) {this.update = new ArrayList>();}
VisitableBuilder extends Expression,?> builder = builder(item);
if (index < 0 || index >= update.size()) { _visitables.get("update").add(builder); update.add(builder); } else { _visitables.get("update").set(index, builder); update.set(index, builder);}
return (A)this;
}
public A addToUpdate(io.sundr.model.Expression... items) {
if (this.update == null) {this.update = new ArrayList>();}
for (Expression item : items) { VisitableBuilder extends Expression,?> builder = builder(item); _visitables.get("update").add(builder);this.update.add(builder); }
return (A)this;
}
public A addAllToUpdate(Collection items) {
if (this.update == null) {this.update = new ArrayList>();}
for (Expression item : items) { VisitableBuilder extends Expression,?> builder = builder(item); _visitables.get("update").add(builder);this.update.add(builder); }
return (A)this;
}
public A removeFromUpdate(VisitableBuilder extends Expression,?> builder) {
if (this.update == null) return (A)this;
_visitables.get("update").remove(builder);this.update.remove(builder); return (A)this;
}
public A removeFromUpdate(io.sundr.model.Expression... items) {
if (this.update == null) return (A)this;
for (Expression item : items) {
VisitableBuilder extends Expression,?> builder = builder(item); _visitables.get("update").remove(builder);this.update.remove(builder);
} return (A)this;
}
public A removeAllFromUpdate(Collection items) {
if (this.update == null) return (A)this;
for (Expression item : items) {
VisitableBuilder extends Expression,?> builder = builder(item); _visitables.get("update").remove(builder);this.update.remove(builder);
} return (A)this;
}
public A removeMatchingFromUpdate(Predicate> predicate) {
if (update == null) return (A) this;
final Iterator> each = update.iterator();
final List visitables = _visitables.get("update");
while (each.hasNext()) {
VisitableBuilder extends Expression,?> builder = each.next();
if (predicate.test(builder)) {
visitables.remove(builder);
each.remove();
}
}
return (A)this;
}
public List buildUpdate() {
return build(update);
}
public Expression buildUpdate(int index) {
return this.update.get(index).build();
}
public Expression buildFirstUpdate() {
return this.update.get(0).build();
}
public Expression buildLastUpdate() {
return this.update.get(update.size() - 1).build();
}
public Expression buildMatchingUpdate(Predicate> predicate) {
for (VisitableBuilder extends Expression,?> item: update) { if(predicate.test(item)){ return item.build();} } return null;
}
public boolean hasMatchingUpdate(Predicate> predicate) {
for (VisitableBuilder extends Expression,?> item: update) { if(predicate.test(item)){ return true;} } return false;
}
public A withUpdate(List update) {
if (update != null) {this.update = new ArrayList(); for (Expression item : update){this.addToUpdate(item);}} else { this.update = null;} return (A) this;
}
public A withUpdate(io.sundr.model.Expression... update) {
if (this.update != null) {this.update.clear(); _visitables.remove("update"); }
if (update != null) {for (Expression item :update){ this.addToUpdate(item);}} return (A) this;
}
public boolean hasUpdate() {
return update != null && !update.isEmpty();
}
public MultiplyUpdateNested addNewMultiplyUpdate() {
return new MultiplyUpdateNested(-1, null);
}
public MultiplyUpdateNested addNewMultiplyUpdateLike(Multiply item) {
return new MultiplyUpdateNested(-1, item);
}
public A addNewMultiplyUpdate(Object left,Object right) {
return (A)addToUpdate(new Multiply(left, right));
}
public MultiplyUpdateNested setNewMultiplyUpdateLike(int index,Multiply item) {
return new MultiplyUpdateNested(index, item);
}
public NewArrayUpdateNested addNewNewArrayUpdate() {
return new NewArrayUpdateNested(-1, null);
}
public NewArrayUpdateNested addNewNewArrayUpdateLike(NewArray item) {
return new NewArrayUpdateNested(-1, item);
}
public A addNewNewArrayUpdate(Class type,Integer[] sizes) {
return (A)addToUpdate(new NewArray(type, sizes));
}
public NewArrayUpdateNested setNewNewArrayUpdateLike(int index,NewArray item) {
return new NewArrayUpdateNested(index, item);
}
public InstanceOfUpdateNested addNewInstanceOfUpdate() {
return new InstanceOfUpdateNested(-1, null);
}
public InstanceOfUpdateNested addNewInstanceOfUpdateLike(InstanceOf item) {
return new InstanceOfUpdateNested(-1, item);
}
public InstanceOfUpdateNested setNewInstanceOfUpdateLike(int index,InstanceOf item) {
return new InstanceOfUpdateNested(index, item);
}
public MethodCallUpdateNested addNewMethodCallUpdate() {
return new MethodCallUpdateNested(-1, null);
}
public MethodCallUpdateNested addNewMethodCallUpdateLike(MethodCall item) {
return new MethodCallUpdateNested(-1, item);
}
public MethodCallUpdateNested setNewMethodCallUpdateLike(int index,MethodCall item) {
return new MethodCallUpdateNested(index, item);
}
public InverseUpdateNested addNewInverseUpdate() {
return new InverseUpdateNested(-1, null);
}
public InverseUpdateNested addNewInverseUpdateLike(Inverse item) {
return new InverseUpdateNested(-1, item);
}
public InverseUpdateNested setNewInverseUpdateLike(int index,Inverse item) {
return new InverseUpdateNested(index, item);
}
public IndexUpdateNested addNewIndexUpdate() {
return new IndexUpdateNested(-1, null);
}
public IndexUpdateNested addNewIndexUpdateLike(Index item) {
return new IndexUpdateNested(-1, item);
}
public IndexUpdateNested setNewIndexUpdateLike(int index,Index item) {
return new IndexUpdateNested(index, item);
}
public GreaterThanOrEqualUpdateNested addNewGreaterThanOrEqualUpdate() {
return new GreaterThanOrEqualUpdateNested(-1, null);
}
public GreaterThanOrEqualUpdateNested addNewGreaterThanOrEqualUpdateLike(GreaterThanOrEqual item) {
return new GreaterThanOrEqualUpdateNested(-1, item);
}
public A addNewGreaterThanOrEqualUpdate(Object left,Object right) {
return (A)addToUpdate(new GreaterThanOrEqual(left, right));
}
public GreaterThanOrEqualUpdateNested setNewGreaterThanOrEqualUpdateLike(int index,GreaterThanOrEqual item) {
return new GreaterThanOrEqualUpdateNested(index, item);
}
public BitwiseAndUpdateNested addNewBitwiseAndUpdate() {
return new BitwiseAndUpdateNested(-1, null);
}
public BitwiseAndUpdateNested addNewBitwiseAndUpdateLike(BitwiseAnd item) {
return new BitwiseAndUpdateNested(-1, item);
}
public A addNewBitwiseAndUpdate(Object left,Object right) {
return (A)addToUpdate(new BitwiseAnd(left, right));
}
public BitwiseAndUpdateNested setNewBitwiseAndUpdateLike(int index,BitwiseAnd item) {
return new BitwiseAndUpdateNested(index, item);
}
public MinusUpdateNested addNewMinusUpdate() {
return new MinusUpdateNested(-1, null);
}
public MinusUpdateNested addNewMinusUpdateLike(Minus item) {
return new MinusUpdateNested(-1, item);
}
public A addNewMinusUpdate(Object left,Object right) {
return (A)addToUpdate(new Minus(left, right));
}
public MinusUpdateNested setNewMinusUpdateLike(int index,Minus item) {
return new MinusUpdateNested(index, item);
}
public LogicalOrUpdateNested addNewLogicalOrUpdate() {
return new LogicalOrUpdateNested(-1, null);
}
public LogicalOrUpdateNested addNewLogicalOrUpdateLike(LogicalOr item) {
return new LogicalOrUpdateNested(-1, item);
}
public A addNewLogicalOrUpdate(Object left,Object right) {
return (A)addToUpdate(new LogicalOr(left, right));
}
public LogicalOrUpdateNested setNewLogicalOrUpdateLike(int index,LogicalOr item) {
return new LogicalOrUpdateNested(index, item);
}
public NotEqualsUpdateNested addNewNotEqualsUpdate() {
return new NotEqualsUpdateNested(-1, null);
}
public NotEqualsUpdateNested addNewNotEqualsUpdateLike(NotEquals item) {
return new NotEqualsUpdateNested(-1, item);
}
public A addNewNotEqualsUpdate(Object left,Object right) {
return (A)addToUpdate(new NotEquals(left, right));
}
public NotEqualsUpdateNested setNewNotEqualsUpdateLike(int index,NotEquals item) {
return new NotEqualsUpdateNested(index, item);
}
public DivideUpdateNested addNewDivideUpdate() {
return new DivideUpdateNested(-1, null);
}
public DivideUpdateNested addNewDivideUpdateLike(Divide item) {
return new DivideUpdateNested(-1, item);
}
public A addNewDivideUpdate(Object left,Object right) {
return (A)addToUpdate(new Divide(left, right));
}
public DivideUpdateNested setNewDivideUpdateLike(int index,Divide item) {
return new DivideUpdateNested(index, item);
}
public LessThanUpdateNested addNewLessThanUpdate() {
return new LessThanUpdateNested(-1, null);
}
public LessThanUpdateNested addNewLessThanUpdateLike(LessThan item) {
return new LessThanUpdateNested(-1, item);
}
public A addNewLessThanUpdate(Object left,Object right) {
return (A)addToUpdate(new LessThan(left, right));
}
public LessThanUpdateNested setNewLessThanUpdateLike(int index,LessThan item) {
return new LessThanUpdateNested(index, item);
}
public BitwiseOrUpdateNested addNewBitwiseOrUpdate() {
return new BitwiseOrUpdateNested(-1, null);
}
public BitwiseOrUpdateNested addNewBitwiseOrUpdateLike(BitwiseOr item) {
return new BitwiseOrUpdateNested(-1, item);
}
public A addNewBitwiseOrUpdate(Object left,Object right) {
return (A)addToUpdate(new BitwiseOr(left, right));
}
public BitwiseOrUpdateNested setNewBitwiseOrUpdateLike(int index,BitwiseOr item) {
return new BitwiseOrUpdateNested(index, item);
}
public PropertyRefUpdateNested addNewPropertyRefUpdate() {
return new PropertyRefUpdateNested(-1, null);
}
public PropertyRefUpdateNested addNewPropertyRefUpdateLike(PropertyRef item) {
return new PropertyRefUpdateNested(-1, item);
}
public PropertyRefUpdateNested setNewPropertyRefUpdateLike(int index,PropertyRef item) {
return new PropertyRefUpdateNested(index, item);
}
public RightShiftUpdateNested addNewRightShiftUpdate() {
return new RightShiftUpdateNested(-1, null);
}
public RightShiftUpdateNested addNewRightShiftUpdateLike(RightShift item) {
return new RightShiftUpdateNested(-1, item);
}
public A addNewRightShiftUpdate(Object left,Object right) {
return (A)addToUpdate(new RightShift(left, right));
}
public RightShiftUpdateNested setNewRightShiftUpdateLike(int index,RightShift item) {
return new RightShiftUpdateNested(index, item);
}
public GreaterThanUpdateNested addNewGreaterThanUpdate() {
return new GreaterThanUpdateNested(-1, null);
}
public GreaterThanUpdateNested addNewGreaterThanUpdateLike(GreaterThan item) {
return new GreaterThanUpdateNested(-1, item);
}
public A addNewGreaterThanUpdate(Object left,Object right) {
return (A)addToUpdate(new GreaterThan(left, right));
}
public GreaterThanUpdateNested setNewGreaterThanUpdateLike(int index,GreaterThan item) {
return new GreaterThanUpdateNested(index, item);
}
public DeclareUpdateNested addNewDeclareUpdate() {
return new DeclareUpdateNested(-1, null);
}
public DeclareUpdateNested addNewDeclareUpdateLike(Declare item) {
return new DeclareUpdateNested(-1, item);
}
public A addNewDeclareUpdate(Class type,String name) {
return (A)addToUpdate(new Declare(type, name));
}
public A addNewDeclareUpdate(Class type,String name,Object value) {
return (A)addToUpdate(new Declare(type, name, value));
}
public DeclareUpdateNested setNewDeclareUpdateLike(int index,Declare item) {
return new DeclareUpdateNested(index, item);
}
public CastUpdateNested addNewCastUpdate() {
return new CastUpdateNested(-1, null);
}
public CastUpdateNested addNewCastUpdateLike(Cast item) {
return new CastUpdateNested(-1, item);
}
public CastUpdateNested setNewCastUpdateLike(int index,Cast item) {
return new CastUpdateNested(index, item);
}
public ModuloUpdateNested addNewModuloUpdate() {
return new ModuloUpdateNested(-1, null);
}
public ModuloUpdateNested addNewModuloUpdateLike(Modulo item) {
return new ModuloUpdateNested(-1, item);
}
public A addNewModuloUpdate(Object left,Object right) {
return (A)addToUpdate(new Modulo(left, right));
}
public ModuloUpdateNested setNewModuloUpdateLike(int index,Modulo item) {
return new ModuloUpdateNested(index, item);
}
public ValueRefUpdateNested addNewValueRefUpdate() {
return new ValueRefUpdateNested(-1, null);
}
public ValueRefUpdateNested addNewValueRefUpdateLike(ValueRef item) {
return new ValueRefUpdateNested(-1, item);
}
public A addNewValueRefUpdate(Object value) {
return (A)addToUpdate(new ValueRef(value));
}
public ValueRefUpdateNested setNewValueRefUpdateLike(int index,ValueRef item) {
return new ValueRefUpdateNested(index, item);
}
public LeftShiftUpdateNested addNewLeftShiftUpdate() {
return new LeftShiftUpdateNested(-1, null);
}
public LeftShiftUpdateNested addNewLeftShiftUpdateLike(LeftShift item) {
return new LeftShiftUpdateNested(-1, item);
}
public A addNewLeftShiftUpdate(Object left,Object right) {
return (A)addToUpdate(new LeftShift(left, right));
}
public LeftShiftUpdateNested setNewLeftShiftUpdateLike(int index,LeftShift item) {
return new LeftShiftUpdateNested(index, item);
}
public TernaryUpdateNested addNewTernaryUpdate() {
return new TernaryUpdateNested(-1, null);
}
public TernaryUpdateNested addNewTernaryUpdateLike(Ternary item) {
return new TernaryUpdateNested(-1, item);
}
public TernaryUpdateNested setNewTernaryUpdateLike(int index,Ternary item) {
return new TernaryUpdateNested(index, item);
}
public BinaryExpressionUpdateNested addNewBinaryExpressionUpdate() {
return new BinaryExpressionUpdateNested(-1, null);
}
public BinaryExpressionUpdateNested addNewBinaryExpressionUpdateLike(BinaryExpression item) {
return new BinaryExpressionUpdateNested(-1, item);
}
public BinaryExpressionUpdateNested setNewBinaryExpressionUpdateLike(int index,BinaryExpression item) {
return new BinaryExpressionUpdateNested(index, item);
}
public EqualsUpdateNested addNewEqualsUpdate() {
return new EqualsUpdateNested(-1, null);
}
public EqualsUpdateNested addNewEqualsUpdateLike(Equals item) {
return new EqualsUpdateNested(-1, item);
}
public A addNewEqualsUpdate(Object left,Object right) {
return (A)addToUpdate(new Equals(left, right));
}
public EqualsUpdateNested setNewEqualsUpdateLike(int index,Equals item) {
return new EqualsUpdateNested(index, item);
}
public EnclosedUpdateNested addNewEnclosedUpdate() {
return new EnclosedUpdateNested(-1, null);
}
public EnclosedUpdateNested addNewEnclosedUpdateLike(Enclosed item) {
return new EnclosedUpdateNested(-1, item);
}
public EnclosedUpdateNested setNewEnclosedUpdateLike(int index,Enclosed item) {
return new EnclosedUpdateNested(index, item);
}
public PreDecrementUpdateNested addNewPreDecrementUpdate() {
return new PreDecrementUpdateNested(-1, null);
}
public PreDecrementUpdateNested addNewPreDecrementUpdateLike(PreDecrement item) {
return new PreDecrementUpdateNested(-1, item);
}
public PreDecrementUpdateNested setNewPreDecrementUpdateLike(int index,PreDecrement item) {
return new PreDecrementUpdateNested(index, item);
}
public PostDecrementUpdateNested addNewPostDecrementUpdate() {
return new PostDecrementUpdateNested(-1, null);
}
public PostDecrementUpdateNested addNewPostDecrementUpdateLike(PostDecrement item) {
return new PostDecrementUpdateNested(-1, item);
}
public PostDecrementUpdateNested setNewPostDecrementUpdateLike(int index,PostDecrement item) {
return new PostDecrementUpdateNested(index, item);
}
public LambdaUpdateNested addNewLambdaUpdate() {
return new LambdaUpdateNested(-1, null);
}
public LambdaUpdateNested addNewLambdaUpdateLike(Lambda item) {
return new LambdaUpdateNested(-1, item);
}
public LambdaUpdateNested setNewLambdaUpdateLike(int index,Lambda item) {
return new LambdaUpdateNested(index, item);
}
public NotUpdateNested addNewNotUpdate() {
return new NotUpdateNested(-1, null);
}
public NotUpdateNested addNewNotUpdateLike(Not item) {
return new NotUpdateNested(-1, item);
}
public NotUpdateNested setNewNotUpdateLike(int index,Not item) {
return new NotUpdateNested(index, item);
}
public ThisUpdateNested addNewThisUpdate() {
return new ThisUpdateNested(-1, null);
}
public ThisUpdateNested addNewThisUpdateLike(This item) {
return new ThisUpdateNested(-1, item);
}
public ThisUpdateNested setNewThisUpdateLike(int index,This item) {
return new ThisUpdateNested(index, item);
}
public NegativeUpdateNested addNewNegativeUpdate() {
return new NegativeUpdateNested(-1, null);
}
public NegativeUpdateNested addNewNegativeUpdateLike(Negative item) {
return new NegativeUpdateNested(-1, item);
}
public NegativeUpdateNested setNewNegativeUpdateLike(int index,Negative item) {
return new NegativeUpdateNested(index, item);
}
public AssignUpdateNested addNewAssignUpdate() {
return new AssignUpdateNested(-1, null);
}
public AssignUpdateNested addNewAssignUpdateLike(Assign item) {
return new AssignUpdateNested(-1, item);
}
public AssignUpdateNested setNewAssignUpdateLike(int index,Assign item) {
return new AssignUpdateNested(index, item);
}
public LogicalAndUpdateNested addNewLogicalAndUpdate() {
return new LogicalAndUpdateNested(-1, null);
}
public LogicalAndUpdateNested addNewLogicalAndUpdateLike(LogicalAnd item) {
return new LogicalAndUpdateNested(-1, item);
}
public A addNewLogicalAndUpdate(Object left,Object right) {
return (A)addToUpdate(new LogicalAnd(left, right));
}
public LogicalAndUpdateNested setNewLogicalAndUpdateLike(int index,LogicalAnd item) {
return new LogicalAndUpdateNested(index, item);
}
public PostIncrementUpdateNested addNewPostIncrementUpdate() {
return new PostIncrementUpdateNested(-1, null);
}
public PostIncrementUpdateNested addNewPostIncrementUpdateLike(PostIncrement item) {
return new PostIncrementUpdateNested(-1, item);
}
public PostIncrementUpdateNested setNewPostIncrementUpdateLike(int index,PostIncrement item) {
return new PostIncrementUpdateNested(index, item);
}
public RightUnsignedShiftUpdateNested addNewRightUnsignedShiftUpdate() {
return new RightUnsignedShiftUpdateNested(-1, null);
}
public RightUnsignedShiftUpdateNested addNewRightUnsignedShiftUpdateLike(RightUnsignedShift item) {
return new RightUnsignedShiftUpdateNested(-1, item);
}
public A addNewRightUnsignedShiftUpdate(Object left,Object right) {
return (A)addToUpdate(new RightUnsignedShift(left, right));
}
public RightUnsignedShiftUpdateNested setNewRightUnsignedShiftUpdateLike(int index,RightUnsignedShift item) {
return new RightUnsignedShiftUpdateNested(index, item);
}
public PlusUpdateNested addNewPlusUpdate() {
return new PlusUpdateNested(-1, null);
}
public PlusUpdateNested addNewPlusUpdateLike(Plus item) {
return new PlusUpdateNested(-1, item);
}
public A addNewPlusUpdate(Object left,Object right) {
return (A)addToUpdate(new Plus(left, right));
}
public PlusUpdateNested setNewPlusUpdateLike(int index,Plus item) {
return new PlusUpdateNested(index, item);
}
public ConstructUpdateNested addNewConstructUpdate() {
return new ConstructUpdateNested(-1, null);
}
public ConstructUpdateNested addNewConstructUpdateLike(Construct item) {
return new ConstructUpdateNested(-1, item);
}
public ConstructUpdateNested setNewConstructUpdateLike(int index,Construct item) {
return new ConstructUpdateNested(index, item);
}
public XorUpdateNested addNewXorUpdate() {
return new XorUpdateNested(-1, null);
}
public XorUpdateNested addNewXorUpdateLike(Xor item) {
return new XorUpdateNested(-1, item);
}
public A addNewXorUpdate(Object left,Object right) {
return (A)addToUpdate(new Xor(left, right));
}
public XorUpdateNested setNewXorUpdateLike(int index,Xor item) {
return new XorUpdateNested(index, item);
}
public PreIncrementUpdateNested addNewPreIncrementUpdate() {
return new PreIncrementUpdateNested(-1, null);
}
public PreIncrementUpdateNested addNewPreIncrementUpdateLike(PreIncrement item) {
return new PreIncrementUpdateNested(-1, item);
}
public PreIncrementUpdateNested setNewPreIncrementUpdateLike(int index,PreIncrement item) {
return new PreIncrementUpdateNested(index, item);
}
public LessThanOrEqualUpdateNested addNewLessThanOrEqualUpdate() {
return new LessThanOrEqualUpdateNested(-1, null);
}
public LessThanOrEqualUpdateNested addNewLessThanOrEqualUpdateLike(LessThanOrEqual item) {
return new LessThanOrEqualUpdateNested(-1, item);
}
public A addNewLessThanOrEqualUpdate(Object left,Object right) {
return (A)addToUpdate(new LessThanOrEqual(left, right));
}
public LessThanOrEqualUpdateNested setNewLessThanOrEqualUpdateLike(int index,LessThanOrEqual item) {
return new LessThanOrEqualUpdateNested(index, item);
}
public PositiveUpdateNested addNewPositiveUpdate() {
return new PositiveUpdateNested(-1, null);
}
public PositiveUpdateNested addNewPositiveUpdateLike(Positive item) {
return new PositiveUpdateNested(-1, item);
}
public PositiveUpdateNested setNewPositiveUpdateLike(int index,Positive item) {
return new PositiveUpdateNested(index, item);
}
public Statement buildBody() {
return this.body!=null?this.body.build():null;
}
public A withBody(Statement body) {
if (body==null){ this.body = null; _visitables.remove("body"); return (A) this;}
VisitableBuilder extends Statement,?> builder = builder(body); _visitables.get("body").clear();_visitables.get("body").add(builder);this.body = builder;
return (A) this;
}
public boolean hasBody() {
return this.body != null;
}
public MethodCallBodyNested withNewMethodCallBody() {
return new MethodCallBodyNested(null);
}
public MethodCallBodyNested withNewMethodCallBodyLike(MethodCall item) {
return new MethodCallBodyNested(item);
}
public SwitchBodyNested withNewSwitchBody() {
return new SwitchBodyNested(null);
}
public SwitchBodyNested withNewSwitchBodyLike(Switch item) {
return new SwitchBodyNested(item);
}
public BreakBodyNested withNewBreakBody() {
return new BreakBodyNested(null);
}
public BreakBodyNested withNewBreakBodyLike(Break item) {
return new BreakBodyNested(item);
}
public DeclareBodyNested withNewDeclareBody() {
return new DeclareBodyNested(null);
}
public DeclareBodyNested withNewDeclareBodyLike(Declare item) {
return new DeclareBodyNested(item);
}
public A withNewDeclareBody(Class type,String name) {
return (A)withBody(new Declare(type, name));
}
public A withNewDeclareBody(Class type,String name,Object value) {
return (A)withBody(new Declare(type, name, value));
}
public WhileBodyNested withNewWhileBody() {
return new WhileBodyNested(null);
}
public WhileBodyNested withNewWhileBodyLike(While item) {
return new WhileBodyNested(item);
}
public ContinueBodyNested withNewContinueBody() {
return new ContinueBodyNested(null);
}
public ContinueBodyNested withNewContinueBodyLike(Continue item) {
return new ContinueBodyNested(item);
}
public StringStatementBodyNested withNewStringStatementBody() {
return new StringStatementBodyNested(null);
}
public StringStatementBodyNested withNewStringStatementBodyLike(StringStatement item) {
return new StringStatementBodyNested(item);
}
public A withNewStringStatementBody(String data) {
return (A)withBody(new StringStatement(data));
}
public A withNewStringStatementBody(String data,Object[] parameters) {
return (A)withBody(new StringStatement(data, parameters));
}
public DoBodyNested withNewDoBody() {
return new DoBodyNested(null);
}
public DoBodyNested withNewDoBodyLike(Do item) {
return new DoBodyNested(item);
}
public ForeachBodyNested withNewForeachBody() {
return new ForeachBodyNested(null);
}
public ForeachBodyNested withNewForeachBodyLike(Foreach item) {
return new ForeachBodyNested(item);
}
public BlockBodyNested withNewBlockBody() {
return new BlockBodyNested(null);
}
public BlockBodyNested withNewBlockBodyLike(Block item) {
return new BlockBodyNested(item);
}
public IfBodyNested withNewIfBody() {
return new IfBodyNested(null);
}
public IfBodyNested withNewIfBodyLike(If item) {
return new IfBodyNested(item);
}
public LambdaBodyNested withNewLambdaBody() {
return new LambdaBodyNested(null);
}
public LambdaBodyNested withNewLambdaBodyLike(Lambda item) {
return new LambdaBodyNested(item);
}
public ReturnBodyNested withNewReturnBody() {
return new ReturnBodyNested(null);
}
public ReturnBodyNested withNewReturnBodyLike(Return item) {
return new ReturnBodyNested(item);
}
public A withNewReturnBody(Object object) {
return (A)withBody(new Return(object));
}
public AssignBodyNested withNewAssignBody() {
return new AssignBodyNested(null);
}
public AssignBodyNested withNewAssignBodyLike(Assign item) {
return new AssignBodyNested(item);
}
public ForBodyNested withNewForBody() {
return new ForBodyNested(null);
}
public ForBodyNested withNewForBodyLike(For item) {
return new ForBodyNested(item);
}
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
ForFluent that = (ForFluent) o;
if (!java.util.Objects.equals(init, that.init)) return false;
if (!java.util.Objects.equals(compare, that.compare)) return false;
if (!java.util.Objects.equals(update, that.update)) return false;
if (!java.util.Objects.equals(body, that.body)) return false;
return true;
}
public int hashCode() {
return java.util.Objects.hash(init, compare, update, body, super.hashCode());
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (init != null && !init.isEmpty()) { sb.append("init:"); sb.append(init + ","); }
if (compare != null) { sb.append("compare:"); sb.append(compare + ","); }
if (update != null && !update.isEmpty()) { sb.append("update:"); sb.append(update + ","); }
if (body != null) { sb.append("body:"); sb.append(body); }
sb.append("}");
return sb.toString();
}
protected static VisitableBuilder builder(Object item) {
switch (item.getClass().getName()) {
case "io.sundr.model."+"Multiply": return (VisitableBuilder)new MultiplyBuilder((Multiply) item);
case "io.sundr.model."+"NewArray": return (VisitableBuilder)new NewArrayBuilder((NewArray) item);
case "io.sundr.model."+"InstanceOf": return (VisitableBuilder)new InstanceOfBuilder((InstanceOf) item);
case "io.sundr.model."+"MethodCall": return (VisitableBuilder)new MethodCallBuilder((MethodCall) item);
case "io.sundr.model."+"Inverse": return (VisitableBuilder)new InverseBuilder((Inverse) item);
case "io.sundr.model."+"Index": return (VisitableBuilder)new IndexBuilder((Index) item);
case "io.sundr.model."+"GreaterThanOrEqual": return (VisitableBuilder)new GreaterThanOrEqualBuilder((GreaterThanOrEqual) item);
case "io.sundr.model."+"BitwiseAnd": return (VisitableBuilder)new BitwiseAndBuilder((BitwiseAnd) item);
case "io.sundr.model."+"Minus": return (VisitableBuilder)new MinusBuilder((Minus) item);
case "io.sundr.model."+"LogicalOr": return (VisitableBuilder)new LogicalOrBuilder((LogicalOr) item);
case "io.sundr.model."+"NotEquals": return (VisitableBuilder)new NotEqualsBuilder((NotEquals) item);
case "io.sundr.model."+"Divide": return (VisitableBuilder)new DivideBuilder((Divide) item);
case "io.sundr.model."+"LessThan": return (VisitableBuilder)new LessThanBuilder((LessThan) item);
case "io.sundr.model."+"BitwiseOr": return (VisitableBuilder)new BitwiseOrBuilder((BitwiseOr) item);
case "io.sundr.model."+"PropertyRef": return (VisitableBuilder)new PropertyRefBuilder((PropertyRef) item);
case "io.sundr.model."+"RightShift": return (VisitableBuilder)new RightShiftBuilder((RightShift) item);
case "io.sundr.model."+"GreaterThan": return (VisitableBuilder)new GreaterThanBuilder((GreaterThan) item);
case "io.sundr.model."+"Declare": return (VisitableBuilder)new DeclareBuilder((Declare) item);
case "io.sundr.model."+"Cast": return (VisitableBuilder)new CastBuilder((Cast) item);
case "io.sundr.model."+"Modulo": return (VisitableBuilder)new ModuloBuilder((Modulo) item);
case "io.sundr.model."+"ValueRef": return (VisitableBuilder)new ValueRefBuilder((ValueRef) item);
case "io.sundr.model."+"LeftShift": return (VisitableBuilder)new LeftShiftBuilder((LeftShift) item);
case "io.sundr.model."+"Ternary": return (VisitableBuilder)new TernaryBuilder((Ternary) item);
case "io.sundr.model."+"BinaryExpression": return (VisitableBuilder)new BinaryExpressionBuilder((BinaryExpression) item);
case "io.sundr.model."+"Equals": return (VisitableBuilder)new EqualsBuilder((Equals) item);
case "io.sundr.model."+"Enclosed": return (VisitableBuilder)new EnclosedBuilder((Enclosed) item);
case "io.sundr.model."+"PreDecrement": return (VisitableBuilder)new PreDecrementBuilder((PreDecrement) item);
case "io.sundr.model."+"PostDecrement": return (VisitableBuilder)new PostDecrementBuilder((PostDecrement) item);
case "io.sundr.model."+"Lambda": return (VisitableBuilder)new LambdaBuilder((Lambda) item);
case "io.sundr.model."+"Not": return (VisitableBuilder)new NotBuilder((Not) item);
case "io.sundr.model."+"This": return (VisitableBuilder)new ThisBuilder((This) item);
case "io.sundr.model."+"Negative": return (VisitableBuilder)new NegativeBuilder((Negative) item);
case "io.sundr.model."+"Assign": return (VisitableBuilder)new AssignBuilder((Assign) item);
case "io.sundr.model."+"LogicalAnd": return (VisitableBuilder)new LogicalAndBuilder((LogicalAnd) item);
case "io.sundr.model."+"PostIncrement": return (VisitableBuilder)new PostIncrementBuilder((PostIncrement) item);
case "io.sundr.model."+"RightUnsignedShift": return (VisitableBuilder)new RightUnsignedShiftBuilder((RightUnsignedShift) item);
case "io.sundr.model."+"Plus": return (VisitableBuilder)new PlusBuilder((Plus) item);
case "io.sundr.model."+"Construct": return (VisitableBuilder)new ConstructBuilder((Construct) item);
case "io.sundr.model."+"Xor": return (VisitableBuilder)new XorBuilder((Xor) item);
case "io.sundr.model."+"PreIncrement": return (VisitableBuilder)new PreIncrementBuilder((PreIncrement) item);
case "io.sundr.model."+"LessThanOrEqual": return (VisitableBuilder)new LessThanOrEqualBuilder((LessThanOrEqual) item);
case "io.sundr.model."+"Positive": return (VisitableBuilder)new PositiveBuilder((Positive) item);
case "io.sundr.model."+"Switch": return (VisitableBuilder)new SwitchBuilder((Switch) item);
case "io.sundr.model."+"Break": return (VisitableBuilder)new BreakBuilder((Break) item);
case "io.sundr.model."+"While": return (VisitableBuilder)new WhileBuilder((While) item);
case "io.sundr.model."+"Continue": return (VisitableBuilder)new ContinueBuilder((Continue) item);
case "io.sundr.model."+"StringStatement": return (VisitableBuilder)new StringStatementBuilder((StringStatement) item);
case "io.sundr.model."+"Do": return (VisitableBuilder)new DoBuilder((Do) item);
case "io.sundr.model."+"Foreach": return (VisitableBuilder)new ForeachBuilder((Foreach) item);
case "io.sundr.model."+"Block": return (VisitableBuilder)new BlockBuilder((Block) item);
case "io.sundr.model."+"If": return (VisitableBuilder)new IfBuilder((If) item);
case "io.sundr.model."+"Return": return (VisitableBuilder)new ReturnBuilder((Return) item);
case "io.sundr.model."+"For": return (VisitableBuilder)new ForBuilder((For) item);
}
return (VisitableBuilder)builderOf(item);
}
public class MultiplyInitNested extends MultiplyFluent> implements Nested{
MultiplyInitNested(int index,Multiply item) {
this.index = index;
this.builder = new MultiplyBuilder(this, item);
}
MultiplyBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endMultiplyInit() {
return and();
}
}
public class NewArrayInitNested extends NewArrayFluent> implements Nested{
NewArrayInitNested(int index,NewArray item) {
this.index = index;
this.builder = new NewArrayBuilder(this, item);
}
NewArrayBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endNewArrayInit() {
return and();
}
}
public class InstanceOfInitNested extends InstanceOfFluent> implements Nested{
InstanceOfInitNested(int index,InstanceOf item) {
this.index = index;
this.builder = new InstanceOfBuilder(this, item);
}
InstanceOfBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endInstanceOfInit() {
return and();
}
}
public class MethodCallInitNested extends MethodCallFluent> implements Nested{
MethodCallInitNested(int index,MethodCall item) {
this.index = index;
this.builder = new MethodCallBuilder(this, item);
}
MethodCallBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endMethodCallInit() {
return and();
}
}
public class InverseInitNested extends InverseFluent> implements Nested{
InverseInitNested(int index,Inverse item) {
this.index = index;
this.builder = new InverseBuilder(this, item);
}
InverseBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endInverseInit() {
return and();
}
}
public class IndexInitNested extends IndexFluent> implements Nested{
IndexInitNested(int index,Index item) {
this.index = index;
this.builder = new IndexBuilder(this, item);
}
IndexBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endIndexInit() {
return and();
}
}
public class GreaterThanOrEqualInitNested extends GreaterThanOrEqualFluent> implements Nested{
GreaterThanOrEqualInitNested(int index,GreaterThanOrEqual item) {
this.index = index;
this.builder = new GreaterThanOrEqualBuilder(this, item);
}
GreaterThanOrEqualBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endGreaterThanOrEqualInit() {
return and();
}
}
public class BitwiseAndInitNested extends BitwiseAndFluent> implements Nested{
BitwiseAndInitNested(int index,BitwiseAnd item) {
this.index = index;
this.builder = new BitwiseAndBuilder(this, item);
}
BitwiseAndBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endBitwiseAndInit() {
return and();
}
}
public class MinusInitNested extends MinusFluent> implements Nested{
MinusInitNested(int index,Minus item) {
this.index = index;
this.builder = new MinusBuilder(this, item);
}
MinusBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endMinusInit() {
return and();
}
}
public class LogicalOrInitNested extends LogicalOrFluent> implements Nested{
LogicalOrInitNested(int index,LogicalOr item) {
this.index = index;
this.builder = new LogicalOrBuilder(this, item);
}
LogicalOrBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endLogicalOrInit() {
return and();
}
}
public class NotEqualsInitNested extends NotEqualsFluent> implements Nested{
NotEqualsInitNested(int index,NotEquals item) {
this.index = index;
this.builder = new NotEqualsBuilder(this, item);
}
NotEqualsBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endNotEqualsInit() {
return and();
}
}
public class DivideInitNested extends DivideFluent> implements Nested{
DivideInitNested(int index,Divide item) {
this.index = index;
this.builder = new DivideBuilder(this, item);
}
DivideBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endDivideInit() {
return and();
}
}
public class LessThanInitNested extends LessThanFluent> implements Nested{
LessThanInitNested(int index,LessThan item) {
this.index = index;
this.builder = new LessThanBuilder(this, item);
}
LessThanBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endLessThanInit() {
return and();
}
}
public class BitwiseOrInitNested extends BitwiseOrFluent> implements Nested{
BitwiseOrInitNested(int index,BitwiseOr item) {
this.index = index;
this.builder = new BitwiseOrBuilder(this, item);
}
BitwiseOrBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endBitwiseOrInit() {
return and();
}
}
public class PropertyRefInitNested extends PropertyRefFluent> implements Nested{
PropertyRefInitNested(int index,PropertyRef item) {
this.index = index;
this.builder = new PropertyRefBuilder(this, item);
}
PropertyRefBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endPropertyRefInit() {
return and();
}
}
public class RightShiftInitNested extends RightShiftFluent> implements Nested{
RightShiftInitNested(int index,RightShift item) {
this.index = index;
this.builder = new RightShiftBuilder(this, item);
}
RightShiftBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endRightShiftInit() {
return and();
}
}
public class GreaterThanInitNested extends GreaterThanFluent> implements Nested{
GreaterThanInitNested(int index,GreaterThan item) {
this.index = index;
this.builder = new GreaterThanBuilder(this, item);
}
GreaterThanBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endGreaterThanInit() {
return and();
}
}
public class DeclareInitNested extends DeclareFluent> implements Nested{
DeclareInitNested(int index,Declare item) {
this.index = index;
this.builder = new DeclareBuilder(this, item);
}
DeclareBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endDeclareInit() {
return and();
}
}
public class CastInitNested extends CastFluent> implements Nested{
CastInitNested(int index,Cast item) {
this.index = index;
this.builder = new CastBuilder(this, item);
}
CastBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endCastInit() {
return and();
}
}
public class ModuloInitNested extends ModuloFluent> implements Nested{
ModuloInitNested(int index,Modulo item) {
this.index = index;
this.builder = new ModuloBuilder(this, item);
}
ModuloBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endModuloInit() {
return and();
}
}
public class ValueRefInitNested extends ValueRefFluent> implements Nested{
ValueRefInitNested(int index,ValueRef item) {
this.index = index;
this.builder = new ValueRefBuilder(this, item);
}
ValueRefBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endValueRefInit() {
return and();
}
}
public class LeftShiftInitNested extends LeftShiftFluent> implements Nested{
LeftShiftInitNested(int index,LeftShift item) {
this.index = index;
this.builder = new LeftShiftBuilder(this, item);
}
LeftShiftBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endLeftShiftInit() {
return and();
}
}
public class TernaryInitNested extends TernaryFluent> implements Nested{
TernaryInitNested(int index,Ternary item) {
this.index = index;
this.builder = new TernaryBuilder(this, item);
}
TernaryBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endTernaryInit() {
return and();
}
}
public class BinaryExpressionInitNested extends BinaryExpressionFluent> implements Nested{
BinaryExpressionInitNested(int index,BinaryExpression item) {
this.index = index;
this.builder = new BinaryExpressionBuilder(this, item);
}
BinaryExpressionBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endBinaryExpressionInit() {
return and();
}
}
public class EqualsInitNested extends EqualsFluent> implements Nested{
EqualsInitNested(int index,Equals item) {
this.index = index;
this.builder = new EqualsBuilder(this, item);
}
EqualsBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endEqualsInit() {
return and();
}
}
public class EnclosedInitNested extends EnclosedFluent> implements Nested{
EnclosedInitNested(int index,Enclosed item) {
this.index = index;
this.builder = new EnclosedBuilder(this, item);
}
EnclosedBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endEnclosedInit() {
return and();
}
}
public class PreDecrementInitNested extends PreDecrementFluent> implements Nested{
PreDecrementInitNested(int index,PreDecrement item) {
this.index = index;
this.builder = new PreDecrementBuilder(this, item);
}
PreDecrementBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endPreDecrementInit() {
return and();
}
}
public class PostDecrementInitNested extends PostDecrementFluent> implements Nested{
PostDecrementInitNested(int index,PostDecrement item) {
this.index = index;
this.builder = new PostDecrementBuilder(this, item);
}
PostDecrementBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endPostDecrementInit() {
return and();
}
}
public class LambdaInitNested extends LambdaFluent> implements Nested{
LambdaInitNested(int index,Lambda item) {
this.index = index;
this.builder = new LambdaBuilder(this, item);
}
LambdaBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endLambdaInit() {
return and();
}
}
public class NotInitNested extends NotFluent> implements Nested{
NotInitNested(int index,Not item) {
this.index = index;
this.builder = new NotBuilder(this, item);
}
NotBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endNotInit() {
return and();
}
}
public class ThisInitNested extends ThisFluent> implements Nested{
ThisInitNested(int index,This item) {
this.index = index;
this.builder = new ThisBuilder(this, item);
}
ThisBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endThisInit() {
return and();
}
}
public class NegativeInitNested extends NegativeFluent> implements Nested{
NegativeInitNested(int index,Negative item) {
this.index = index;
this.builder = new NegativeBuilder(this, item);
}
NegativeBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endNegativeInit() {
return and();
}
}
public class AssignInitNested extends AssignFluent> implements Nested{
AssignInitNested(int index,Assign item) {
this.index = index;
this.builder = new AssignBuilder(this, item);
}
AssignBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endAssignInit() {
return and();
}
}
public class LogicalAndInitNested extends LogicalAndFluent> implements Nested{
LogicalAndInitNested(int index,LogicalAnd item) {
this.index = index;
this.builder = new LogicalAndBuilder(this, item);
}
LogicalAndBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endLogicalAndInit() {
return and();
}
}
public class PostIncrementInitNested extends PostIncrementFluent> implements Nested{
PostIncrementInitNested(int index,PostIncrement item) {
this.index = index;
this.builder = new PostIncrementBuilder(this, item);
}
PostIncrementBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endPostIncrementInit() {
return and();
}
}
public class RightUnsignedShiftInitNested extends RightUnsignedShiftFluent> implements Nested{
RightUnsignedShiftInitNested(int index,RightUnsignedShift item) {
this.index = index;
this.builder = new RightUnsignedShiftBuilder(this, item);
}
RightUnsignedShiftBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endRightUnsignedShiftInit() {
return and();
}
}
public class PlusInitNested extends PlusFluent> implements Nested{
PlusInitNested(int index,Plus item) {
this.index = index;
this.builder = new PlusBuilder(this, item);
}
PlusBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endPlusInit() {
return and();
}
}
public class ConstructInitNested extends ConstructFluent> implements Nested{
ConstructInitNested(int index,Construct item) {
this.index = index;
this.builder = new ConstructBuilder(this, item);
}
ConstructBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endConstructInit() {
return and();
}
}
public class XorInitNested extends XorFluent> implements Nested{
XorInitNested(int index,Xor item) {
this.index = index;
this.builder = new XorBuilder(this, item);
}
XorBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endXorInit() {
return and();
}
}
public class PreIncrementInitNested extends PreIncrementFluent> implements Nested{
PreIncrementInitNested(int index,PreIncrement item) {
this.index = index;
this.builder = new PreIncrementBuilder(this, item);
}
PreIncrementBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endPreIncrementInit() {
return and();
}
}
public class LessThanOrEqualInitNested extends LessThanOrEqualFluent> implements Nested{
LessThanOrEqualInitNested(int index,LessThanOrEqual item) {
this.index = index;
this.builder = new LessThanOrEqualBuilder(this, item);
}
LessThanOrEqualBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endLessThanOrEqualInit() {
return and();
}
}
public class PositiveInitNested extends PositiveFluent> implements Nested{
PositiveInitNested(int index,Positive item) {
this.index = index;
this.builder = new PositiveBuilder(this, item);
}
PositiveBuilder builder;
int index;
public N and() {
return (N) ForFluent.this.setToInit(index,builder.build());
}
public N endPositiveInit() {
return and();
}
}
public class MultiplyCompareNested extends MultiplyFluent> implements Nested{
MultiplyCompareNested(Multiply item) {
this.builder = new MultiplyBuilder(this, item);
}
MultiplyBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endMultiplyCompare() {
return and();
}
}
public class NewArrayCompareNested extends NewArrayFluent> implements Nested{
NewArrayCompareNested(NewArray item) {
this.builder = new NewArrayBuilder(this, item);
}
NewArrayBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endNewArrayCompare() {
return and();
}
}
public class InstanceOfCompareNested extends InstanceOfFluent> implements Nested{
InstanceOfCompareNested(InstanceOf item) {
this.builder = new InstanceOfBuilder(this, item);
}
InstanceOfBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endInstanceOfCompare() {
return and();
}
}
public class MethodCallCompareNested extends MethodCallFluent> implements Nested{
MethodCallCompareNested(MethodCall item) {
this.builder = new MethodCallBuilder(this, item);
}
MethodCallBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endMethodCallCompare() {
return and();
}
}
public class InverseCompareNested extends InverseFluent> implements Nested{
InverseCompareNested(Inverse item) {
this.builder = new InverseBuilder(this, item);
}
InverseBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endInverseCompare() {
return and();
}
}
public class IndexCompareNested extends IndexFluent> implements Nested{
IndexCompareNested(Index item) {
this.builder = new IndexBuilder(this, item);
}
IndexBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endIndexCompare() {
return and();
}
}
public class GreaterThanOrEqualCompareNested extends GreaterThanOrEqualFluent> implements Nested{
GreaterThanOrEqualCompareNested(GreaterThanOrEqual item) {
this.builder = new GreaterThanOrEqualBuilder(this, item);
}
GreaterThanOrEqualBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endGreaterThanOrEqualCompare() {
return and();
}
}
public class BitwiseAndCompareNested extends BitwiseAndFluent> implements Nested{
BitwiseAndCompareNested(BitwiseAnd item) {
this.builder = new BitwiseAndBuilder(this, item);
}
BitwiseAndBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endBitwiseAndCompare() {
return and();
}
}
public class MinusCompareNested extends MinusFluent> implements Nested{
MinusCompareNested(Minus item) {
this.builder = new MinusBuilder(this, item);
}
MinusBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endMinusCompare() {
return and();
}
}
public class LogicalOrCompareNested extends LogicalOrFluent> implements Nested{
LogicalOrCompareNested(LogicalOr item) {
this.builder = new LogicalOrBuilder(this, item);
}
LogicalOrBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endLogicalOrCompare() {
return and();
}
}
public class NotEqualsCompareNested extends NotEqualsFluent> implements Nested{
NotEqualsCompareNested(NotEquals item) {
this.builder = new NotEqualsBuilder(this, item);
}
NotEqualsBuilder builder;
public N and() {
return (N) ForFluent.this.withCompare(builder.build());
}
public N endNotEqualsCompare() {
return and();
}
}
public class DivideCompareNested