第十五章 ObjectScript 系统标志和限定符 (qspec) - 标志的限定符

78 阅读3分钟

第十五章 ObjectScript 系统标志和限定符 (qspec) - 标志的限定符

UnitTest限定符

FlagMeaningDefault
/autoload指定要自动加载的目录。
/cleanup在单元测试完成时清除Global。默认情况下,不清理Global。即使设置了Global,也不会清理Global0
/debug如果断言失败,则导致断言中断。0
/delete确定是否应该删除加载的类。1
/display/displaylog/displayerror的别名限定符。
/displayerror显示错误信息。1
/displaylog显示日志信息。1
/findleakedvariables当启用时,在运行测试之前记录当前在流程中设置的公共变量,然后与测试完成后设置的变量进行比较。除了一组预先确定的已知上下文和输出变量(如SQLCODE)之外,任何新定义的变量及其值都将作为测试失败报告。0
/load确定是否应该装入类;如果没有,则只从目录中获取类名。1
/loadudl加载IDE生成的UDL文件。当设置时,加载.cls, .mac, .int, and .inc files./loadudl/loadxml可以用来限制加载的文件类型;缺省情况下,加载所有文件。UDL文件总是以UTF8格式加载,以便正确加载Unicode字符。1
/loadxml加载xml格式的源文件。设置后,加载.xml文件。/loadudl/loadxml可以用来限制加载的文件类型;缺省情况下,加载所有文件。1
/recursive确定子目录中的测试是否应递归运行。1
/run确定是否应该运行测试。1

标志的限定符

下表给出了现有的标志和等价的限定符。一些标志映射到多个限定符,并且在用于不同目的时具有不同的含义。

FlagGroupQualifierDefault
bCompiler/subclasses0
cCompiler/compile0
dCompiler/displayerror1
dCompiler/displaylog1
dUnitTest/displayerror1
dUnitTest/displaylog1
eCompiler/deleteextent0
iCompiler/checkschema1
kCompiler/keepsource0
lCompiler/lock1
pCompiler/percent0
rCompiler/predecessorclasses0
rCompiler/includesubpackages1
sCompiler/system0
yCompiler/relatedclasses0
bExport/subclasses0
dExport/displayerror1
dExport/displaylog1
gExport/exportselectivity0
pExport/percent0
rExport/includesubpackages1
rExport/recursive1
rExport/predecessorclasses0
sExport/system0
yExport/relatedclasses0
hShowClassAndObject/hidden0
sShowClassAndObject/system0

关于标志和限定符的帮助

要查看标志的可用设置,使用命令:

 Do $system.OBJ.ShowFlags()

这会产生如下输出:

See $system.OBJ.ShowQualifiers() for comprehensive list of qualifiers as flags have been superseded
by qualifiers
 
    b - Include sub classes.
    c - Compile. Compile the class definition(s) after loading.
    d - Display. This flag is set by default.
...
Default flags for this namespace
You may change the default flags with the SetFlags(flags,system) classmethod.

类似地,要查看限定符的可用设置,使用命令:

 Do $system.OBJ.ShowQualifiers()

这会产生如下输出:

            Name: /checkschema
    Description: Validate imported XML files against the schema definition.
           Type: logical
           Flag: i
  Default Value: 1

           Name: /checksysutd
    Description: Check system classes for up-to-dateness
           Type: logical
  Default Value: 0

           Name: /checkuptodate
    Description: Skip classes or expanded classes that are up-to-date.
           Type: enum
           Flag: ll
      Enum List: none,all,expandedonly,0,1
  Default Value: expandedonly
  Present Value: all
  Negated Value: none
...

这些方法还分别报告当前标志和限定符。

控制默认值

此页面列出了标志和限定符的默认值(如果适用)。可以使用 %SYSTEM.OBJSetFlags() 方法覆盖默认标志。同样,可以使用 SetQualifiers() 方法为当前命名空间(默认)或系统范围设置限定符。

qspec 的处理顺序

qspec 是从左到右处理的。给定标志或限定符的设置将覆盖当前设置,无论它来自环境默认值,还是来自 qspec 中较早出现的设置。

请注意,由于标志必须列在任何限定符的左侧,因此限定符设置始终会覆盖任何标志设置。