Class: AbideDevUtils::Ppt::CodeIntrospection::Declaration

Inherits:
Object
  • Object
show all
Includes:
AbideDevUtils::Ppt::CodeGen::DataTypes
Defined in:
lib/abide_dev_utils/ppt/code_introspection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from AbideDevUtils::Ppt::CodeGen::DataTypes

#display_type_expr, #display_type_expr_with_entries, #display_type_expr_with_left_expr, #display_value, #infer_data_type

Constructor Details

#initialize(ast) ⇒ Declaration

Returns a new instance of Declaration.



30
31
32
# File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 30

def initialize(ast)
  @ast = ast.definitions.first
end

Instance Attribute Details

#astObject (readonly)

Returns the value of attribute ast.



28
29
30
# File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 28

def ast
  @ast
end

Instance Method Details

#parametersObject



38
39
40
41
42
# File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 38

def parameters
  return unless parameters?

  @parameters ||= ast.parameters.map { |p| Parameter.new(p) }
end

#parameters?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/abide_dev_utils/ppt/code_introspection.rb', line 34

def parameters?
  ast.respond_to? :parameters
end