ParseReason Enum


Provides reasons for a parsing operation in a language service.

public enum ParseReason



Parse the code block at the given location to obtain any expressions that might be of interest in the Autos debugging window (an expression is the name of variable or parameter that can be evaluated to produce a value).


Parse the entire source file, checking for errors. This pass should also create lists of matching language pairs, triplets, members, and methods.


Parse the section of code containing the specified location to find the extent of the statement. Used in validating breakpoints.


Parse to get the partially completed word before the current position in order to show a list of possible completions (members, arguments, methods).


Parse the separator and the possible name before it, to obtain a list of members to be shown in a member completion list.


Parse the identifier or expression at the specified location to obtain a possible URI of a file where the identifier is defined, declared, or referenced.


Parse to find the matching language pairs (such as "{" and "}" or "<" and ">") that enclose the given location so they and their contents can be highlighted.


Parse the language pair at the given location to finds its match.


Parse the separator character before the current location to obtain a list of members for the class.


Parse the character at the current location to complete a member selection and to highlight the matching pair to the parsed character (such as a ")" after a method name).


Parse the method name before the current position to produce a list of all overloaded method signatures that match the method name.


A placeholder value indicating that no parsing should be done.


Parse the identifier or selection at the given location to obtain type information to be shown in an IntelliSense quick info tool tip.


These are all the reasons a parsing operation is performed in a language service. Most reasons confine parsing to the current line and therefore are very fast, some reasons call for a more extensive parsing that can take a while and are therefore typically done on a background thread.