diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-06-04 10:14:22 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-06-04 11:15:38 +0200 |
commit | eed0241d975cca9b7934deffa6ba5ca294e598db (patch) | |
tree | 440c4e73868337fa42f0a79fa24cb98d3ffe1e8d | |
parent | 10ed2c536ef815388391e575167c55552dd5dce5 (diff) | |
download | qt-creator-eed0241d975cca9b7934deffa6ba5ca294e598db.tar.gz |
Fixed a couple of null-checks/-returns.
-rw-r--r-- | src/libs/cplusplus/ResolveExpression.cpp | 10 | ||||
-rw-r--r-- | src/libs/qmljs/qmljsinterpreter.cpp | 5 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index a6b5203f23..a247515627 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -491,8 +491,8 @@ bool ResolveExpression::visit(CallAST *ast) foreach (Symbol *overload, b->find(functionCallOp)) { if (Function *funTy = overload->type()->asFunctionType()) { if (maybeValidPrototype(funTy, actualArgumentCount)) { - Function *proto = instantiate(namedTy->name(), funTy)->asFunctionType(); - addResult(proto->returnType().simplified(), scope); + if (Function *proto = instantiate(namedTy->name(), funTy)->asFunctionType()) + addResult(proto->returnType().simplified(), scope); } } } @@ -535,9 +535,9 @@ bool ResolveExpression::visit(ArrayAccessAST *ast) if (ClassOrNamespace *b = _context.lookupType(namedTy->name(), scope)) { foreach (Symbol *overload, b->find(arrayAccessOp)) { if (Function *funTy = overload->type()->asFunctionType()) { - Function *proto = instantiate(namedTy->name(), funTy)->asFunctionType(); - // ### TODO: check the actual arguments - addResult(proto->returnType().simplified(), scope); + if (Function *proto = instantiate(namedTy->name(), funTy)->asFunctionType()) + // ### TODO: check the actual arguments + addResult(proto->returnType().simplified(), scope); } } diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index a32cd10c9f..29cfe1a1cc 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -1469,10 +1469,11 @@ const ObjectValue *Context::lookupType(const QmlJS::Document *doc, UiQualifiedId const ObjectValue *Context::lookupType(const QmlJS::Document *doc, const QStringList &qmlTypeName) { const ObjectValue *objectValue = typeEnvironment(doc); - if (!objectValue) - return 0; foreach (const QString &name, qmlTypeName) { + if (!objectValue) + return 0; + const Value *value = objectValue->property(name, this); if (!value) return 0; |