Create a new analyzer instance. Prefer the use of the FlowrAnalyzerBuilder instead of calling this constructor directly.
The parser to use for parsing the given request.
The context to use for the analyses.
The caching layer to use for storing analysis results.
This is the config used for the analyzer
Close the parser if it was created by this builder. This is only required if you rely on an RShell/remote engine.
Get the control flow graph (CFG) for the request.
Optionalsimplifications: readonly (Simplification passes to be applied to the CFG.
Optionalkind: CfgKindThe kind of CFG that is requested. By default, the CFG without dataflow information is returned.
Optionalforce: booleanDo not use the cache, instead force new analyses.
ReadonlyFlowrAnalysisProvider#peekControlflow - to get the CFG if already available without triggering a new computation.
Get the dataflow graph for the request.
Optionalforce: booleanDo not use the cache, instead force new analyses.
ReadonlyFlowrAnalysisProvider#peekDataflow - to get the dataflow graph if already available without triggering a new computation.
Returns a read-only version of the project context information. This is the preferred method for users that want to inspect the context.
Get the normalized abstract syntax tree for the request.
Optionalforce: booleanDo not use the cache, instead force new analyses.
ReadonlyFlowrAnalysisProvider#peekNormalize - to get the normalized AST if already available without triggering a new computation.
Get the parse output for the request.
The parse result type depends on the KnownParser used by the analyzer.
Optionalforce: booleanDo not use the cache, instead force a new parse.
ReadonlyFlowrAnalysisProvider#peekParse - to get the parse output if already available without triggering a new computation.
Returns a set of additional data and helper functions exposed by the underlying KnownParser, including the parser's BaseParserInformation.name and corresponding version information.
Peek at the control flow graph (CFG) for the request, if it was already computed.
Optionalsimplifications: readonly (Optionalkind: CfgKindPeek at the dataflow graph for the request, if it was already computed.
Peek at the normalized abstract syntax tree for the request, if it was already computed.
Peek at the parse output for the request, if it was already computed.
Access the query API for the request.
This executes all steps of the core analysis (parse, normalize, dataflow).
Optionalforce: booleanRun a search on the current analysis.
Central class for conducting analyses with FlowR. Use the FlowrAnalyzerBuilder to create a new instance.
If you want the original pattern of creating a pipeline and running all steps, you can still do this with FlowrAnalyzer#runFull.
To inspect the context of the analyzer, use FlowrAnalyzer#inspectContext (if you are a plugin and need to modify it, use FlowrAnalyzer#context instead).