Class Reference
IRIS for UNIX 2019.4
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [Ens] >  [DTL] >  [Compiler]
Private  Storage   

class Ens.DTL.Compiler extends %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


Parameters Properties Methods Queries Indices ForeignKeys Triggers
5 7


ClassName Implementation Indent Language Transform

%%OIDGet %AddToSaveSet %BindExport %BuildObjectGraph
%ClassIsLatestVersion %ClassName %Close %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IncrementCount %IsA %IsModified
%New %NormalizeObject %ObjectModified %OriginalNamespace
%PackageName %RemoveFromSaveSet %SerializeObject %SetModified
%ValidateObject AddIndent CompileStream GenerateCode
GenerateXML LanguageGet ParseStream RemoveIndent


• property ClassName as %String;
This holds the name of the data transform class
• property Implementation as %RawString [ Transient ];
This holds the method implementation stream
• property Indent as %String [ InitialExpression = $char(9) ];
• property Language as %String;
This holds the language of the current compilation
• property Transform as Ens.DTL.Transform;
This holds the root of the Parse Tree


• 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()

Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.