Directive #pragma


Directive #pragma

#pragma

Description

This is a generic directive for flags to the compiler.

These are some of the flags that are available:

"all_inline"

This is the same as adding the modifier inline to all functions that follow.

"all_final"

Instructs the compiler to mark all symbols as final.

"deprecation_warnings"

Enable warnings for use of deprecated or experimental symbols (default). Note that this does not enable warnings for experimental symbols if those warnings have been disabled explicitly via "no_experimental_warnings".

"no_deprecation_warnings"

Disable warnings for use of deprecated or experimental symbols. This is typically used in code that implements the deprecated symbols.

"experimental_warnings"

Enable warnings for use of experimental symbols (default). Note that this does not enable warnings for experimental symbols when warnings for deprecated symbols are disabled.

"no_experimental_warnings"

Disable warnings for use of experimental symbols. This is typically used in code that implements or tests the experimental symbols.

"save_parent"

Cause nested classes to save a reference to their surrounding class even if not strictly needed.

"dont_save_parent"

Inverse of "save_parent". This is needed to override if the global symbol __pragma_save_parent__ has been set.

"strict_types"

Enable warnings for all cases where the compiler isn't certain that the types are correct.

"disassemble"

Enable disassembly output for the code being compiled. Note that this option essentially has a function-level scope, so enabling it for just a few lines is usually a noop. This is similar to Debug.assembler_debug() level 3.

"no_disassemble"

Disable disassembly output (default).