Grupos de Google ya no admite nuevas publicaciones ni suscripciones de Usenet. El contenido anterior sigue siendo visible.

[Patch] importPackage Ambiguous import error fix

Visto 2 veces
Saltar al primer mensaje no leído

Tim Larson

no leída,
22 mar 2005, 16:26:2822/3/05
a
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

no leída,
22 mar 2005, 18:12:0422/3/05
a 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 mensajes nuevos