class Pione::Lang::MethodInterfaceError

MethodInterfaceError is a exception for method interface mismatching.

Attributes

kind[R]
name[R]
types[R]
values[R]

Public Class Methods

new(kind, name, types, values) click to toggle source

@param kind [Symbol]

:input or :output

@param name [String]

method name

@param types [Array<Type>]

expected types

@param values [Array<BasicModel>]

values
# File lib/pione/lang/pione-method.rb, line 18
def initialize(kind, name, types, values)
  @kind = kind
  @name = name
  @types = types
  @values = values
end

Public Instance Methods

message() click to toggle source
# File lib/pione/lang/pione-method.rb, line 25
def message
  types = @types.map{|type| type}.join(" -> ")
  values = @values.map{|value| value.inspect}.join(" -> ")
  '"%s" expected %s but got %s' % [@name, types, values]
end