/**
  * Adds a class to the definition
  *
  * @param doOn
  * @return
  */
 protected IInfo addClass(ClassDef def, String moduleDeclared, int doOn, String path) {
   ClassInfo info = ClassInfo.fromClassDef(def, moduleDeclared, path);
   add(info, doOn);
   return info;
 }
 /**
  * Adds an attribute to the definition (this is either a global, a class attribute or an instance
  * (self) attribute
  *
  * @return
  */
 protected IInfo addAttribute(String def, String moduleDeclared, int doOn, String path) {
   AttrInfo info = AttrInfo.fromAssign(def, moduleDeclared, path);
   add(info, doOn);
   return info;
 }
 /**
  * adds a method to the definition
  *
  * @param doOn
  * @return
  */
 protected IInfo addMethod(FunctionDef def, String moduleDeclared, int doOn, String path) {
   FuncInfo info2 = FuncInfo.fromFunctionDef(def, moduleDeclared, path);
   add(info2, doOn);
   return info2;
 }