QmlJS: Reactivate instantiating component scope detection.

* Bind::usesQmlPrototype is now significantly more performant
* type environments are no longer hashed by filename, but rather
  by Document *
* duplicate scope builds are avoided

Task-number: QTCREATORBUG-2835
Reviewed-by: Erik Verbruggen
This commit is contained in:
Christian Kamm
2010-11-23 12:57:48 +01:00
parent 8f27c43877
commit 93967104f3
6 changed files with 78 additions and 7 deletions

View File

@@ -97,6 +97,11 @@ void ScopeBuilder::pop()
void ScopeBuilder::initializeScopeChain()
{
ScopeChain &scopeChain = _context->scopeChain();
if (scopeChain.qmlComponentScope
&& scopeChain.qmlComponentScope->document == _doc) {
return;
}
scopeChain = ScopeChain(); // reset
Interpreter::Engine *engine = _context->engine();