The RESOLVE_ALL procedure iteratively resolves (by compiling) any uncompiled procedures or functions that are called in any already-compiled procedure or function. The process ends when there are no unresolved routines left to compile. If an unresolved procedure or function is not in the IDL search path, RESOLVE_ALL exits with an error, and no additional routines are compiled.
RESOLVE_ALL is of special interest when using SAVE to construct an IDL SAVE file containing the compiled code for a package of routines. If you are constructing such a SAVE file and it contains calls to built-in IDL system functions that are not present under all operating systems (e.g., IOCTL), you must make sure to use FORWARD_FUNCTION to tell IDL that these names are functions. Otherwise, IDL may interpret them as arrays and generate unintended results.
This routine is written in the IDL language. Its source code can be found in the file
resolve_all.pro in the
lib subdirectory of the IDL distribution.
RESOLVE_ALL [, CLASS=string] [, /CONTINUE_ON_ERROR] [, /QUIET] [, RESOLVE_EITHER=string] [, RESOLVE_FUNCTION=string] [, RESOLVE_PROCEDURE=string] [, SKIP_ROUTINES=string] [, UNRESOLVED=variable]
Set this keyword to a string or string array containing object class names.
RESOLVE_ALL's rules for finding uncompiled functions and procedures are not able to find object definitions or methods, because those things are not known to IDL until the object classes are actually instantiated and the methods called. However, if the CLASS keyword is set, RESOLVE_ALL will ensure that the
*__define.pro files for the specified classes and their superclasses are compiled and executed. RESOLVE_ALL then locates all methods for the specified classes and their superclasses, and makes sure they are also compiled.
Set this keyword to allow continuation upon error.
Set this keyword to suppress informational messages.
Set this keyword to a string or string array of routine names to resolve.
Use this keyword instead of RESOLVE_FUNCTION or RESOLVE_PROCEDURE if you do not know the type of the routine being resolved. If the routines are already compiled, they are not recompiled.
Set this keyword to a string or string array of function names to resolve. If the functions are already compiled, they are not recompiled.
Set this keyword to a string or string array of procedure names to resolve. If the procedures are already compiled, they are not recompiled.
Set this keyword to a string array containing the names of routines not to resolve. Using this keyword is useful when a library file containing the designated routines will be later included.
Set this keyword to a variable that will contain the names of the unresolved procedures and functions if CONTINUE_ON_ERROR is set. Routines in the SKIP_ROUTINES list are also included in the result.
CLASS keyword added: 6.0
.COMPILE, RESOLVE_ROUTINE, ROUTINE_INFO