public static Expression CombineWithComma(IndexSpan span, JSParser parser, Expression operand1, Expression operand2) { var comma = new CommaOperator(parser.EncodeSpan(span)); List <Expression> res = new List <Expression>(); CommaOperator left = operand1 as CommaOperator; CommaOperator right = operand2 as CommaOperator; if (left != null) { res.AddRange(left.Expressions); } else { res.Add(operand1); } if (right != null) { res.AddRange(right.Expressions); } else { res.Add(operand2); } comma.Expressions = res.ToArray(); return(comma); }
internal JScriptException(JSError errorNumber, IndexSpan span, LocationResolver resolver) { m_valueObject = null; _span = span; _resolver = resolver; m_errorCode = errorNumber; SetHResult(); }
internal void HandleUndeclaredVariable(string name, IndexSpan span, LocationResolver indexResolver) { if (!HasAlreadySeenErrorFor(name)) { HandleError(JSError.UndeclaredVariable, span, indexResolver); } }
internal void HandleError(JSError errorId, IndexSpan span, LocationResolver resolver, bool forceToError = false) { var error = new JScriptException(errorId, span, resolver); if (forceToError) { error.IsError = true; } else { error.IsError = error.Severity < 2; } if (!OnCompilerError(error)) { } }
public EncodedSpan(LocationResolver resolver, IndexSpan span) : this(resolver, span.Start, span.Length) { }