public JsBlockStatement Compile(Statement statement) { SetRegion(statement.GetRegion()); try { _result = new List<JsStatement>(); statement.AcceptVisitor(this); if (_result.Count == 1 && _result[0] is JsBlockStatement) return (JsBlockStatement)_result[0]; else return JsStatement.Block(_result); } catch (Exception ex) { _errorReporter.InternalError(ex); return JsStatement.EmptyBlock; } }
public JsBlockStatement Compile(Statement statement) { _filename = statement.GetRegion().FileName; try { _result = new List<JsStatement>(); statement.AcceptVisitor(this); if (_result.Count == 1 && _result[0] is JsBlockStatement) return (JsBlockStatement)_result[0]; else return new JsBlockStatement(_result); } catch (Exception ex) { _errorReporter.InternalError(ex, _filename, _location); return new JsBlockStatement(); } }