From 5789eaa78d0e00f6289101e02f7de5e9decdc7e5 Mon Sep 17 00:00:00 2001
From: chriseth <c@ethdev.com>
Date: Mon, 14 Nov 2016 11:46:43 +0100
Subject: Metadata stamp.

---
 libsolidity/ast/AST.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

(limited to 'libsolidity/ast/AST.cpp')

diff --git a/libsolidity/ast/AST.cpp b/libsolidity/ast/AST.cpp
index 9b478393..f8eb7108 100644
--- a/libsolidity/ast/AST.cpp
+++ b/libsolidity/ast/AST.cpp
@@ -63,6 +63,14 @@ SourceUnitAnnotation& SourceUnit::annotation() const
 	return static_cast<SourceUnitAnnotation&>(*m_annotation);
 }
 
+string Declaration::sourceUnitName() const
+{
+	ASTNode const* scope = m_scope;
+	while (dynamic_cast<Declaration const*>(scope) && dynamic_cast<Declaration const*>(scope)->m_scope)
+		scope = dynamic_cast<Declaration const*>(scope)->m_scope;
+	return dynamic_cast<SourceUnit const&>(*scope).annotation().path;
+}
+
 ImportAnnotation& ImportDirective::annotation() const
 {
 	if (!m_annotation)
-- 
cgit v1.2.3