#pragma once #include #include #include "type.hpp" namespace trainscript { class Method { public: virtual ~Method() { } virtual Variable invoke(ker::Vector arguments) = 0; virtual bool validate(ker::String &errorCode) const = 0; virtual ker::Vector arguments() const = 0; virtual Type returnType() const = 0; }; }