diff options
Diffstat (limited to 'src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js')
-rw-r--r-- | src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js b/src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js index 0b967d69..206a193f 100644 --- a/src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js +++ b/src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js @@ -49,6 +49,7 @@ Object.defineProperty(this, "importPackage", { var global = this; var oldNoSuchProperty = global.__noSuchProperty__; global.__noSuchProperty__ = function(name) { + 'use strict'; for (var i in _packages) { try { var type = Java.type(_packages[i] + "." + name); @@ -57,7 +58,15 @@ Object.defineProperty(this, "importPackage", { } catch (e) {} } - return oldNoSuchProperty? oldNoSuchProperty(name) : undefined; + if (oldNoSuchProperty) { + return oldNoSuchProperty.call(this, name); + } else { + if (this === undefined) { + throw new ReferenceError(name + " is not defined"); + } else { + return undefined; + } + } } var prefix = "[JavaPackage "; |