org.fulib.scenarios.ast.sentence.MutatingSentence Maven / Gradle / Ivy
// Generated by GenTreeSrc v0.10.2
// DO NOT EDIT - CHANGES WILL BE LOST ON RE-GENERATE
package org.fulib.scenarios.ast.sentence;
import org.fulib.scenarios.ast.Node;
import org.fulib.scenarios.ast.Positioned;
import org.fulib.scenarios.ast.decl.Name;
import org.fulib.scenarios.ast.expr.Expr;
public interface MutatingSentence extends ActorSentence
{
// =============== Properties ===============
Name getActor();
void setActor(Name actor);
Expr getSource();
void setSource(Expr source);
Expr getTarget();
void setTarget(Expr target);
// =============== Methods ===============
default R accept(MutatingSentence.Visitor
visitor, P par) { return visitor.visit(this, par); }
@Override default
R accept(ActorSentence.Visitor
visitor, P par) { return visitor.visit(this, par); }
@Override default
R accept(Sentence.Visitor
visitor, P par) { return visitor.visit(this, par); }
@Override default
R accept(Positioned.Visitor
visitor, P par) { return visitor.visit(this, par); }
@Override default
R accept(Node.Visitor
visitor, P par) { return visitor.visit(this, par); }
// =============== Classes ===============
interface Visitor
extends WriteSentence.Visitor
, AddSentence.Visitor
, RemoveSentence.Visitor
{
// =============== Methods ===============
default R visit(MutatingSentence mutatingSentence, P par) { throw new UnsupportedOperationException(this.getClass().getName() + ".visit(" + mutatingSentence.getClass().getName() + ")"); }
@Override default R visit(WriteSentence writeSentence, P par) { return this.visit((MutatingSentence) writeSentence, par); }
@Override default R visit(AddSentence addSentence, P par) { return this.visit((MutatingSentence) addSentence, par); }
@Override default R visit(RemoveSentence removeSentence, P par) { return this.visit((MutatingSentence) removeSentence, par); }
}
}