Qore Programming Language Reference Manual  0.9.4.3
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 
129  constructor(softint po = PO_DEFAULT);
130 
131 public:
133 
135  copy();
136 
137 public:
139 
147 nothing define(string def, auto val);
148 
149 public:
151 /***/
152  destructor();
153 
154 public:
156 
171 nothing disableParseOptions(softint opt);
172 
173 public:
175 
190 bool existsFunction(string name);
191 
192 public:
194 
206 list<hash<auto>> findFunctionVariants(string function);
207 
208 public:
210 
224 *hash<auto> getAllDefines();
225 
226 public:
228 
254 code getCallReference(string identifier);
255 
256 public:
258 
272 auto getDefine(string def);
273 
274 public:
276 
287 auto getGlobalVariable(string varname, *reference<bool> rexists);
288 
289 public:
291 
305 hash<auto> getGlobalVars();
306 
307 public:
309 
321 list<string> getParseOptionStringList();
322 
323 public:
325 
335 int getParseOptions();
336 
337 public:
339 
347 
348 public:
350 
358 int getProgramId();
359 
360 public:
362 
374 *string getScriptDir();
375 
376 public:
378 
390 *string getScriptName();
391 
392 public:
394 
406 *string getScriptPath();
407 
408 public:
410 
422 list<int> getThreadList();
423 
424 public:
426 
437 
438 public:
440 
452 softlist<string> getUserFunctionList();
453 
454 public:
456 
483 nothing importClass(string cls, *string new_name, *softbool inject, int module_visibility = CSP_UNCHANGED);
484 
485 public:
487 
502 nothing importFunction(string func);
503 
504 public:
506 
533 nothing importFunction(string func, string new_name, *softbool inject);
534 
535 public:
537 
550 nothing importGlobalVariable(string varname, bool readonly = False);
551 
552 public:
554 
569 nothing importHashDecl(string name, *string new_name);
570 
571 public:
573 
584  importSystemApi();
585 
586 public:
588 
600 
601 public:
603 
615 
616 public:
618 
630 
631 public:
633 
645 
646 public:
648 
662 bool isDefined(string def);
663 
664 public:
666 
681 nothing issueModuleCmd(string module, string cmd);
682 
683 public:
685 
712  loadApplyToPrivateUserModule(string name, int warning_mask = WARN_MODULES);
713 
714 public:
716 
745 *hash<ExceptionInfo> loadApplyToPrivateUserModuleWarn(string name, int warning_mask = WARN_MODULES);
746 
747 public:
749 
780  loadApplyToUserModule(string name, *softbool reinject, int warning_mask = WARN_MODULES, bool reexport = False);
781 
782 public:
784 
817 *hash<ExceptionInfo> loadApplyToUserModuleWarn(string name, *softbool reinject, int warning_mask = WARN_MODULES, bool reexport = False);
818 
819 public:
821 
853  loadModule(string name, int warning_mask = WARN_MODULES);
854 
855 public:
857 
889 *hash<ExceptionInfo> loadModuleWarn(string name, int warning_mask = WARN_MODULES);
890 
891 public:
893 
927  loadUserModuleWithProgram(string name, Qore::Program pgm, int warning_mask = WARN_MODULES);
928 
929 public:
931 
965 *hash<ExceptionInfo> loadUserModuleWithProgramWarn(string name, Qore::Program pgm, int warning_mask = WARN_MODULES);
966 
967 public:
969 
974 nothing lockOptions();
975 
976 public:
978 
1022 *hash<ExceptionInfo> parse(string code, string label, *softint warning_mask, *string source, *softint offset, softbool format_label = True);
1023 
1024 public:
1026 
1049 nothing parseCommit();
1050 
1051 public:
1053 
1080 *hash<ExceptionInfo> parseCommit(int warning_mask);
1081 
1082 public:
1084 
1131 *hash<ExceptionInfo> parsePending(string code, string label, *softint warning_mask, *string source, *softint offset, softbool format_label = True);
1132 
1133 public:
1135 
1148 nothing parseRollback();
1149 
1150 public:
1152 
1166 nothing replaceParseOptions(softint opt);
1167 
1168 public:
1170 
1177 auto run();
1178 
1179 public:
1181 
1197 nothing setGlobalVarValue(string name, auto value);
1198 
1199 public:
1201 
1216 nothing setParseOptions(softint opt = PO_DEFAULT);
1217 
1218 public:
1220 
1227 nothing setScriptPath(*string path);
1228 
1229 public:
1231 
1251 bool setThreadInit(*code init);
1252 
1253 public:
1255 
1263 nothing setTimeZone(TimeZone zone);
1264 
1265 public:
1267 
1278 nothing setTimeZoneRegion(string region);
1279 
1280 public:
1282 
1300 nothing setTimeZoneUTCOffset(softint seconds_east);
1301 
1302 public:
1304 
1311 nothing undefine(string def);
1312 };
1320  const CSP_SETPRIV = CSP_SETPRIV;
1334 
1339  const DOM_DATABASE = QDOM_DATABASE;
1341 
1343  const DOM_DEBUGGER = QDOM_DEBUGGER;
1345 
1347  const DOM_EMBEDDED_LOGIC = QDOM_EMBEDDED_LOGIC;
1349 
1353  const DOM_EXTERNAL_INFO = QDOM_EXTERNAL_INFO;
1355 
1359  const DOM_EXTERNAL_PROCESS = QDOM_EXTERNAL_PROCESS;
1361 
1365  const DOM_FILESYSTEM = QDOM_FILESYSTEM;
1367 
1371  const DOM_GUI = QDOM_GUI;
1373 
1375  const DOM_INJECTION = QDOM_INJECTION;
1377 
1381  const DOM_LOCALE_CONTROL = QDOM_LOCALE_CONTROL;
1383 
1387  const DOM_MODULE = QDOM_MODULES;
1389 
1393  const DOM_NETWORK = QDOM_NETWORK;
1395 
1399  const DOM_PROCESS_CONTROL = QDOM_PROCESS;
1401 
1403  const DOM_REFLECTION = QDOM_REFLECTION;
1405 
1409  const DOM_TERMINAL_IO = QDOM_TERMINAL_IO;
1411 
1415  const DOM_THREAD_CLASS = QDOM_THREAD_CLASS;
1417 
1421  const DOM_THREAD_CONTROL = QDOM_THREAD_CONTROL;
1423 
1427  const DOM_THREAD_INFO = QDOM_THREAD_INFO;
1429 
1433  const DOM_UNCONTROLLED_API = QDOM_UNCONTROLLED_API;
1440 
1445  const DomainCodeMap = qore(pomaps.getDomainToStringMap());
1447 
1451  const DomainStringMap = qore(pomaps.getStringToDomainMap());
1453 
1459 
1464 
1472 
1478 
1483 
1489 
1495 
1501 
1507 
1513 
1519 
1525 
1531 
1537 
1545 
1549 
1553 
1559 
1564 
1570 
1585 
1590 
1595 
1600 
1605 
1613 
1619 
1624 
1629 
1634 
1639 
1646 
1652 
1658 
1664 
1668 
1674 
1682 
1686 
1692 
1697 
1702 
1707 
1712 
1721 
1726 
1731 
1736 
1746 
1751 
1756 
1761 
1767 
1772 
1777 
1782 
1787 
1792 
1798 
1808 
1813 
1819 
1824 
1832 
1839 
1845 
1851 
1857 
1863 
1867  const ParseOptionCmdCodeMap = qore(ParseOptionMap::getCodeToStringMap());
1869 
1873  const ParseOptionCmdStringMap = qore(ParseOptionMap::getStringToCodeMap());
1875 
1879  const ParseOptionCodeMap = qore(pomaps.getCodeToStringMap());
1881 
1885  const ParseOptionStringMap = qore(pomaps.getStringToCodeMap());
1892  const WARN_ALL = QP_WARN_ALL;
1895 
1899  const WARN_BROKEN_LOGIC_PRECEDENCE = QP_WARN_BROKEN_LOGIC_PRECEDENCE;
1901 
1903  const WARN_CALL_WITH_TYPE_ERRORS = QP_WARN_CALL_WITH_TYPE_ERRORS;
1905 
1917  const WARN_DEFAULT = QP_WARN_DEFAULT;
1919 
1921  const WARN_DEPRECATED = QP_WARN_DEPRECATED;
1923 
1925  const WARN_DUPLICATE_BLOCK_VARS = QP_WARN_DUPLICATE_BLOCK_VARS;
1927 
1929  const WARN_DUPLICATE_GLOBAL_VARS = QP_WARN_DUPLICATE_GLOBAL_VARS;
1931 
1933  const WARN_DUPLICATE_HASH_KEY = QP_WARN_DUPLICATE_HASH_KEY;
1935 
1937  const WARN_DUPLICATE_LOCAL_VARS = QP_WARN_DUPLICATE_LOCAL_VARS;
1939 
1941  const WARN_EXCESS_ARGS = QP_WARN_EXCESS_ARGS;
1943 
1945  const WARN_INVALID_OPERATION = QP_WARN_INVALID_OPERATION;
1947 
1957  const WARN_MODULES = QP_WARN_MODULES;
1959  const WARN_NONE = QP_WARN_NONE;
1961 
1965  const WARN_NONEXISTENT_METHOD_CALL = QP_WARN_NONEXISTENT_METHOD_CALL;
1967 
1969  const WARN_RETURN_VALUE_IGNORED = QP_WARN_RETURN_VALUE_IGNORED;
1971 
1973  const WARN_UNDECLARED_VAR = QP_WARN_UNDECLARED_VAR;
1975 
1977  const WARN_UNKNOWN_WARNING = QP_WARN_UNKNOWN_WARNING;
1979 
1981  const WARN_UNREACHABLE_CODE = QP_WARN_UNREACHABLE_CODE;
1983 
1985  const WARN_UNREFERENCED_VARIABLE = QP_WARN_UNREFERENCED_VARIABLE;
1987 
1989  const WARN_WARNING_MASK_UNCHANGED = QP_WARN_WARNING_MASK_UNCHANGED;
1991 }
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:1662
Qore::PO_NO_SUBROUTINE_DEFS
const PO_NO_SUBROUTINE_DEFS
Disallows subroutine (function) definitions.
Definition: QC_Program.dox.h:1734
Qore::PO_NO_REFLECTION
const PO_NO_REFLECTION
Disallows access to reflection.
Definition: QC_Program.dox.h:1729
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:1499
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:1547
Qore::DomainCodeMap
const DomainCodeMap
Maps from functional domain bitfield code values (as string keys) to functional domain names.
Definition: QC_Program.dox.h:1445
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:1861
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:1780
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:1375
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:1873
Qore::PO_NO_EXTERNAL_ACCESS
const PO_NO_EXTERNAL_ACCESS
Prohibits any external access.
Definition: QC_Program.dox.h:1617
Qore::DomainStringMap
const DomainStringMap
Maps from functional domain strings to functional domain bitfield integer codes.
Definition: QC_Program.dox.h:1451
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:1933
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:1719
Qore::CSP_UNCHANGED
const CSP_UNCHANGED
Imports the object with the same module visibility.
Definition: QC_Program.dox.h:1325
Qore::PO_NO_THREAD_CLASSES
const PO_NO_THREAD_CLASSES
Disallows access to any thread classes.
Definition: QC_Program.dox.h:1770
Qore::DOM_THREAD_INFO
const DOM_THREAD_INFO
provides access to information regarding threading (tid, active threads, etc)
Definition: QC_Program.dox.h:1427
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:1493
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:1433
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::WARN_DEPRECATED
const WARN_DEPRECATED
Enables a warning when deprecated code is used.
Definition: QC_Program.dox.h:1921
Qore::PO_NO_GUI
const PO_NO_GUI
Disallows access to functionality that draws graphics to the display.
Definition: QC_Program.dox.h:1642
Qore::WARN_BROKEN_LOGIC_PRECEDENCE
const WARN_BROKEN_LOGIC_PRECEDENCE
This warns before expressions affected by %broken-logic-precedence.
Definition: QC_Program.dox.h:1899
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:1830
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:1867
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:1744
Qore::DOM_DEBUGGER
const DOM_DEBUGGER
provides debugging functionality
Definition: QC_Program.dox.h:1343
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:1476
Qore::DOM_FILESYSTEM
const DOM_FILESYSTEM
provides access to the filesystem
Definition: QC_Program.dox.h:1365
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:1588
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:1806
Qore::WARN_DEFAULT
const WARN_DEFAULT
The default warning mask.
Definition: QC_Program.dox.h:1917
Qore::PO_ALLOW_WEAK_REFERENCES
const PO_ALLOW_WEAK_REFERENCES
Allows the use of the weak assignment operator (:=).
Definition: QC_Program.dox.h:1487
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:1973
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:1403
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:1796
Qore::DOM_THREAD_CLASS
const DOM_THREAD_CLASS
provides thread control functionality
Definition: QC_Program.dox.h:1415
Qore::DOM_DATABASE
const DOM_DATABASE
provides access to databases
Definition: QC_Program.dox.h:1339
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:1511
Qore::PO_NO_DATABASE
const PO_NO_DATABASE
Disallows access to database functionality.
Definition: QC_Program.dox.h:1603
Qore::CSP_SETPUB
const CSP_SETPUB
Imports the object with public visibility.
Definition: QC_Program.dox.h:1323
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:1644
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:1945
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:1929
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:1989
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:1817
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:1409
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:1837
Qore::DOM_PROCESS_CONTROL
const DOM_PROCESS_CONTROL
provides process control functionality (can affect or stop the current process)
Definition: QC_Program.dox.h:1399
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:1965
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:1529
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:1969
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:1650
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:1321
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:1457
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:1822
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:1672
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:1941
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:1695
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:1371
Qore::PO_NO_CLASS_DEFS
const PO_NO_CLASS_DEFS
Disallows class definitions.
Definition: QC_Program.dox.h:1593
Qore::PO_NO_FILESYSTEM
const PO_NO_FILESYSTEM
Disallows access to the filesystem.
Definition: QC_Program.dox.h:1632
Qore::WARN_NONE
const WARN_NONE
Represents no warning.
Definition: QC_Program.dox.h:1959
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:1666
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:1583
Qore::PO_NO_GLOBAL_VARS
const PO_NO_GLOBAL_VARS
Disallows the use of global variables.
Definition: QC_Program.dox.h:1637
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:1705
Qore::PO_NO_THREADS
const PO_NO_THREADS
Prohibits access to all threading information.
Definition: QC_Program.dox.h:1765
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:1903
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:1754
Qore::PO_DEFAULT
const PO_DEFAULT
This option is the empty option, meaning no options are set.
Definition: QC_Program.dox.h:1543
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:1517
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:1724
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:1690
Qore::PO_NO_CONSTANT_DEFS
const PO_NO_CONSTANT_DEFS
Disallows constant definitions.
Definition: QC_Program.dox.h:1598
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:1749
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:1790
Qore::DOM_LOCALE_CONTROL
const DOM_LOCALE_CONTROL
provides access to functionality that changes locale information
Definition: QC_Program.dox.h:1381
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:1680
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:1849
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:1557
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:1957
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:1541
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:1656
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:1359
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:1843
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:1353
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:1855
Qore::PO_NO_NETWORK
const PO_NO_NETWORK
Disallows access to network functionality.
Definition: QC_Program.dox.h:1710
Qore::WARN_ALL
const WARN_ALL
Enables all warnings.
Definition: QC_Program.dox.h:1893
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:1981
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:1678
Qore::PO_NO_TOP_LEVEL_STATEMENTS
const PO_NO_TOP_LEVEL_STATEMENTS
Disallows top level code.
Definition: QC_Program.dox.h:1785
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:1977
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:1985
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:1609
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:1925
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:1879
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:1627
Qore::DOM_MODULE
const DOM_MODULE
provides access to external modules
Definition: QC_Program.dox.h:1387
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:1700
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:1684
Qore::DOM_NETWORK
const DOM_NETWORK
provides network functionality
Definition: QC_Program.dox.h:1393
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:1481
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:1885
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:1462
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:1470
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:1622
Qore::DOM_EMBEDDED_LOGIC
const DOM_EMBEDDED_LOGIC
provides dynamic parsing functionality
Definition: QC_Program.dox.h:1347
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:1775
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:1505
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:1937
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:1535
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:1568
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:1811
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:1523
Qore::PO_IN_MODULE
const PO_IN_MODULE
Only set by the system when in a user module Program.
Definition: QC_Program.dox.h:1551
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:1759
Qore::PO_LOCK_WARNINGS
const PO_LOCK_WARNINGS
Disallows changes to the warning mask.
Definition: QC_Program.dox.h:1562
Qore::PO_NO_EMBEDDED_LOGIC
const PO_NO_EMBEDDED_LOGIC
Prohibits embedded logic from being used.
Definition: QC_Program.dox.h:1611
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:1421
Qore::Program::importSystemClasses
importSystemClasses()
imports system classes into a Program container at runtime; will throw an exception if the Program wa...