Module: Laser::Analysis::ControlFlow
- Defined in:
- lib/laser/analysis/control_flow.rb,
lib/laser/analysis/control_flow/simulation.rb,
lib/laser/analysis/control_flow/basic_block.rb,
lib/laser/analysis/control_flow/cfg_builder.rb,
lib/laser/analysis/control_flow/alias_analysis.rb,
lib/laser/analysis/control_flow/cfg_instruction.rb,
lib/laser/analysis/control_flow/yield_properties.rb,
lib/laser/analysis/control_flow/raise_properties.rb,
lib/laser/analysis/control_flow/unused_variables.rb,
lib/laser/analysis/control_flow/lifetime_analysis.rb,
lib/laser/analysis/control_flow/control_flow_graph.rb,
lib/laser/analysis/control_flow/method_call_search.rb,
lib/laser/analysis/control_flow/constant_propagation.rb,
lib/laser/analysis/control_flow/unreachability_analysis.rb,
lib/laser/analysis/control_flow/static_single_assignment.rb,
lib/laser/analysis/control_flow/guaranteed_super_detection.rb
Defined Under Namespace
Modules: AliasAnalysis, ConstantPropagation, GuaranteedSuperDetection, LifetimeAnalysis, MethodCallSearch, RaiseProperties, Simulation, StaticSingleAssignment, UnreachabilityAnalysis, UnusedVariables, YieldProperties Classes: BasicBlock, ControlFlowGraph, GraphBuilder, Instruction, TerminalBasicBlock
Constant Summary
- INAPPLICABLE =
PlaceholderObject.new('INAPPLICABLE')
Class Method Summary (collapse)
Class Method Details
+ (Object) perform_cfg_analysis(tree, text, opts = {})
22 23 24 25 26 |
# File 'lib/laser/analysis/control_flow.rb', line 22 def self.perform_cfg_analysis(tree, text, opts={}) graph = GraphBuilder.new(tree).build graph.analyze(opts) graph end |