Class: Orbacle::Builder

Inherits:
Object
  • Object
show all
Includes:
AstUtils, OperatorAssignmentProcessors
Defined in:
lib/orbacle/builder.rb,
lib/orbacle/builder/context.rb,
lib/orbacle/builder/operator_assignment_processors.rb

Defined Under Namespace

Modules: OperatorAssignmentProcessors Classes: Context, Result

Constant Summary collapse

BuilderError =
Class.new(StandardError)

Instance Method Summary collapse

Methods included from OperatorAssignmentProcessors

#build_accessor_based_on_assignment, #complete_assignment, #handle_and_asgn, #handle_op_asgn, #handle_or_asgn

Methods included from AstUtils

#build_position_range_from_ast, #build_position_range_from_parser_range, const_prename_and_name_to_string, const_to_string, get_nesting, prename

Constructor Details

#initialize(graph, worklist, tree, id_generator) ⇒ Builder

Returns a new instance of Builder.



16
17
18
19
20
21
# File 'lib/orbacle/builder.rb', line 16

def initialize(graph, worklist, tree, id_generator)
  @graph = graph
  @worklist = worklist
  @tree = tree
  @id_generator = id_generator
end

Instance Method Details

#process_file(ast, filepath) ⇒ Object



23
24
25
26
27
# File 'lib/orbacle/builder.rb', line 23

def process_file(ast, filepath)
  initial_context = Context.new(filepath, Selfie.main, Nesting.empty, Context::AnalyzedKlass.new(nil, :public), nil, {})
  result = process(ast, initial_context)
  return result
end