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
====