CompileAfter
Usage
To indicate that the class compiler should compile this class after other classes, use the following syntax:
Class MyApp.MyClass [ CompileAfter = classlist ] { //class members }
Where classlist is one of the following:
-
A class name. For example:
[ CompileAfter = MyApp.Class1 ]
-
A comma-separated list of class names, enclosed in parentheses. For example:
[ CompileAfter = (MyApp.Class1,MyApp.Class2,MyApp.Class3) ]
Details
This keyword specifies that the class compiler should compile this class after compiling the specified classes.
Typically this keyword is used when there is a dependency that the compiler cannot detect between classes such that one must be compiled after another.
This keyword affects only compilation order, not runtime behavior.
The CompileAfter keyword does not ensure the specified classes are runnable before compiling this class. See the DependsOn keyword.
Also, the CompileAfter keyword affects only classes with common values for the System keyword.
Effect on Subclasses
This keyword is inherited from all superclasses. If the subclass specifies a value for the keyword, that value specifies additional classes that must be compiled before the subclass can be compiled.
Default
By default, this keyword is not specified.
See Also
-
System keyword
-
DependsOn keyword
-
“Class Definitions” in this book
-
“Defining and Compiling Classes” in Using Caché Objects
-
“Introduction to Compiler Keywords” in Using Caché Objects