Boo

pragma: compiler directive macro

Details

  • Type: New Feature New Feature
  • Status: In Progress In Progress
  • Priority: Minor Minor
  • Resolution: Unresolved
  • Affects Version/s: 0.8.2
  • Fix Version/s: 0.9.5
  • Component/s: Compiler
  • Labels:
    None
  • Number of attachments :
    0

Description

pragma: blocks are compiler directive macros that cannot yield nodes, and are executed before any macro:.
It can directly access .Parameters moreover .Context

It also has a few nested macros handy such as: define, undefine, suppressWarnings, warnAsError.

Example (with nested macros 'dsl'):

pragma:
	undefine BOO_0_8
	define BOO_0_9
	suppressWarnings BCW0001, BCW0002

Example (without nested macros 'dsl'):

pragma:
	Parameters.Undefine("BOO_0_8")
	Parameters.Define("BOO_0_9")
	Parameters.SuppressWarning("BCW0001")
	Parameters.SuppressWarning("BCW0002")
	Parameters.DefaultClassVisibility = TypeMemberModifiers.Private

One-liners should also be possible:

pragma Parameters.Undefine("BOO_0_8")

Activity

There are no comments yet on this issue.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated: