PRO Resolve_Obj, obj, CLASS=class, ROUTINE_INFO=ri if n_params() ne 0 then begin if NOT obj_valid(obj) then begin message,'Object is not valid.' endif class=obj_class(obj) endif if n_elements(ri) eq 0 then ri=routine_info() for i=0,n_elements(class)-1 do begin defpro=class[i]+'__DEFINE' if (where(ri eq defpro))[0] eq -1 then begin ;; Compile and define the class. call_procedure,defpro endif supers=obj_class(class[i],/SUPERCLASS,COUNT=cnt) if cnt gt 0 then resolve_obj,CLASS=supers,ROUTINE_INFO=ri endfor END