Skip to main content

%CPT.JS.BuildCPT

Class %CPT.JS.BuildCPT Extends %ZEN.proxyObjectEnumeratee [ System = 4 ]

Properties

Stack

Property Stack As list Of %CPT.JS.Node.Abstract [ Internal, Private ];

Editor

Property Editor As %CPT.Tree.Editor [ Internal, Private ];

TraceNode

Property TraceNode As %String [ Internal, Private ];

"" => no node tracing "T" => trace only "B" => both

Methods

Build

ClassMethod Build(SourceStream As %Stream.Object, Tree As %ZEN.proxyObject, TraceNode As %String = "", TraceEnum As %String = "") As %Status [ Internal ]

%OnNew

Method %OnNew(TraceNode As %String = "", SourceStream As %Stream.Object) As %Status

PropertyName

Method PropertyName(Prop As %String) [ Internal ]

BeginNested

Method BeginNested() [ Internal ]

EndNested

Method EndNested() [ Internal ]

ListIndex

Method ListIndex(Index) [ Internal ]

NOTE: We always expect contiguous lists so we don't bother to implement the ListIndex callback

BeginList

Method BeginList() [ Internal ]

EndList

Method EndList() [ Internal ]

CacheObject

Method CacheObject(Obj As %RegisteredObject) [ Internal ]

Simple

Method Simple(Item) [ Internal ]

MaybeUnquote

Method MaybeUnquote(Prop As %String) As %String [ CodeMode = expression, Internal, Private ]

Top

Method Top() As %CPT.JS.Node.Abstract [ CodeMode = expression, Internal, Private ]

Push

Method Push(Node As %CPT.JS.Node.Abstract) [ Internal, Private ]

Pop

Method Pop() [ Internal, Private ]

WriteProp

Method WriteProp(Prop As %String) [ Internal, Private ]

MaybeFixName

ClassMethod MaybeFixName(Name As %String) As %String [ CodeMode = expression, Internal, Private ]

FixName

ClassMethod FixName(Name As %String) As %String [ CodeMode = expression, Internal, Private ]

Enumeratee

ClassMethod Enumeratee(SourceStream As %Stream.Object, TraceNode As %String, TraceEnum As %String = "") As %ZEN.proxyObjectEnumeratee [ Internal, Private ]

NewNodeObject

Method NewNodeObject(CurrentNode As %CPT.JS.Node.Abstract) As %CPT.JS.Node.Abstract [ Internal, Private ]