diff options
author | John Hodge <tpg@ucc.asn.au> | 2017-11-15 21:19:22 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2017-11-15 21:19:22 +0800 |
commit | 97839be171f00c9f6ea3d9921ca89db918027800 (patch) | |
tree | c60922d8147128d34b8514e1fd30b73b91a750cf /src/expand/proc_macro.hpp | |
parent | d585aa08551aa78b692bab8326509baef02a7b3d (diff) | |
download | mrust-97839be171f00c9f6ea3d9921ca89db918027800.tar.gz |
proc_macro - Working invocations (some work needed on AST->TT)
Diffstat (limited to 'src/expand/proc_macro.hpp')
-rw-r--r-- | src/expand/proc_macro.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/expand/proc_macro.hpp b/src/expand/proc_macro.hpp new file mode 100644 index 00000000..8c5b71c7 --- /dev/null +++ b/src/expand/proc_macro.hpp @@ -0,0 +1,15 @@ +/* + * MRustC - Rust Compiler + * - By John Hodge (Mutabah/thePowersGang) + * + * expand/proc_macro.hpp + * - Support for the `#[proc_macro_derive]` attribute + */ +#pragma once +#include <parse/tokenstream.hpp> + +extern ::std::unique_ptr<TokenStream> ProcMacro_Invoke(const Span& sp, const ::AST::Crate& crate, const ::std::vector<::std::string>& mac_path, const ::std::string& name, const ::AST::Struct& i); +extern ::std::unique_ptr<TokenStream> ProcMacro_Invoke(const Span& sp, const ::AST::Crate& crate, const ::std::vector<::std::string>& mac_path, const ::std::string& name, const ::AST::Enum& i); +extern ::std::unique_ptr<TokenStream> ProcMacro_Invoke(const Span& sp, const ::AST::Crate& crate, const ::std::vector<::std::string>& mac_path, const ::std::string& name, const ::AST::Union& i); +//extern ::std::unique_ptr<TokenStream> ProcMacro_Invoke(const Span& sp, const ::AST::Crate& crate, const ::std::vector<::std::string>& mac_path, const TokenStream& tt); + |