Qore Programming Language Reference Manual 2.0.0
Loading...
Searching...
No Matches
Parse Option Constants

Variables

const Qore::DomainCodeMap = qore(pomaps.getDomainToStringMap())
 Maps from functional domain bitfield code values (as string keys) to functional domain names.
 
const Qore::DomainStringMap = qore(pomaps.getStringToDomainMap())
 Maps from functional domain strings to functional domain bitfield integer codes.
 
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.
 
const Qore::PO_ALLOW_DEBUGGER = PO_ALLOW_DEBUGGER
 Allows the use of functionality required to implement a debugger, mainly via DebugProgram.
 
const Qore::PO_ALLOW_INJECTION = PO_ALLOW_INJECTION
 Allows code/dependency injections in the contained Program object.
 
const Qore::PO_ALLOW_RETURNS = PO_ALLOW_RETURNS
 Allows the use of the deprecated returns keyword.
 
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.
 
const Qore::PO_ALLOW_WEAK_REFERENCES = PO_ALLOW_WEAK_REFERENCES
 Allows the use of the weak assignment operator (:=).
 
const Qore::PO_ASSUME_LOCAL = PO_ASSUME_LOCAL
 Assume local variable scope when variables are first referenced if no my or our is present.
 
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.
 
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
 
const Qore::PO_BROKEN_LIST_PARSING = PO_BROKEN_LIST_PARSING
 allows for old pre-Qore 0.8.12 broken list rewriting in the parser
 
const Qore::PO_BROKEN_LOGIC_PRECEDENCE = PO_BROKEN_LOGIC_PRECEDENCE
 allows for old pre-Qore 0.8.12 precedence of logical and bitwise operators
 
const Qore::PO_BROKEN_LOOP_STATEMENT = PO_BROKEN_LOOP_STATEMENT
 allows for old pre-Qore 0.8.13 handling of break and continue
 
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
 
const Qore::PO_BROKEN_RANGE = PO_BROKEN_RANGE
 allows for old pre-Qore 0.9.5 handling of range() and xrange()
 
const Qore::PO_BROKEN_REFERENCES = PO_BROKEN_REFERENCES
 allows for old pre-Qore 0.8.13 handling of reference and *reference
 
const Qore::PO_BROKEN_SPRINTF = PO_BROKEN_SPRINTF
 Enables broken sprintf() handling where no argument is treated diffferently than NOTHING.
 
const Qore::PO_BROKEN_VARARGS = PO_BROKEN_VARARGS
 allows for old pre-Qore 1.17 handling of varargs
 
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
 
const Qore::PO_IN_MODULE = PO_IN_MODULE
 Only set by the system when in a user module Program.
 
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.
 
const Qore::PO_LOCK_WARNINGS = PO_LOCK_WARNINGS
 Disallows changes to the warning mask.
 
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.
 
const Qore::PO_NO_API = PO_NO_API
 Prohibits any code from being inherited into the Program object, including the system API.
 
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.
 
const Qore::PO_NO_CLASS_DEFS = PO_NO_CLASS_DEFS
 Disallows class definitions.
 
const Qore::PO_NO_CONSTANT_DEFS = PO_NO_CONSTANT_DEFS
 Disallows constant definitions.
 
const Qore::PO_NO_DATABASE = PO_NO_DATABASE
 Disallows access to database functionality.
 
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.
 
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.
 
const Qore::PO_NO_EXTERNAL_INFO = PO_NO_EXTERNAL_INFO
 Disallows access to functionality that provides information about the computing environment.
 
const Qore::PO_NO_EXTERNAL_PROCESS = PO_NO_EXTERNAL_PROCESS
 Disallows any access to external processes (with system(), backquote(), exec(), etc)
 
const Qore::PO_NO_FILESYSTEM = PO_NO_FILESYSTEM
 Disallows access to the filesystem.
 
const Qore::PO_NO_GLOBAL_VARS = PO_NO_GLOBAL_VARS
 Disallows the use of global variables.
 
const Qore::PO_NO_GUI = PO_NO_GUI
 Disallows access to functionality that draws graphics to the display.
 
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.
 
const Qore::PO_NO_INHERIT_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES
 Prohibits system classes from being imported into the new Program object.
 
const Qore::PO_NO_INHERIT_SYSTEM_CONSTANTS = PO_NO_INHERIT_SYSTEM_CONSTANTS
 Prohibits system constants from being imported into the new Program object.
 
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.
 
const Qore::PO_NO_INHERIT_SYSTEM_HASHDECLS = PO_NO_INHERIT_SYSTEM_HASHDECLS
 Prohibits system hashdecls from being imported into the new Program object.
 
const Qore::PO_NO_INHERIT_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES
 Prohibits user classes from being imported into the new Program object.
 
const Qore::PO_NO_INHERIT_USER_CONSTANTS = PO_NO_INHERIT_USER_CONSTANTS
 Prohibits user constants from being imported into the new Program object.
 
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.
 
const Qore::PO_NO_IO = PO_NO_IO
 Prohibits all terminal and file I/O and GUI operations.
 
const Qore::PO_NO_LOCALE_CONTROL = PO_NO_LOCALE_CONTROL
 Disallows access to functionality that can change locale parameters.
 
const Qore::PO_NO_MODULES = PO_NO_MODULES
 Disallows loading modules with the %requires directive or at runtime with load_module()
 
const Qore::PO_NO_NAMESPACE_DEFS = PO_NO_NAMESPACE_DEFS
 Disallows new namespace definitions.
 
const Qore::PO_NO_NETWORK = PO_NO_NETWORK
 Disallows access to network functionality.
 
const Qore::PO_NO_NEW = PO_NO_NEW
 Disallows use of the new operator.
 
const Qore::PO_NO_PROCESS_CONTROL = PO_NO_PROCESS_CONTROL
 Disallows access to functions that would affect the current process (exit(), exec(), fork(), etc)
 
const Qore::PO_NO_REFLECTION = PO_NO_REFLECTION
 Disallows access to reflection.
 
const Qore::PO_NO_SUBROUTINE_DEFS = PO_NO_SUBROUTINE_DEFS
 Disallows subroutine (function) definitions.
 
const Qore::PO_NO_SYSTEM_API = PO_NO_SYSTEM_API
 Prohibits any code from being inherited into the Program object, including the system API.
 
const Qore::PO_NO_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES
 Prohibits system classes from being imported into the new Program object.
 
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.
 
const Qore::PO_NO_TERMINAL_IO = PO_NO_TERMINAL_IO
 Disallows access to reading from and/or writing to the terminal.
 
const Qore::PO_NO_THREADS = PO_NO_THREADS
 Prohibits access to all threading information.
 
const Qore::PO_NO_THREAD_CLASSES = PO_NO_THREAD_CLASSES
 Disallows access to any thread classes.
 
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)
 
const Qore::PO_NO_THREAD_INFO = PO_NO_THREAD_INFO
 Disallows access to functionality that provides information about threading.
 
const Qore::PO_NO_TOP_LEVEL_STATEMENTS = PO_NO_TOP_LEVEL_STATEMENTS
 Disallows top level code.
 
const Qore::PO_NO_TRANSIENT = PO_NO_TRANSIENT
 Disallows the transient.
 
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
 
const Qore::PO_NO_USER_API = PO_NO_USER_API
 Prohibits any user code from being inherited into the Program object.
 
const Qore::PO_NO_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES
 Prohibits user classes from being imported into the new Program object.
 
const Qore::PO_POSITIVE_OPTIONS = PO_POSITIVE_OPTIONS
 mask of all parse options allowing for more freedom (instead of less)
 
const Qore::PO_REQUIRE_OUR = PO_REQUIRE_OUR
 Requires global variables to be declared with our before use.
 
const Qore::PO_REQUIRE_PROTOTYPES = PO_REQUIRE_PROTOTYPES
 Requires all function and method parameters and return types to have type declarations.
 
const Qore::PO_REQUIRE_TYPES = PO_REQUIRE_TYPES
 Requires all function and method parameters, return types, variables, and object members to have type declarations.
 
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.
 
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)
 
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.
 
const Qore::PO_STRONG_ENCAPSULATION = PO_STRONG_ENCAPSULATION
 disallows out-of-line class and namespace declarations
 
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.
 
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.
 
const Qore::ParseOptionCodeMap = qore(pomaps.getCodeToStringMap())
 Maps from parse option code values (as string keys) to parse option names.
 
const Qore::ParseOptionStringMap = qore(pomaps.getStringToCodeMap())
 Maps from parse option strings to parse option bitfield integer codes.
 

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_BROKEN_VARARGS

const Qore::PO_BROKEN_VARARGS = PO_BROKEN_VARARGS

allows for old pre-Qore 1.17 handling of varargs

See also
%broken-varargs
Since
Qore 1.17

◆ 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