Your browser does not support JavaScript and this site utilizes JavaScript to build content and provide links to additional information. You should either enable JavaScript in your browser settings or use a browser that supports JavaScript in order to take full advantage of this site.
1 19 20 package soot.javaToJimple; 21 import java.util.*; 22 23 public class NestedClassListBuilder extends polyglot.visit.NodeVisitor { 24 25 private ArrayList classDeclsList; 26 private ArrayList anonClassBodyList; 27 private ArrayList nestedUsedList; 28 29 public ArrayList getClassDeclsList() { 30 return classDeclsList; 31 } 32 33 public ArrayList getAnonClassBodyList() { 34 return anonClassBodyList; 35 } 36 37 public ArrayList getNestedUsedList() { 38 return nestedUsedList; 39 } 40 41 public NestedClassListBuilder(){ 42 classDeclsList = new ArrayList(); 43 anonClassBodyList = new ArrayList(); 44 nestedUsedList = new ArrayList(); 45 } 46 47 public polyglot.visit.NodeVisitor enter(polyglot.ast.Node parent, polyglot.ast.Node n) { 48 49 if (n instanceof polyglot.ast.New) { 50 51 if ((((polyglot.ast.New)n).anonType() != null) && (((polyglot.ast.New)n).body() != null)){ 52 anonClassBodyList.add(n); 53 } 54 else if (((polyglot.types.ClassType)((polyglot.ast.New)n).objectType().type()).isNested()){ 55 nestedUsedList.add(n); 56 } 57 } 58 if (n instanceof polyglot.ast.ClassDecl) { 59 60 if (((polyglot.types.ClassType)((polyglot.ast.ClassDecl)n).type()).isNested()){ 61 classDeclsList.add(n); 62 } 63 } 64 return enter(n); 65 } 66 } 67
| Popular Tags
|