[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] Patch: RFA: fix gjdoc loop
From: |
Tom Tromey |
Subject: |
[cp-patches] Patch: RFA: fix gjdoc loop |
Date: |
01 Jul 2005 12:49:10 -0600 |
This patch fixes a gjdoc bug we ran into while building Eclipse 3.1.
I'm not checking it in yet as I am not a gjdoc expert; I'd rather
someone else look it over first.
Consider this code:
package z;
/** hi jane */
public class base extends der {}
package z;
import p.base;
/** hi bob */
public class der extends base {}
Note that there is no visible 'p.base'. If you run gjdoc on this, it
will hang, because it thinks the 'base' in z/der.java refers to
z/base.java -- which it does not.
This patch fixes the problem by changing not-found single-type imports
to return a result when match() is called.
Tom
Index: ChangeLog
from Tom Tromey <address@hidden>
* src/gnu/classpath/tools/gjdoc/RootDocImpl.java
(ResolvedImportNotFound.name): New field.
(ResolvedImportNotFound): Initialize it.
(ResolvedImportNotFound.match): Implemented.
Index: src/gnu/classpath/tools/gjdoc/RootDocImpl.java
===================================================================
RCS file:
/cvsroot/classpath/gjdoc/src/gnu/classpath/tools/gjdoc/RootDocImpl.java,v
retrieving revision 1.22
diff -u -r1.22 RootDocImpl.java
--- src/gnu/classpath/tools/gjdoc/RootDocImpl.java 18 May 2005 11:52:30 -0000
1.22
+++ src/gnu/classpath/tools/gjdoc/RootDocImpl.java 1 Jul 2005 18:45:52 -0000
@@ -664,10 +664,18 @@
implements ResolvedImport
{
private String importSpecifier;
+ private String name;
ResolvedImportNotFound(String importSpecifier)
{
this.importSpecifier = importSpecifier;
+ int ndx = importSpecifier.lastIndexOf('.');
+ if (ndx >= 0) {
+ this.name = importSpecifier.substring(ndx + 1);
+ }
+ else {
+ this.name = importSpecifier;
+ }
}
public String toString()
@@ -677,7 +685,10 @@
public String match(String name)
{
- return null; // FIXME!
+ if (name.equals(this.name))
+ return this.name;
+ // FIXME: note that we don't handle on-demand imports here.
+ return null;
}
public boolean mismatch(String name)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [cp-patches] Patch: RFA: fix gjdoc loop,
Tom Tromey <=