Changeset View
Changeset View
Standalone View
Standalone View
src/qmljsc/moduleloading/javascriptmoduleloader.cpp
Show First 20 Lines • Show All 434 Lines • ▼ Show 20 Line(s) | |||||
435 | JavaScriptModuleLoader::JavaScriptModuleLoader(IR::Module *module) | 435 | JavaScriptModuleLoader::JavaScriptModuleLoader(IR::Module *module) | ||
436 | : AbstractModuleLoader(module) | 436 | : AbstractModuleLoader(module) | ||
437 | {} | 437 | {} | ||
438 | 438 | | |||
439 | bool JavaScriptModuleLoader::canLoad() | 439 | bool JavaScriptModuleLoader::canLoad() | ||
440 | { | 440 | { | ||
441 | IR::Module *module = AbstractModuleLoader::module(); | 441 | IR::Module *module = AbstractModuleLoader::module(); | ||
442 | 442 | | |||
443 | QString moduleFileName = QStringLiteral("%1.%2.%3.js").arg(module->importDescription().name) | 443 | QString moduleFileName = QString("%1.%2.%3.js"); | ||
444 | .arg(module->importDescription().versionMajor) | 444 | moduleFileName = moduleFileName.arg(module->name()); | ||
445 | .arg(module->importDescription().versionMinor); | 445 | moduleFileName = moduleFileName.arg(module->versionMajor()); | ||
446 | moduleFileName = moduleFileName.arg(module->versionMinor()); | ||||
446 | 447 | | |||
447 | // For now we only support local files. | 448 | // For now we only support local files. | ||
448 | const QStringList &includePaths = compiler->includePaths(); | 449 | const QStringList &includePaths = compiler->includePaths(); | ||
449 | foreach (QString includePath, includePaths) { | 450 | foreach (QString includePath, includePaths) { | ||
450 | QDir includeDir(includePath); | 451 | QDir includeDir(includePath); | ||
451 | if (includeDir.exists(moduleFileName)) { | 452 | if (includeDir.exists(moduleFileName)) { | ||
452 | m_moduleFile.setFileName(includeDir.absoluteFilePath(moduleFileName)); | 453 | m_moduleFile.setFileName(includeDir.absoluteFilePath(moduleFileName)); | ||
453 | break; | 454 | break; | ||
Show All 33 Lines | 462 | { | |||
487 | 488 | | |||
488 | bool successfullyParsed = parser->parseProgram(); | 489 | bool successfullyParsed = parser->parseProgram(); | ||
489 | if (!successfullyParsed) { | 490 | if (!successfullyParsed) { | ||
490 | Error *err = new Error(Error::ParseError, parser->errorMessage()); | 491 | Error *err = new Error(Error::ParseError, parser->errorMessage()); | ||
491 | err->setColumn(parser->errorColumnNumber()); | 492 | err->setColumn(parser->errorColumnNumber()); | ||
492 | err->setLine(parser->errorLineNumber()); | 493 | err->setLine(parser->errorLineNumber()); | ||
493 | throw new Error(Error::ModuleImportError, | 494 | throw new Error(Error::ModuleImportError, | ||
494 | QStringLiteral("Error while processing module %1 %2.%3") | 495 | QStringLiteral("Error while processing module %1 %2.%3") | ||
495 | .arg(module->importDescription().name) | 496 | .arg(module->name()) | ||
496 | .arg(module->importDescription().versionMajor) | 497 | .arg(module->versionMajor()) | ||
497 | .arg(module->importDescription().versionMinor), | 498 | .arg(module->versionMinor()), | ||
498 | err); | 499 | err); | ||
499 | } | 500 | } | ||
500 | 501 | | |||
501 | AST::Program *ast = AST::cast<AST::Program *>(parser->rootNode()); | 502 | AST::Program *ast = AST::cast<AST::Program *>(parser->rootNode()); | ||
502 | 503 | | |||
503 | try { | 504 | try { | ||
504 | RegisterModuleVisitor registerModuleVisitor(module); | 505 | RegisterModuleVisitor registerModuleVisitor(module); | ||
505 | TypeDefinitionVisitor typeDefinitionVisitor(module); | 506 | TypeDefinitionVisitor typeDefinitionVisitor(module); | ||
Show All 9 Lines |