QmlJS: Clean up idOfObject() and folding text code.

Change-Id: Id3e9d24689c67ce0e12b12b82636177a0344ede1
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
This commit is contained in:
Christian Kamm
2011-10-24 09:28:02 +02:00
parent 2ec51f5b2c
commit c8fc9b33ae
4 changed files with 24 additions and 47 deletions

View File

@@ -96,29 +96,16 @@ SourceLocation QmlJS::fullLocationForQualifiedId(AST::UiQualifiedId *qualifiedId
return locationFromRange(start, end);
}
QString QmlJS::idOfObject(UiObjectDefinition *object, UiScriptBinding **idBinding)
{
if (!object) {
if (idBinding)
*idBinding = 0;
return QString();
}
return idOfObject(object->initializer, idBinding);
}
QString QmlJS::idOfObject(UiObjectBinding *object, UiScriptBinding **idBinding)
{
if (!object) {
if (idBinding)
*idBinding = 0;
return QString();
}
return idOfObject(object->initializer, idBinding);
}
QString QmlJS::idOfObject(UiObjectInitializer *initializer, UiScriptBinding **idBinding)
/*!
\returns the value of the 'id:' binding in \a object
\param idBinding optional out parameter to get the UiScriptBinding for the id binding
*/
QString QmlJS::idOfObject(Node *object, UiScriptBinding **idBinding)
{
if (idBinding)
*idBinding = 0;
UiObjectInitializer *initializer = initializerOfObject(object);
if (!initializer)
return QString();
@@ -143,11 +130,14 @@ QString QmlJS::idOfObject(UiObjectInitializer *initializer, UiScriptBinding **id
return QString();
}
UiObjectInitializer *QmlJS::initializerOfObject(Node *node)
/*!
\returns the UiObjectInitializer if \a object is a UiObjectDefinition or UiObjectBinding, otherwise 0
*/
UiObjectInitializer *QmlJS::initializerOfObject(Node *object)
{
if (UiObjectDefinition *definition = cast<UiObjectDefinition *>(node))
if (UiObjectDefinition *definition = cast<UiObjectDefinition *>(object))
return definition->initializer;
if (UiObjectBinding *binding = cast<UiObjectBinding *>(node))
if (UiObjectBinding *binding = cast<UiObjectBinding *>(object))
return binding->initializer;
return 0;
}

View File

@@ -18,11 +18,10 @@ QMLJS_EXPORT AST::SourceLocation locationFromRange(const AST::SourceLocation &st
QMLJS_EXPORT AST::SourceLocation fullLocationForQualifiedId(AST::UiQualifiedId *);
QMLJS_EXPORT QString idOfObject(AST::UiObjectDefinition *object, AST::UiScriptBinding **idBinding = 0);
QMLJS_EXPORT QString idOfObject(AST::UiObjectBinding *object, AST::UiScriptBinding **idBinding = 0);
QMLJS_EXPORT QString idOfObject(AST::UiObjectInitializer *initializer, AST::UiScriptBinding **idBinding = 0);
QMLJS_EXPORT QString idOfObject(AST::Node *object, AST::UiScriptBinding **idBinding = 0);
QMLJS_EXPORT AST::UiObjectInitializer *initializerOfObject(AST::Node *object);
QMLJS_EXPORT AST::UiObjectInitializer *initializerOfObject(AST::Node *node);
QMLJS_EXPORT AST::UiQualifiedId *qualifiedTypeNameId(AST::Node *node);
QMLJS_EXPORT bool isValidBuiltinPropertyType(const QString &name);