Okay, for anyone wanting the two small fixes I've hacked into JavaDeps
I'm letting this diff loose.  The unicode \r thing fix was to trick
the parser to not bail.  I was probing around the areas where classes
are added to a directed graph and noticed the java.lang stuff seemed
missing.  Don't flame what I did too much, I didn't get to take the
parser class in school.  ;)

John, could you email me a list of the classes you have in your zip?
This should be a set of classes which do not have any reliance on any
other classes not inside the zip.

Brian

diff -uNr smr.orig/JavaDeps/ASCII_UCodeESC_CharStream.java 
smr/JavaDeps/ASCII_UCodeESC_CharStream.java
--- smr.orig/JavaDeps/ASCII_UCodeESC_CharStream.java    Mon May 18 22:30:21 1998
+++ smr/JavaDeps/ASCII_UCodeESC_CharStream.java Mon Oct 19 23:19:17 1998
@@ -242,6 +242,7 @@
 
   static public final char readChar() throws java.io.IOException
   {
+    int saw_r = 0;
      if (inBuf > 0)
      {
         --inBuf;
@@ -286,7 +287,6 @@
            {
               if (backSlashCnt > 1)
                  backup(backSlashCnt);
-
               return '\\';
            }
 
@@ -294,6 +294,7 @@
            backSlashCnt++;
         }
 
+        saw_r = 0;
         // Here, we have seen an odd number of backslash's followed by a 'u'
         try
         {
@@ -306,7 +307,11 @@
                                        hexval((char)((char)0xff & ReadByte())));
 
            column += 4;
-        }
+           if (c == '\r')
+            {
+              saw_r = 1;
+            }
+       }
         catch(java.io.IOException e)
         {
            throw new Error("Invalid escape character at line " + line +
@@ -314,11 +319,18 @@
         }
 
         if (backSlashCnt == 1)
-           return c;
+         {
+            if ((saw_r == 1) && (c == '\r'))
+             {
+               return 'r';
+             }
+           return c;
+           
+         }
         else
         {
-           backup( - 1);
-           return '\\';
+         backup(backSlashCnt - 1);
+         return '\\';
         }
      }
      else
 -uNr smr.orig/JavaDeps/DepTable.java smr/JavaDeps/DepTable.java
--- smr.orig/JavaDeps/DepTable.java     Mon May 18 18:37:10 1998
+++ smr/JavaDeps/DepTable.java  Wed Oct 21 08:53:49 1998
@@ -143,6 +143,7 @@
 
     /**
      * As above, but also checks that the TargetNode is of the required type.
+     * brian - need to determine if/when/how lookups work for 
+EmptyStackTraceException -> RunTimeException, I bet they don't.
      **/
     private TargetNode lookupSymbol( String s, int type )
     {
@@ -197,6 +198,7 @@
 
        imports = new Hashtable();
        wildImports = new Vector();
+       wildImports.addElement("java.lang");
     }
 
     /**
@@ -222,6 +224,7 @@
        String suffix = .substring( i+1 );
        
        if ( suffix.equals( "*" ) ) {
+         if (prefix.compareTo("java.lang") != 0)
            wildImports.addElement( prefix );
        } else {
            imports.put( suffix, iname );
diff -uNr smr.orig/JavaDeps/JavaDeps.java smr/JavaDeps/JavaDeps.java
--- smr.orig/JavaDeps/JavaDeps.java     Mon May 18 22:49:55 1998
+++ smr/JavaDeps/JavaDeps.java  Tue Oct 20 00:14:30 1998
@@ -130,6 +130,8 @@
        if ( po.seenOption( "native" ) ) {
            if ( "stubs".equalsIgnoreCase( po.getOptionArgument( "native" )))
                buildStubs = true;
+           else
+             buildStubs = false;
        } else {
            headerBuildCommand = null;
        }


(and in case the mhonarc web thingy screws up the above)

begin-base64 644 javadeps.diff
ZGlmZiAtdU5yIHNtci5vcmlnL0phdmFEZXBzL0FTQ0lJX1VDb2RlRVNDX0No
YXJTdHJlYW0uamF2YSBzbXIvSmF2YURlcHMvQVNDSUlfVUNvZGVFU0NfQ2hh
clN0cmVhbS5qYXZhCi0tLSBzbXIub3JpZy9KYXZhRGVwcy9BU0NJSV9VQ29k
ZUVTQ19DaGFyU3RyZWFtLmphdmEJTW9uIE1heSAxOCAyMjozMDoyMSAxOTk4
CisrKyBzbXIvSmF2YURlcHMvQVNDSUlfVUNvZGVFU0NfQ2hhclN0cmVhbS5q
YXZhCU1vbiBPY3QgMTkgMjM6MTk6MTcgMTk5OApAQCAtMjQyLDYgKzI0Miw3
IEBACiAKICAgc3RhdGljIHB1YmxpYyBmaW5hbCBjaGFyIHJlYWRDaGFyKCkg
dGhyb3dzIGphdmEuaW8uSU9FeGNlcHRpb24KICAgeworICAgIGludCBzYXdf
ciA9IDA7CiAgICAgIGlmIChpbkJ1ZiA+IDApCiAgICAgIHsKICAgICAgICAg
LS1pbkJ1ZjsKQEAgLTI4Niw3ICsyODcsNiBAQAogICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgIGlmIChiYWNrU2xhc2hDbnQgPiAxKQogICAgICAgICAg
ICAgICAgICBiYWNrdXAoYmFja1NsYXNoQ250KTsKLQogICAgICAgICAgICAg
ICByZXR1cm4gJ1xcJzsKICAgICAgICAgICAgfQogCkBAIC0yOTQsNiArMjk0
LDcgQEAKICAgICAgICAgICAgYmFja1NsYXNoQ250Kys7CiAgICAgICAgIH0K
IAorICAgICAgICBzYXdfciA9IDA7CiAgICAgICAgIC8vIEhlcmUsIHdlIGhh
dmUgc2VlbiBhbiBvZGQgbnVtYmVyIG9mIGJhY2tzbGFzaCdzIGZvbGxvd2Vk
IGJ5IGEgJ3UnCiAgICAgICAgIHRyeQogICAgICAgICB7CkBAIC0zMDYsNyAr
MzA3LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZXh2YWwoKGNoYXIpKChjaGFyKTB4ZmYgJiBSZWFkQnl0ZSgpKSkp
OwogCiAgICAgICAgICAgIGNvbHVtbiArPSA0OwotICAgICAgICB9CisgICAg
ICAgICAgIGlmIChjID09ICdccicpCisJICAgICB7CisJICAgICAgIHNhd19y
ID0gMTsKKwkgICAgIH0KKwl9CiAgICAgICAgIGNhdGNoKGphdmEuaW8uSU9F
eGNlcHRpb24gZSkKICAgICAgICAgewogICAgICAgICAgICB0aHJvdyBuZXcg
RXJyb3IoIkludmFsaWQgZXNjYXBlIGNoYXJhY3RlciBhdCBsaW5lICIgKyBs
aW5lICsKQEAgLTMxNCwxMSArMzE5LDE4IEBACiAgICAgICAgIH0KIAogICAg
ICAgICBpZiAoYmFja1NsYXNoQ250ID09IDEpCi0gICAgICAgICAgIHJldHVy
biBjOworCSAgeworICAgICAgICAgICAgaWYgKChzYXdfciA9PSAxKSAmJiAo
YyA9PSAnXHInKSkKKwkgICAgICB7CisJCXJldHVybiAncic7CisJICAgICAg
fQorCSAgICByZXR1cm4gYzsKKwkgICAgCisJICB9CiAgICAgICAgIGVsc2UK
ICAgICAgICAgewotICAgICAgICAgICBiYWNrdXAoYmFja1NsYXNoQ250IC0g
MSk7Ci0gICAgICAgICAgIHJldHVybiAnXFwnOworCSAgYmFja3VwKGJhY2tT
bGFzaENudCAtIDEpOworCSAgcmV0dXJuICdcXCc7CiAgICAgICAgIH0KICAg
ICAgfQogICAgICBlbHNlCmRpZmYgLXVOciBzbXIub3JpZy9KYXZhRGVwcy9E
ZXBUYWJsZS5qYXZhIHNtci9KYXZhRGVwcy9EZXBUYWJsZS5qYXZhCi0tLSBz
bXIub3JpZy9KYXZhRGVwcy9EZXBUYWJsZS5qYXZhCU1vbiBNYXkgMTggMTg6
Mzc6MTAgMTk5OAorKysgc21yL0phdmFEZXBzL0RlcFRhYmxlLmphdmEJV2Vk
IE9jdCAyMSAwODo1Mzo0OSAxOTk4CkBAIC0xNDMsNiArMTQzLDcgQEAKIAog
ICAgIC8qKgogICAgICAqIEFzIGFib3ZlLCBidXQgYWxzbyBjaGVja3MgdGhh
dCB0aGUgVGFyZ2V0Tm9kZSBpcyBvZiB0aGUgcmVxdWlyZWQgdHlwZS4KKyAg
ICAgKiBicmlhbiAtIG5lZWQgdG8gZGV0ZXJtaW5lIGlmL3doZW4vaG93IGxv
b2t1cHMgd29yayBmb3IgRW1wdHlTdGFja1RyYWNlRXhjZXB0aW9uIC0+IFJ1
blRpbWVFeGNlcHRpb24sIEkgYmV0IHRoZXkgZG9uJ3QuCiAgICAgICoqLwog
ICAgIHByaXZhdGUgVGFyZ2V0Tm9kZSBsb29rdXBTeW1ib2woIFN0cmluZyBz
LCBpbnQgdHlwZSApCiAgICAgewpAQCAtMTk3LDYgKzE5OCw3IEBACiAKIAlp
bXBvcnRzID0gbmV3IEhhc2h0YWJsZSgpOwogCXdpbGRJbXBvcnRzID0gbmV3
IFZlY3RvcigpOworCXdpbGRJbXBvcnRzLmFkZEVsZW1lbnQoImphdmEubGFu
ZyIpOwogICAgIH0KIAogICAgIC8qKgpAQCAtMjIyLDYgKzIyNCw3IEBACiAJ
U3RyaW5nIHN1ZmZpeCA9IGluYW1lLnN1YnN0cmluZyggaSsxICk7CiAJCiAJ
aWYgKCBzdWZmaXguZXF1YWxzKCAiKiIgKSApIHsKKwkgIGlmIChwcmVmaXgu
Y29tcGFyZVRvKCJqYXZhLmxhbmciKSAhPSAwKQogCSAgICB3aWxkSW1wb3J0
cy5hZGRFbGVtZW50KCBwcmVmaXggKTsKIAl9IGVsc2UgewogCSAgICBpbXBv
cnRzLnB1dCggc3VmZml4LCBpbmFtZSApOwpkaWZmIC11TnIgc21yLm9yaWcv
SmF2YURlcHMvSmF2YURlcHMuamF2YSBzbXIvSmF2YURlcHMvSmF2YURlcHMu
amF2YQotLS0gc21yLm9yaWcvSmF2YURlcHMvSmF2YURlcHMuamF2YQlNb24g
TWF5IDE4IDIyOjQ5OjU1IDE5OTgKKysrIHNtci9KYXZhRGVwcy9KYXZhRGVw
cy5qYXZhCVR1ZSBPY3QgMjAgMDA6MTQ6MzAgMTk5OApAQCAtMTMwLDYgKzEz
MCw4IEBACiAJaWYgKCBwby5zZWVuT3B0aW9uKCAibmF0aXZlIiApICkgewog
CSAgICBpZiAoICJzdHVicyIuZXF1YWxzSWdub3JlQ2FzZSggcG8uZ2V0T3B0
aW9uQXJndW1lbnQoICJuYXRpdmUiICkpKQogCQlidWlsZFN0dWJzID0gdHJ1
ZTsKKwkgICAgZWxzZQorCSAgICAgIGJ1aWxkU3R1YnMgPSBmYWxzZTsKIAl9
IGVsc2UgewogCSAgICBoZWFkZXJCdWlsZENvbW1hbmQgPSBudWxsOwogCX0K
====

Reply via email to