public void Visit(TernaryExpression expression) { expression.LeftExpression.Accept(this); Builder.Append(" ? "); expression.MiddleExpression.Accept(this); Builder.Append(" : "); expression.RightExpression.Accept(this); }
public void Visit(TernaryExpression expression) { Result = null; // Evaluates the left expression and saves the value expression.LeftExpression.Accept(this); JsInstance left = (JsInstance)Result; Result = null; if (left.ToBoolean()) { // Evaluates the middle expression expression.MiddleExpression.Accept(this); } else { // Evaluates the right expression expression.RightExpression.Accept(this); } }
public void Visit(TernaryExpression expression) { Result = null; // Evaluates the left expression and saves the value expression.LeftExpression.Accept(this); var left = Result; Result = null; EnsureIdentifierIsDefined(left); if (left.ToBoolean()) { // Evaluates the middle expression expression.MiddleExpression.Accept(this); } else { // Evaluates the right expression expression.RightExpression.Accept(this); } }
void Analyze(TernaryExpression Stmt) { SetCurrentLineAndCharNos(Stmt); if (Stmt.LeftExpression != null) Analyze(Stmt.LeftExpression); if (Stmt.MiddleExpression != null) Analyze(Stmt.MiddleExpression); if (Stmt.RightExpression != null) Analyze(Stmt.RightExpression); }