home *** CD-ROM | disk | FTP | other *** search
- import java.util.Date;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class JDPSourceParser {
- JDPUser user;
- JDPSourceItem classHeader;
- Vector calledMethods;
- String lastToken;
- String prevLastToken;
- StringBuffer sourceSoFar;
- StringBuffer thisComment;
- String lastComment;
- String lastJavaComment;
- boolean inJavaComment;
- boolean inLargeComment;
- boolean inLineComment;
- boolean inQuotedString;
- boolean inAComment;
- static final String spaceTokens = " \r\n\t,/}";
- static final String tokenChars = "\r\n\t !%*()-+=|\\[]{};:\"'<>,/.";
- public static final int CLASSHEADER = 0;
- public static final int CONSTRUCTOR = 1;
- public static final int METHOD = 2;
- public static final int GLOBALVARIABLE = 3;
- String msg = "Warning: text exists outside of last curly brace. Please check the curly brace positioning.";
-
- boolean readThroughMethod(StringTokenizer var1, String var2, boolean var3) {
- if (var2 != null && var2.equals("{")) {
- boolean var4 = false;
- int var5 = 1;
- var2 = "";
-
- while(var1.hasMoreTokens() && (var3 || var5 > 0)) {
- if (var5 == 0 && " \r\n\t,/}".indexOf(var2) < 0) {
- var4 = true;
- }
-
- if (!this.inAComment) {
- if (var2.equals("{")) {
- ++var5;
- } else if (var2.equals("}")) {
- --var5;
- }
- }
-
- var2 = var1.nextToken();
- this.handleToken(var2);
- }
-
- if (var1.hasMoreTokens()) {
- var2 = var1.nextToken();
- this.handleToken(var2);
- }
-
- return var5 >= 0 && !var4;
- } else {
- return true;
- }
- }
-
- public JDPSourceParser(JDPUser var1) {
- this.user = var1;
- }
-
- public static void replaceSource(JDPSourceItem var0, String var1, String var2) {
- int var3 = var0.actualSource.indexOf(var1);
- if (var3 >= 0) {
- int var4 = var0.actualSource.length();
- int var5 = 0;
-
- StringBuffer var6;
- for(var6 = new StringBuffer(); var3 >= 0; var3 = var0.actualSource.indexOf(var1, var5)) {
- var6.append(var0.actualSource.substring(var5, var3));
- var5 = var3 + var1.length();
- if (var3 != 0 && "\r\n\t !%*()-+=|\\[]{};:\"'<>,/.".indexOf(var0.actualSource.substring(var3 - 1, var3)) < 0 || var5 < var4 && "\r\n\t !%*()-+=|\\[]{};:\"'<>,/.".indexOf(var0.actualSource.substring(var5, var5 + 1)) < 0) {
- var6.append(var1);
- } else {
- var6.append(var2);
- }
- }
-
- var6.append(var0.actualSource.substring(var5));
- var0.actualSource = var6.toString();
- }
- }
-
- public static void reCreateHeader(JDPSourceItem var0) {
- if (var0 != null) {
- StringBuffer var1 = new StringBuffer();
- int var2 = 0;
- var1.append(createComment(var0));
- if (var0.type != 0) {
- var1.append("\t");
- }
-
- if (var0.ispublic) {
- var1.append("public ");
- }
-
- if (var0.isprivate) {
- var1.append("private ");
- }
-
- if (var0.isprotected) {
- var1.append("protected ");
- }
-
- if (var0.isstatic) {
- var1.append("static ");
- }
-
- if (var0.isabstract) {
- var1.append("abstract ");
- }
-
- if (var0.isnative) {
- var1.append("native ");
- }
-
- if (var0.isfinal) {
- var1.append("final ");
- }
-
- if (var0.issynchronized) {
- var1.append("synchronized ");
- }
-
- if (var0.istransient) {
- var1.append("transient ");
- }
-
- if (var0.type == 0) {
- var1.append("class ");
- }
-
- if (var0.type == 3) {
- var1.append(var0.varType + " ");
- }
-
- if (var0.type == 2) {
- var1.append(var0.returnType + " ");
- }
-
- var1.append(var0.name);
- if (var0.type == 1 || var0.type == 2) {
- var1.append("(");
- if (var0.parmTypes != null) {
- for(int var3 = 0; var3 < var0.parmTypes.size(); ++var3) {
- if (var3 > 0) {
- var1.append(", ");
- }
-
- if (var0.parmNames.size() > var3) {
- var1.append((String)var0.parmTypes.elementAt(var3) + " " + (String)var0.parmNames.elementAt(var3));
- }
- }
- }
-
- var1.append(") ");
- }
-
- if (var0.type == 2 && var0.throwsExceptions != null && var0.throwsExceptions.size() > 0) {
- var1.append("throws ");
-
- for(int var9 = 0; var9 < var0.throwsExceptions.size(); ++var9) {
- if (var9 > 0) {
- var1.append(", ");
- }
-
- var1.append((String)var0.throwsExceptions.elementAt(var9));
- }
-
- var1.append(" ");
- }
-
- if (var0.type == 0) {
- if (var0.extendsClass != null && !var0.extendsClass.equals("")) {
- var1.append(" extends " + var0.extendsClass);
- }
-
- if (var0.implementsClasses != null && var0.implementsClasses.size() > 0) {
- var1.append(" implements ");
-
- for(int var10 = 0; var10 < var0.implementsClasses.size(); ++var10) {
- if (var10 > 0) {
- var1.append(", ");
- }
-
- var1.append((String)var0.implementsClasses.elementAt(var10));
- }
- }
- }
-
- if (var0.type == 3) {
- if (var0.actualSource != null && !var0.actualSource.equals("")) {
- var2 = var0.actualSource.indexOf("=");
- if (var2 >= 0) {
- var0.actualSource = var1.toString() + " " + var0.actualSource.substring(var2);
- } else {
- var2 = var0.actualSource.indexOf(";");
- if (var2 >= 0) {
- var0.actualSource = var1.toString() + var0.actualSource.substring(var2);
- } else {
- var0.actualSource = var1.toString() + ";\n\t" + var0.actualSource;
- }
- }
- } else {
- var0.actualSource = var1.toString() + ";\n";
- }
- } else if (var0.type != 2 && var0.type != 1) {
- if (var0.type == 0) {
- if (var0.actualSource == null || var0.actualSource.equals("")) {
- var0.actualSource = var1.toString() + " {\n";
- return;
- }
-
- var2 = var0.actualSource.indexOf("{");
- if (var2 >= 0) {
- int var11 = var0.actualSource.lastIndexOf("class", var2);
- int var4 = var0.actualSource.lastIndexOf("public", var2);
- if (var4 > 0 && (var4 < var11 || var11 < 0)) {
- var11 = var4;
- }
-
- var4 = var0.actualSource.lastIndexOf("/*", var2);
- if (var4 > 0 && (var4 < var11 || var11 < 0)) {
- var11 = var4;
- }
-
- if (var11 < 0) {
- var11 = 0;
- }
-
- var0.actualSource = var0.actualSource.substring(0, var11) + var1.toString() + " " + var0.actualSource.substring(var2);
- return;
- }
-
- var0.actualSource = var1.toString() + " " + var0.actualSource;
- }
-
- } else if (var0.actualSource != null && !var0.actualSource.equals("")) {
- var2 = var0.actualSource.indexOf("{");
- if (var2 >= 0) {
- var0.actualSource = var1.toString() + var0.actualSource.substring(var2);
- } else {
- var0.actualSource = var1.toString() + var0.actualSource;
- }
- } else {
- var0.actualSource = var1.toString() + "{\n\t\t\n\t}\n";
- }
- }
- }
-
- public JDPSourceItem reParseSource(JDPSourceItem var1) {
- this.removeCalledMethod(var1);
- this.parseSource(var1.actualSource, var1);
- this.addCalledMethod(var1);
- this.parseForMethods(var1, this.calledMethods);
- return var1;
- }
-
- public void removeCalledMethod(JDPSourceItem var1) {
- if (var1.type == 1 || var1.type == 2 || var1.type == 3) {
- if (var1.parmNames != null) {
- this.calledMethods.removeElement(var1.name + Integer.toString(var1.parmNames.size()));
- return;
- }
-
- this.calledMethods.removeElement(var1.name);
- }
-
- }
-
- static void appendDescription(StringBuffer var0, String var1, String var2) {
- int var4 = 0;
-
- for(int var5 = var0.length() - 1; var0.charAt(var5) != '*'; --var5) {
- ++var4;
- }
-
- StringTokenizer var6 = new StringTokenizer(var1, " ", true);
-
- while(var6.hasMoreTokens()) {
- String var3;
- for(var3 = var6.nextToken(); var3.equals(" ") && var4 == 0 && var6.hasMoreTokens(); var3 = var6.nextToken()) {
- }
-
- var0.append(var3);
- var4 += var3.length();
- if (var4 > 65 && var6.hasMoreTokens()) {
- var0.append("\n" + var2 + " * ");
- var4 = 0;
- }
- }
-
- }
-
- void readTillEndOfLine(StringTokenizer var1) {
- if (var1.hasMoreTokens()) {
- String var2 = var1.nextToken();
- this.handleToken(var2);
-
- while(var1.hasMoreTokens() && !var2.equals(";")) {
- var2 = var1.nextToken();
- this.handleToken(var2);
- }
-
- }
- }
-
- void handleToken(String var1) {
- if (this.sourceSoFar != null && (this.sourceSoFar.length() > 0 && !var1.equals("\r") || !var1.equals("\n") && !var1.equals("\r"))) {
- this.sourceSoFar.append(var1);
- }
-
- if (!this.inAComment && this.sourceSoFar != null) {
- int var2 = this.sourceSoFar.length();
- if (var2 > 4 && this.sourceSoFar.charAt(var2 - 1) == ' ' && this.sourceSoFar.charAt(var2 - 2) == ' ' && this.sourceSoFar.charAt(var2 - 3) == ' ' && this.sourceSoFar.charAt(var2 - 4) == ' ') {
- this.sourceSoFar.setLength(var2 - 3);
- this.sourceSoFar.setCharAt(var2 - 4, '\t');
- }
- }
-
- if (!this.inJavaComment && !this.inLargeComment && !this.inLineComment && !this.inQuotedString) {
- if (var1.equals("/") && this.lastToken.equals("/")) {
- this.inLineComment = true;
- if (this.thisComment != null && this.thisComment.length() > 0 && this.thisComment.charAt(this.thisComment.length() - 1) != ' ') {
- this.thisComment.append(" ");
- }
- } else if (var1.equals("*") && this.lastToken.equals("/")) {
- this.inLargeComment = true;
- } else if (var1.equals("\"") && (!this.lastToken.equals("\\") || this.prevLastToken.equals("\\"))) {
- this.inQuotedString = true;
- }
- } else if (this.inQuotedString && var1.equals("\"") && (!this.lastToken.equals("\\") || this.prevLastToken.equals("\\"))) {
- this.inQuotedString = false;
- }
-
- if (this.inAComment) {
- if (this.inLineComment && (var1.equals("\n") || var1.equals("\r"))) {
- this.inLineComment = false;
- if (this.thisComment != null) {
- this.lastComment = this.thisComment.toString();
- if (this.lastToken.equals("/")) {
- if (this.thisComment.length() > 0) {
- this.thisComment.setLength(this.thisComment.length() - 1);
- }
-
- this.lastComment = this.thisComment.toString();
- this.thisComment.setLength(0);
- }
- }
- }
-
- if (this.inLargeComment) {
- if (this.prevLastToken.equals("/") && this.lastToken.equals("*") && var1.equals("*")) {
- this.inJavaComment = true;
- this.inLargeComment = false;
- } else if (var1.equals("/") && this.lastToken.equals("*")) {
- this.inLargeComment = false;
- if (this.thisComment != null) {
- this.lastComment = this.thisComment.toString();
- this.thisComment.setLength(0);
- }
- }
- }
-
- if (this.inJavaComment && var1.equals("/") && this.lastToken.equals("*")) {
- this.inJavaComment = false;
- if (this.thisComment != null) {
- this.lastJavaComment = this.thisComment.toString();
- this.thisComment.setLength(0);
- }
- }
-
- if (this.thisComment != null && (this.inJavaComment || this.inLargeComment || this.inLineComment)) {
- if (this.thisComment.length() == 0) {
- this.thisComment.append("/");
- }
-
- this.thisComment.append(var1);
- }
- }
-
- if (!this.inJavaComment && !this.inLargeComment && !this.inLineComment && !this.inQuotedString) {
- this.inAComment = false;
- } else {
- this.inAComment = true;
- }
-
- this.prevLastToken = this.lastToken;
- this.lastToken = var1;
- }
-
- public static JDPSourceItem copyItem(JDPSourceItem var0) {
- JDPSourceItem var1 = new JDPSourceItem();
- var1.name = var0.name + "Copy";
- var1.description = var0.description;
- var1.type = var0.type;
- var1.actualSource = var0.actualSource;
- var1.ispublic = var0.ispublic;
- var1.isprivate = var0.isprivate;
- var1.isprotected = var0.isprotected;
- var1.isstatic = var0.isstatic;
- var1.isabstract = var0.isabstract;
- var1.isnative = var0.isnative;
- var1.isfinal = var0.isfinal;
- var1.issynchronized = var0.issynchronized;
- var1.istransient = var0.istransient;
- return var1;
- }
-
- String readParameters(JDPSourceItem var1, StringTokenizer var2) {
- String var3 = "";
- String var4 = this.getNextNonSpaceToken(var2);
-
- while(var4 != null && !var4.equals(")") && var3 != null && !var3.equals(")")) {
- if (var1.parmTypes == null) {
- var1.parmTypes = new Vector();
- var1.parmNames = new Vector();
- }
-
- for(var3 = this.getNextNonSpaceToken(var2); var4 != null && !var4.equals(")") && (var3.equals(".") || var3.equals("[") || var3.equals("]")); var3 = this.getNextNonSpaceToken(var2)) {
- var4 = var4 + var3;
- if (var3.equals(".")) {
- var4 = var4 + this.getNextNonSpaceToken(var2);
- }
- }
-
- if (var4 != null && !var4.equals(")")) {
- var1.parmTypes.addElement(var4);
-
- for(var4 = this.getNextNonSpaceToken(var2); var4 != null && !var4.equals(")") && (var4.equals("[") || var4.equals("]")); var4 = this.getNextNonSpaceToken(var2)) {
- var3 = var3 + var4;
- }
-
- if (!var3.equals(")")) {
- var1.parmNames.addElement(var3);
- } else {
- var1.parmNames.addElement("undefinedParm");
- }
- } else {
- var1.parmNames.addElement("undefinedParm");
- }
- }
-
- String var5 = this.getNextNonSpaceToken(var2);
- if (var5 != null && var5.equals("throws")) {
- var5 = this.getNextNonSpaceToken(var2);
-
- for(var1.throwsExceptions = new Vector(); !var5.equals("{"); var5 = this.getNextNonSpaceToken(var2)) {
- var1.throwsExceptions.addElement(var5);
- }
- }
-
- return var5;
- }
-
- String getNextNonSpaceToken(StringTokenizer var1) {
- if (!var1.hasMoreTokens()) {
- return null;
- } else {
- String var2 = var1.nextToken();
- this.handleToken(var2);
-
- while(var1.hasMoreTokens() && (" \r\n\t,/}".indexOf(var2) >= 0 || this.inAComment)) {
- var2 = var1.nextToken();
- this.handleToken(var2);
- }
-
- return var2;
- }
- }
-
- public void removeItem(JDPSourceItem var1) {
- this.removeCalledMethod(var1);
- this.classHeader.components.removeElement(var1);
- }
-
- void getMethodDescriptions(JDPSourceItem var1) {
- String var2 = this.lastJavaComment;
- if (var2.equals("")) {
- var2 = this.lastComment;
- }
-
- String[] var3 = new String[40];
- int var4 = 0;
-
- do {
- var3[var4] = "";
- ++var4;
- } while(var4 < 40);
-
- var4 = 0;
- int var5 = 0;
- int var6 = 0;
- int var8 = 0;
- StringTokenizer var9 = new StringTokenizer(var2, "\r\n");
-
- while(var9.hasMoreTokens()) {
- String var7 = var9.nextToken();
- var6 = var7.indexOf("* ");
- if (var6 < 0) {
- var6 = var7.indexOf("/ ");
- }
-
- if (var6 >= 0 && var7.substring(var6).length() > 2) {
- var7 = var7.substring(var6 + 2);
- if (var7.startsWith("@param ")) {
- ++var4;
- var5 = var4;
- if (var7.length() > 7) {
- var3[var4] = var7.substring(7).trim();
- }
-
- if (var1.parmNames != null && var1.parmNames.size() > var8 && var3[var4].startsWith((String)var1.parmNames.elementAt(var8) + " ")) {
- var3[var4] = var3[var4].substring(var3[var4].indexOf(" ") + 1);
- }
-
- ++var8;
- } else if (var7.startsWith("@return ")) {
- if (var7.length() > 8) {
- var5 = 39;
- var3[var5] = var7.substring(8).trim();
- }
- } else if (var7.startsWith("@version ")) {
- if (var7.length() > 9) {
- var5 = 38;
- var3[var5] = var3[var5] + var7.substring(9).trim();
- }
- } else if (var7.startsWith("@author ")) {
- if (var7.length() > 8) {
- var5 = 37;
- var3[var5] = var3[var5] + var7.substring(8).trim();
- }
- } else if (var7.startsWith("@created ")) {
- if (var7.length() > 9) {
- var5 = 36;
- var3[var5] = var3[var5] + var7.substring(9).trim();
- }
- } else if (var7.startsWith("@lastModified ")) {
- if (var7.length() > 14) {
- var5 = 35;
- var3[var5] = var3[var5] + var7.substring(14).trim();
- }
- } else {
- if (var3[var5].length() > 0) {
- var3[var5] = var3[var5] + " ";
- }
-
- var3[var5] = var3[var5] + var7.trim();
- }
- }
- }
-
- var1.description = var3[0];
- var1.returnDesc = var3[39];
- var1.author = var3[37];
- var1.version = var3[38];
- if (var3[36] != null) {
- try {
- var1.created = new Date(var3[36]);
- } catch (Exception var12) {
- }
- }
-
- if (var3[35] != null) {
- try {
- var1.lastModified = new Date(var3[35]);
- } catch (Exception var11) {
- }
- }
-
- var1.parmDescs = new Vector();
-
- for(int var10 = 1; var10 <= var4; ++var10) {
- if (!var3[var10].equals("") && !var3[var10].endsWith(".")) {
- var3[var10] = var3[var10] + ".";
- }
-
- var1.parmDescs.addElement(var3[var10]);
- }
-
- if (!var1.description.equals("") && !var1.description.endsWith(".")) {
- String var10001 = var1.description;
- var1.description = var10001 + ".";
- }
-
- if (!var1.returnDesc.equals("") && !var1.returnDesc.endsWith(".")) {
- String var16 = var1.returnDesc;
- var1.returnDesc = var16 + ".";
- }
-
- }
-
- public static int getItemType(String var0) {
- if (var0.equals("Class")) {
- return 0;
- } else if (var0.equals("Global Variables")) {
- return 3;
- } else if (var0.equals("Constructors")) {
- return 1;
- } else {
- return !var0.equals("Accessors") && !var0.equals("Methods") && !var0.equals("Public") && !var0.equals("Private") ? -1 : 2;
- }
- }
-
- public void addCalledMethod(JDPSourceItem var1) {
- if (this.classHeader.components.indexOf(var1) < 0) {
- this.classHeader.components.addElement(var1);
- }
-
- if (var1.type == 1 || var1.type == 2 || var1.type == 3) {
- if (var1.parmNames != null) {
- this.calledMethods.addElement(var1.name + Integer.toString(var1.parmNames.size()));
- return;
- }
-
- this.calledMethods.addElement(var1.name);
- }
-
- }
-
- void parseForMethods(JDPSourceItem var1, Vector var2) {
- String var4 = "";
- this.sourceSoFar = null;
- this.thisComment = null;
- this.lastToken = "";
- String var5 = null;
- String var6 = "";
- String var7 = "";
- String var8 = null;
- this.lastComment = "";
- this.lastJavaComment = "";
- this.inJavaComment = false;
- this.inLargeComment = false;
- this.inLineComment = false;
- this.inQuotedString = false;
- String var9 = "";
- boolean var10 = false;
- var1.callsMethods = new Vector();
- StringTokenizer var3 = new StringTokenizer(var1.actualSource, "\r\n\t !%*()-+=|\\[]{};:\"'<>,/.", true);
-
- while(var3.hasMoreTokens() && !var4.equals("{") || this.inAComment) {
- var4 = var3.nextToken();
- this.handleToken(var4);
- }
-
- while(var3.hasMoreTokens()) {
- var7 = var6;
- var6 = var8;
- var8 = var4;
- var4 = var3.nextToken();
- var10 = this.inAComment;
- this.handleToken(var4);
- if (var10 && !this.inAComment) {
- var7 = "";
- var6 = "";
- var8 = "";
- }
-
- if (!this.inAComment && var5 != null) {
- if (var4.equals("(") && var3.hasMoreTokens() && (var6 == null || !var6.equals("."))) {
- var9 = "";
- var6 = var8;
- var8 = var4;
- var4 = var3.nextToken();
- this.handleToken(var4);
- if (!this.inAComment) {
- this.addCallMethod(var1, var4);
- }
-
- if (!var4.equals(")")) {
- int var11 = 1;
- int var12 = 1;
-
- while(var3.hasMoreTokens() && (var12 > 0 || !var4.equals(")"))) {
- var6 = var8;
- var8 = var4;
- var4 = var3.nextToken();
- this.handleToken(var4);
- if (var4.equals("(")) {
- ++var12;
- } else if (var4.equals(")")) {
- --var12;
- } else if (var4.equals(",")) {
- ++var11;
- } else if (!this.inAComment && !var8.equals(".")) {
- this.addCallMethod(var1, var4);
- }
- }
-
- var9 = Integer.toString(var11);
- }
-
- if (!this.inAComment) {
- this.addCallMethod(var1, var5 + var9);
- }
- } else if (!var4.equals("(") && (var6 == null || !var6.equals(".") || var6.equals(".") && var7.equals("this"))) {
- this.addCallMethod(var1, var8);
- }
- }
-
- if ("\r\n\t !%*()-+=|\\[]{};:\"'<>,/.".indexOf(var4) < 0) {
- var5 = var4;
- }
- }
-
- }
-
- public static JDPSourceItem createNewItem(JDPSourceItem var0) {
- JDPSourceItem var1 = new JDPSourceItem();
- var1.type = var0.type;
- if (var0.type == 0) {
- var1.name = "NewClass";
- } else if (var0.type == 1) {
- var1.name = "";
- var1.ispublic = true;
- } else if (var0.type == 3) {
- var1.name = "newVar";
- var1.varType = "String";
- } else if (var0.type == 2) {
- var1.name = var0.name;
- var1.returnType = "void";
- var1.ispublic = var0.ispublic;
- var1.isprivate = var0.isprivate;
- }
-
- return var1;
- }
-
- public JDPSourceItem parseSource(String var1) {
- return this.parseSource(var1, (JDPSourceItem)null);
- }
-
- void addCallMethod(JDPSourceItem var1, String var2) {
- if ("\r\n\t !%*()-+=|\\[]{};:\"'<>,/.".indexOf(var2) < 0 && var2.indexOf(".") < 0 && !var2.equals("this") && !var2.equals("new") && !var2.equals("equals") && !var2.equals("startsWith") && !var2.equals("endsWith") && !var2.equals("indexOf") && !var2.equals("elementAt") && !var2.equals("true") && !var2.equals("false") && !var2.equals("if") && !var2.equals("else") && !var2.equals("while") && !var2.equals("for") && !var2.equals("try") && !var2.equals("catch") && !var2.equals("&&") && !var2.equals("||") && !var2.equals("null") && !var2.equals("void") && !var2.equals("return") && !var2.equals("public") && !var2.equals("private") && !var2.equals("protected") && !var2.equals("synchronized") && !var2.equals("static") && !var2.equals("final") && !var2.equals("abstract") && !var2.equals("boolean") && !var2.equals("Boolean") && !var2.equals("String") && !var2.equals("int") && !var2.equals("Integer") && !var2.equals("Vector") && !var2.equals("StringTokenizer") && !var2.equals("long") && !var2.equals("Long") && !var2.equals("char") && !var2.equals("byte") && !var2.equals("switch") && !var2.equals("case") && !var2.equals("default") && var1.callsMethods.indexOf(var2) < 0) {
- var1.callsMethods.addElement(var2);
- }
-
- }
-
- JDPSourceItem parseSource(String var1, JDPSourceItem var2) {
- JDPSourceItem var3;
- if (var2 == null) {
- var3 = new JDPSourceItem();
- this.classHeader = new JDPSourceItem();
- } else {
- this.classHeader.components.removeElement(var2);
- var3 = var2;
- var2.ispublic = false;
- var2.isprivate = false;
- var2.isprotected = false;
- var2.isstatic = false;
- var2.isabstract = false;
- var2.isnative = false;
- var2.isfinal = false;
- var2.issynchronized = false;
- var2.istransient = false;
- var2.name = null;
- var2.description = null;
- var2.created = null;
- var2.author = null;
- var2.version = null;
- var2.extendsClass = null;
- var2.implementsClasses = null;
- var2.components = null;
- var2.parmTypes = null;
- var2.parmNames = null;
- var2.parmDescs = null;
- var2.callsMethods = null;
- var2.returnType = null;
- var2.returnDesc = null;
- var2.throwsExceptions = null;
- var2.varType = null;
- var2.initValue = null;
- }
-
- boolean var7 = false;
- this.sourceSoFar = new StringBuffer();
- this.thisComment = new StringBuffer();
- this.lastToken = "";
- this.lastComment = "";
- this.lastJavaComment = "";
- this.inJavaComment = false;
- this.inLargeComment = false;
- this.inLineComment = false;
- this.inQuotedString = false;
- int var8 = -1;
- int var9 = 0;
- StringTokenizer var4 = new StringTokenizer(var1, "\r\n\t !%*()-+=|\\[]{};:\"'<>,/.", true);
-
- while(var4.hasMoreTokens()) {
- var9 = this.sourceSoFar.length();
- String var5 = var4.nextToken();
- this.handleToken(var5);
- if (var3 == null) {
- var3 = new JDPSourceItem();
- }
-
- if (!this.inAComment) {
- if (var5.equals("public")) {
- var3.ispublic = true;
- if (var8 < 0) {
- var8 = var9;
- }
- } else if (var5.equals("private")) {
- var3.isprivate = true;
- if (var8 < 0) {
- var8 = var9;
- }
- } else if (var5.equals("protected")) {
- var3.isprotected = true;
- if (var8 < 0) {
- var8 = var9;
- }
- } else if (var5.equals("static")) {
- var3.isstatic = true;
- if (var8 < 0) {
- var8 = var9;
- }
- } else if (var5.equals("abstract")) {
- var3.isabstract = true;
- if (var8 < 0) {
- var8 = var9;
- }
- } else if (var5.equals("native")) {
- var3.isnative = true;
- if (var8 < 0) {
- var8 = var9;
- }
- } else if (var5.equals("final")) {
- var3.isfinal = true;
- if (var8 < 0) {
- var8 = var9;
- }
- } else if (var5.equals("synchronized")) {
- var3.issynchronized = true;
- if (var8 < 0) {
- var8 = var9;
- }
- } else if (var5.equals("transient")) {
- var3.istransient = true;
- if (var8 < 0) {
- var8 = var9;
- }
- } else if (var5.equals("class")) {
- if (var8 < 0) {
- var8 = var9;
- }
-
- if (!var7) {
- this.classHeader = var3;
- this.classHeader.name = this.getNextNonSpaceToken(var4);
- this.classHeader.type = 0;
- this.classHeader.components = new Vector();
- this.classHeader.extendsClass = "";
- this.classHeader.implementsClasses = new Vector();
- String var14 = this.getNextNonSpaceToken(var4);
-
- while(var4.hasMoreTokens() && !var14.equals("{")) {
- if (var14.equals("extends")) {
- this.classHeader.extendsClass = this.getNextNonSpaceToken(var4);
- var14 = this.getNextNonSpaceToken(var4);
- } else if (var14.equals("implements")) {
- for(var14 = this.getNextNonSpaceToken(var4); var4.hasMoreTokens() && !var14.equals("{"); var14 = this.getNextNonSpaceToken(var4)) {
- if (this.classHeader.implementsClasses == null) {
- this.classHeader.implementsClasses = new Vector();
- }
-
- this.classHeader.implementsClasses.addElement(var14);
- }
- } else {
- var14 = this.getNextNonSpaceToken(var4);
- }
- }
-
- this.classHeader.actualSource = this.sourceSoFar.toString();
- this.sourceSoFar.setLength(0);
- this.getMethodDescriptions(this.classHeader);
- var7 = true;
- this.thisComment.setLength(0);
- this.lastComment = "";
- this.lastJavaComment = "";
- var3 = new JDPSourceItem();
- var8 = -1;
- }
- } else if (!var5.equals("import") && !var5.equals("package")) {
- if (var5.equals("}")) {
- var8 = -1;
- } else if ("\r\n\t !%*()-+=|\\[]{};:\"'<>,/.".indexOf(var5) < 0) {
- if (var8 <= 0) {
- var8 = var9;
- }
-
- var3.type = 3;
- var3.varType = var5;
- String var6 = this.getNextNonSpaceToken(var4);
- if (var6.equals(".")) {
- while(!var6.equals(" ")) {
- String var10001 = var3.varType;
- var3.varType = var10001 + var6;
- var6 = var4.nextToken();
- this.handleToken(var6);
- }
-
- var6 = this.getNextNonSpaceToken(var4);
- }
-
- while(var6.equals("[") || var6.equals("]")) {
- String var18 = var3.varType;
- var3.varType = var18 + var6;
- var6 = this.getNextNonSpaceToken(var4);
- }
-
- if (var6.equals("(")) {
- var3.type = 1;
- var3.name = var3.varType;
- var3.varType = null;
- var6 = this.readParameters(var3, var4);
- this.getMethodDescriptions(var3);
- boolean var17 = this.readThroughMethod(var4, var6, var2 != null);
- if (var2 != null && !var17) {
- this.user.mainmsg.setStatusMsg(this.msg, 12);
- } else if (this.user.mainmsg.getStatusMsg().equals(this.msg)) {
- this.user.mainmsg.clearStatusMsg();
- }
-
- if (var8 > 0 && this.sourceSoFar.length() > var8) {
- var3.actualSource = createComment(var3) + "\t" + this.sourceSoFar.toString().substring(var8);
- } else {
- var3.actualSource = createComment(var3) + this.sourceSoFar.toString();
- }
-
- this.sourceSoFar.setLength(0);
- this.classHeader.components.addElement(var3);
- this.thisComment.setLength(0);
- this.lastComment = "";
- this.lastJavaComment = "";
- var8 = -1;
- var3 = new JDPSourceItem();
- } else {
- var3.name = var6;
-
- for(var6 = this.getNextNonSpaceToken(var4); var6.equals("[") || var6.equals("]"); var6 = this.getNextNonSpaceToken(var4)) {
- String var19 = var3.varType;
- var3.varType = var19 + var6;
- }
-
- if (var6.equals("(")) {
- var3.type = 2;
- var3.returnType = var3.varType;
- var3.varType = null;
- var6 = this.readParameters(var3, var4);
- this.getMethodDescriptions(var3);
- boolean var16 = this.readThroughMethod(var4, var6, var2 != null);
- if (var2 != null && !var16) {
- this.user.mainmsg.setStatusMsg(this.msg, 12);
- } else if (this.user.mainmsg.getStatusMsg().equals(this.msg)) {
- this.user.mainmsg.clearStatusMsg();
- }
-
- if (var8 > 0 && this.sourceSoFar.length() > var8) {
- var3.actualSource = createComment(var3) + "\t" + this.sourceSoFar.toString().substring(var8);
- } else {
- var3.actualSource = createComment(var3) + this.sourceSoFar.toString();
- }
-
- this.sourceSoFar.setLength(0);
- this.classHeader.components.addElement(var3);
- this.thisComment.setLength(0);
- this.lastComment = "";
- this.lastJavaComment = "";
- var8 = -1;
- var3 = new JDPSourceItem();
- } else {
- if (var6.equals("=")) {
- var6 = this.getNextNonSpaceToken(var4);
- var3.initValue = "";
-
- while(var4.hasMoreTokens() && !var6.equals(";")) {
- String var20 = var3.initValue;
- var3.initValue = var20 + var6;
- var6 = var4.nextToken();
- this.handleToken(var6);
- }
- }
-
- this.getMethodDescriptions(var3);
- if (var8 > 0 && this.sourceSoFar.length() > var8) {
- var3.actualSource = createComment(var3) + "\t" + this.sourceSoFar.toString().substring(var8);
- } else {
- var3.actualSource = createComment(var3) + this.sourceSoFar.toString();
- }
-
- this.classHeader.components.addElement(var3);
- JDPSourceItem var10 = var3;
- this.sourceSoFar.setLength(0);
- this.thisComment.setLength(0);
- this.lastComment = "";
- this.lastJavaComment = "";
- var8 = -1;
-
- for(var3 = new JDPSourceItem(); !var6.equals(";"); var3 = new JDPSourceItem()) {
- var3.name = var6;
- var3.type = 3;
- var3.varType = var10.varType;
- var6 = this.getNextNonSpaceToken(var4);
- if (var6.equals("=")) {
- var6 = this.getNextNonSpaceToken(var4);
- var3.initValue = "";
-
- while(var4.hasMoreTokens() && !var6.equals(";")) {
- String var21 = var3.initValue;
- var3.initValue = var21 + var6;
- var6 = var4.nextToken();
- this.handleToken(var6);
- }
- }
-
- var3.actualSource = this.sourceSoFar.toString();
- this.sourceSoFar.setLength(0);
- this.classHeader.components.addElement(var3);
- var10 = var3;
- this.thisComment.setLength(0);
- this.lastComment = "";
- this.lastJavaComment = "";
- var8 = -1;
- }
- }
- }
- }
- } else {
- this.readTillEndOfLine(var4);
- }
- }
- }
-
- if (var2 == null) {
- return this.classHeader;
- } else {
- return var2;
- }
- }
-
- public void determineCalledMethods(JDPSourceItem var1) {
- this.calledMethods = new Vector();
-
- for(int var3 = 0; var3 < var1.components.size(); ++var3) {
- JDPSourceItem var2 = (JDPSourceItem)var1.components.elementAt(var3);
- this.addCalledMethod(var2);
- }
-
- for(int var5 = 0; var5 < var1.components.size(); ++var5) {
- JDPSourceItem var4 = (JDPSourceItem)var1.components.elementAt(var5);
- if (var4.type == 1 || var4.type == 2) {
- this.parseForMethods(var4, this.calledMethods);
- }
- }
-
- }
-
- public static String createComment(JDPSourceItem var0) {
- if (var0.description != null && !var0.description.equals("")) {
- String var1 = "\t";
- if (var0.type == 0) {
- var1 = "";
- }
-
- StringBuffer var2 = new StringBuffer();
- var2.append(var1 + "/*");
- if (var0.ispublic) {
- var2.append("*");
- }
-
- var2.append("\n" + var1 + " * ");
- appendDescription(var2, var0.description, var1);
- if (var0.parmNames != null) {
- for(int var3 = 0; var3 < var0.parmNames.size(); ++var3) {
- var2.append("\n" + var1 + " * @param ");
- var2.append((String)var0.parmNames.elementAt(var3));
- if (var0.parmDescs != null && var0.parmDescs.size() > var3 && !((String)var0.parmNames.elementAt(var3) + ".").equals((String)var0.parmDescs.elementAt(var3))) {
- var2.append(" ");
- appendDescription(var2, (String)var0.parmDescs.elementAt(var3), var1);
- }
- }
- }
-
- if (var0.returnDesc != null && !var0.returnDesc.equals("")) {
- var2.append("\n" + var1 + " * @return ");
- appendDescription(var2, var0.returnDesc, var1);
- }
-
- if (var0.author != null && !var0.author.equals("")) {
- var2.append("\n" + var1 + " * @author ");
- var2.append(var0.author);
- }
-
- if (var0.version != null && !var0.version.equals("")) {
- var2.append("\n" + var1 + " * @version ");
- var2.append(var0.version);
- }
-
- if (var0.created != null) {
- var2.append("\n" + var1 + " * @created ");
- var2.append(var0.created.toString());
- }
-
- if (var0.lastModified != null) {
- var2.append("\n" + var1 + " * @lastModified ");
- var2.append(var0.lastModified.toString());
- }
-
- var2.append("\n" + var1 + " */\n");
- return var2.toString();
- } else {
- return "";
- }
- }
-
- public static void changeMethodName(JDPSourceItem var0, String var1) {
- if (var0.node != null && var0.node.leftNodes != null) {
- for(int var3 = 0; var3 < var0.node.leftNodes.size(); ++var3) {
- JDPMethodNode var2 = (JDPMethodNode)var0.node.leftNodes.elementAt(var3);
- if (var2.item != null) {
- replaceSource(var2.item, var1, var0.name);
- var2.item.callsMethods.removeElement(var1);
- var2.item.callsMethods.addElement(var0.name);
- }
- }
-
- }
- }
- }
-