Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Patch] importPackage Ambiguous import error fix

2 views
Skip to first unread message

Tim Larson

unread,
Mar 22, 2005, 4:26:28 PM3/22/05
to
Attached is a patch to fix importPackage to not import the
same package more than once. This fixes an error that
shows up if a call to importPackage is encountered twice
before classes from the package actually get referenced.

I encountered this error while working with a flowscript
(Cocoon's name for javascript+continuations) for a set of
Cocoon forms. Quickly starting more than one instance of
a form triggers this bug.

The patch replaces a comparison using '=' between two
NativeJavaPackage's with a comparison using string equality.
This effectively compares the package names instead of
checking for object identity.

The other thing which we might need to check is that the
two NativeJavaPackage's both use the same classloader.
I would appreciate it if somebody more knowledgeable of
Rhino internals could sanity check this patch.

--Tim Larson

import.patch

Igor Bukanov

unread,
Mar 22, 2005, 6:12:04 PM3/22/05
to t...@keow.org
Could you file a report about it through
http://bugzilla.mozilla.org/enter_bug.cgi?product=Rhino ?

Regards, Igor

> ------------------------------------------------------------------------
>
> --- rhino1_6R1/src/org/mozilla/javascript/ImporterTopLevel.java 2004-11-30 22:11:10.000000000 -0500
> +++ rhino1_6R1_modified/src/org/mozilla/javascript/ImporterTopLevel.java 2005-03-22 19:52:43.000000000 -0500
> @@ -213,7 +213,7 @@
> {
> synchronized (importedPackages) {
> for (int j = 0; j != importedPackages.size(); j++) {
> - if (pkg == importedPackages.get(j)) {
> + if (pkg != null && pkg.toString().equals(importedPackages.get(j).toString())) {
> pkg = null;
> break;
> }

0 new messages