diff --git a/docs/ASM_UML.png b/docs/ASM_UML.png index e142d10..85fa4b0 100644 Binary files a/docs/ASM_UML.png and b/docs/ASM_UML.png differ diff --git a/docs/ASM_UML.uxf b/docs/ASM_UML.uxf index 1ebcb83..57670d2 100644 --- a/docs/ASM_UML.uxf +++ b/docs/ASM_UML.uxf @@ -4,8 +4,8 @@ UMLClass - 900 - 280 + 1400 + 200 650 140 @@ -25,8 +25,8 @@ UMLClass - 600 - 80 + 1100 + 0 440 190 @@ -48,8 +48,8 @@ UMLClass - 900 - 430 + 1400 + 350 650 150 @@ -69,8 +69,8 @@ UMLClass - 900 - 590 + 1400 + 510 580 90 @@ -87,18 +87,16 @@ UMLClass - 0 - 410 - 630 - 110 + 250 + 360 + 180 + 80 Main -- + CLASSES : String[] -- +main(String[] args) : void --writeChildParrentRelations(Map<String, String> childParrentRelations, OutputStream out) : void --writeInterfaceRelations(List<String[]> interfaces, OutputStream out) : void -- @@ -106,41 +104,41 @@ Relation - 620 - 320 - 300 + 1090 + 240 + 330 150 lt=<- - 280.0;10.0;200.0;10.0;200.0;130.0;10.0;130.0 + 310.0;10.0;230.0;10.0;230.0;130.0;10.0;130.0 Relation - 620 - 470 - 300 + 1090 + 390 + 330 30 lt=<- - 280.0;10.0;10.0;10.0 + 310.0;10.0;10.0;10.0 Relation - 620 - 490 - 300 + 1090 + 410 + 330 160 lt=<- - 280.0;140.0;200.0;140.0;200.0;10.0;10.0;10.0 + 310.0;140.0;230.0;140.0;230.0;10.0;10.0;10.0 Relation - 450 - 190 + 950 + 110 170 240 @@ -150,8 +148,8 @@ Relation - 690 - 260 + 1190 + 180 230 140 @@ -161,8 +159,8 @@ Relation - 690 - 370 + 1190 + 290 230 200 @@ -172,8 +170,8 @@ Relation - 690 - 540 + 1190 + 460 230 130 @@ -183,8 +181,8 @@ UMLClass - 1770 - 450 + 2270 + 370 100 40 @@ -194,8 +192,8 @@ Relation - 1540 - 330 + 2040 + 250 250 140 @@ -205,8 +203,8 @@ Relation - 1540 - 460 + 2040 + 380 250 30 @@ -216,12 +214,43 @@ Relation - 1470 - 480 + 1970 + 400 320 160 lt=<<- 300.0;10.0;210.0;10.0;210.0;140.0;10.0;140.0 + + UMLClass + + 480 + 330 + 620 + 130 + + edu.rosehulman.cjjb::UMLClassVisitor +-- ++classes: String[] ++out: OutputStream +-- ++buildUML(): void +-writeChildParrentRelations(Map<String, String> childParrentRelations, OutputStream out): void +-writeInterfaceRelations(List<String[]> interfaces, OutputStream out): void +-- + + + + + Relation + + 420 + 390 + 80 + 30 + + lt=<- + 60.0;10.0;10.0;10.0 + diff --git a/docs/ASM_UML_Generated.png b/docs/ASM_UML_Generated.png index 8a71402..8166b1f 100644 Binary files a/docs/ASM_UML_Generated.png and b/docs/ASM_UML_Generated.png differ diff --git a/output.txt b/output.txt index 675ee12..91ca50b 100644 --- a/output.txt +++ b/output.txt @@ -1,5 +1,5 @@ digraph G { fontname = "Bitstream Vera Sans" fontsize = 8 node [ fontname = "Bitstream Vera Sans" fontsize = 8 shape = "record" ] edge [ fontname = "Bitstream Vera Sans" fontsize = 8 ]Main [ - label = "{Main|+ CLASSES : java.lang.String[]\l+ boilerPlate : java.lang.String\l|+ main(java.lang.String[]) : void\l- writeChildParrentRelations(java.util.Map, java.io.OutputStream) : void\l- writeInterfaceRelations(java.util.List, java.io.OutputStream) : void\l}" + label = "{Main|+ CLASSES : java.lang.String[]\l+ boilerPlate : java.lang.String\l|+ main(java.lang.String[]) : void\l}" ]ClassDeclarationVisitor [ label = "{ClassDeclarationVisitor|- out : java.io.OutputStream\l- relations : edu.rosehulman.cjjb.asm.Relations\l|+ visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]) : void\l- addInterfaceName(java.lang.String, java.lang.String[]) : void\l- addSuperName(java.lang.String, java.lang.String) : void\l+ getCleanName(java.lang.String) : java.lang.String\l}" ]ClassFieldVisitor [ @@ -10,4 +10,6 @@ digraph G { fontname = "Bitstream Vera Sans" fontsize = 8 node [ fontname = "Bit label = "{Relations| includedELements : java.util.List\l childParrent : java.util.Map\l interfaces : java.util.List\l|+ addElement(java.lang.String) : void\l+ addChildParrentRelation(java.lang.String, java.lang.String) : void\l+ addInterfaceRelation(java.lang.String, java.lang.String) : void\l+ getChildParentIncludedRelations() : java.util.Map\l+ getIncludedInterfaceRelations() : java.util.List\l}" ]ClassVisitor [ label = "{ClassVisitor|# api : int\l# cv : org.objectweb.asm.ClassVisitor\l|+ visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]) : void\l+ visitSource(java.lang.String, java.lang.String) : void\l+ visitOuterClass(java.lang.String, java.lang.String, java.lang.String) : void\l+ visitAnnotation(java.lang.String, boolean) : org.objectweb.asm.AnnotationVisitor\l+ visitTypeAnnotation(int, org.objectweb.asm.TypePath, java.lang.String, boolean) : org.objectweb.asm.AnnotationVisitor\l+ visitAttribute(org.objectweb.asm.Attribute) : void\l+ visitInnerClass(java.lang.String, java.lang.String, java.lang.String, int) : void\l+ visitField(int, java.lang.String, java.lang.String, java.lang.String, java.lang.Object) : org.objectweb.asm.FieldVisitor\l+ visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]) : org.objectweb.asm.MethodVisitor\l+ visitEnd() : void\l}" +]UMLClassVisitor [ + label = "{UMLClassVisitor|+ classes : java.lang.String[]\l+ out : java.io.OutputStream\l+ boilerPlate : java.lang.String\l|+ buildUML() : void\l- writeChildParrentRelations(java.util.Map, java.io.OutputStream) : void\l- writeInterfaceRelations(java.util.List, java.io.OutputStream) : void\l}" ]ClassFieldVisitor -> ClassVisitor [arrowhead="onormal", style="filled"]ClassMethodVisitor -> ClassVisitor [arrowhead="onormal", style="filled"]ClassDeclarationVisitor -> ClassVisitor [arrowhead="onormal", style="filled"]} \ No newline at end of file diff --git a/src/edu/rosehulman/cjjb/Main.java b/src/edu/rosehulman/cjjb/Main.java index 32f4ad4..a07dd1b 100644 --- a/src/edu/rosehulman/cjjb/Main.java +++ b/src/edu/rosehulman/cjjb/Main.java @@ -12,7 +12,8 @@ public class Main { "edu.rosehulman.cjjb.asm.ClassFieldVisitor", "edu.rosehulman.cjjb.asm.ClassMethodVisitor", "edu.rosehulman.cjjb.asm.Relations", - "org.objectweb.asm.ClassVisitor" + "org.objectweb.asm.ClassVisitor", + "edu.rosehulman.cjjb.UMLClassVisitor" /*"problem.AppLauncher", "problem.HtmlWatcher", "problem.JarWatcher",