Qore Programming Language Reference Manual  0.9.10
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 
185  constructor(softint po = PO_DEFAULT);
186 
187 public:
189 
191  copy();
192 
193 public:
195 
203 nothing define(string def, auto val);
204 
205 public:
207 /***/
209 
210 public:
212 
227 nothing disableParseOptions(softint opt);
228 
229 public:
231 
246 bool existsFunction(string name);
247 
248 public:
250 
262 list<hash<auto>> findFunctionVariants(string function);
263 
264 public:
266 
280 *hash<auto> getAllDefines();
281 
282 public:
284 
310 code getCallReference(string identifier);
311 
312 public:
314 
328 auto getDefine(string def);
329 
330 public:
332 
337 Expression getExpression(string source, string label);
338 
339 public:
341 
352 auto getGlobalVariable(string varname, *reference<bool> rexists);
353 
354 public:
356 
370 hash<auto> getGlobalVars();
371 
372 public:
374 
387 
388 public:
390 
401 
402 public:
404 
412 
413 public:
415 
424 
425 public:
427 
439 *string getScriptDir();
440 
441 public:
443 
455 *string getScriptName();
456 
457 public:
459 
471 *string getScriptPath();
472 
473 public:
475 
487 list<int> getThreadList();
488 
489 public:
491 
502 
503 public:
505 
517 softlist<string> getUserFunctionList();
518 
519 public:
521 
548 nothing importClass(string cls, *string new_name, *softbool inject, int module_visibility = CSP_UNCHANGED);
549 
550 public:
552 
567 nothing importFunction(string func);
568 
569 public:
571 
598 nothing importFunction(string func, string new_name, *softbool inject);
599 
600 public:
602 
615 nothing importGlobalVariable(string varname, bool readonly = False);
616 
617 public:
619 
634 nothing importHashDecl(string name, *string new_name);
635 
636 public:
638 
650 
651 public:
653 
665 
666 public:
668 
680 
681 public:
683 
695 
696 public:
698 
710 
711 public:
713 
727 bool isDefined(string def);
728 
729 public:
731 
746 nothing issueModuleCmd(string module, string cmd);
747 
748 public:
750 
777  loadApplyToPrivateUserModule(string name, int warning_mask = WARN_MODULES);
778 
779 public:
781 
810 *hash<ExceptionInfo> loadApplyToPrivateUserModuleWarn(string name, int warning_mask = WARN_MODULES);
811 
812 public:
814 
845  loadApplyToUserModule(string name, *softbool reinject, int warning_mask = WARN_MODULES, bool reexport = False);
846 
847 public:
849 
882 *hash<ExceptionInfo> loadApplyToUserModuleWarn(string name, *softbool reinject, int warning_mask = WARN_MODULES, bool reexport = False);
883 
884 public:
886 
918  loadModule(string name, int warning_mask = WARN_MODULES);
919 
920 public:
922 
954 *hash<ExceptionInfo> loadModuleWarn(string name, int warning_mask = WARN_MODULES);
955 
956 public:
958 
992  loadUserModuleWithProgram(string name, Qore::Program pgm, int warning_mask = WARN_MODULES);
993 
994 public:
996 
1030 *hash<ExceptionInfo> loadUserModuleWithProgramWarn(string name, Qore::Program pgm, int warning_mask = WARN_MODULES);
1031 
1032 public:
1034 
1039 nothing lockOptions();
1040 
1041 public:
1043 
1087 *hash<ExceptionInfo> parse(string code, string label, *softint warning_mask, *string source, *softint offset, softbool format_label = True);
1088 
1089 public:
1091 
1114 nothing parseCommit();
1115 
1116 public:
1118 
1145 *hash<ExceptionInfo> parseCommit(int warning_mask);
1146 
1147 public:
1149 
1196 *hash<ExceptionInfo> parsePending(string code, string label, *softint warning_mask, *string source, *softint offset, softbool format_label = True);
1197 
1198 public:
1200 
1213 nothing parseRollback();
1214 
1215 public:
1217 
1231 nothing replaceParseOptions(softint opt);
1232 
1233 public:
1235 
1242 auto run();
1243 
1244 public:
1246 
1262 nothing setGlobalVarValue(string name, auto value);
1263 
1264 public:
1266 
1281 nothing setParseOptions(softint opt = PO_DEFAULT);
1282 
1283 public:
1285 
1292 nothing setScriptPath(*string path);
1293 
1294 public:
1296 
1316 bool setThreadInit(*code init);
1317 
1318 public:
1320 
1328 nothing setTimeZone(TimeZone zone);
1329 
1330 public:
1332 
1343 nothing setTimeZoneRegion(string region);
1344 
1345 public:
1347 
1365 nothing setTimeZoneUTCOffset(softint seconds_east);
1366 
1367 public:
1369 
1376 nothing undefine(string def);
1377 };
1385  const CSP_SETPRIV = CSP_SETPRIV;
1399 
1404  const DOM_DATABASE = QDOM_DATABASE;
1406 
1408  const DOM_DEBUGGER = QDOM_DEBUGGER;
1410 
1412  const DOM_EMBEDDED_LOGIC = QDOM_EMBEDDED_LOGIC;
1414 
1418  const DOM_EXTERNAL_INFO = QDOM_EXTERNAL_INFO;
1420 
1424  const DOM_EXTERNAL_PROCESS = QDOM_EXTERNAL_PROCESS;
1426 
1430  const DOM_FILESYSTEM = QDOM_FILESYSTEM;
1432 
1436  const DOM_GUI = QDOM_GUI;
1438 
1440  const DOM_INJECTION = QDOM_INJECTION;
1442 
1446  const DOM_LOCALE_CONTROL = QDOM_LOCALE_CONTROL;
1448 
1452  const DOM_MODULE = QDOM_MODULES;
1454 
1458  const DOM_NETWORK = QDOM_NETWORK;
1460 
1464  const DOM_PROCESS_CONTROL = QDOM_PROCESS;
1466 
1468  const DOM_REFLECTION = QDOM_REFLECTION;
1470 
1474  const DOM_TERMINAL_IO = QDOM_TERMINAL_IO;
1476 
1480  const DOM_THREAD_CLASS = QDOM_THREAD_CLASS;
1482 
1486  const DOM_THREAD_CONTROL = QDOM_THREAD_CONTROL;
1488 
1492  const DOM_THREAD_INFO = QDOM_THREAD_INFO;
1494 
1498  const DOM_UNCONTROLLED_API = QDOM_UNCONTROLLED_API;
1505 
1510  const DomainCodeMap = qore(pomaps.getDomainToStringMap());
1512 
1516  const DomainStringMap = qore(pomaps.getStringToDomainMap());
1518 
1524 
1529 
1537 
1543 
1548 
1554 
1560 
1566 
1572 
1578 
1584 
1590 
1596 
1602 
1608 
1616 
1620 
1624 
1630 
1635 
1641 
1656 
1661 
1666 
1671 
1676 
1684 
1690 
1695 
1700 
1705 
1710 
1717 
1723 
1729 
1735 
1739 
1745 
1753 
1757 
1763 
1768 
1773 
1778 
1783 
1792 
1797 
1802 
1807 
1817 
1822 
1827 
1832 
1838 
1843 
1848 
1853 
1858 
1863 
1869 
1879 
1884 
1890 
1895 
1903 
1910 
1916 
1922 
1928 
1934 
1938  const ParseOptionCmdCodeMap = qore(ParseOptionMap::getCodeToStringMap());
1940 
1944  const ParseOptionCmdStringMap = qore(ParseOptionMap::getStringToCodeMap());
1946 
1950  const ParseOptionCodeMap = qore(pomaps.getCodeToStringMap());
1952 
1956  const ParseOptionStringMap = qore(pomaps.getStringToCodeMap());
1963  const WARN_ALL = QP_WARN_ALL;
1966 
1970  const WARN_BROKEN_LOGIC_PRECEDENCE = QP_WARN_BROKEN_LOGIC_PRECEDENCE;
1972 
1974  const WARN_CALL_WITH_TYPE_ERRORS = QP_WARN_CALL_WITH_TYPE_ERRORS;
1976 
1988  const WARN_DEFAULT = QP_WARN_DEFAULT;
1990 
1992  const WARN_DEPRECATED = QP_WARN_DEPRECATED;
1994 
1996  const WARN_DUPLICATE_BLOCK_VARS = QP_WARN_DUPLICATE_BLOCK_VARS;
1998 
2000  const WARN_DUPLICATE_GLOBAL_VARS = QP_WARN_DUPLICATE_GLOBAL_VARS;
2002 
2004  const WARN_DUPLICATE_HASH_KEY = QP_WARN_DUPLICATE_HASH_KEY;
2006 
2008  const WARN_DUPLICATE_LOCAL_VARS = QP_WARN_DUPLICATE_LOCAL_VARS;
2010 
2012  const WARN_EXCESS_ARGS = QP_WARN_EXCESS_ARGS;
2014 
2016  const WARN_INVALID_OPERATION = QP_WARN_INVALID_OPERATION;
2018 
2028  const WARN_MODULES = QP_WARN_MODULES;
2030  const WARN_NONE = QP_WARN_NONE;
2032 
2036  const WARN_NONEXISTENT_METHOD_CALL = QP_WARN_NONEXISTENT_METHOD_CALL;
2038 
2040  const WARN_RETURN_VALUE_IGNORED = QP_WARN_RETURN_VALUE_IGNORED;
2042 
2044  const WARN_UNDECLARED_VAR = QP_WARN_UNDECLARED_VAR;
2046 
2048  const WARN_UNKNOWN_WARNING = QP_WARN_UNKNOWN_WARNING;
2050 
2052  const WARN_UNREACHABLE_CODE = QP_WARN_UNREACHABLE_CODE;
2054 
2056  const WARN_UNREFERENCED_VARIABLE = QP_WARN_UNREFERENCED_VARIABLE;
2058 
2060  const WARN_WARNING_MASK_UNCHANGED = QP_WARN_WARNING_MASK_UNCHANGED;
2062 }
Qore::PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS
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:1733
Qore::PO_NO_SUBROUTINE_DEFS
const PO_NO_SUBROUTINE_DEFS
Disallows subroutine (function) definitions.
Definition: QC_Program.dox.h:1805
Qore::PO_NO_REFLECTION
const PO_NO_REFLECTION
Disallows access to reflection.
Definition: QC_Program.dox.h:1800
Qore::Program::getExpression
Expression getExpression(string source, string label)
returns an expression object for the given source code
Qore::PO_BROKEN_CAST
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:1564
Qore::PO_FREE_OPTIONS
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:1618
Qore::DomainCodeMap
const DomainCodeMap
Maps from functional domain bitfield code values (as string keys) to functional domain names.
Definition: QC_Program.dox.h:1510
Qore::Program::importHashDecl
nothing importHashDecl(string name, *string new_name)
Imports a typed hash declaration into the program object's space.
Qore::Program::callFunction
auto callFunction(string name,...)
Calls a function in the program object and returns the return value.
Qore::PO_STRONG_ENCAPSULATION
const PO_STRONG_ENCAPSULATION
disallows out-of-line class and namespace declarations
Definition: QC_Program.dox.h:1932
Qore::Program::getScriptPath
*string getScriptPath()
Returns the current script directory and filename if known, otherwise returns NOTHING.
Qore::PO_NO_THREAD_INFO
const PO_NO_THREAD_INFO
Disallows access to functionality that provides information about threading.
Definition: QC_Program.dox.h:1851
Qore::Program::importGlobalVariable
nothing importGlobalVariable(string varname, bool readonly=False)
Imports a global variable into the program object's space.
Qore::DOM_INJECTION
const DOM_INJECTION
provides functionality related to code / dependency injection
Definition: QC_Program.dox.h:1440
Qore::ParseOptionCmdStringMap
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:1944
Qore::PO_NO_EXTERNAL_ACCESS
const PO_NO_EXTERNAL_ACCESS
Prohibits any external access.
Definition: QC_Program.dox.h:1688
Qore::DomainStringMap
const DomainStringMap
Maps from functional domain strings to functional domain bitfield integer codes.
Definition: QC_Program.dox.h:1516
Qore::SourceLocationInfo
source location information
Definition: QC_Program.dox.h:8
Qore::SourceLocationInfo::file
*string file
the file name or parse label for the code
Definition: QC_Program.dox.h:14
Qore::SourceLocationInfo::source
*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
Qore::SourceLocationInfo::builtin
bool builtin
if True then the code is builtin and there is no user source location
Definition: QC_Program.dox.h:10
Qore::WARN_DUPLICATE_HASH_KEY
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:2004
Qore::Program::getTimeZone
TimeZone getTimeZone()
Returns the default local time zone for the object.
Qore::PO_NO_NEW
const PO_NO_NEW
Disallows use of the new operator.
Definition: QC_Program.dox.h:1790
Qore::CSP_UNCHANGED
const CSP_UNCHANGED
Imports the object with the same module visibility.
Definition: QC_Program.dox.h:1390
Qore::PO_NO_THREAD_CLASSES
const PO_NO_THREAD_CLASSES
Disallows access to any thread classes.
Definition: QC_Program.dox.h:1841
Qore::DOM_THREAD_INFO
const DOM_THREAD_INFO
provides access to information regarding threading (tid, active threads, etc)
Definition: QC_Program.dox.h:1492
Qore::Program::getAllDefines
*hash< auto > getAllDefines()
Retrieves all parse defines in the current Program.
Qore::PO_ASSUME_LOCAL
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:1558
Qore::Program::getCallReference
code getCallReference(string identifier)
resolve the string as a call reference in the given Program
Qore::DOM_UNCONTROLLED_API
const DOM_UNCONTROLLED_API
provides unchecked access to system functionality that could bypass Qore's sandboxing controls
Definition: QC_Program.dox.h:1498
Qore::Program::replaceParseOptions
nothing replaceParseOptions(softint opt)
Replaces the parse options for the Program object.
Qore::Program::getProgram
ProgramControl getProgram()
Get ProgramControl.
Qore::Program::setParseOptions
nothing setParseOptions(softint opt=PO_DEFAULT)
Sets parse options in the parse option mask for the Program object.
Qore::PO_BROKEN_RANGE
const PO_BROKEN_RANGE
allows for old pre-Qore 0.9.5 handling of range() and xrange()
Definition: QC_Program.dox.h:1600
Qore::WARN_DEPRECATED
const WARN_DEPRECATED
Enables a warning when deprecated code is used.
Definition: QC_Program.dox.h:1992
Qore::Expression
Expression objects represent a single executable expression.
Definition: QC_Expression.dox.h:7
Qore::PO_NO_GUI
const PO_NO_GUI
Disallows access to functionality that draws graphics to the display.
Definition: QC_Program.dox.h:1713
Qore::WARN_BROKEN_LOGIC_PRECEDENCE
const WARN_BROKEN_LOGIC_PRECEDENCE
This warns before expressions affected by %broken-logic-precedence.
Definition: QC_Program.dox.h:1970
Qore::PO_REQUIRE_PROTOTYPES
const PO_REQUIRE_PROTOTYPES
Requires all function and method parameters and return types to have type declarations.
Definition: QC_Program.dox.h:1901
Qore::ParseOptionCmdCodeMap
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:1938
Qore::Program::loadApplyToPrivateUserModule
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 ...
Qore::PO_NO_SYSTEM_API
const PO_NO_SYSTEM_API
Prohibits any code from being inherited into the Program object, including the system API.
Definition: QC_Program.dox.h:1815
Qore::DOM_DEBUGGER
const DOM_DEBUGGER
provides debugging functionality
Definition: QC_Program.dox.h:1408
Qore::Program::getProgramId
int getProgramId()
Get program id.
Qore::PO_ALLOW_RETURNS
const PO_ALLOW_RETURNS
Allows the use of the deprecated returns keyword.
Definition: QC_Program.dox.h:1541
Qore::DOM_FILESYSTEM
const DOM_FILESYSTEM
provides access to the filesystem
Definition: QC_Program.dox.h:1430
Qore::Program::importFunction
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...
Qore::PO_NO_CHILD_PO_RESTRICTIONS
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:1659
Qore::PO_NO_USER_API
const PO_NO_USER_API
Prohibits any user code from being inherited into the Program object.
Definition: QC_Program.dox.h:1877
Qore::WARN_DEFAULT
const WARN_DEFAULT
The default warning mask.
Definition: QC_Program.dox.h:1988
Qore::PO_ALLOW_WEAK_REFERENCES
const PO_ALLOW_WEAK_REFERENCES
Allows the use of the weak assignment operator (:=).
Definition: QC_Program.dox.h:1552
Qore::WARN_UNDECLARED_VAR
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:2044
Qore::Program::setTimeZone
nothing setTimeZone(TimeZone zone)
Sets the default local time zone for the object.
Qore::DOM_REFLECTION
const DOM_REFLECTION
provides reflection functionality
Definition: QC_Program.dox.h:1468
Qore::PO_NO_UNCONTROLLED_APIS
const PO_NO_UNCONTROLLED_APIS
disallow access to "uncontrolled APIs" like external language bindings or direct generic system call ...
Definition: QC_Program.dox.h:1867
Qore::DOM_THREAD_CLASS
const DOM_THREAD_CLASS
provides thread control functionality
Definition: QC_Program.dox.h:1480
Qore::DOM_DATABASE
const DOM_DATABASE
provides access to databases
Definition: QC_Program.dox.h:1404
Qore::True
const True
logical True
Definition: qc_qore.dox.h:98
Qore::PO_BROKEN_LIST_PARSING
const PO_BROKEN_LIST_PARSING
allows for old pre-Qore 0.8.12 broken list rewriting in the parser
Definition: QC_Program.dox.h:1576
Qore::PO_NO_DATABASE
const PO_NO_DATABASE
Disallows access to database functionality.
Definition: QC_Program.dox.h:1674
Qore::CSP_SETPUB
const CSP_SETPUB
Imports the object with public visibility.
Definition: QC_Program.dox.h:1388
Qore::PO_NO_INHERIT_GLOBAL_VARS
const PO_NO_INHERIT_GLOBAL_VARS
Precludes global variables from being inherited into the new Program object.
Definition: QC_Program.dox.h:1715
Qore::WARN_INVALID_OPERATION
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:2016
Qore::WARN_DUPLICATE_GLOBAL_VARS
const WARN_DUPLICATE_GLOBAL_VARS
Indicates that the embedded code has declared the same global variable more than once.
Definition: QC_Program.dox.h:2000
Qore::Program::setTimeZoneUTCOffset
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...
Qore::Program::getThreadList
list< int > getThreadList()
returns a list of thread IDs active in this Program
Qore::WARN_WARNING_MASK_UNCHANGED
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:2060
Qore::Program::existsFunction
bool existsFunction(string name)
Checks if a user function exists in the program object.
Qore::PO_POSITIVE_OPTIONS
const PO_POSITIVE_OPTIONS
mask of all parse options allowing for more freedom (instead of less)
Definition: QC_Program.dox.h:1888
Qore::Program::issueModuleCmd
nothing issueModuleCmd(string module, string cmd)
issues a module command for the given module; the module is loaded into the current Program object if...
Qore::DOM_TERMINAL_IO
const DOM_TERMINAL_IO
provides terminal I/O functionality
Definition: QC_Program.dox.h:1474
Qore::PO_REQUIRE_TYPES
const PO_REQUIRE_TYPES
Requires all function and method parameters, return types, variables, and object members to have type...
Definition: QC_Program.dox.h:1908
Qore::DOM_PROCESS_CONTROL
const DOM_PROCESS_CONTROL
provides process control functionality (can affect or stop the current process)
Definition: QC_Program.dox.h:1464
Qore::Program::lockOptions
nothing lockOptions()
Locks parse options so that they cannot be changed.
Qore::Program::copy
copy()
Throws an exception to prevent objects of this class from being copied.
Qore::WARN_NONEXISTENT_METHOD_CALL
const WARN_NONEXISTENT_METHOD_CALL
Indicates that the embedded code is calling an unknown method in a class.
Definition: QC_Program.dox.h:2036
Qore::Program::importClass
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...
Qore::PO_BROKEN_OPERATORS
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:1594
Qore::WARN_RETURN_VALUE_IGNORED
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:2040
Qore::PO_NO_INHERIT_SYSTEM_CLASSES
const PO_NO_INHERIT_SYSTEM_CLASSES
Prohibits system classes from being imported into the new Program object.
Definition: QC_Program.dox.h:1721
Qore::Program::parsePending
*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...
Qore::CSP_SETPRIV
const CSP_SETPRIV
Imports the object with private visibility.
Definition: QC_Program.dox.h:1386
Qore::PO_ALLOW_BARE_REFS
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:1522
Qore::ProgramControl
The ProgramControl class provides safe information about a Qore program.
Definition: QC_ProgramControl.dox.h:45
Qore::PO_REQUIRE_OUR
const PO_REQUIRE_OUR
Requires global variables to be declared with our before use.
Definition: QC_Program.dox.h:1893
Qore::Program::getGlobalVariable
auto getGlobalVariable(string varname, *reference< bool > rexists)
Returns a the value of the global variable identified by the first string argument.
Qore::SourceLocationInfo::line
int line
the starting source line number
Definition: QC_Program.dox.h:16
Qore::Program::callFunctionArgs
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...
Qore::PO_NO_INHERIT_USER_CLASSES
const PO_NO_INHERIT_USER_CLASSES
Prohibits user classes from being imported into the new Program object.
Definition: QC_Program.dox.h:1743
Qore::WARN_EXCESS_ARGS
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:2012
Qore::Program::setThreadInit
bool setThreadInit(*code init)
Sets a call reference or closure to run every time a new thread is started.
Qore::Program::isDefined
bool isDefined(string def)
Returns True if the given parse define is defined in the current Program (does not have to have a val...
Qore::PO_NO_LOCALE_CONTROL
const PO_NO_LOCALE_CONTROL
Disallows access to functionality that can change locale parameters.
Definition: QC_Program.dox.h:1766
Qore::Program::getUserFunctionList
softlist< string > getUserFunctionList()
Returns a list of strings of all user functions defined in the program object.
Qore::Program::loadUserModuleWithProgramWarn
*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...
Qore::DOM_GUI
const DOM_GUI
provides GUI functionality
Definition: QC_Program.dox.h:1436
Qore::PO_NO_CLASS_DEFS
const PO_NO_CLASS_DEFS
Disallows class definitions.
Definition: QC_Program.dox.h:1664
Qore::PO_NO_FILESYSTEM
const PO_NO_FILESYSTEM
Disallows access to the filesystem.
Definition: QC_Program.dox.h:1703
Qore::WARN_NONE
const WARN_NONE
Represents no warning.
Definition: QC_Program.dox.h:2030
Qore::Program::loadUserModuleWithProgram
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...
Qore::Program::disableParseOptions
nothing disableParseOptions(softint opt)
Removes the given parse options to the current parse option mask.
Qore::PO_NO_INHERIT_SYSTEM_HASHDECLS
const PO_NO_INHERIT_SYSTEM_HASHDECLS
Prohibits system hashdecls from being imported into the new Program object.
Definition: QC_Program.dox.h:1737
Qore::PO_NO_API
const PO_NO_API
Prohibits any code from being inherited into the Program object, including the system API.
Definition: QC_Program.dox.h:1654
Qore::PO_NO_GLOBAL_VARS
const PO_NO_GLOBAL_VARS
Disallows the use of global variables.
Definition: QC_Program.dox.h:1708
Qore::Program::importFunction
nothing importFunction(string func)
Imports a function into the program object's space; any calls to the imported function will run with ...
Qore::PO_NO_NAMESPACE_DEFS
const PO_NO_NAMESPACE_DEFS
Disallows new namespace definitions.
Definition: QC_Program.dox.h:1776
Qore::PO_NO_THREADS
const PO_NO_THREADS
Prohibits access to all threading information.
Definition: QC_Program.dox.h:1836
Qore::Program::callStaticMethodArgs
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.
Qore::Program::getScriptName
*string getScriptName()
Returns the current script name as a string or NOTHING if not set.
Qore::WARN_CALL_WITH_TYPE_ERRORS
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:1974
Qore::Program::setScriptPath
nothing setScriptPath(*string path)
Sets (or clears) the script path (directory and filename) for the object.
Qore::Program::setGlobalVarValue
nothing setGlobalVarValue(string name, auto value)
set the value of a global variable
Qore::PO_NO_SYSTEM_FUNC_VARIANTS
const PO_NO_SYSTEM_FUNC_VARIANTS
Prohibits builtin/system function variants from being imported into the new Program object.
Definition: QC_Program.dox.h:1825
Qore::PO_DEFAULT
const PO_DEFAULT
This option is the empty option, meaning no options are set.
Definition: QC_Program.dox.h:1614
Qore::TimeZone
The TimeZone class provides access to time zone functionality.
Definition: QC_TimeZone.dox.h:11
Qore::PO_BROKEN_LOGIC_PRECEDENCE
const PO_BROKEN_LOGIC_PRECEDENCE
allows for old pre-Qore 0.8.12 precedence of logical and bitwise operators
Definition: QC_Program.dox.h:1582
Qore::PO_NO_PROCESS_CONTROL
const PO_NO_PROCESS_CONTROL
Disallows access to functions that would affect the current process (exit(), exec(),...
Definition: QC_Program.dox.h:1795
Qore::Program::run
auto run()
Runs the program and optionally returns a value if the top-level code exits with a return statement.
Qore::PO_NO_IO
const PO_NO_IO
Prohibits all terminal and file I/O and GUI operations.
Definition: QC_Program.dox.h:1761
Qore::PO_NO_CONSTANT_DEFS
const PO_NO_CONSTANT_DEFS
Disallows constant definitions.
Definition: QC_Program.dox.h:1669
Qore::Program::findFunctionVariants
list< hash< auto > > findFunctionVariants(string function)
finds all variants of a function or class method and returns a list of the results
Qore::PO_NO_SYSTEM_CLASSES
const PO_NO_SYSTEM_CLASSES
Prohibits system classes from being imported into the new Program object.
Definition: QC_Program.dox.h:1820
Qore::Program::define
nothing define(string def, auto val)
Sets a parse define for the current Program.
Qore::Program::setTimeZoneRegion
nothing setTimeZoneRegion(string region)
Sets the default local time zone for the object from a path to a zoneinfo time zone region file.
Qore::Program::loadApplyToPrivateUserModuleWarn
*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 ...
Qore::PO_NO_TRANSIENT
const PO_NO_TRANSIENT
Disallows the transient.
Definition: QC_Program.dox.h:1861
Qore::DOM_LOCALE_CONTROL
const DOM_LOCALE_CONTROL
provides access to functionality that changes locale information
Definition: QC_Program.dox.h:1446
Qore::PO_NO_INHERIT_USER_FUNC_VARIANTS
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:1751
Qore::PO_STRICT_BOOLEAN_EVAL
const PO_STRICT_BOOLEAN_EVAL
Sets strict mathematical boolean evaluation runtime mode (the qore default prior to v0....
Definition: QC_Program.dox.h:1920
Qore::PO_LOCKDOWN
const PO_LOCKDOWN
Sets very restrictive access; this restriction is designed to allow code to only execute logic,...
Definition: QC_Program.dox.h:1628
Qore::SourceLocationInfo::endline
int endline
the ending source line number
Definition: QC_Program.dox.h:12
Qore::WARN_MODULES
const WARN_MODULES
The default warning mask for user modules.
Definition: QC_Program.dox.h:2028
Qore::PO_BROKEN_SPRINTF
const PO_BROKEN_SPRINTF
Enables broken sprintf() handling where no argument is treated diffferently than NOTHING.
Definition: QC_Program.dox.h:1612
Qore::Program::getParseOptions
int getParseOptions()
Returns the current binary-or'ed parse option mask for the Program object.
Qore::Program::parseRollback
nothing parseRollback()
Removes all partially or fully-parsed code from the object along with other builtin objects; a Progra...
Qore::PO_NO_INHERIT_SYSTEM_CONSTANTS
const PO_NO_INHERIT_SYSTEM_CONSTANTS
Prohibits system constants from being imported into the new Program object.
Definition: QC_Program.dox.h:1727
Qore::DOM_EXTERNAL_PROCESS
const DOM_EXTERNAL_PROCESS
provides external process control functionality (can affect) start) or stop external processes)
Definition: QC_Program.dox.h:1424
Qore::Program::getGlobalVars
hash< auto > getGlobalVars()
returns a hash of global variables
Qore::PO_STRICT_ARGS
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:1914
Qore::Program::parseCommit
nothing parseCommit()
Commits and pending code processed with Program::parsePending() to the Program object after resolving...
Qore::Program::destructor
destructor()
Waits for all threads to finish executing, then deletes all global variables, dereferences the intern...
Qore::Program
Program objects allow Qore programs to support subprograms with the option to restrict capabilities,...
Definition: QC_Program.dox.h:56
Qore::Program::parse
*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.
Qore::DOM_EXTERNAL_INFO
const DOM_EXTERNAL_INFO
provides access to external information (ex: hostname, pid, process uid, etc)
Definition: QC_Program.dox.h:1418
Qore::False
const False
logical False
Definition: qc_qore.dox.h:96
Qore::PO_STRICT_TYPES
const PO_STRICT_TYPES
Sets strict type checking and automatically sets default values for lvalues with type restrictions fo...
Definition: QC_Program.dox.h:1926
Qore::PO_NO_NETWORK
const PO_NO_NETWORK
Disallows access to network functionality.
Definition: QC_Program.dox.h:1781
Qore::WARN_ALL
const WARN_ALL
Enables all warnings.
Definition: QC_Program.dox.h:1964
Qore::WARN_UNREACHABLE_CODE
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:2052
Qore::PO_NO_INHERIT_USER_CONSTANTS
const PO_NO_INHERIT_USER_CONSTANTS
Prohibits user constants from being imported into the new Program object.
Definition: QC_Program.dox.h:1749
Qore::PO_NO_TOP_LEVEL_STATEMENTS
const PO_NO_TOP_LEVEL_STATEMENTS
Disallows top level code.
Definition: QC_Program.dox.h:1856
Qore::WARN_UNKNOWN_WARNING
const WARN_UNKNOWN_WARNING
Indicates that the embedded code tried to enable or disable an unknown warning.
Definition: QC_Program.dox.h:2048
Qore::Program::importSystemHashDecls
importSystemHashDecls()
imports system hashdecls into a Program container at runtime; will throw an exception if the Program ...
Qore::Program::undefine
nothing undefine(string def)
Unsets a parse define for the current Program.
Qore::WARN_UNREFERENCED_VARIABLE
const WARN_UNREFERENCED_VARIABLE
This warning is raised when a variable is declared in a block but never referenced.
Definition: QC_Program.dox.h:2056
Qore::Program::loadApplyToUserModuleWarn
*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...
Qore::Program::importSystemConstants
importSystemConstants()
imports system constants into a Program container at runtime; will throw an exception if the Program ...
Qore::Program::importSystemApi
importSystemApi()
imports system classes and functions into a Program container at runtime; will throw an exception if ...
Qore::Program::loadApplyToUserModule
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...
Qore::PO_NO_DEBUGGING
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:1680
Qore::WARN_DUPLICATE_BLOCK_VARS
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:1996
Qore::Program::getDefine
auto getDefine(string def)
Retrieves the value of the given parse define in the current Program.
Qore::ParseOptionCodeMap
const ParseOptionCodeMap
Maps from parse option code values (as string keys) to parse option names.
Definition: QC_Program.dox.h:1950
Qore::Program::getScriptDir
*string getScriptDir()
Returns the current script directory as a string or NOTHING if not set.
Qore::PO_NO_EXTERNAL_PROCESS
const PO_NO_EXTERNAL_PROCESS
Disallows any access to external processes (with system(), backquote(), exec(), etc)
Definition: QC_Program.dox.h:1698
Qore::DOM_MODULE
const DOM_MODULE
provides access to external modules
Definition: QC_Program.dox.h:1452
Qore::PO_NO_MODULES
const PO_NO_MODULES
Disallows loading modules with the %requires directive or at runtime with load_module()
Definition: QC_Program.dox.h:1771
Qore::Program::getParseOptionStringList
list< string > getParseOptionStringList()
returns a list of parse option strings for the program object
Qore::PO_NO_INHERIT_USER_HASHDECLS
const PO_NO_INHERIT_USER_HASHDECLS
Prohibits user hashdecls from being imported into the new Program object.
Definition: QC_Program.dox.h:1755
Qore::DOM_NETWORK
const DOM_NETWORK
provides network functionality
Definition: QC_Program.dox.h:1458
Qore::PO_ALLOW_STATEMENT_NO_EFFECT
const PO_ALLOW_STATEMENT_NO_EFFECT
Allows for old pre-Qore 0.9 top-level statements having no effect.
Definition: QC_Program.dox.h:1546
Qore::Program::loadModule
loadModule(string name, int warning_mask=WARN_MODULES)
Loads a Qore module into the Program object at run-time.
Qore::Program::importSystemFunctions
importSystemFunctions()
imports system functions into a Program container at runtime; will throw an exception if the Program ...
Qore::ParseOptionStringMap
const ParseOptionStringMap
Maps from parse option strings to parse option bitfield integer codes.
Definition: QC_Program.dox.h:1956
Qore::PO_ALLOW_DEBUGGER
const PO_ALLOW_DEBUGGER
Allows the use of functionality required to implement a debugger, mainly via DebugProgram.
Definition: QC_Program.dox.h:1527
Qore::Program::constructor
constructor(softint po=PO_DEFAULT)
Creates the program object and optionally sets program capabilities (parse options)
Qore::PO_ALLOW_INJECTION
const PO_ALLOW_INJECTION
Allows code/dependency injections in the contained Program object.
Definition: QC_Program.dox.h:1535
Qore::PO_NO_EXTERNAL_INFO
const PO_NO_EXTERNAL_INFO
Disallows access to functionality that provides information about the computing environment.
Definition: QC_Program.dox.h:1693
Qore::DOM_EMBEDDED_LOGIC
const DOM_EMBEDDED_LOGIC
provides dynamic parsing functionality
Definition: QC_Program.dox.h:1412
Qore::SourceLocationInfo::offset
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
Qore
main Qore-language namespace
Definition: Pseudo_QC_All.dox.h:3
Qore::PO_NO_THREAD_CONTROL
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:1846
Qore::PO_BROKEN_INT_ASSIGNMENTS
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:1570
Qore::WARN_DUPLICATE_LOCAL_VARS
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:2008
Qore::PO_BROKEN_REFERENCES
const PO_BROKEN_REFERENCES
allows for old pre-Qore 0.8.13 handling of reference and *reference
Definition: QC_Program.dox.h:1606
Qore::PO_NEW_STYLE
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:1639
Qore::PO_NO_USER_CLASSES
const PO_NO_USER_CLASSES
Prohibits user classes from being imported into the new Program object.
Definition: QC_Program.dox.h:1882
Qore::PO_BROKEN_LOOP_STATEMENT
const PO_BROKEN_LOOP_STATEMENT
allows for old pre-Qore 0.8.13 handling of break and continue
Definition: QC_Program.dox.h:1588
Qore::PO_IN_MODULE
const PO_IN_MODULE
Only set by the system when in a user module Program.
Definition: QC_Program.dox.h:1622
Qore::Program::loadModuleWarn
*hash< ExceptionInfo > loadModuleWarn(string name, int warning_mask=WARN_MODULES)
Loads a Qore module into the Program object at run-time.
Qore::PO_NO_TERMINAL_IO
const PO_NO_TERMINAL_IO
Disallows access to reading from and/or writing to the terminal.
Definition: QC_Program.dox.h:1830
Qore::PO_LOCK_WARNINGS
const PO_LOCK_WARNINGS
Disallows changes to the warning mask.
Definition: QC_Program.dox.h:1633
Qore::PO_NO_EMBEDDED_LOGIC
const PO_NO_EMBEDDED_LOGIC
Prohibits embedded logic from being used.
Definition: QC_Program.dox.h:1682
Qore::Program::callStaticMethod
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.
Qore::DOM_THREAD_CONTROL
const DOM_THREAD_CONTROL
provides the ability to check or manipulate threads (including starting new threads)
Definition: QC_Program.dox.h:1486
Qore::Program::importSystemClasses
importSystemClasses()
imports system classes into a Program container at runtime; will throw an exception if the Program wa...
Qore::Program::parseCommit
*hash< ExceptionInfo > parseCommit(int warning_mask)
Commits and pending code processed with Program::parsePending() to the Program object after resolving...