summaryrefslogtreecommitdiff
path: root/src/convert/ast_iterate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/convert/ast_iterate.cpp')
-rw-r--r--src/convert/ast_iterate.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/convert/ast_iterate.cpp b/src/convert/ast_iterate.cpp
index 5d8961f9..4ed63b56 100644
--- a/src/convert/ast_iterate.cpp
+++ b/src/convert/ast_iterate.cpp
@@ -27,7 +27,7 @@ void CASTIterator::handle_params(AST::TypeParams& params)
for( auto& param : params.params() )
{
if( param.is_type() )
- local_type(param.name());
+ local_type( param.name(), TypeRef(TypeRef::TagArg(), param.name()) );
}
for( auto& bound : params.bounds() )
{
@@ -40,9 +40,9 @@ void CASTIterator::start_scope()
{
INDENT();
}
-void CASTIterator::local_type(::std::string name)
+void CASTIterator::local_type(::std::string name, TypeRef type)
{
- DEBUG("type " << name);
+ DEBUG("type " << name << " = " << type);
}
void CASTIterator::local_variable(bool is_mut, ::std::string name, const TypeRef& type)
{
@@ -171,6 +171,8 @@ void CASTIterator::handle_impl(AST::Path modpath, AST::Impl& impl)
// Type
handle_type( impl.type() );
+ local_type("Self", impl.type());
+
// TODO: Associated types
// Functions