class ClassStatement
A parsed class statement
@example A class
class Test { }
Contains the variables, class name, type
Public Instance Methods
name()
click to toggle source
The name of the class
# File lib/steamd/nodes/class_statement_node.rb, line 21 def name class_name.text_value end
to_hash()
click to toggle source
Returns the class object as a hash
@return [Hash] hash representation of the class
# File lib/steamd/nodes/class_statement_node.rb, line 12 def to_hash { name: name, type: type, variables: variables } end
type()
click to toggle source
The class type
ie class Test<EMsg::Blah> {}
# File lib/steamd/nodes/class_statement_node.rb, line 28 def type types = elements.select { |el| el.is_a?(ClassType) } type = types.first type&.value end
variables()
click to toggle source
Returns a list of variables
@return [Array] variables
# File lib/steamd/nodes/class_statement_node.rb, line 37 def variables declerations = [first_var] + other.elements.map(&:decleration) variables = declerations.select do |node| node.is_a?(Variable) end variables.map!(&:to_hash) end