コード例 #1
0
 /*
  * (non-Javadoc)
  *
  * @see org.walkmod.javalang.visitors.VoidVisitorAdapter#visit(org.walkmod.javalang.ast.body.MethodDeclaration,
  * java.lang.Object)
  */
 @SuppressWarnings("unchecked")
 @Override
 public void visit(MethodDeclaration n, VisitorContext arg) {
   Map<String, Object> m = variablesMap.get(classStack.peek());
   if (!methodStack.isEmpty()) {
     Object[] strings = methodStack.toArray();
     for (int i = 0; i < methodStack.size(); i++) {
       if (m.containsKey(strings[i])) {
         m = (Map<String, Object>) m.get(strings[i]);
       }
     }
   }
   String name = getUniqueMethodName(n);
   Map<String, String> temp = new HashMap<String, String>();
   temp.put("this", getActualType(n.getType()));
   m.put(name, temp);
   methodStack.push(name);
   super.visit(n, arg);
   m.remove(methodStack.pop());
 }