summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlparser_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/qmlparser_p.h')
-rw-r--r--src/declarative/qml/qmlparser_p.h30
1 files changed, 26 insertions, 4 deletions
diff --git a/src/declarative/qml/qmlparser_p.h b/src/declarative/qml/qmlparser_p.h
index 7550870..d96a43e 100644
--- a/src/declarative/qml/qmlparser_p.h
+++ b/src/declarative/qml/qmlparser_p.h
@@ -110,8 +110,8 @@ namespace QmlParser
virtual ~Object();
// Type of the object. The integer is an index into the
- // QmlCompiledData::types array, or -1 if the object is a fetched
- // object.
+ // QmlCompiledData::types array, or -1 if the object is a property
+ // group.
int type;
// The url of this object if it is an external type. Used by the DOM
QUrl url;
@@ -131,6 +131,8 @@ namespace QmlParser
// this type. Otherwise null
QMetaObject *extObjectData;
QAbstractDynamicMetaObject extObject;
+ QByteArray metadata; // Generated by compiler
+ QByteArray synthdata; // Generated by compiler
Property *getDefaultProperty();
Property *getProperty(const QByteArray &name, bool create=true);
@@ -138,6 +140,22 @@ namespace QmlParser
Property *defaultProperty;
QHash<QByteArray, Property *> properties;
+ // Output of the compilation phase (these properties continue to exist
+ // in either the defaultProperty or properties members too)
+ void addValueProperty(Property *);
+ void addSignalProperty(Property *);
+ void addAttachedProperty(Property *);
+ void addGroupedProperty(Property *);
+ QList<Property *> valueProperties;
+ QList<Property *> signalProperties;
+ QList<Property *> attachedProperties;
+ QList<Property *> groupedProperties;
+
+ // The bytes to cast instances by to get to the QmlParserStatus
+ // interface. -1 indicates the type doesn't support this interface.
+ // Set by the QmlCompiler.
+ int parserStatusCast;
+
LocationSpan location;
struct DynamicProperty {
@@ -242,8 +260,6 @@ namespace QmlParser
SignalObject,
// This is used as a signal expression assignment
SignalExpression,
- // This is used as an implicit component creation
- Component,
// This is used as an id assignment only
Id
};
@@ -281,6 +297,9 @@ namespace QmlParser
// The metaobject index of this property, or -1 if unknown.
int index;
+ // Returns true if this is an empty property - both value and values
+ // are unset.
+ bool isEmpty() const;
// The list of values assigned to this property. Content in values
// and value are mutually exclusive
QList<Value *> values;
@@ -291,6 +310,9 @@ namespace QmlParser
QByteArray name;
// True if this property was accessed as the default property.
bool isDefault;
+ // True if the setting of this property will be deferred. Set by the
+ // QmlCompiler
+ bool isDeferred;
LocationSpan location;
LocationRange listValueRange;