aboutsummaryrefslogtreecommitdiff
path: root/src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js')
-rw-r--r--src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js11
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 ";