Class: NodeLanguageMismatchError

Inherits:
CompilerError show all
Defined in:
lib/compiler_error.rb

Instance Method Summary collapse

Methods inherited from CompilerError

#to_s

Constructor Details

#initialize(member_type_def, node_def, external_node_def) ⇒ NodeLanguageMismatchError

Returns a new instance of NodeLanguageMismatchError.



121
122
123
124
125
126
127
# File 'lib/compiler_error.rb', line 121

def initialize member_type_def, node_def, external_node_def
  super member_type_def.ast.position
  @type = member_type_def.type
  @node_name = node_def.name
  @node_position = node_def.ast.position
  @external_node_position = external_node_def.ast.position
end

Instance Method Details

#infoObject



129
130
131
132
133
134
# File 'lib/compiler_error.rb', line 129

def info
  "'#{@type.name}' : node language mismatch\n" +
  "        #{@node_position} : see node definition of '#{@node_name}'\n" +
  "        #{@external_node_position} : see external node definition of '#{@node_name}'\n" +
  "        #{@type.ast.position} : see type definition of '#{@type.name}'\n"
end