Example #1
0
  public void CheckObjList(CM_SRC cm_src, TObj tobj) {
    TObj objlist[] = tobj.getTObjList();
    if (objlist == null) return;
    for (int i = 0; i < objlist.length; i++) {
      TObj tmpobj = objlist[i];
      CheckObjList(cm_src, tmpobj);
      String objname = tmpobj.getName();
      String fullobjname = tmpobj.getName();
      int idx;
      if ((idx = objname.indexOf('(')) > 0) {
        objname = objname.substring(0, idx).trim();
      }
      if (tmpobj.getType() == C_FUNCTION_OBJECT) {
        tmpobj.setKeyValidation(100);
        if (objname.equals("main")) {
          mainflag = true;

        } else if (extern_main_flag(objname, fullobjname) == true) {
          mainflag = true;
          log.debug("extern find main", tmpobj.getName());

        } else if (fullobjname.indexOf("(TPSVCINFO") > 0) {
          submainflag = true;
          if (!hsubmainname.containsKey(objname)) {
            Integer val = new Integer(0);
            hsubmainname.put(objname, val);
          }
          log.debug("find sub main", tmpobj.getName());
        } else if (extern_sub_flag(objname, fullobjname) == true) {
          submainflag = true;
          if (!hsubmainname.containsKey(objname)) {
            Integer val = new Integer(0);
            hsubmainname.put(objname, val);
          }
          log.debug("extern find sub main", tmpobj.getName());
        } else {

          if (!hfunname.containsKey(objname)) {
            // log.debug("push hash", objname);
            Integer val = new Integer(0);
            hfunname.put(objname, val);
          }
        }
      }

      if (tmpobj.getType() == C_FUNCTION_DECARE || tmpobj.getType() == C_FUNCTION_OBJECT) {
        TMeta mt[] = tmpobj.getTMetaList();
        for (int k = 0; k < mt.length; k++) {
          if (mt[k].getName().equals("5100410")) {
            if (mt[k].getValue().startsWith("static ")) {
              hStaticfun.put(objname, objname);
            }
          }
        }
      }
    }
  }