summaryrefslogtreecommitdiff
path: root/src/ast/path.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/path.cpp')
-rw-r--r--src/ast/path.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/ast/path.cpp b/src/ast/path.cpp
index 2cfd6b98..686647a5 100644
--- a/src/ast/path.cpp
+++ b/src/ast/path.cpp
@@ -255,6 +255,7 @@ void Path::resolve(const Crate& root_crate)
*this = newpath;
DEBUG("Alias resolved, *this = " << *this);
+ return;
}
else
{
@@ -271,6 +272,7 @@ void Path::resolve(const Crate& root_crate)
*this = newpath;
DEBUG("Alias resolved, *this = " << *this);
+ return;
}
break; }
}
@@ -349,6 +351,8 @@ Path& Path::operator+=(const Path& other)
{
for(auto& node : other.m_nodes)
append(node);
+ // If the path is modified, clear the binding
+ m_binding = PathBinding();
return *this;
}
@@ -410,6 +414,7 @@ void Path::print_pretty(::std::ostream& os) const
#endif
os << n;
}
+ os << "/*" << path.m_binding << "*/";
break;
case Path::LOCAL:
os << path.m_nodes[0].name();