public Type type_get(Table<Type> t_env,Table<Dec> v_env,boolean in_loop,ErrorList e){
		/* return type */
		if(tid==null)
			return_type = Type.THE_VOID;
		else{
			Type tmp = t_env.get(tid);
			if(tmp==null){
				e.add_error("Undeclared return type "+tid+" in function "+id, line, column, "typing");
				return_type = Type.THE_ERROR_STATE;
			}
			else
				return_type = tmp;
		}
		/* args */
		if(fields!=null){
			for(Field_ty k : fields.list){
				Type tmp = t_env.get(k.tid);
				if(tmp==null){
					e.add_error("Undeclared arg type "+k.tid+" in function "+id+" 's arg"+k.id, k.line, k.column, "typing");
					arg_type.add(Type.THE_ERROR_STATE);
				}
				else
					arg_type.add(tmp);
			}
		}
		return return_type;
	}