BadScript 2
Loading...
Searching...
No Matches
BadReturnExpressionCompiler.cs
Go to the documentation of this file.
1
using
BadScript2.Parser.Expressions.ControlFlow
;
2
3
namespace
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.ControlFlow
;
4
8
public
class
BadReturnExpressionCompiler
:
BadExpressionCompiler
<BadReturnExpression>
9
{
11
public
override
void
Compile
(
BadExpressionCompileContext
context,
BadReturnExpression
expression)
12
{
13
if
(expression.
Right
!=
null
)
14
{
15
context.
Compile
(expression.
Right
);
16
context.
Emit
(
BadOpCode
.Return, expression.
Position
, expression.
IsRefReturn
);
17
}
18
else
19
{
20
context.
Emit
(
BadOpCode
.Return, expression.
Position
);
21
}
22
}
23
}
BadScript2.Parser.Expressions.BadExpression.Position
BadSourcePosition Position
The source Position of the Expression.
Definition
BadExpression.cs:165
BadScript2.Parser.Expressions.ControlFlow.BadReturnExpression
Implements the Return expression that is used to exit the current function with an Optional Return Va...
Definition
BadReturnExpression.cs:14
BadScript2.Parser.Expressions.ControlFlow.BadReturnExpression.Right
BadExpression? Right
The (optional) return value.
Definition
BadReturnExpression.cs:38
BadScript2.Parser.Expressions.ControlFlow.BadReturnExpression.IsRefReturn
bool IsRefReturn
Indicates if the return value is meant to be a reference.
Definition
BadReturnExpression.cs:33
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.BadExpressionCompiler
Compiles a BadScript Expression of type T.
Definition
BadExpressionCompiler.cs:11
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.ControlFlow.BadReturnExpressionCompiler
Compiles the BadReturnExpression.
Definition
BadReturnExpressionCompiler.cs:9
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.ControlFlow.BadReturnExpressionCompiler.Compile
override void Compile(BadExpressionCompileContext context, BadReturnExpression expression)
Definition
BadReturnExpressionCompiler.cs:11
BadScript2.Parser.Expressions.ControlFlow
Contains the Controlflow Expressions for the BadScript2 Language.
Definition
BadBreakExpression.cs:8
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.ControlFlow
Contains Controlflow Expression Compilers.
Definition
BadBreakExpressionCompiler.cs:6
BadScript2.Runtime.VirtualMachine.BadOpCode
BadOpCode
Defines the Operations that the BadVirtualMachine can execute.
Definition
BadOpCode.cs:7
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.BadExpressionCompileContext
Definition
IBadExpressionCompiler.cs:7
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.BadExpressionCompileContext.Emit
void Emit(BadInstruction instruction)
Definition
IBadExpressionCompiler.cs:31
BadScript2.Runtime.VirtualMachine.Compiler.ExpressionCompilers.BadExpressionCompileContext.Compile
void Compile(BadExpression expr)
src
BadScript2
Runtime
VirtualMachine
Compiler
ExpressionCompilers
ControlFlow
BadReturnExpressionCompiler.cs
Generated by
1.9.8