
org.fulib.scenarios.ast.expr.Expr Maven / Gradle / Ivy
Show all versions of fulibScenarios Show documentation
// Generated by GenTreeSrc v0.10.2
// DO NOT EDIT - CHANGES WILL BE LOST ON RE-GENERATE
package org.fulib.scenarios.ast.expr;
import org.fulib.scenarios.ast.Node;
import org.fulib.scenarios.ast.Positioned;
import org.fulib.scenarios.ast.expr.access.AttributeAccess;
import org.fulib.scenarios.ast.expr.access.ExampleAccess;
import org.fulib.scenarios.ast.expr.call.CallExpr;
import org.fulib.scenarios.ast.expr.call.CreationExpr;
import org.fulib.scenarios.ast.expr.collection.CollectionExpr;
import org.fulib.scenarios.ast.expr.collection.FilterExpr;
import org.fulib.scenarios.ast.expr.collection.ListExpr;
import org.fulib.scenarios.ast.expr.collection.MapAccessExpr;
import org.fulib.scenarios.ast.expr.collection.RangeExpr;
import org.fulib.scenarios.ast.expr.conditional.AttributeCheckExpr;
import org.fulib.scenarios.ast.expr.conditional.ConditionalExpr;
import org.fulib.scenarios.ast.expr.conditional.ConditionalOperatorExpr;
import org.fulib.scenarios.ast.expr.conditional.PredicateOperatorExpr;
import org.fulib.scenarios.ast.expr.operator.BinaryExpr;
import org.fulib.scenarios.ast.expr.primary.AnswerLiteral;
import org.fulib.scenarios.ast.expr.primary.BooleanLiteral;
import org.fulib.scenarios.ast.expr.primary.CharLiteral;
import org.fulib.scenarios.ast.expr.primary.DoubleLiteral;
import org.fulib.scenarios.ast.expr.primary.IntLiteral;
import org.fulib.scenarios.ast.expr.primary.ItLiteral;
import org.fulib.scenarios.ast.expr.primary.NameAccess;
import org.fulib.scenarios.ast.expr.primary.PrimaryExpr;
import org.fulib.scenarios.ast.expr.primary.StringLiteral;
import org.fulib.scenarios.ast.type.Type;
public interface Expr extends Positioned
{
// =============== Properties ===============
default Type getType() { return ExprDelegate.getType(this); }
// =============== Methods ===============
default R accept(Expr.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 ErrorExpr.Visitor
, PlaceholderExpr.Visitor
, PrimaryExpr.Visitor
, AttributeAccess.Visitor
, ExampleAccess.Visitor
, CreationExpr.Visitor
, CallExpr.Visitor
, BinaryExpr.Visitor
, ConditionalExpr.Visitor
, CollectionExpr.Visitor
{
// =============== Methods ===============
default R visit(Expr expr, P par) { throw new UnsupportedOperationException(this.getClass().getName() + ".visit(" + expr.getClass().getName() + ")"); }
@Override default R visit(ErrorExpr errorExpr, P par) { return this.visit((Expr) errorExpr, par); }
@Override default R visit(PlaceholderExpr placeholderExpr, P par) { return this.visit((Expr) placeholderExpr, par); }
@Override default R visit(PrimaryExpr primaryExpr, P par) { return this.visit((Expr) primaryExpr, par); }
@Override default R visit(AttributeAccess attributeAccess, P par) { return this.visit((Expr) attributeAccess, par); }
@Override default R visit(ExampleAccess exampleAccess, P par) { return this.visit((Expr) exampleAccess, par); }
@Override default R visit(CreationExpr creationExpr, P par) { return this.visit((Expr) creationExpr, par); }
@Override default R visit(CallExpr callExpr, P par) { return this.visit((Expr) callExpr, par); }
@Override default R visit(BinaryExpr binaryExpr, P par) { return this.visit((Expr) binaryExpr, par); }
@Override default R visit(ConditionalExpr conditionalExpr, P par) { return this.visit((Expr) conditionalExpr, par); }
@Override default R visit(CollectionExpr collectionExpr, P par) { return this.visit((Expr) collectionExpr, par); }
}
}