summaryrefslogtreecommitdiff
path: root/src/expand
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-03-15 21:32:48 +0800
committerJohn Hodge <tpg@mutabah.net>2016-03-15 21:32:48 +0800
commit124cf9fc5fb6c0b7f70ef94382efd5190019edac (patch)
tree3e2b3e42e49b51d8ddcb0c52616e201b18b2a23e /src/expand
parent9a3987bb1575c4ab1eae9c065e907773fa3dcf17 (diff)
downloadmrust-124cf9fc5fb6c0b7f70ef94382efd5190019edac.tar.gz
Expand - More attribute handling
Diffstat (limited to 'src/expand')
-rw-r--r--src/expand/mod.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/expand/mod.cpp b/src/expand/mod.cpp
index 2f936f1f..0c9fb487 100644
--- a/src/expand/mod.cpp
+++ b/src/expand/mod.cpp
@@ -179,7 +179,10 @@ void Expand_Type(bool is_early, ::AST::Crate& crate, LList<const AST::Module*> m
(Primitive,
),
(Function,
- TODO(ty.span(), "Expand function type " << ty);
+ Type_Function& tf = e.info;
+ Expand_Type(is_early, crate, modstack, mod, *tf.m_rettype);
+ for(auto& st : tf.m_arg_types)
+ Expand_Type(is_early, crate, modstack, mod, st);
),
(Tuple,
for(auto& st : e.inner_types)
@@ -470,7 +473,10 @@ void Expand_Mod(bool is_early, ::AST::Crate& crate, LList<const AST::Module*> mo
),
(Struct,
- // TODO: Struct items
+ for(auto& fld : e.e.fields()) {
+ // TODO: Attributes on struct items
+ Expand_Type(is_early, crate, modstack, mod, fld.data);
+ }
),
(Enum,
// TODO: Enum variants
@@ -504,6 +510,7 @@ void Expand_Mod(bool is_early, ::AST::Crate& crate, LList<const AST::Module*> mo
for( auto& i : mod.impls() )
{
DEBUG("- " << i);
+ // TODO: Expand impls
}
for( const auto& mi: mod.macro_imports_res() )