Commit 4161e7f9 authored by Robert Loehning's avatar Robert Loehning
Browse files

qmljsscopebuilder: avoid warning from clang



Change-Id: I7ea4b8cd971bee1368dec3ce92ef27bf45d4c88b
Reviewed-by: default avatarFawzi Mohamed <fawzi.mohamed@digia.com>
parent 826c43a3
......@@ -67,26 +67,27 @@ void ScopeBuilder::push(AST::Node *node)
// JS signal handler scope
if (UiScriptBinding *script = cast<UiScriptBinding *>(node)) {
QString name;
if (script->qualifiedId)
if (script->qualifiedId) {
name = script->qualifiedId->name.toString();
if (!_scopeChain->qmlScopeObjects().isEmpty()
&& name.startsWith(QLatin1String("on"))
&& !script->qualifiedId->next) {
const ObjectValue *owner = 0;
const Value *value = 0;
// try to find the name on the scope objects
foreach (const ObjectValue *scope, _scopeChain->qmlScopeObjects()) {
value = scope->lookupMember(name, _scopeChain->context(), &owner);
if (value)
break;
}
// signals defined in QML
if (const ASTSignal *astsig = value_cast<ASTSignal>(value)) {
_scopeChain->appendJsScope(astsig->bodyScope());
// signals defined in C++
} else if (const CppComponentValue *qmlObject = value_cast<CppComponentValue>(owner)) {
if (const ObjectValue *scope = qmlObject->signalScope(name))
_scopeChain->appendJsScope(scope);
if (!_scopeChain->qmlScopeObjects().isEmpty()
&& name.startsWith(QLatin1String("on"))
&& !script->qualifiedId->next) {
const ObjectValue *owner = 0;
const Value *value = 0;
// try to find the name on the scope objects
foreach (const ObjectValue *scope, _scopeChain->qmlScopeObjects()) {
value = scope->lookupMember(name, _scopeChain->context(), &owner);
if (value)
break;
}
// signals defined in QML
if (const ASTSignal *astsig = value_cast<ASTSignal>(value)) {
_scopeChain->appendJsScope(astsig->bodyScope());
// signals defined in C++
} else if (const CppComponentValue *qmlObject = value_cast<CppComponentValue>(owner)) {
if (const ObjectValue *scope = qmlObject->signalScope(name))
_scopeChain->appendJsScope(scope);
}
}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment