Ens.DTL.Compiler
class Ens.DTL.Compiler extends %Library.RegisteredObject
This is the DTL Compiler. It it called primarily during the compilation process of subclasses of Ens.DataTransformDTL that define a DTL XDATA block. However, it can be called to directly compile a file or a stream containing DTL These debug flags affect the diagnostic output of the compiler:- ^Ens.Debug("ShowGeneratedXML") - Displays xml reconstructed from the parse tree to the current deviceProperty Inventory
Method Inventory
Properties
property ClassName as %String;
This holds the name of the data transform class
Property methods: ClassNameDisplayToLogical(), ClassNameGet(), ClassNameIsValid(), ClassNameLogicalToDisplay(), ClassNameLogicalToOdbc(), ClassNameNormalize(), ClassNameSet()
property Implementation as %RawString [ Transient ];
This holds the method implementation stream
Property methods: ImplementationGet(), ImplementationIsValid(), ImplementationSet()
property Indent as %String [ InitialExpression = $char(9) ];
Property methods: IndentDisplayToLogical(), IndentGet(), IndentIsValid(), IndentLogicalToDisplay(), IndentLogicalToOdbc(), IndentNormalize(), IndentSet()
property Language as %String;
This holds the language of the current compilation
Property methods: LanguageDisplayToLogical(), LanguageIsValid(), LanguageLogicalToDisplay(), LanguageLogicalToOdbc(), LanguageNormalize(), LanguageSet()
property Transform as Ens.DTL.Transform;
This holds the root of the Parse Tree
Property methods: TransformGet(), TransformGetSwizzled(), TransformIsValid(), TransformNewObject(), TransformSet()
Methods
method AddIndent()
classmethod CompileStream(pStream As %BinaryStream, pClass As %Dictionary.ClassDefinition, pMethod As %Stream.MethodGenerator) as %Status
Parse the DTL contained in the supplied stream and generate a stream
containing the implementation of the Transform method
classmethod GenerateCode(pTransform As Ens.DTL.Transform, pClass As %Dictionary.ClassDefinition, pMethod As %Stream.MethodGenerator) as %Status
classmethod GenerateXML(pTransform As Ens.DTL.Transform) as %Status
method LanguageGet() as %String
Accesor for Language
classmethod ParseStream(Output pTransform As Ens.DTL.Transform, pStream As %BinaryStream) as %Status
method RemoveIndent()
Inherited Members
Inherited Methods
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()