12345678910111213141516171819202122232425 |
- using Esprima.Ast;
- namespace Jint.Runtime.Interpreter.Expressions
- {
- internal sealed class JintConditionalExpression : JintExpression
- {
- private readonly JintExpression _test;
- private readonly JintExpression _consequent;
- private readonly JintExpression _alternate;
- public JintConditionalExpression(Engine engine, ConditionalExpression expression) : base(engine, expression)
- {
- _test = Build(engine, expression.Test);
- _consequent = Build(engine, expression.Consequent);
- _alternate = Build(engine, expression.Alternate);
- }
- protected override object EvaluateInternal()
- {
- return TypeConverter.ToBoolean(_test.GetValue())
- ? _consequent.GetValue()
- : _alternate.GetValue();
- }
- }
- }
|