$darkmode
Qore Programming Language Reference Manual 1.19.2
QC_Program.dox.h
1 
3 namespace Qore {
5 
10  bool builtin;
12  int endline;
14  *string file;
16  int line;
18  int offset;
20  *string source;
21 };
22 }
23 
25 namespace Qore {
27 
56 class Program {
57 
58 public:
60 
78 auto callFunction(string name, ...);
79 
80 public:
82 
100 auto callFunctionArgs(string name, *softlist<auto> vargs);
101 
102 public:
104 
128 auto callStaticMethod(string class_name, string method, ...);
129 
130 public:
132 
156 auto callStaticMethodArgs(string class_name, string method, *softlist<auto> call_args);
157 
158 public:
160 
188  constructor(softint po = PO_DEFAULT);
189 
190 public:
192 
194  copy();
195 
196 public:
198 
206 nothing define(string def, auto val);
207 
208 public:
210 /***/
212 
213 public:
215 
230 nothing disableParseOptions(softint opt);
231 
232 public:
234 
249 bool existsFunction(string name);
250 
251 public:
253 
265 list<hash<auto>> findFunctionVariants(string function);
266 
267 public:
269 
283 *hash<auto> getAllDefines();
284 
285 public:
287 
313 code getCallReference(string identifier);
314 
315 public:
317 
331 auto getDefine(string def);
332 
333 public:
335 
340 Expression getExpression(string source, string label);
341 
342 public:
344 
351 list<string> getFeatureList();
352 
353 public:
355 
366 auto getGlobalVariable(string varname, *reference<bool> rexists);
367 
368 public:
370 
384 hash<auto> getGlobalVars();
385 
386 public:
388 
401 
402 public:
404 
415 
416 public:
418 
426 
427 public:
429 
438 
439 public:
441 
453 *string getScriptDir();
454 
455 public:
457 
469 *string getScriptName();
470 
471 public:
473 
485 *string getScriptPath();
486 
487 public:
489 
501 list<int> getThreadList();
502 
503 public:
505 
516 
517 public:
519 
531 softlist<string> getUserFunctionList();
532 
533 public:
535 
562 nothing importClass(string cls, *string new_name, *softbool inject, int module_visibility = CSP_UNCHANGED);
563 
564 public:
566 
581 nothing importFunction(string func);
582 
583 public:
585 
612 nothing importFunction(string func, string new_name, *softbool inject);
613 
614 public:
616 
629 nothing importGlobalVariable(string varname, bool readonly = False);
630 
631 public:
633 
648 nothing importHashDecl(string name, *string new_name);
649 
650 public:
652 
664 
665 public:
667 
679 
680 public:
682 
694 
695 public:
697 
709 
710 public:
712 
724 
725 public:
727 
741 bool isDefined(string def);
742 
743 public:
745 
760 nothing issueModuleCmd(string module, string cmd);
761 
762 public:
764 
791  loadApplyToPrivateUserModule(string name, int warning_mask = WARN_MODULES);
792 
793 public:
795 
824 *hash<ExceptionInfo> loadApplyToPrivateUserModuleWarn(string name, int warning_mask = WARN_MODULES);
825 
826 public:
828 
859  loadApplyToUserModule(string name, *softbool reinject, int warning_mask = WARN_MODULES, bool reexport = False);
860 
861 public:
863 
896 *hash<ExceptionInfo> loadApplyToUserModuleWarn(string name, *softbool reinject, int warning_mask = WARN_MODULES, bool reexport = False);
897 
898 public:
900 
932  loadModule(string name, int warning_mask = WARN_MODULES);
933 
934 public:
936 
968 *hash<ExceptionInfo> loadModuleWarn(string name, int warning_mask = WARN_MODULES);
969 
970 public:
972 
1006  loadUserModuleWithProgram(string name, Qore::Program pgm, int warning_mask = WARN_MODULES);
1007 
1008 public:
1010 
1044 *hash<ExceptionInfo> loadUserModuleWithProgramWarn(string name, Qore::Program pgm, int warning_mask = WARN_MODULES);
1045 
1046 public:
1048 
1053 nothing lockOptions();
1054 
1055 public:
1057 
1112 *hash<ExceptionInfo> parse(string code, string label, *softint warning_mask, *string source, *softint offset, softbool format_label = True);
1113 
1114 public:
1116 
1141 nothing parseCommit();
1142 
1143 public:
1145 
1172 *hash<ExceptionInfo> parseCommit(int warning_mask);
1173 
1174 public:
1176 
1223 *hash<ExceptionInfo> parsePending(string code, string label, *softint warning_mask, *string source, *softint offset, softbool format_label = True);
1224 
1225 public:
1227 
1240 nothing parseRollback();
1241 
1242 public:
1244 
1258 nothing replaceParseOptions(softint opt);
1259 
1260 public:
1262 
1269 auto run();
1270 
1271 public:
1273 
1289 nothing setGlobalVarValue(string name, auto value);
1290 
1291 public:
1293 
1308 nothing setParseOptions(softint opt = PO_DEFAULT);
1309 
1310 public:
1312 
1319 nothing setScriptPath(*string path);
1320 
1321 public:
1323 
1343 bool setThreadInit(*code init);
1344 
1345 public:
1347 
1355 nothing setTimeZone(TimeZone zone);
1356 
1357 public:
1359 
1370 nothing setTimeZoneRegion(string region);
1371 
1372 public:
1374 
1392 nothing setTimeZoneUTCOffset(softint seconds_east);
1393 
1394 public:
1396 
1403 nothing undefine(string def);
1404 };
1411 
1419 
1425 
1427 
1431  const DOM_DATABASE = QDOM_DATABASE;
1433 
1435  const DOM_DEBUGGER = QDOM_DEBUGGER;
1437 
1439  const DOM_EMBEDDED_LOGIC = QDOM_EMBEDDED_LOGIC;
1441 
1445  const DOM_EXTERNAL_INFO = QDOM_EXTERNAL_INFO;
1447 
1451  const DOM_EXTERNAL_PROCESS = QDOM_EXTERNAL_PROCESS;
1453 
1457  const DOM_FILESYSTEM = QDOM_FILESYSTEM;
1459 
1463  const DOM_GUI = QDOM_GUI;
1465 
1467  const DOM_INJECTION = QDOM_INJECTION;
1469 
1473  const DOM_LOCALE_CONTROL = QDOM_LOCALE_CONTROL;
1475 
1479  const DOM_MODULE = QDOM_MODULES;
1481 
1485  const DOM_NETWORK = QDOM_NETWORK;
1487 
1491  const DOM_PROCESS_CONTROL = QDOM_PROCESS;
1493 
1495  const DOM_REFLECTION = QDOM_REFLECTION;
1497 
1501  const DOM_TERMINAL_IO = QDOM_TERMINAL_IO;
1503 
1507  const DOM_THREAD_CLASS = QDOM_THREAD_CLASS;
1509 
1513  const DOM_THREAD_CONTROL = QDOM_THREAD_CONTROL;
1515 
1519  const DOM_THREAD_INFO = QDOM_THREAD_INFO;
1521 
1525  const DOM_UNCONTROLLED_API = QDOM_UNCONTROLLED_API;
1527 
1531 
1533 
1537  const DomainCodeMap = qore(pomaps.getDomainToStringMap());
1539 
1543  const DomainStringMap = qore(pomaps.getStringToDomainMap());
1545 
1551 
1556 
1564 
1570 
1575 
1581 
1587 
1593 
1599 
1605 
1611 
1617 
1623 
1629 
1635 
1641 
1649 
1653 
1657 
1663 
1668 
1674 
1689 
1694 
1699 
1704 
1709 
1717 
1723 
1728 
1733 
1738 
1743 
1750 
1754 
1760 
1766 
1772 
1776 
1782 
1790 
1794 
1800 
1805 
1810 
1815 
1820 
1829 
1834 
1839 
1844 
1854 
1859 
1864 
1869 
1875 
1880 
1885 
1890 
1895 
1900 
1906 
1916 
1921 
1927 
1932 
1940 
1947 
1953 
1959 
1965 
1971 
1975  const ParseOptionCmdCodeMap = qore(ParseOptionMap::getCodeToStringMap());
1977 
1981  const ParseOptionCmdStringMap = qore(ParseOptionMap::getStringToCodeMap());
1983 
1987  const ParseOptionCodeMap = qore(pomaps.getCodeToStringMap());
1989 
1993  const ParseOptionStringMap = qore(pomaps.getStringToCodeMap());
1995 
1999 
2001  const WARN_ALL = QP_WARN_ALL;
2003 
2007  const WARN_BROKEN_LOGIC_PRECEDENCE = QP_WARN_BROKEN_LOGIC_PRECEDENCE;
2009 
2011  const WARN_CALL_WITH_TYPE_ERRORS = QP_WARN_CALL_WITH_TYPE_ERRORS;
2013 
2026  const WARN_DEFAULT = QP_WARN_DEFAULT;
2028 
2030  const WARN_DEPRECATED = QP_WARN_DEPRECATED;
2032 
2034  const WARN_DUPLICATE_BLOCK_VARS = QP_WARN_DUPLICATE_BLOCK_VARS;
2036 
2038  const WARN_DUPLICATE_GLOBAL_VARS = QP_WARN_DUPLICATE_GLOBAL_VARS;
2040 
2042  const WARN_DUPLICATE_HASH_KEY = QP_WARN_DUPLICATE_HASH_KEY;
2044 
2046  const WARN_DUPLICATE_LOCAL_VARS = QP_WARN_DUPLICATE_LOCAL_VARS;
2048 
2050  const WARN_EXCESS_ARGS = QP_WARN_EXCESS_ARGS;
2052 
2058  const WARN_INVALID_CATCH = QP_WARN_INVALID_CATCH;
2060 
2062  const WARN_INVALID_OPERATION = QP_WARN_INVALID_OPERATION;
2064 
2075  const WARN_MODULES = QP_WARN_MODULES;
2077  const WARN_NONE = QP_WARN_NONE;
2079 
2083  const WARN_NONEXISTENT_METHOD_CALL = QP_WARN_NONEXISTENT_METHOD_CALL;
2085 
2087  const WARN_RETURN_VALUE_IGNORED = QP_WARN_RETURN_VALUE_IGNORED;
2089 
2091  const WARN_UNDECLARED_VAR = QP_WARN_UNDECLARED_VAR;
2093 
2095  const WARN_UNKNOWN_WARNING = QP_WARN_UNKNOWN_WARNING;
2097 
2099  const WARN_UNREACHABLE_CODE = QP_WARN_UNREACHABLE_CODE;
2101 
2103  const WARN_UNREFERENCED_VARIABLE = QP_WARN_UNREFERENCED_VARIABLE;
2105 
2107  const WARN_WARNING_MASK_UNCHANGED = QP_WARN_WARNING_MASK_UNCHANGED;
2109 }
Expression objects represent a single executable expression.
Definition: QC_Expression.dox.h:7
The ProgramControl class provides safe information about a Qore program.
Definition: QC_ProgramControl.dox.h:45
Program objects allow Qore programs to support subprograms with the option to restrict capabilities,...
Definition: QC_Program.dox.h:56
nothing importHashDecl(string name, *string new_name)
Imports a typed hash declaration into the program object's space.
nothing setParseOptions(softint opt=PO_DEFAULT)
Sets parse options in the parse option mask for the Program object.
auto getGlobalVariable(string varname, *reference< bool > rexists)
Returns a the value of the global variable identified by the first string argument.
*hash< ExceptionInfo > loadModuleWarn(string name, int warning_mask=WARN_MODULES)
Loads a Qore module into the Program object at run-time.
copy()
Throws an exception to prevent objects of this class from being copied.
*hash< ExceptionInfo > loadUserModuleWithProgramWarn(string name, Qore::Program pgm, int warning_mask=WARN_MODULES)
Loads a Qore user module into the Program object at run-time using the given Program object as the co...
auto callStaticMethodArgs(string class_name, string method, *softlist< auto > call_args)
Calls a static method of an object, passing the arguments to the function as arguments to the method.
*string getScriptName()
Returns the current script name as a string or NOTHING if not set.
nothing disableParseOptions(softint opt)
Removes the given parse options to the current parse option mask.
nothing undefine(string def)
Unsets a parse define for the current Program.
importSystemConstants()
imports system constants into a Program container at runtime; will throw an exception if the Program ...
nothing replaceParseOptions(softint opt)
Replaces the parse options for the Program object.
loadApplyToPrivateUserModule(string name, int warning_mask=WARN_MODULES)
Loads a Qore user module privately into the given Program container at run-time; after this call the ...
loadApplyToUserModule(string name, *softbool reinject, int warning_mask=WARN_MODULES, bool reexport=False)
Loads a Qore user module into the given Program container at run-time; after this call the Program ob...
Expression getExpression(string source, string label)
returns an expression object for the given source code
constructor(softint po=PO_DEFAULT)
Creates the program object and optionally sets program capabilities (parse options)
int getParseOptions()
Returns the current binary-or'ed parse option mask for the Program object.
*hash< ExceptionInfo > parseCommit(int warning_mask)
Commits and pending code processed with Program::parsePending() to the Program object after resolving...
importSystemHashDecls()
imports system hashdecls into a Program container at runtime; will throw an exception if the Program ...
nothing importFunction(string func, string new_name, *softbool inject)
Imports a function into the program object's space and gives it a new name; any calls to the imported...
list< int > getThreadList()
returns a list of thread IDs active in this Program
nothing importGlobalVariable(string varname, bool readonly=False)
Imports a global variable into the program object's space.
list< hash< auto > > findFunctionVariants(string function)
finds all variants of a function or class method and returns a list of the results
nothing setTimeZoneRegion(string region)
Sets the default local time zone for the object from a path to a zoneinfo time zone region file.
softlist< string > getUserFunctionList()
Returns a list of strings of all user functions defined in the program object.
auto run()
Runs the program and optionally returns a value if the top-level code exits with a return statement.
bool setThreadInit(*code init)
Sets a call reference or closure to run every time a new thread is started.
nothing parseCommit()
Commits and pending code processed with Program::parsePending() to the Program object after resolving...
auto callStaticMethod(string class_name, string method,...)
Calls a static method of an object, passing the arguments to the function as arguments to the method.
auto getDefine(string def)
Retrieves the value of the given parse define in the current Program.
loadUserModuleWithProgram(string name, Qore::Program pgm, int warning_mask=WARN_MODULES)
Loads a Qore user module into the Program object at run-time using the given Program object as the co...
importSystemApi()
imports system classes and functions into a Program container at runtime; will throw an exception if ...
nothing setGlobalVarValue(string name, auto value)
set the value of a global variable
TimeZone getTimeZone()
Returns the default local time zone for the object.
*string getScriptDir()
Returns the current script directory as a string or NOTHING if not set.
nothing setTimeZone(TimeZone zone)
Sets the default local time zone for the object.
nothing setScriptPath(*string path)
Sets (or clears) the script path (directory and filename) for the object.
int getProgramId()
Get program id.
nothing importFunction(string func)
Imports a function into the program object's space; any calls to the imported function will run with ...
loadModule(string name, int warning_mask=WARN_MODULES)
Loads a Qore module into the Program object at run-time.
list< string > getFeatureList()
Returns a list of strings of the builtin and module-supplied features of Qore.
nothing setTimeZoneUTCOffset(softint seconds_east)
Sets the default time zone for the Program object based on the number of seconds east of UTC; for zon...
nothing define(string def, auto val)
Sets a parse define for the current Program.
bool existsFunction(string name)
Checks if a user function exists in the program object.
nothing importClass(string cls, *string new_name, *softbool inject, int module_visibility=CSP_UNCHANGED)
Imports a class into the program object's space; any calls to the imported class's code will run with...
ProgramControl getProgram()
Get ProgramControl.
auto callFunction(string name,...)
Calls a function in the program object and returns the return value.
*hash< ExceptionInfo > parsePending(string code, string label, *softint warning_mask, *string source, *softint offset, softbool format_label=True)
Parses the text passed to pending lists in the Program object; does not resolve all references or com...
nothing parseRollback()
Removes all partially or fully-parsed code from the object along with other builtin objects; a Progra...
importSystemClasses()
imports system classes into a Program container at runtime; will throw an exception if the Program wa...
*hash< ExceptionInfo > parse(string code, string label, *softint warning_mask, *string source, *softint offset, softbool format_label=True)
Parses the string argument and adds the code to the Program object.
importSystemFunctions()
imports system functions into a Program container at runtime; will throw an exception if the Program ...
*hash< ExceptionInfo > loadApplyToPrivateUserModuleWarn(string name, int warning_mask=WARN_MODULES)
Loads a Qore user module privately into the given Program container at run-time; after this call the ...
nothing lockOptions()
Locks parse options so that they cannot be changed.
destructor()
Waits for all threads to finish executing, then deletes all global variables, dereferences the intern...
*hash< ExceptionInfo > loadApplyToUserModuleWarn(string name, *softbool reinject, int warning_mask=WARN_MODULES, bool reexport=False)
Loads a Qore user module into the given Program container at run-time; after this call the Program ob...
*hash< auto > getAllDefines()
Retrieves all parse defines in the current Program.
code getCallReference(string identifier)
resolve the string as a call reference in the given Program
*string getScriptPath()
Returns the current script directory and filename if known, otherwise returns NOTHING.
list< string > getParseOptionStringList()
returns a list of parse option strings for the program object
hash< auto > getGlobalVars()
returns a hash of global variables
bool isDefined(string def)
Returns True if the given parse define is defined in the current Program (does not have to have a val...
auto callFunctionArgs(string name, *softlist< auto > vargs)
Calls a function in the program object giving the arguments to the function as a list and returns the...
nothing issueModuleCmd(string module, string cmd)
issues a module command for the given module; the module is loaded into the current Program object if...
The TimeZone class provides access to time zone functionality.
Definition: QC_TimeZone.dox.h:11
const True
logical True
Definition: qc_qore.dox.h:98
const False
logical False
Definition: qc_qore.dox.h:96
const DOM_NETWORK
provides network functionality
Definition: QC_Program.dox.h:1485
const DOM_INJECTION
provides functionality related to code / dependency injection
Definition: QC_Program.dox.h:1467
const DOM_DATABASE
provides access to databases
Definition: QC_Program.dox.h:1431
const DOM_MODULE
provides access to external modules
Definition: QC_Program.dox.h:1479
const DOM_EXTERNAL_PROCESS
provides external process control functionality (can affect, start, or stop external processes)
Definition: QC_Program.dox.h:1451
const DOM_TERMINAL_IO
provides terminal I/O functionality
Definition: QC_Program.dox.h:1501
const DOM_DEBUGGER
provides debugging functionality
Definition: QC_Program.dox.h:1435
const DOM_PROCESS_CONTROL
provides process control functionality (can affect or stop the current process)
Definition: QC_Program.dox.h:1491
const DOM_EXTERNAL_INFO
provides access to external information (ex: hostname, pid, process uid, etc)
Definition: QC_Program.dox.h:1445
const DOM_THREAD_CLASS
provides thread control functionality
Definition: QC_Program.dox.h:1507
const DOM_EMBEDDED_LOGIC
provides dynamic parsing functionality
Definition: QC_Program.dox.h:1439
const DOM_UNCONTROLLED_API
provides unchecked access to system functionality that could bypass Qore's sandboxing controls
Definition: QC_Program.dox.h:1525
const DOM_GUI
provides GUI functionality
Definition: QC_Program.dox.h:1463
const DOM_REFLECTION
provides reflection functionality
Definition: QC_Program.dox.h:1495
const DOM_LOCALE_CONTROL
provides access to functionality that changes locale information
Definition: QC_Program.dox.h:1473
const DOM_THREAD_INFO
provides access to information regarding threading (tid, active threads, etc)
Definition: QC_Program.dox.h:1519
const DOM_FILESYSTEM
provides access to the filesystem
Definition: QC_Program.dox.h:1457
const DOM_THREAD_CONTROL
provides the ability to check or manipulate threads (including starting new threads)
Definition: QC_Program.dox.h:1513
const CSP_SETPRIV
Imports the object with private visibility.
Definition: QC_Program.dox.h:1413
const CSP_SETPUB
Imports the object with public visibility.
Definition: QC_Program.dox.h:1415
const CSP_UNCHANGED
Imports the object with the same module visibility.
Definition: QC_Program.dox.h:1417
const PO_NO_GUI
Disallows access to functionality that draws graphics to the display.
Definition: QC_Program.dox.h:1746
const PO_NO_GLOBAL_VARS
Disallows the use of global variables.
Definition: QC_Program.dox.h:1741
const PO_NO_USER_CLASSES
Prohibits user classes from being imported into the new Program object.
Definition: QC_Program.dox.h:1919
const PO_IN_MODULE
Only set by the system when in a user module Program.
Definition: QC_Program.dox.h:1655
const PO_NO_SYSTEM_API
Prohibits any code from being inherited into the Program object, including the system API.
Definition: QC_Program.dox.h:1852
const PO_BROKEN_LIST_PARSING
allows for old pre-Qore 0.8.12 broken list rewriting in the parser
Definition: QC_Program.dox.h:1603
const PO_NO_EXTERNAL_ACCESS
Prohibits any external access.
Definition: QC_Program.dox.h:1721
const PO_NO_PROCESS_CONTROL
Disallows access to functions that would affect the current process (exit(), exec(),...
Definition: QC_Program.dox.h:1832
const PO_NO_THREAD_CONTROL
Disallows access to any thread-control functions and thread-relevant statements and operators (for ex...
Definition: QC_Program.dox.h:1883
const PO_POSITIVE_OPTIONS
mask of all parse options allowing for more freedom (instead of less)
Definition: QC_Program.dox.h:1925
const PO_REQUIRE_PROTOTYPES
Requires all function and method parameters and return types to have type declarations.
Definition: QC_Program.dox.h:1938
const PO_ALLOW_INJECTION
Allows code/dependency injections in the contained Program object.
Definition: QC_Program.dox.h:1562
const PO_LOCK_WARNINGS
Disallows changes to the warning mask.
Definition: QC_Program.dox.h:1666
const PO_NO_NETWORK
Disallows access to network functionality.
Definition: QC_Program.dox.h:1818
const PO_NO_EXTERNAL_INFO
Disallows access to functionality that provides information about the computing environment.
Definition: QC_Program.dox.h:1726
const PO_BROKEN_RANGE
allows for old pre-Qore 0.9.5 handling of range() and xrange()
Definition: QC_Program.dox.h:1627
const DomainStringMap
Maps from functional domain strings to functional domain bitfield integer codes.
Definition: QC_Program.dox.h:1543
const PO_NEW_STYLE
Set a more C++ or Java type programming style; prohibits usage of the "$" character and also assumes ...
Definition: QC_Program.dox.h:1672
const PO_STRICT_BOOLEAN_EVAL
Sets strict mathematical boolean evaluation runtime mode (the qore default prior to v0....
Definition: QC_Program.dox.h:1957
const PO_LOCKDOWN
Sets very restrictive access; this restriction is designed to allow code to only execute logic,...
Definition: QC_Program.dox.h:1661
const PO_NO_INHERIT_USER_HASHDECLS
Prohibits user hashdecls from being imported into the new Program object.
Definition: QC_Program.dox.h:1792
const PO_NO_DEBUGGING
Forbids debugging of the current Program object; when this option is set, debuggers cannot attach to ...
Definition: QC_Program.dox.h:1713
const PO_NO_TOP_LEVEL_STATEMENTS
Disallows top level code.
Definition: QC_Program.dox.h:1893
const PO_NO_INHERIT_USER_CLASSES
Prohibits user classes from being imported into the new Program object.
Definition: QC_Program.dox.h:1780
const PO_NO_REFLECTION
Disallows access to reflection.
Definition: QC_Program.dox.h:1837
const PO_BROKEN_SPRINTF
Enables broken sprintf() handling where no argument is treated diffferently than NOTHING.
Definition: QC_Program.dox.h:1639
const PO_NO_INHERIT_PROGRAM_DATA
Do not inherit module-specific Program data from the parent.
Definition: QC_Program.dox.h:1752
const PO_NO_TRANSIENT
Disallows the transient.
Definition: QC_Program.dox.h:1898
const PO_NO_CONSTANT_DEFS
Disallows constant definitions.
Definition: QC_Program.dox.h:1702
const PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS
Prohibits builtin/system function variants from being imported into the new Program object.
Definition: QC_Program.dox.h:1770
const PO_NO_SYSTEM_FUNC_VARIANTS
Prohibits builtin/system function variants from being imported into the new Program object.
Definition: QC_Program.dox.h:1862
const PO_BROKEN_INT_ASSIGNMENTS
allows for old pre-Qore 0.8.12 broken runtime int assignments where runtime type errors were ignored
Definition: QC_Program.dox.h:1597
const PO_NO_USER_API
Prohibits any user code from being inherited into the Program object.
Definition: QC_Program.dox.h:1914
const PO_NO_FILESYSTEM
Disallows access to the filesystem.
Definition: QC_Program.dox.h:1736
const DomainCodeMap
Maps from functional domain bitfield code values (as string keys) to functional domain names.
Definition: QC_Program.dox.h:1537
const PO_BROKEN_OPERATORS
allows for old pre-Qore 0.8.12 broken runtime parsing of multi-character operators with spaces
Definition: QC_Program.dox.h:1621
const PO_REQUIRE_TYPES
Requires all function and method parameters, return types, variables, and object members to have type...
Definition: QC_Program.dox.h:1945
const PO_STRICT_TYPES
Sets strict type checking and automatically sets default values for lvalues with type restrictions fo...
Definition: QC_Program.dox.h:1963
const PO_ALLOW_RETURNS
Allows the use of the deprecated returns keyword.
Definition: QC_Program.dox.h:1568
const PO_NO_SUBROUTINE_DEFS
Disallows subroutine (function) definitions.
Definition: QC_Program.dox.h:1842
const PO_NO_THREADS
Prohibits access to all threading information.
Definition: QC_Program.dox.h:1873
const PO_REQUIRE_OUR
Requires global variables to be declared with our before use.
Definition: QC_Program.dox.h:1930
const PO_ALLOW_WEAK_REFERENCES
Allows the use of the weak assignment operator (:=).
Definition: QC_Program.dox.h:1579
const PO_NO_INHERIT_GLOBAL_VARS
Precludes global variables from being inherited into the new Program object.
Definition: QC_Program.dox.h:1748
const PO_BROKEN_LOOP_STATEMENT
allows for old pre-Qore 0.8.13 handling of break and continue
Definition: QC_Program.dox.h:1615
const PO_BROKEN_LOGIC_PRECEDENCE
allows for old pre-Qore 0.8.12 precedence of logical and bitwise operators
Definition: QC_Program.dox.h:1609
const PO_BROKEN_REFERENCES
allows for old pre-Qore 0.8.13 handling of reference and *reference
Definition: QC_Program.dox.h:1633
const PO_NO_UNCONTROLLED_APIS
disallow access to "uncontrolled APIs" like external language bindings or direct generic system call ...
Definition: QC_Program.dox.h:1904
const PO_NO_API
Prohibits any code from being inherited into the Program object, including the system API.
Definition: QC_Program.dox.h:1687
const PO_NO_CLASS_DEFS
Disallows class definitions.
Definition: QC_Program.dox.h:1697
const PO_NO_INHERIT_USER_FUNC_VARIANTS
Precludes public user function variants from being inherited into the new Program object.
Definition: QC_Program.dox.h:1788
const PO_NO_NEW
Disallows use of the new operator.
Definition: QC_Program.dox.h:1827
const PO_NO_LOCALE_CONTROL
Disallows access to functionality that can change locale parameters.
Definition: QC_Program.dox.h:1803
const PO_NO_INHERIT_SYSTEM_HASHDECLS
Prohibits system hashdecls from being imported into the new Program object.
Definition: QC_Program.dox.h:1774
const PO_NO_CHILD_PO_RESTRICTIONS
Allows child program objects to have fewer parse restrictions (i.e. more capabilies) than the parent ...
Definition: QC_Program.dox.h:1692
const PO_NO_NAMESPACE_DEFS
Disallows new namespace definitions.
Definition: QC_Program.dox.h:1813
const PO_STRONG_ENCAPSULATION
disallows out-of-line class and namespace declarations
Definition: QC_Program.dox.h:1969
const PO_NO_TERMINAL_IO
Disallows access to reading from and/or writing to the terminal.
Definition: QC_Program.dox.h:1867
const ParseOptionCmdStringMap
Maps from parse option strings to parse option integer codes. Names are in form used in script or on ...
Definition: QC_Program.dox.h:1981
const PO_ALLOW_BARE_REFS
Prohibits the use of the '$' character in variable names, method calls, and object member references.
Definition: QC_Program.dox.h:1549
const PO_NO_EXTERNAL_PROCESS
Disallows any access to external processes (with system(), backquote(), exec(), etc)
Definition: QC_Program.dox.h:1731
const PO_NO_SYSTEM_CLASSES
Prohibits system classes from being imported into the new Program object.
Definition: QC_Program.dox.h:1857
const PO_BROKEN_CAST
Allows for old pre-Qore 0.9.4 broken cast<> operator behavior where NOTHING was silently accepted.
Definition: QC_Program.dox.h:1591
const PO_NO_EMBEDDED_LOGIC
Prohibits embedded logic from being used.
Definition: QC_Program.dox.h:1715
const PO_BROKEN_VARARGS
allows for old pre-Qore 1.17 handling of varargs
Definition: QC_Program.dox.h:1645
const PO_FREE_OPTIONS
mask of options that have no effect on code access or code safety but just affect programming style
Definition: QC_Program.dox.h:1651
const PO_NO_IO
Prohibits all terminal and file I/O and GUI operations.
Definition: QC_Program.dox.h:1798
const PO_NO_THREAD_INFO
Disallows access to functionality that provides information about threading.
Definition: QC_Program.dox.h:1888
const PO_NO_DATABASE
Disallows access to database functionality.
Definition: QC_Program.dox.h:1707
const ParseOptionCmdCodeMap
Maps from parse option code values (as string keys) to parse option names. Names are in form used in ...
Definition: QC_Program.dox.h:1975
const PO_ASSUME_LOCAL
Assume local variable scope when variables are first referenced if no my or our is present.
Definition: QC_Program.dox.h:1585
const PO_STRICT_ARGS
Prohibits access to builtin functions and methods flagged with RT_NOOP and also causes errors to be r...
Definition: QC_Program.dox.h:1951
const ParseOptionCodeMap
Maps from parse option code values (as string keys) to parse option names.
Definition: QC_Program.dox.h:1987
const PO_NO_MODULES
Disallows loading modules with the %requires directive or at runtime with load_module()
Definition: QC_Program.dox.h:1808
const PO_ALLOW_DEBUGGER
Allows the use of functionality required to implement a debugger, mainly via DebugProgram.
Definition: QC_Program.dox.h:1554
const ParseOptionStringMap
Maps from parse option strings to parse option bitfield integer codes.
Definition: QC_Program.dox.h:1993
const PO_ALLOW_STATEMENT_NO_EFFECT
Allows for old pre-Qore 0.9 top-level statements having no effect.
Definition: QC_Program.dox.h:1573
const PO_NO_THREAD_CLASSES
Disallows access to any thread classes.
Definition: QC_Program.dox.h:1878
const PO_NO_INHERIT_USER_CONSTANTS
Prohibits user constants from being imported into the new Program object.
Definition: QC_Program.dox.h:1786
const PO_NO_INHERIT_SYSTEM_CONSTANTS
Prohibits system constants from being imported into the new Program object.
Definition: QC_Program.dox.h:1764
const PO_NO_INHERIT_SYSTEM_CLASSES
Prohibits system classes from being imported into the new Program object.
Definition: QC_Program.dox.h:1758
const PO_DEFAULT
This option is the empty option, meaning no options are set.
Definition: QC_Program.dox.h:1647
const WARN_CALL_WITH_TYPE_ERRORS
Enables warnings when the parser determines that the argument types of a function or method call are ...
Definition: QC_Program.dox.h:2011
const WARN_BROKEN_LOGIC_PRECEDENCE
This warns before expressions affected by %broken-logic-precedence.
Definition: QC_Program.dox.h:2007
const WARN_DUPLICATE_HASH_KEY
Enables a warning when an immediate hash is declared and at least one of the keys is repeated.
Definition: QC_Program.dox.h:2042
const WARN_WARNING_MASK_UNCHANGED
This warning means that the embedded code tried to change the warning mask, but it was locked,...
Definition: QC_Program.dox.h:2107
const WARN_NONEXISTENT_METHOD_CALL
Indicates that the embedded code is calling an unknown method in a class.
Definition: QC_Program.dox.h:2083
const WARN_UNDECLARED_VAR
Indicates that the embedded code referenced an undeclared variable that will be assumed to be a globa...
Definition: QC_Program.dox.h:2091
const WARN_NONE
Represents no warning.
Definition: QC_Program.dox.h:2077
const WARN_DUPLICATE_BLOCK_VARS
Enables a warning when a program declares a local variable more than once in the same block; note tha...
Definition: QC_Program.dox.h:2034
const WARN_UNREACHABLE_CODE
Indicates that code cannot be reached (for example; code in the same local block after an uncondition...
Definition: QC_Program.dox.h:2099
const WARN_MODULES
The default warning mask for user modules.
Definition: QC_Program.dox.h:2075
const WARN_UNKNOWN_WARNING
Indicates that the embedded code tried to enable or disable an unknown warning.
Definition: QC_Program.dox.h:2095
const WARN_UNREFERENCED_VARIABLE
This warning is raised when a variable is declared in a block but never referenced.
Definition: QC_Program.dox.h:2103
const WARN_DEPRECATED
Enables a warning when deprecated code is used.
Definition: QC_Program.dox.h:2030
const WARN_INVALID_OPERATION
Indicates that the embedded code performs some operation that is guaranteed to produce no result (for...
Definition: QC_Program.dox.h:2062
const WARN_DUPLICATE_GLOBAL_VARS
Indicates that the embedded code has declared the same global variable more than once.
Definition: QC_Program.dox.h:2038
const WARN_DEFAULT
The default warning mask.
Definition: QC_Program.dox.h:2026
const WARN_ALL
Enables all warnings.
Definition: QC_Program.dox.h:2001
const WARN_EXCESS_ARGS
Enables a warning when a function or method call is made with more arguments than are used by the fun...
Definition: QC_Program.dox.h:2050
const WARN_INVALID_CATCH
This warns when the catch variable has no type definition and types are required.
Definition: QC_Program.dox.h:2058
const WARN_RETURN_VALUE_IGNORED
Enables a warning when a function or method call is made with no side effects and the return value is...
Definition: QC_Program.dox.h:2087
const WARN_DUPLICATE_LOCAL_VARS
Enables a warning when a local variable with the same name is declared in a subblock (ie another loca...
Definition: QC_Program.dox.h:2046
Qore namespace.
Definition: QC_AbstractBidirectionalIterator.dox.h:2
source location information
Definition: QC_Program.dox.h:8
int endline
the ending source line number
Definition: QC_Program.dox.h:12
bool builtin
if True then the code is builtin and there is no user source location
Definition: QC_Program.dox.h:10
int line
the starting source line number
Definition: QC_Program.dox.h:16
*string source
the source object or file name tag (used when multiple source objects are defined from the same sourc...
Definition: QC_Program.dox.h:20
*string file
the file name or parse label for the code
Definition: QC_Program.dox.h:14
int offset
the offset line in the source (for when multiple source objects are defined from the same source)
Definition: QC_Program.dox.h:18