public void AddParseTree(QualifiedModuleName module, IParseTree parseTree, ParsePass pass = ParsePass.CodePanePass) { var key = module; _moduleStates[key].SetParseTree(parseTree, pass); _moduleStates[key].SetModuleContentHashCode(key.ContentHashCode); }
public IParseTree GetParseTree(QualifiedModuleName module, ParsePass pass = ParsePass.CodePanePass) { switch (pass) { case ParsePass.AttributesPass: return(_moduleStates[module].AttributesPassParseTree); case ParsePass.CodePanePass: return(_moduleStates[module].ParseTree); default: throw new ArgumentOutOfRangeException(nameof(pass), pass, null); } }
public ModuleState SetParseTree(IParseTree parseTree, ParsePass pass) { switch (pass) { case ParsePass.AttributesPass: AttributesPassParseTree = parseTree; break; case ParsePass.CodePanePass: ParseTree = parseTree; break; default: throw new ArgumentOutOfRangeException(nameof(pass), pass, null); } return(this); }
public ParsePassExceptionErrorListener(string componentName, ParsePass parsePass) { ComponentName = componentName; ParsePass = parsePass; }
private void WalkTrees(CodeInspectionSettings settings, RubberduckParserState state, IEnumerable <IParseTreeInspection> inspections, ParsePass pass) { var listeners = inspections .Where(i => i.Severity != CodeInspectionSeverity.DoNotShow && i.Pass == pass && !IsDisabled(settings, i)) .Select(inspection => inspection.Listener) .ToList(); if (!listeners.Any()) { return; } List <KeyValuePair <QualifiedModuleName, IParseTree> > trees; switch (pass) { case ParsePass.AttributesPass: trees = state.AttributeParseTrees; break; case ParsePass.CodePanePass: trees = state.ParseTrees; break; default: throw new ArgumentOutOfRangeException(nameof(pass), pass, null); } foreach (var componentTreePair in trees) { foreach (var listener in listeners) { listener.CurrentModuleName = componentTreePair.Key; } ParseTreeWalker.Default.Walk(new CombinedParseTreeListener(listeners), componentTreePair.Value); } }
public ParsePassSyntaxErrorException(string message, RecognitionException innerException, IToken offendingSymbol, int line, int position, string componentName, ParsePass parsePass) : base(message, innerException, offendingSymbol, line, position) { ComponentName = componentName; ParsePass = parsePass; }
public PreprocessorSyntaxErrorException(string message, RecognitionException innerException, IToken offendingSymbol, int line, int position, string componentName, ParsePass parsePass) : base(message, innerException, offendingSymbol, line, position, componentName, parsePass) { }
public MainParseExceptionErrorListener(string componentName, ParsePass parsePass) : base(componentName, parsePass) { }
public PreprocessorExceptionErrorListener(string componentName, ParsePass parsePass) : base(componentName, parsePass) { }