private void UpdateNavigationTargets(AntlrParseResultEventArgs antlrParseResultArgs) { Contract.Requires<ArgumentNullException>(antlrParseResultArgs != null, "antlrParseResultArgs"); NavigationTargetListener listener = new NavigationTargetListener(this, antlrParseResultArgs.Snapshot, antlrParseResultArgs.Tokens); ParseTreeWalker.Default.Walk(listener, antlrParseResultArgs.Result); _navigationTargets = listener.NavigationTargets; OnNavigationTargetsChanged(EventArgs.Empty); }
public Listener(PhpEditorNavigationSourceProvider provider, ITextSnapshot snapshot, AntlrParseResultEventArgs antlrParseResultArgs, ICollection<IEditorNavigationTarget> navigationTargets) { Contract.Requires<ArgumentNullException>(provider != null, "provider"); Contract.Requires<ArgumentNullException>(snapshot != null, "snapshot"); Contract.Requires<ArgumentNullException>(antlrParseResultArgs != null, "antlrParseResultArgs"); Contract.Requires<ArgumentNullException>(navigationTargets != null, "navigationTargets"); _provider = provider; _snapshot = snapshot; _antlrParseResultArgs = antlrParseResultArgs; _navigationTargets = navigationTargets; }