Qore Programming Language Reference Manual  1.7.0
Parse Option Constants

Variables

const Qore::DomainCodeMap = qore(pomaps.getDomainToStringMap())
 Maps from functional domain bitfield code values (as string keys) to functional domain names. More...
 
const Qore::DomainStringMap = qore(pomaps.getStringToDomainMap())
 Maps from functional domain strings to functional domain bitfield integer codes. More...
 
const Qore::PO_ALLOW_BARE_REFS = PO_ALLOW_BARE_REFS
 Prohibits the use of the '$' character in variable names, method calls, and object member references. More...
 
const Qore::PO_ALLOW_DEBUGGER = PO_ALLOW_DEBUGGER
 Allows the use of functionality required to implement a debugger, mainly via DebugProgram. More...
 
const Qore::PO_ALLOW_INJECTION = PO_ALLOW_INJECTION
 Allows code/dependency injections in the contained Program object. More...
 
const Qore::PO_ALLOW_RETURNS = PO_ALLOW_RETURNS
 Allows the use of the deprecated returns keyword. More...
 
const Qore::PO_ALLOW_STATEMENT_NO_EFFECT = PO_ALLOW_STATEMENT_NO_EFFECT
 Allows for old pre-Qore 0.9 top-level statements having no effect. More...
 
const Qore::PO_ALLOW_WEAK_REFERENCES = PO_ALLOW_WEAK_REFERENCES
 Allows the use of the weak assignment operator (:=). More...
 
const Qore::PO_ASSUME_LOCAL = PO_ASSUME_LOCAL
 Assume local variable scope when variables are first referenced if no my or our is present. More...
 
const Qore::PO_BROKEN_CAST = PO_BROKEN_CAST
 Allows for old pre-Qore 0.9.4 broken cast<> operator behavior where NOTHING was silently accepted. More...
 
const Qore::PO_BROKEN_INT_ASSIGNMENTS = PO_BROKEN_INT_ASSIGNMENTS
 allows for old pre-Qore 0.8.12 broken runtime int assignments where runtime type errors were ignored More...
 
const Qore::PO_BROKEN_LIST_PARSING = PO_BROKEN_LIST_PARSING
 allows for old pre-Qore 0.8.12 broken list rewriting in the parser More...
 
const Qore::PO_BROKEN_LOGIC_PRECEDENCE = PO_BROKEN_LOGIC_PRECEDENCE
 allows for old pre-Qore 0.8.12 precedence of logical and bitwise operators More...
 
const Qore::PO_BROKEN_LOOP_STATEMENT = PO_BROKEN_LOOP_STATEMENT
 allows for old pre-Qore 0.8.13 handling of break and continue More...
 
const Qore::PO_BROKEN_OPERATORS = PO_BROKEN_OPERATORS
 allows for old pre-Qore 0.8.12 broken runtime parsing of multi-character operators with spaces More...
 
const Qore::PO_BROKEN_RANGE = PO_BROKEN_RANGE
 allows for old pre-Qore 0.9.5 handling of range() and xrange() More...
 
const Qore::PO_BROKEN_REFERENCES = PO_BROKEN_REFERENCES
 allows for old pre-Qore 0.8.13 handling of reference and *reference More...
 
const Qore::PO_BROKEN_SPRINTF = PO_BROKEN_SPRINTF
 Enables broken sprintf() handling where no argument is treated diffferently than NOTHING. More...
 
const Qore::PO_DEFAULT = PO_DEFAULT
 This option is the empty option, meaning no options are set.
 
const Qore::PO_FREE_OPTIONS = PO_FREE_OPTIONS
 mask of options that have no effect on code access or code safety but just affect programming style More...
 
const Qore::PO_IN_MODULE = PO_IN_MODULE
 Only set by the system when in a user module Program. More...
 
const Qore::PO_LOCKDOWN = PO_LOCKDOWN
 Sets very restrictive access; this restriction is designed to allow code to only execute logic, no I/O, no threading, no external access. More...
 
const Qore::PO_LOCK_WARNINGS = PO_LOCK_WARNINGS
 Disallows changes to the warning mask. More...
 
const Qore::PO_NEW_STYLE = PO_NEW_STYLE
 Set a more C++ or Java type programming style; prohibits usage of the "$" character and also assumes local variable scope without my. More...
 
const Qore::PO_NO_API = PO_NO_API
 Prohibits any code from being inherited into the Program object, including the system API. More...
 
const Qore::PO_NO_CHILD_PO_RESTRICTIONS = PO_NO_CHILD_PO_RESTRICTIONS
 Allows child program objects to have fewer parse restrictions (i.e. more capabilies) than the parent object. More...
 
const Qore::PO_NO_CLASS_DEFS = PO_NO_CLASS_DEFS
 Disallows class definitions. More...
 
const Qore::PO_NO_CONSTANT_DEFS = PO_NO_CONSTANT_DEFS
 Disallows constant definitions. More...
 
const Qore::PO_NO_DATABASE = PO_NO_DATABASE
 Disallows access to database functionality. More...
 
const Qore::PO_NO_DEBUGGING = PO_NO_DEBUGGING
 Forbids debugging of the current Program object; when this option is set, debuggers cannot attach to the Program object. More...
 
const Qore::PO_NO_EMBEDDED_LOGIC = PO_NO_EMBEDDED_LOGIC
 Prohibits embedded logic from being used.
 
const Qore::PO_NO_EXTERNAL_ACCESS = PO_NO_EXTERNAL_ACCESS
 Prohibits any external access. More...
 
const Qore::PO_NO_EXTERNAL_INFO = PO_NO_EXTERNAL_INFO
 Disallows access to functionality that provides information about the computing environment. More...
 
const Qore::PO_NO_EXTERNAL_PROCESS = PO_NO_EXTERNAL_PROCESS
 Disallows any access to external processes (with system(), backquote(), exec(), etc) More...
 
const Qore::PO_NO_FILESYSTEM = PO_NO_FILESYSTEM
 Disallows access to the filesystem. More...
 
const Qore::PO_NO_GLOBAL_VARS = PO_NO_GLOBAL_VARS
 Disallows the use of global variables. More...
 
const Qore::PO_NO_GUI = PO_NO_GUI
 Disallows access to functionality that draws graphics to the display. More...
 
const Qore::PO_NO_INHERIT_GLOBAL_VARS = PO_NO_INHERIT_GLOBAL_VARS
 Precludes global variables from being inherited into the new Program object.
 
const Qore::PO_NO_INHERIT_PROGRAM_DATA = PO_NO_INHERIT_PROGRAM_DATA
 Do not inherit module-specific Program data from the parent. More...
 
const Qore::PO_NO_INHERIT_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES
 Prohibits system classes from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_SYSTEM_CONSTANTS = PO_NO_INHERIT_SYSTEM_CONSTANTS
 Prohibits system constants from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS
 Prohibits builtin/system function variants from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_SYSTEM_HASHDECLS = PO_NO_INHERIT_SYSTEM_HASHDECLS
 Prohibits system hashdecls from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES
 Prohibits user classes from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_USER_CONSTANTS = PO_NO_INHERIT_USER_CONSTANTS
 Prohibits user constants from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_USER_FUNC_VARIANTS = PO_NO_INHERIT_USER_FUNC_VARIANTS
 Precludes public user function variants from being inherited into the new Program object.
 
const Qore::PO_NO_INHERIT_USER_HASHDECLS = PO_NO_INHERIT_USER_HASHDECLS
 Prohibits user hashdecls from being imported into the new Program object. More...
 
const Qore::PO_NO_IO = PO_NO_IO
 Prohibits all terminal and file I/O and GUI operations. More...
 
const Qore::PO_NO_LOCALE_CONTROL = PO_NO_LOCALE_CONTROL
 Disallows access to functionality that can change locale parameters. More...
 
const Qore::PO_NO_MODULES = PO_NO_MODULES
 Disallows loading modules with the %requires directive or at runtime with load_module() More...
 
const Qore::PO_NO_NAMESPACE_DEFS = PO_NO_NAMESPACE_DEFS
 Disallows new namespace definitions. More...
 
const Qore::PO_NO_NETWORK = PO_NO_NETWORK
 Disallows access to network functionality. More...
 
const Qore::PO_NO_NEW = PO_NO_NEW
 Disallows use of the new operator. More...
 
const Qore::PO_NO_PROCESS_CONTROL = PO_NO_PROCESS_CONTROL
 Disallows access to functions that would affect the current process (exit(), exec(), fork(), etc) More...
 
const Qore::PO_NO_REFLECTION = PO_NO_REFLECTION
 Disallows access to reflection. More...
 
const Qore::PO_NO_SUBROUTINE_DEFS = PO_NO_SUBROUTINE_DEFS
 Disallows subroutine (function) definitions. More...
 
const Qore::PO_NO_SYSTEM_API = PO_NO_SYSTEM_API
 Prohibits any code from being inherited into the Program object, including the system API. More...
 
const Qore::PO_NO_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES
 Prohibits system classes from being imported into the new Program object. More...
 
const Qore::PO_NO_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS
 Prohibits builtin/system function variants from being imported into the new Program object. More...
 
const Qore::PO_NO_TERMINAL_IO = PO_NO_TERMINAL_IO
 Disallows access to reading from and/or writing to the terminal. More...
 
const Qore::PO_NO_THREADS = PO_NO_THREADS
 Prohibits access to all threading information. More...
 
const Qore::PO_NO_THREAD_CLASSES = PO_NO_THREAD_CLASSES
 Disallows access to any thread classes. More...
 
const Qore::PO_NO_THREAD_CONTROL = PO_NO_THREAD_CONTROL
 Disallows access to any thread-control functions and thread-relevant statements and operators (for example the background operator and the thread_exit statement) More...
 
const Qore::PO_NO_THREAD_INFO = PO_NO_THREAD_INFO
 Disallows access to functionality that provides information about threading. More...
 
const Qore::PO_NO_TOP_LEVEL_STATEMENTS = PO_NO_TOP_LEVEL_STATEMENTS
 Disallows top level code. More...
 
const Qore::PO_NO_TRANSIENT = PO_NO_TRANSIENT
 Disallows the transient. More...
 
const Qore::PO_NO_UNCONTROLLED_APIS = PO_NO_UNCONTROLLED_APIS
 disallow access to "uncontrolled APIs" like external language bindings or direct generic system call APIs that could bypass Qore's sandboxing controls More...
 
const Qore::PO_NO_USER_API = PO_NO_USER_API
 Prohibits any user code from being inherited into the Program object. More...
 
const Qore::PO_NO_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES
 Prohibits user classes from being imported into the new Program object. More...
 
const Qore::PO_POSITIVE_OPTIONS = PO_POSITIVE_OPTIONS
 mask of all parse options allowing for more freedom (instead of less) More...
 
const Qore::PO_REQUIRE_OUR = PO_REQUIRE_OUR
 Requires global variables to be declared with our before use. More...
 
const Qore::PO_REQUIRE_PROTOTYPES = PO_REQUIRE_PROTOTYPES
 Requires all function and method parameters and return types to have type declarations. More...
 
const Qore::PO_REQUIRE_TYPES = PO_REQUIRE_TYPES
 Requires all function and method parameters, return types, variables, and object members to have type declarations. More...
 
const Qore::PO_STRICT_ARGS = PO_STRICT_ARGS
 Prohibits access to builtin functions and methods flagged with RT_NOOP and also causes errors to be raised if excess arguments are given to functions that do not access excess arguments. More...
 
const Qore::PO_STRICT_BOOLEAN_EVAL = PO_STRICT_BOOLEAN_EVAL
 Sets strict mathematical boolean evaluation runtime mode (the qore default prior to v0.8.6) More...
 
const Qore::PO_STRICT_TYPES = PO_STRICT_TYPES
 Sets strict type checking and automatically sets default values for lvalues with type restrictions for types with default values. More...
 
const Qore::PO_STRONG_ENCAPSULATION = PO_STRONG_ENCAPSULATION
 disallows out-of-line class and namespace declarations More...
 
const Qore::ParseOptionCmdCodeMap = qore(ParseOptionMap::getCodeToStringMap())
 Maps from parse option code values (as string keys) to parse option names. Names are in form used in script or on command line, e.g. new-style. More...
 
const Qore::ParseOptionCmdStringMap = qore(ParseOptionMap::getStringToCodeMap())
 Maps from parse option strings to parse option integer codes. Names are in form used in script or on command line, e.g. new-style. More...
 
const Qore::ParseOptionCodeMap = qore(pomaps.getCodeToStringMap())
 Maps from parse option code values (as string keys) to parse option names. More...
 
const Qore::ParseOptionStringMap = qore(pomaps.getStringToCodeMap())
 Maps from parse option strings to parse option bitfield integer codes. More...
 

Detailed Description

These are the possible values that can be or'ed together to set Program parse options

Variable Documentation

◆ DomainCodeMap

const Qore::DomainCodeMap = qore(pomaps.getDomainToStringMap())

Maps from functional domain bitfield code values (as string keys) to functional domain names.

See also
DomainStringMap for the reverse mapping
Since
Qore 0.9

◆ DomainStringMap

const Qore::DomainStringMap = qore(pomaps.getStringToDomainMap())

Maps from functional domain strings to functional domain bitfield integer codes.

See also
DomainCodeMap for the reverse mapping
Since
Qore 0.9

◆ ParseOptionCmdCodeMap

const Qore::ParseOptionCmdCodeMap = qore(ParseOptionMap::getCodeToStringMap())

Maps from parse option code values (as string keys) to parse option names. Names are in form used in script or on command line, e.g. new-style.

See also
ParseOptionCmdStringMap for the reverse mapping
Since
Qore 0.8.13

◆ ParseOptionCmdStringMap

const Qore::ParseOptionCmdStringMap = qore(ParseOptionMap::getStringToCodeMap())

Maps from parse option strings to parse option integer codes. Names are in form used in script or on command line, e.g. new-style.

See also
ParseOptionCmdCodeMap for the reverse mapping
Since
Qore 0.8.13

◆ ParseOptionCodeMap

const Qore::ParseOptionCodeMap = qore(pomaps.getCodeToStringMap())

Maps from parse option code values (as string keys) to parse option names.

See also
ParseOptionStringMap for the reverse mapping
Since
Qore 0.8.12

◆ ParseOptionStringMap

const Qore::ParseOptionStringMap = qore(pomaps.getStringToCodeMap())

Maps from parse option strings to parse option bitfield integer codes.

See also
ParseOptionCodeMap for the reverse mapping
Since
Qore 0.8.12

◆ PO_ALLOW_BARE_REFS

const Qore::PO_ALLOW_BARE_REFS = PO_ALLOW_BARE_REFS

Prohibits the use of the '$' character in variable names, method calls, and object member references.

This option should probably be named "PO_REQUIRE_BARE_REFS" as it is an error to use the "$" character when this option is set

See also
%allow-bare-refs

◆ PO_ALLOW_DEBUGGER

const Qore::PO_ALLOW_DEBUGGER = PO_ALLOW_DEBUGGER

Allows the use of functionality required to implement a debugger, mainly via DebugProgram.

Since
Qore 0.8.13

◆ PO_ALLOW_INJECTION

const Qore::PO_ALLOW_INJECTION = PO_ALLOW_INJECTION

Allows code/dependency injections in the contained Program object.

See also
Since
Qore 0.8.12

◆ PO_ALLOW_RETURNS

const Qore::PO_ALLOW_RETURNS = PO_ALLOW_RETURNS

Allows the use of the deprecated returns keyword.

See also
%allow-returns
Since
Qore 0.9.4

◆ PO_ALLOW_STATEMENT_NO_EFFECT

const Qore::PO_ALLOW_STATEMENT_NO_EFFECT = PO_ALLOW_STATEMENT_NO_EFFECT

Allows for old pre-Qore 0.9 top-level statements having no effect.

Since
Qore 0.9

◆ PO_ALLOW_WEAK_REFERENCES

const Qore::PO_ALLOW_WEAK_REFERENCES = PO_ALLOW_WEAK_REFERENCES

Allows the use of the weak assignment operator (:=).

See also
Weak Reference Assignment Operator (:=)
Since
Qore 0.8.13

◆ PO_ASSUME_LOCAL

const Qore::PO_ASSUME_LOCAL = PO_ASSUME_LOCAL

Assume local variable scope when variables are first referenced if no my or our is present.

This option is set implicitly with PO_NEW_STYLE

See also
%assume-local

◆ PO_BROKEN_CAST

const Qore::PO_BROKEN_CAST = PO_BROKEN_CAST

Allows for old pre-Qore 0.9.4 broken cast<> operator behavior where NOTHING was silently accepted.

See also
%broken-cast
Since
Qore 0.9.4

◆ PO_BROKEN_INT_ASSIGNMENTS

const Qore::PO_BROKEN_INT_ASSIGNMENTS = PO_BROKEN_INT_ASSIGNMENTS

allows for old pre-Qore 0.8.12 broken runtime int assignments where runtime type errors were ignored

See also
%broken-int-assignments
Since
Qore 0.8.12

◆ PO_BROKEN_LIST_PARSING

const Qore::PO_BROKEN_LIST_PARSING = PO_BROKEN_LIST_PARSING

allows for old pre-Qore 0.8.12 broken list rewriting in the parser

See also
%broken-list-parsing
Since
Qore 0.8.12

◆ PO_BROKEN_LOGIC_PRECEDENCE

const Qore::PO_BROKEN_LOGIC_PRECEDENCE = PO_BROKEN_LOGIC_PRECEDENCE

allows for old pre-Qore 0.8.12 precedence of logical and bitwise operators

See also
%broken-logic-precedence
Since
Qore 0.8.12

◆ PO_BROKEN_LOOP_STATEMENT

const Qore::PO_BROKEN_LOOP_STATEMENT = PO_BROKEN_LOOP_STATEMENT

allows for old pre-Qore 0.8.13 handling of break and continue

See also
%broken-loop-statement
Since
Qore 0.8.13

◆ PO_BROKEN_OPERATORS

const Qore::PO_BROKEN_OPERATORS = PO_BROKEN_OPERATORS

allows for old pre-Qore 0.8.12 broken runtime parsing of multi-character operators with spaces

See also
%broken-operators
Since
Qore 0.8.12

◆ PO_BROKEN_RANGE

const Qore::PO_BROKEN_RANGE = PO_BROKEN_RANGE

allows for old pre-Qore 0.9.5 handling of range() and xrange()

See also
%broken-range
Since
Qore 0.9.5

◆ PO_BROKEN_REFERENCES

const Qore::PO_BROKEN_REFERENCES = PO_BROKEN_REFERENCES

allows for old pre-Qore 0.8.13 handling of reference and *reference

See also
%broken-references
Since
Qore 0.8.13

◆ PO_BROKEN_SPRINTF

const Qore::PO_BROKEN_SPRINTF = PO_BROKEN_SPRINTF

Enables broken sprintf() handling where no argument is treated diffferently than NOTHING.

Also applies to all other functions and methods using format strings for formatted output

Since
Qore 0.9

◆ PO_FREE_OPTIONS

const Qore::PO_FREE_OPTIONS = PO_FREE_OPTIONS

mask of options that have no effect on code access or code safety but just affect programming style

made up of PO_ALLOW_BARE_REFS | PO_ASSUME_LOCAL

◆ PO_IN_MODULE

const Qore::PO_IN_MODULE = PO_IN_MODULE

Only set by the system when in a user module Program.

Note
This option cannot be set manually or an exception will be raised

◆ PO_LOCK_WARNINGS

const Qore::PO_LOCK_WARNINGS = PO_LOCK_WARNINGS

Disallows changes to the warning mask.

See also
%lock-warnings

◆ PO_LOCKDOWN

const Qore::PO_LOCKDOWN = PO_LOCKDOWN

Sets very restrictive access; this restriction is designed to allow code to only execute logic, no I/O, no threading, no external access.

made up of PO_NO_EXTERNAL_ACCESS | PO_NO_THREADS | PO_NO_IO

See also
%lockdown

◆ PO_NEW_STYLE

const Qore::PO_NEW_STYLE = PO_NEW_STYLE

Set a more C++ or Java type programming style; prohibits usage of the "$" character and also assumes local variable scope without my.

made up of PO_ALLOW_BARE_REFS | PO_ASSUME_LOCAL

See also
%new-style

◆ PO_NO_API

◆ PO_NO_CHILD_PO_RESTRICTIONS

const Qore::PO_NO_CHILD_PO_RESTRICTIONS = PO_NO_CHILD_PO_RESTRICTIONS

Allows child program objects to have fewer parse restrictions (i.e. more capabilies) than the parent object.

See also
%no-child-restrictions

◆ PO_NO_CLASS_DEFS

const Qore::PO_NO_CLASS_DEFS = PO_NO_CLASS_DEFS

Disallows class definitions.

See also
%no-class-defs

◆ PO_NO_CONSTANT_DEFS

const Qore::PO_NO_CONSTANT_DEFS = PO_NO_CONSTANT_DEFS

Disallows constant definitions.

See also
%no-constant-defs

◆ PO_NO_DATABASE

const Qore::PO_NO_DATABASE = PO_NO_DATABASE

Disallows access to database functionality.

See also
%no-database

◆ PO_NO_DEBUGGING

const Qore::PO_NO_DEBUGGING = PO_NO_DEBUGGING

Forbids debugging of the current Program object; when this option is set, debuggers cannot attach to the Program object.

See also
%no-debugging
Since
Qore 0.8.13

◆ PO_NO_EXTERNAL_ACCESS

const Qore::PO_NO_EXTERNAL_ACCESS = PO_NO_EXTERNAL_ACCESS

◆ PO_NO_EXTERNAL_INFO

const Qore::PO_NO_EXTERNAL_INFO = PO_NO_EXTERNAL_INFO

Disallows access to functionality that provides information about the computing environment.

See also
%no-external-info

◆ PO_NO_EXTERNAL_PROCESS

const Qore::PO_NO_EXTERNAL_PROCESS = PO_NO_EXTERNAL_PROCESS

Disallows any access to external processes (with system(), backquote(), exec(), etc)

See also
%no-external-process

◆ PO_NO_FILESYSTEM

const Qore::PO_NO_FILESYSTEM = PO_NO_FILESYSTEM

Disallows access to the filesystem.

See also
%no-filesystem

◆ PO_NO_GLOBAL_VARS

const Qore::PO_NO_GLOBAL_VARS = PO_NO_GLOBAL_VARS

Disallows the use of global variables.

See also
%no-global-vars

◆ PO_NO_GUI

const Qore::PO_NO_GUI = PO_NO_GUI

Disallows access to functionality that draws graphics to the display.

See also
PO_NO_TERMINAL_IO
%no-gui

◆ PO_NO_INHERIT_PROGRAM_DATA

const Qore::PO_NO_INHERIT_PROGRAM_DATA = PO_NO_INHERIT_PROGRAM_DATA

Do not inherit module-specific Program data from the parent.

Since
Qore 1.0

◆ PO_NO_INHERIT_SYSTEM_CLASSES

const Qore::PO_NO_INHERIT_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES

Prohibits system classes from being imported into the new Program object.

Note
PO_NO_SYSTEM_CLASSES is a synonym of this constant
Since
Qore 0.8.12 to harmonize permission names

◆ PO_NO_INHERIT_SYSTEM_CONSTANTS

const Qore::PO_NO_INHERIT_SYSTEM_CONSTANTS = PO_NO_INHERIT_SYSTEM_CONSTANTS

Prohibits system constants from being imported into the new Program object.

Note
this does not apply to class constants
Since
Qore 0.8.12

◆ PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS

const Qore::PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS

Prohibits builtin/system function variants from being imported into the new Program object.

Note
PO_NO_SYSTEM_FUNC_VARIANTS is a synonym of this constant
Since
Qore 0.8.12 to harmonize permission names

◆ PO_NO_INHERIT_SYSTEM_HASHDECLS

const Qore::PO_NO_INHERIT_SYSTEM_HASHDECLS = PO_NO_INHERIT_SYSTEM_HASHDECLS

Prohibits system hashdecls from being imported into the new Program object.

Since
Qore 0.8.13

◆ PO_NO_INHERIT_USER_CLASSES

const Qore::PO_NO_INHERIT_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES

Prohibits user classes from being imported into the new Program object.

Note
PO_NO_USER_CLASSES is a synonym of this constant
Since
Qore 0.8.12 to harmonize permission names

◆ PO_NO_INHERIT_USER_CONSTANTS

const Qore::PO_NO_INHERIT_USER_CONSTANTS = PO_NO_INHERIT_USER_CONSTANTS

Prohibits user constants from being imported into the new Program object.

Note
this does not apply to class constants
Since
Qore 0.8.12

◆ PO_NO_INHERIT_USER_HASHDECLS

const Qore::PO_NO_INHERIT_USER_HASHDECLS = PO_NO_INHERIT_USER_HASHDECLS

Prohibits user hashdecls from being imported into the new Program object.

Since
Qore 0.8.13

◆ PO_NO_IO

const Qore::PO_NO_IO = PO_NO_IO

Prohibits all terminal and file I/O and GUI operations.

made up of PO_NO_GUI | PO_NO_TERMINAL_IO | PO_NO_FILESYSTEM | PO_NO_NETWORK | PO_NO_DATABASE | PO_NO_UNCONTROLLED_APIS

See also
%no-io

◆ PO_NO_LOCALE_CONTROL

const Qore::PO_NO_LOCALE_CONTROL = PO_NO_LOCALE_CONTROL

Disallows access to functionality that can change locale parameters.

See also
%no-locale-control

◆ PO_NO_MODULES

const Qore::PO_NO_MODULES = PO_NO_MODULES

Disallows loading modules with the %requires directive or at runtime with load_module()

See also
%no-modules

◆ PO_NO_NAMESPACE_DEFS

const Qore::PO_NO_NAMESPACE_DEFS = PO_NO_NAMESPACE_DEFS

Disallows new namespace definitions.

See also
%no-namespace-defs

◆ PO_NO_NETWORK

const Qore::PO_NO_NETWORK = PO_NO_NETWORK

Disallows access to network functionality.

See also
%no-network

◆ PO_NO_NEW

const Qore::PO_NO_NEW = PO_NO_NEW

Disallows use of the new operator.

Note that objects can still be instantiated with syntax like:

Mutex m();
See also
%no-new

◆ PO_NO_PROCESS_CONTROL

const Qore::PO_NO_PROCESS_CONTROL = PO_NO_PROCESS_CONTROL

Disallows access to functions that would affect the current process (exit(), exec(), fork(), etc)

See also
%no-process-control

◆ PO_NO_REFLECTION

const Qore::PO_NO_REFLECTION = PO_NO_REFLECTION

Disallows access to reflection.

Since
Qore 0.9

◆ PO_NO_SUBROUTINE_DEFS

const Qore::PO_NO_SUBROUTINE_DEFS = PO_NO_SUBROUTINE_DEFS

Disallows subroutine (function) definitions.

See also
%no-subroutine-defs

◆ PO_NO_SYSTEM_API

const Qore::PO_NO_SYSTEM_API = PO_NO_SYSTEM_API

Prohibits any code from being inherited into the Program object, including the system API.

made up of:

Since
Qore 0.8.12

◆ PO_NO_SYSTEM_CLASSES

const Qore::PO_NO_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES

Prohibits system classes from being imported into the new Program object.

Note
PO_NO_INHERIT_SYSTEM_CLASSES was added in Qore 0.8.12 with the same value of this constant to provide a consistent naming convention for inheritance permissions

◆ PO_NO_SYSTEM_FUNC_VARIANTS

const Qore::PO_NO_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS

Prohibits builtin/system function variants from being imported into the new Program object.

Note
PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS was added in Qore 0.8.12 with the same value of this constant to provide a consistent naming convention for inheritance permissions

◆ PO_NO_TERMINAL_IO

const Qore::PO_NO_TERMINAL_IO = PO_NO_TERMINAL_IO

Disallows access to reading from and/or writing to the terminal.

See also
%no-terminal-io

◆ PO_NO_THREAD_CLASSES

const Qore::PO_NO_THREAD_CLASSES = PO_NO_THREAD_CLASSES

Disallows access to any thread classes.

See also
%no-thread-classes

◆ PO_NO_THREAD_CONTROL

const Qore::PO_NO_THREAD_CONTROL = PO_NO_THREAD_CONTROL

Disallows access to any thread-control functions and thread-relevant statements and operators (for example the background operator and the thread_exit statement)

See also
%no-thread-control

◆ PO_NO_THREAD_INFO

const Qore::PO_NO_THREAD_INFO = PO_NO_THREAD_INFO

Disallows access to functionality that provides information about threading.

See also
%no-thread-info

◆ PO_NO_THREADS

const Qore::PO_NO_THREADS = PO_NO_THREADS

Prohibits access to all threading information.

made up of PO_NO_THREAD_CONTROL | PO_NO_THREAD_CLASSES | PO_NO_THREAD_INFO

See also
%no-threads

◆ PO_NO_TOP_LEVEL_STATEMENTS

const Qore::PO_NO_TOP_LEVEL_STATEMENTS = PO_NO_TOP_LEVEL_STATEMENTS

Disallows top level code.

See also
%no-top-level

◆ PO_NO_TRANSIENT

const Qore::PO_NO_TRANSIENT = PO_NO_TRANSIENT

Disallows the transient.

Since
Qore 0.9

◆ PO_NO_UNCONTROLLED_APIS

const Qore::PO_NO_UNCONTROLLED_APIS = PO_NO_UNCONTROLLED_APIS

disallow access to "uncontrolled APIs" like external language bindings or direct generic system call APIs that could bypass Qore's sandboxing controls

See also
%no-uncontrolled-apis
Since
Qore 0.8.13

◆ PO_NO_USER_API

const Qore::PO_NO_USER_API = PO_NO_USER_API

Prohibits any user code from being inherited into the Program object.

made up of:

Since
Qore 0.8.12

◆ PO_NO_USER_CLASSES

const Qore::PO_NO_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES

Prohibits user classes from being imported into the new Program object.

Note
PO_NO_INHERIT_USER_CLASSES was added in Qore 0.8.12 with the same value of this constant to provide a consistent naming convention for inheritance permissions

◆ PO_POSITIVE_OPTIONS

const Qore::PO_POSITIVE_OPTIONS = PO_POSITIVE_OPTIONS

mask of all parse options allowing for more freedom (instead of less)

made up of a binary-or'ed combination of:

◆ PO_REQUIRE_OUR

const Qore::PO_REQUIRE_OUR = PO_REQUIRE_OUR

Requires global variables to be declared with our before use.

See also
%require-our

◆ PO_REQUIRE_PROTOTYPES

const Qore::PO_REQUIRE_PROTOTYPES = PO_REQUIRE_PROTOTYPES

Requires all function and method parameters and return types to have type declarations.

However, variable declarations and object members are not required to have type declarations

See also
PO_REQUIRE_TYPES
%require-prototypes

◆ PO_REQUIRE_TYPES

const Qore::PO_REQUIRE_TYPES = PO_REQUIRE_TYPES

Requires all function and method parameters, return types, variables, and object members to have type declarations.

Note
This option also implies PO_STRICT_ARGS
See also
PO_REQUIRE_PROTOTYPES
%require-types

◆ PO_STRICT_ARGS

const Qore::PO_STRICT_ARGS = PO_STRICT_ARGS

Prohibits access to builtin functions and methods flagged with RT_NOOP and also causes errors to be raised if excess arguments are given to functions that do not access excess arguments.

This option is set implicitly with PO_REQUIRE_TYPES

See also
%strict-args

◆ PO_STRICT_BOOLEAN_EVAL

const Qore::PO_STRICT_BOOLEAN_EVAL = PO_STRICT_BOOLEAN_EVAL

Sets strict mathematical boolean evaluation runtime mode (the qore default prior to v0.8.6)

See also
%strict-bool-eval
Since
Qore 0.8.6

◆ PO_STRICT_TYPES

const Qore::PO_STRICT_TYPES = PO_STRICT_TYPES

Sets strict type checking and automatically sets default values for lvalues with type restrictions for types with default values.

See also
%strict-types
Since
Qore 0.9.4

◆ PO_STRONG_ENCAPSULATION

const Qore::PO_STRONG_ENCAPSULATION = PO_STRONG_ENCAPSULATION

disallows out-of-line class and namespace declarations

See also
%strong-encapsulation
Since
Qore 0.8.13