public JSParserResult Parse(string code) { var jsp = new Jint.Parser.JavaScriptParser(); var returnedResult = new JSParserResult(); Program program = null; try { program = jsp.Parse(code, new ParserOptions() { Tokens = true, Comment = true, }); } catch (ParserException pex) { returnedResult.Errors.Add(new ErrorMessage() { Message = pex.Message, StartColumn = pex.Column, StartLine = pex.LineNumber }); } catch (Exception ex) { returnedResult.InternalErrors.Add(new ErrorMessage() { Message = ex.Message, StartColumn = 1, StartLine = 1 }); } if (program == null) { return(returnedResult); } var comments = (program.Comments ?? Enumerable.Empty <Comment>()) .Select(c => new CommentWrapper(c)); _comments = new CommentsAgregator(); _comments.ProcessComments(comments); ProcessStatements(program.Body, new ParserContext(returnedResult.Nodes)); returnedResult.TaskList = TaskListAggregator.GetTaskList(_comments.Comments, _settings.ToDoKeyWords).ToList(); return(returnedResult); }
public JSParserResult Parse(string code) { var jsp = new Jint.Parser.JavaScriptParser(); var returnedResult = new JSParserResult(); Program program = null; try { program = jsp.Parse(code, new ParserOptions() { Tokens = true, Comment = true, }); } catch (ParserException pex) { returnedResult.Errors.Add(new ErrorMessage() { Message = pex.Message, StartColumn = pex.Column, StartLine = pex.LineNumber }); } catch (Exception ex) { returnedResult.InternalErrors.Add(new ErrorMessage() { Message = ex.Message, StartColumn = 1, StartLine = 1 }); } if (program == null) { return returnedResult; } var comments = (program.Comments ?? Enumerable.Empty<Comment>()) .Select(c => new CommentWrapper(c)); _comments = new CommentsAgregator(); _comments.ProcessComments(comments); ProcessStatements(program.Body, new ParserContext(returnedResult.Nodes)); returnedResult.TaskList = TaskListAggregator.GetTaskList(_comments.Comments, _settings.ToDoKeyWords).ToList(); return returnedResult; }