UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

33 lines 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FlowrAnalyzerLoadingOrderPlugin = void 0; const flowr_analyzer_plugin_1 = require("../flowr-analyzer-plugin"); const semver_1 = require("semver"); /** * This is the base class for all plugins that determine the loading order of files in a project. * These plugins interplay with the {@link FlowrAnalyzerFilesContext} to gather information about the files in the project and determine their loading order. * See {@link DefaultFlowrAnalyzerLoadingOrderPlugin} for the dummy default implementation. * * In general, these plugins only trigger for a full project analysis after all files have been discovered and loaded. * Otherwise, they may trigger multiple times (if for some reason, discovery reveals new files during the analysis). */ class FlowrAnalyzerLoadingOrderPlugin extends flowr_analyzer_plugin_1.FlowrAnalyzerPlugin { type = flowr_analyzer_plugin_1.PluginType.LoadingOrder; static defaultPlugin() { return new DefaultFlowrAnalyzerLoadingOrderPlugin(); } } exports.FlowrAnalyzerLoadingOrderPlugin = FlowrAnalyzerLoadingOrderPlugin; /** * This is the default dummy implementation of the {@link FlowrAnalyzerLoadingOrderPlugin}. * It does nothing and relies on the chronological order of file discovery. */ class DefaultFlowrAnalyzerLoadingOrderPlugin extends FlowrAnalyzerLoadingOrderPlugin { name = 'default-loading-order-plugin'; description = 'This is the default loading order plugin that does nothing.'; version = new semver_1.SemVer('0.0.0'); process() { /* we always *have* to have a loading order, this plugin does not have to guess to rely on chronological order */ } } //# sourceMappingURL=flowr-analyzer-loading-order-plugin.js.map