29 public string Name {
get; }
76 genParams[i] = genParams[i].Dereference();
79 yield
return genType.CreateGeneric(genParams);
Describes a specific position inside a source file.
Base Implementation for all Expressions used inside the Script.
BadSourcePosition Position
The source Position of the Expression.
IEnumerable< BadObject > Execute(BadExecutionContext context)
Evaluates the Expression within the current Execution Context.
Implements the Variable Expression.
string? GetName()
Returns the Name of the Expression.The Name of the Expression
string Name
Name of the Variable.
BadVariableExpression(string name, BadSourcePosition position, params BadExpression[] genericParameters)
Constructor of the Variable Expression.
override IEnumerable< BadObject > InnerExecute(BadExecutionContext context)
IReadOnlyList< BadExpression > GenericParameters
override string ToString()
Returns the String representation of the Variable Expression.
override IEnumerable< BadExpression > GetDescendants()
The Execution Context. Every execution of a script needs a context the script is running in....
BadScope Scope
The Root Scope of the Context.
BadObjectReference GetVariable(string name, BadScope caller)
Returns the variable reference of the specified variable.
bool HasVariable(string name, BadScope caller)
returns true if the specified variable is defined in the current scope or any parent scope
Gets thrown by the runtime.
static BadRuntimeException Create(BadScope? scope, string message)
Creates a new BadScriptException.
The Base Class for all BadScript Objects.
Implements the base functionality for a BadScript Reference.
Gets inherited by all Expressions that have a Name(e.g. Variable Definitions, Function Definitions,...
Represents a Generic Object.
Contains Shared Data Structures and Functionality.
Contains the Variable Expressions for the BadScript2 Language.
Contains the Error Objects for the BadScript2 Language.
Contains Runtime Interface Objects.
Contains Runtime Type Objects.
Contains the Runtime Objects.
Contains the Runtime Implementation.