Class: Codebeacon::Tracer::TreeNode
- Inherits:
-
Object
- Object
- Codebeacon::Tracer::TreeNode
- Defined in:
- lib/codebeacon/tracer/src/models/tree_node.rb
Defined Under Namespace
Classes: TraceStatus
Instance Attribute Summary collapse
-
#backtrace_count ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#backtrace_location ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#block ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#called_method ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#caller ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#children ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#depth ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#file ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#gem_entry ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#line ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#linevars ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#locals ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#method ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#node_source ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#object_id ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#parent ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#return_value ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#script ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#script_binding ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#script_self ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#self_type ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#tp_class ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#tp_class_name ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#tp_defined_class ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
-
#trace_status ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”) @file = file @line = line @method = method @depth = depth @caller = caller @gem_entry = gem_entry @parent = parent @block = block @locals = locals @ast = ast @return_value = return_value @linevars = {} @children = [] end.
Instance Method Summary collapse
- #add_line(lineno, variables) ⇒ Object
- #depth_truncated? ⇒ Boolean
-
#initialize(file: nil, line: nil, object_id: nil, method: nil, tp_class: nil, tp_defined_class: nil, tp_class_name: nil, self_type: nil, depth: 0, caller: "", gem_entry: false, parent: nil, block: false, locals: [], return_value: nil, node_source: nil, script: false, called_method: nil) ⇒ TreeNode
constructor
A new instance of TreeNode.
- #inspect ⇒ Object
- #inspect_tree(attrs = [], depth = 0) ⇒ Object
- #set_args(lineno, variables) ⇒ Object
- #to_h ⇒ Object
Constructor Details
#initialize(file: nil, line: nil, object_id: nil, method: nil, tp_class: nil, tp_defined_class: nil, tp_class_name: nil, self_type: nil, depth: 0, caller: "", gem_entry: false, parent: nil, block: false, locals: [], return_value: nil, node_source: nil, script: false, called_method: nil) ⇒ TreeNode
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 36 def initialize(file: nil, line: nil, object_id: nil, method: nil, tp_class: nil, tp_defined_class: nil, tp_class_name: nil, self_type: nil, depth: 0, caller: "", gem_entry: false, parent: nil, block: false, locals: [], return_value: nil, node_source: nil, script: false, called_method: nil) @file = file @line = line @method = method @object_id = object_id @tp_class = tp_class @tp_defined_class = tp_defined_class @tp_class_name = tp_class_name @self_type = self_type @children = [] @depth = depth @gem_entry = gem_entry @caller = caller @parent = parent @block = block @locals = locals @return_value = return_value @linevars = Hash.new { |h, k| h[k] = {} } @node_source = node_source @trace_status = TraceStatus.new(nil) @script = script @backtrace_count = 0 @backtrace_location = nil @script_binding = nil @script_self = nil @called_method = called_method end |
Instance Attribute Details
#backtrace_count ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def backtrace_count @backtrace_count end |
#backtrace_location ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def backtrace_location @backtrace_location end |
#block ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def block @block end |
#called_method ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def called_method @called_method end |
#caller ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def caller @caller end |
#children ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def children @children end |
#depth ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def depth @depth end |
#file ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def file @file end |
#gem_entry ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def gem_entry @gem_entry end |
#line ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def line @line end |
#linevars ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def linevars @linevars end |
#locals ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def locals @locals end |
#method ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def method @method end |
#node_source ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def node_source @node_source end |
#object_id ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def object_id @object_id end |
#parent ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def parent @parent end |
#return_value ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def return_value @return_value end |
#script ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def script @script end |
#script_binding ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def script_binding @script_binding end |
#script_self ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def script_self @script_self end |
#self_type ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def self_type @self_type end |
#tp_class ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def tp_class @tp_class end |
#tp_class_name ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def tp_class_name @tp_class_name end |
#tp_defined_class ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def tp_defined_class @tp_defined_class end |
#trace_status ⇒ Object
def initialize(file: nil, line: nil, method: nil, depth: 0, caller: “”, gem_entry: false, parent: nil, block: false, locals: [], ast: nil, return_value: “”)
@file = file
@line = line
@method = method
@depth = depth
@caller = caller
@gem_entry = gem_entry
@parent = parent
@block = block
@locals = locals
@ast = ast
@return_value = return_value
@linevars = {}
@children = []
end
34 35 36 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 34 def trace_status @trace_status end |
Instance Method Details
#add_line(lineno, variables) ⇒ Object
64 65 66 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 64 def add_line(lineno, variables) @linevars[lineno] = @linevars[lineno].merge(variables) end |
#depth_truncated? ⇒ Boolean
109 110 111 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 109 def depth_truncated? @depth > Codebeacon::Tracer.config.max_depth && @children.count > 0 end |
#inspect ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 72 def inspect ivar_inspect = instance_variables.reject { |ivar| [:@children].include?(ivar) }.map do |ivar| "#{ivar.to_s}=#{instance_variable_get(ivar).inspect}" end ivar_inspect << "@children=#<#{@children.map(&:to_s)}>" "#<#{self.class.name}:0x#{self.object_id.to_s} #{ivar_inspect.join(', ')}>" end |
#inspect_tree(attrs = [], depth = 0) ⇒ Object
80 81 82 83 84 85 86 87 88 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 80 def inspect_tree(attrs = [], depth = 0) str = file.split("/").last + ":#{script ? "script" : method}" if !attrs.empty? attr_values = attrs.map { |k, v| "#{k}=#{v.inspect}" }.join(', ') str += " " + attrs end str += children.map { |c| "\n" + " " * (depth + 1) * 2 + c.inspect_tree(attrs, depth + 1) }.join() return str end |
#set_args(lineno, variables) ⇒ Object
68 69 70 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 68 def set_args(lineno, variables) @linevars[lineno] = @linevars[lineno].merge(variables) end |
#to_h ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/codebeacon/tracer/src/models/tree_node.rb', line 90 def to_h children = depth > Codebeacon::Tracer.config.max_depth ? nil : @children.map(&:to_h) is_truncated = depth > Codebeacon::Tracer.config.max_depth ? true : false { file: @file, line: @line, method: @method, class: @tp_class, tp_defined_class: @tp_defined_class, tp_class_name: @tp_class_name, class_name: @class_name, self_type: @self_type, gemEntry: @gem_entry, caller: @caller, isDepthTruncated: is_truncated, children: children } end |