diff --git a/src/plugins/qmldesigner/designercore/include/nodemetainfo.h b/src/plugins/qmldesigner/designercore/include/nodemetainfo.h
index 4f4a20e38f6083657ab9369f26f15134890e7208..0a6b63d9c16144d51500a8ae42f550893c8e2970 100644
--- a/src/plugins/qmldesigner/designercore/include/nodemetainfo.h
+++ b/src/plugins/qmldesigner/designercore/include/nodemetainfo.h
@@ -86,6 +86,8 @@ public:
     QList<NodeMetaInfo> superClasses() const;
     NodeMetaInfo directSuperClass() const;
 
+    QList<TypeName> superClassNames() const;
+
     bool defaultPropertyIsComponent() const;
 
     TypeName typeName() const;
diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
index 10365f73a7a58834100d18dbfe486e588325cedc..c18576e3994a16e06bb371408189aa45e527b5b9 100644
--- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
+++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
@@ -1248,6 +1248,16 @@ NodeMetaInfo NodeMetaInfo::directSuperClass() const
     return NodeMetaInfo();
 }
 
+QList<TypeName> NodeMetaInfo::superClassNames() const
+{
+    QList<TypeName> list;
+
+    foreach (const Internal::TypeDescription &type,  m_privateData->prototypes()) {
+        list.append(type.className);
+    }
+    return list;
+}
+
 bool NodeMetaInfo::defaultPropertyIsComponent() const
 {
     if (hasDefaultProperty())