<itemvalue="An AST visitor that will recursively visit all of the nodes in an AST structure. For example, using an instance of this class to visit a [Block] will also cause all of the statements in the block to be visited. Subclasses that override a visit method must either invoke the overridden visit method or must explicitly ask the visited node to visit its children. Failure to do so will cause the children of the visited node to not be visited. Clients may extend this class."/>
<itemvalue="recursive ast visitor"/>
<itemvalue="visit field formal parameter"/>
<itemvalue="map literal entry"/>
<itemvalue="If [throwIfDiagnostics] is `true` (the default), then if any diagnostics are produced because of syntactic errors in the file an `ArgumentError` will be thrown. If the parameter is `false`, then the caller can check the result to see whether there are any errors."/>
<itemvalue="Callers that don't need the feature set to be strictly correct can pass in `FeatureSet.latestLanguageVersion()` to enable the default set of features; this is much more performant than using an analysis session, because it doesn't require the analyzer to process the SDK."/>
<itemvalue="[featureSet] determines what set of features will be assumed by the parser. This parameter is required because the analyzer does not yet have a performant way of computing the correct feature set for a single file to be parsed. Callers that need the feature set to be strictly correct must create an [AnalysisContextCollection], query it to get an [AnalysisContext], query it to get an [AnalysisSession], and then call `getParsedUnit`."/>
<itemvalue="If a [resourceProvider] is given, it will be used to access the file system."/>