QmlJS: Rework FakeMetaObjects to no longer contain pointers.

Having a duplicate prototype chain - once in FakeMetaObjects and once
in QmlObjectValues was unnecessary. Now FMOs don't contain references
which may allow other simplifications.
This commit is contained in:
Christian Kamm
2011-02-10 14:53:57 +01:00
parent 13f9135827
commit 187ae1e94a
9 changed files with 116 additions and 140 deletions

View File

@@ -121,7 +121,6 @@ bool FakeMetaProperty::isPointer() const
FakeMetaObject::FakeMetaObject()
: m_super(0)
{
}
@@ -143,17 +142,20 @@ void FakeMetaObject::addExport(const QString &name, const QString &package, Comp
}
QList<FakeMetaObject::Export> FakeMetaObject::exports() const
{ return m_exports; }
FakeMetaObject::Export FakeMetaObject::exportInPackage(const QString &package) const
{
foreach (const Export &exp, m_exports) {
if (exp.package == package)
return exp;
}
return Export();
}
void FakeMetaObject::setSuperclassName(const QString &superclass)
{ m_superName = superclass; }
QString FakeMetaObject::superclassName() const
{ return m_superName; }
void FakeMetaObject::setSuperclass(ConstPtr superClass)
{ m_super = superClass; }
FakeMetaObject::ConstPtr FakeMetaObject::superClass() const
{ return m_super; }
void FakeMetaObject::addEnum(const FakeMetaEnum &fakeEnum)
{ m_enumNameToIndex.insert(fakeEnum.name(), m_enums.size()); m_enums.append(fakeEnum); }
int FakeMetaObject::enumeratorCount() const