Home > Class Reference > ENSLIB namespace > 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 device

Property Inventory (Including Private)

Method Inventory (Including Private)

Properties (Including Private)

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(), LanguageGet(), 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 (Including Private)

method AddIndent() [ Language = objectscript ]
classmethod CompileStream(pStream As %BinaryStream, pClass As %Dictionary.ClassDefinition, pMethod As %Stream.MethodGenerator) as %Status [ Language = objectscript ]
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 [ Language = objectscript ]
classmethod GenerateXML(pTransform As Ens.DTL.Transform) as %Status [ Language = objectscript ]
method LanguageGet() as %String [ Language = objectscript ]
Accesor for Language
classmethod ParseStream(Output pTransform As Ens.DTL.Transform, pStream As %BinaryStream) as %Status [ Language = objectscript ]
method RemoveIndent() [ Language = objectscript ]

Inherited Members

Inherited Methods (Including Private)