All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.fulib.scenarios.ast.expr.Expr Maven / Gradle / Ivy

The newest version!
// 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); }
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy