Store procedural macro data in extern crate node.
gcc/rust/ChangeLog:
* metadata/rust-extern-crate.cc (ExternCrate::ExternCrate):
Change constructor to accept procedural macro vector.
* metadata/rust-extern-crate.h: Add vector of procecural macro
in extern crate.
* rust-session-manager.cc (Session::load_extern_crate): Add
argument to new constructor call.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
namespace Rust {
namespace Imports {
-ExternCrate::ExternCrate (Import::Stream &stream) : import_stream (stream) {}
+ExternCrate::ExternCrate (Import::Stream &stream,
+ std::vector<ProcMacro::Procmacro> macros)
+ : import_stream (stream), proc_macros (macros)
+{}
ExternCrate::~ExternCrate () {}
class ExternCrate
{
public:
- ExternCrate (Import::Stream &stream);
+ ExternCrate (Import::Stream &stream,
+ std::vector<ProcMacro::Procmacro> macros);
~ExternCrate ();
bool ok () const;
private:
Import::Stream &import_stream;
+ std::vector<ProcMacro::Procmacro> proc_macros;
std::string crate_name;
std::string metadata_buffer;
return UNKNOWN_NODEID;
}
- Imports::ExternCrate extern_crate (*s.first);
+ Imports::ExternCrate extern_crate (*s.first, s.second);
bool ok = extern_crate.load (locus);
if (!ok)
{