54 $
"Cannot apply '!' to object '{left}'",
80 yield
return Not(left, position);
Describes a specific position inside a source file.
Contains Static Data for the BadScript Language.
const string NOT_OPERATOR_NAME
Base Implementation for all Expressions used inside the Script.
static IEnumerable< BadObject > ExecuteOperatorOverride(BadObject left, BadObject right, BadExecutionContext context, string name, BadSourcePosition position)
Helper function that executes an operator override function if implemented.
IEnumerable< BadExpression > GetDescendantsAndSelf()
Returns all Descendants of the Expression and the Expression itself.
BadSourcePosition Position
The source Position of the Expression.
IEnumerable< BadObject > Execute(BadExecutionContext context)
Evaluates the Expression within the current Execution Context.
bool IsConstant
Indicates if the expression stays constant at all times.
Implements the Logic Not Exression.
override string ToString()
Returns the string representation of the Expression.
BadExpression Right
Right side of the Expression.
static IEnumerable< BadObject > NotWithOverride(BadExecutionContext? context, BadObject left, BadSourcePosition position)
Executes the expression.
static BadObject Not(BadObject left, BadSourcePosition pos)
Returns true if the Input is false Returns false if the Input is true.
override IEnumerable< BadObject > InnerExecute(BadExecutionContext context)
override IEnumerable< BadExpression > GetDescendants()
BadLogicNotExpression(BadExpression right, BadSourcePosition position)
Constructor for the Logic Not Expression.
The Execution Context. Every execution of a script needs a context the script is running in....
BadScope Scope
The Root Scope of the Context.
Gets thrown by the runtime.
The Base Class for all BadScript Objects.
static readonly BadObject True
The True Value for the BadScript Language.
virtual bool HasProperty(string propName, BadScope? caller=null)
Returns true if the object contains a given property or there exists an extension for the current Ins...
static readonly BadObject Null
The Null Value for the BadScript Language.
Implements the Interface for Native Boolean.
Contains Shared Data Structures and Functionality.
Contains the Logic Expressions for the BadScript2 Language.
Contains the Error Objects for the BadScript2 Language.
Contains the Native Runtime Objects.
Contains the Runtime Objects.
Contains the Runtime Implementation.