BadScript 2
Loading...
Searching...
No Matches
BadDefaultExportExpression.cs
Go to the documentation of this file.
1
using
BadScript2.Common
;
2
using
BadScript2.Optimizations.Folding
;
3
using
BadScript2.Runtime
;
4
using
BadScript2.Runtime.Objects
;
5
6
namespace
BadScript2.Parser.Expressions.Module
;
7
11
public
class
BadDefaultExportExpression
:
BadExpression
12
{
18
public
BadDefaultExportExpression
(
BadExpression
expression,
BadSourcePosition
position) : base(false, position)
19
{
20
Expression
= expression;
21
}
22
26
public
BadExpression
Expression
{
get
;
private
set
; }
27
29
public
override
IEnumerable<BadExpression>
GetDescendants
()
30
{
31
return
Expression
.
GetDescendantsAndSelf
();
32
}
33
35
public
override
void
Optimize
()
36
{
37
Expression
=
BadConstantFoldingOptimizer
.
Optimize
(
Expression
);
38
}
39
41
protected
override
IEnumerable<BadObject>
InnerExecute
(
BadExecutionContext
context)
42
{
43
BadObject
? result =
BadObject
.
Null
;
44
foreach
(
BadObject
o
in
Expression
.
Execute
(context))
45
{
46
result = o;
47
48
yield
return
o;
49
}
50
51
result = result.Dereference();
52
53
context.Scope.SetExports(context, result);
54
55
yield
return
result;
56
}
57
58
public
override
string
ToString
()
59
{
60
return
"export default "
+
Expression
;
61
}
62
}
BadScript2.Common.BadSourcePosition
Describes a specific position inside a source file.
Definition
BadSourcePosition.cs:9
BadScript2.Optimizations.Folding.BadConstantFoldingOptimizer
Implements a simple constant folding optimization.
Definition
BadConstantFoldingOptimizer.cs:15
BadScript2.Optimizations.Folding.BadConstantFoldingOptimizer.Optimize
static BadExpression Optimize(BadExpression expr)
Optimizes the given expression.
Definition
BadConstantFoldingOptimizer.cs:21
BadScript2.Parser.Expressions.BadExpression
Base Implementation for all Expressions used inside the Script.
Definition
BadExpression.cs:23
BadScript2.Parser.Expressions.BadExpression.GetDescendantsAndSelf
IEnumerable< BadExpression > GetDescendantsAndSelf()
Returns all Descendants of the Expression and the Expression itself.
Definition
BadExpression.cs:182
BadScript2.Parser.Expressions.BadExpression.Execute
IEnumerable< BadObject > Execute(BadExecutionContext context)
Evaluates the Expression within the current Execution Context.
Definition
BadExpression.cs:238
BadScript2.Parser.Expressions.Module.BadDefaultExportExpression
Exports the Default Value of the current execution.
Definition
BadDefaultExportExpression.cs:12
BadScript2.Parser.Expressions.Module.BadDefaultExportExpression.GetDescendants
override IEnumerable< BadExpression > GetDescendants()
Definition
BadDefaultExportExpression.cs:29
BadScript2.Parser.Expressions.Module.BadDefaultExportExpression.Optimize
override void Optimize()
Uses the Constant Folding Optimizer to optimize the expression.
Definition
BadDefaultExportExpression.cs:35
BadScript2.Parser.Expressions.Module.BadDefaultExportExpression.Expression
BadExpression Expression
The Expression to export.
Definition
BadDefaultExportExpression.cs:26
BadScript2.Parser.Expressions.Module.BadDefaultExportExpression.ToString
override string ToString()
Definition
BadDefaultExportExpression.cs:58
BadScript2.Parser.Expressions.Module.BadDefaultExportExpression.InnerExecute
override IEnumerable< BadObject > InnerExecute(BadExecutionContext context)
Definition
BadDefaultExportExpression.cs:41
BadScript2.Parser.Expressions.Module.BadDefaultExportExpression.BadDefaultExportExpression
BadDefaultExportExpression(BadExpression expression, BadSourcePosition position)
Creates a new Default Export Expression.
Definition
BadDefaultExportExpression.cs:18
BadScript2.Runtime.BadExecutionContext
The Execution Context. Every execution of a script needs a context the script is running in....
Definition
BadExecutionContext.cs:16
BadScript2.Runtime.Objects.BadObject
The Base Class for all BadScript Objects.
Definition
BadObject.cs:14
BadScript2.Runtime.Objects.BadObject.Null
static readonly BadObject Null
The Null Value for the BadScript Language.
Definition
BadObject.cs:28
BadScript2.Common
Contains Shared Data Structures and Functionality.
Definition
BadParseException.cs:1
BadScript2.Optimizations.Folding
Contains the BadScript2 Constant Folding Optimizations.
Definition
BadConstantFoldingOptimizer.cs:9
BadScript2.Parser.Expressions.Module
Definition
BadDefaultExportExpression.cs:6
BadScript2.Runtime.Objects
Contains the Runtime Objects.
Definition
BadArray.cs:10
BadScript2.Runtime
Contains the Runtime Implementation.
Definition
BadExecutionContext.cs:8
src
BadScript2
Parser
Expressions
Module
BadDefaultExportExpression.cs
Generated by
1.9.8