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