#pragma once #include #include class Delegate : public Procedure, public Jenga::Common::ObjectInHashmap { Parameters dynamicParams; public: Delegate( const NamespaceScopes &namespaceScopes, const std::string &name, Procedure::Kind procKind, const char *paramStr, const Type &returnType, int nowLine ); Delegate() { } virtual const std::string &GetKeyName() const { return GetName(); } const Parameters &GetDynamicParams() const { return dynamicParams; } }; class Delegates : public Jenga::Common::Hashmap { public: void Collect( const BasicSource &source ); void GenerateSourceCode( std::string &destSource ); };