24 public readonly
string Name;
69 return "FunctionConstraint";
100 $
"Return Type Mismatch. Expected {m_Prototype} but got {f.ReturnType} in {f}",
110 $
"Parameter Count Mismatch. Expected {Parameters.Length} but got {f.Parameters.Length} in {f}",
128 $
"{f}: Parameter Optional Flags are not equal. Implementation: {actual}, Expectation: {expected}",
140 $
"{f}: Parameter Null Check Flags are not equal. Implementation: {actual}, Expectation: {expected}",
152 $
"{f}: Parameter Rest Args Flags are not equal. Implementation: {actual}, Expectation: {expected}",
166 if (expected.
Type ==
null || actual.
Type == expected.
Type)
173 $
"{f}: Parameter Types not equal. Implementation: {actual}, Expectation: {expected}",
187 c.Parameters.Length == Parameters.Length &&
188 c.Parameters.Zip(
Parameters, (x, y) => (x, y)).All(z => z.x.Equals(z.y));
Base Implementation for all Expressions used inside the Script.
Implements a Function Constraint for an Interface The Constraints specifies how a specific function s...
override int GetConstraintHash()
BadInterfaceFunctionConstraint(string name, BadExpression? @return, BadFunctionParameter[] parameters)
Creates a new Function Constraint.
readonly? BadExpression Return
Return Type of the Function.
BadInterfaceFunctionConstraint(string name, BadExpression? @return, BadClassPrototype returnProto, BadFunctionParameter[] parameters)
Creates a new Function Constraint.
override bool Equals(BadInterfaceConstraint? other)
readonly string Name
The Name of the Function.
readonly BadFunctionParameter[] Parameters
The Parameters of the Function.
readonly? BadClassPrototype m_Prototype
The Return Type Prototype.
override string ToString()
override void Validate(BadClass obj, List< BadInterfaceValidatorError > errors)
Gets thrown by the runtime.
The Base Class for all BadScript Objects.
Implements a function that can be called from the script.
Provides function parameter info.
bool IsOptional
Indicates if this parameter is optional.
BadExpression? TypeExpr
The Expression that returns the type of the parameter if evaluated.
BadClassPrototype? Type
The Class Prototype of the Parameter.
bool IsRestArgs
Indicates if this parameter is the rest parameter of the function.
bool IsNullChecked
Indicates if this parameter is null checked by the runtime.
Implements a Type Instance in the BadScript Language.
BadObjectReference GetProperty(string propName, BadPropertyVisibility visibility, BadScope? caller=null)
Gets a property from this class or any of its base classes.
BadScope Scope
Table of all members of this type(excluding base class members)
override 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...
Implements a Class Prototype for the BadScript Language.
virtual bool IsSuperClassOf(BadClassPrototype proto)
Returns true if the Class is a Subclass of the given Class.
Implements an Interface Constraint.
Implements Combination of HashCode Functions Taken from decompiled source of System....
Contains the Type Expressions for the BadScript2 Language.
Contains the Error Objects for the BadScript2 Language.
Contains Runtime Function Objects.
Contains Runtime Interface Objects.
Contains Runtime Type Objects.
Contains the Runtime Objects.
Contains Utility Functions and Classes.
Contains data about a validation error.