Class { #name : 'PPCMDelegateNode', #superclass : 'PPCMNode', #instVars : [ 'children' ], #category : 'PetitMarkdown-AST' } { #category : 'visiting' } PPCMDelegateNode >> accept: visitor [ ^ visitor visitDelegate: self ] { #category : 'accessing' } PPCMDelegateNode >> addChild: node [ self assert: node isCommonMarkNode. self children add: node. ] { #category : 'accessing' } PPCMDelegateNode >> addChildFirst: node [ self assert: node isCommonMarkNode. self children addFirst: node. ] { #category : 'accessing' } PPCMDelegateNode >> addChildren: nodes [ nodes do: [ :node | self addChild: node ] ] { #category : 'enumerating' } PPCMDelegateNode >> allChildren [ | retval | retval := OrderedCollection new. self children do: [ :child | retval addAll: child allChildren ]. ^ retval ] { #category : 'accessing' } PPCMDelegateNode >> child [ self assert: children size = 1. ^ children first ] { #category : 'accessing' } PPCMDelegateNode >> child: whatever [ children at: 1 put: whatever ] { #category : 'accessing' } PPCMDelegateNode >> children [ ^ children ] { #category : 'accessing' } PPCMDelegateNode >> children: whatever [ children := whatever ] { #category : 'accessing' } PPCMDelegateNode >> firstChild [ ^ children at: 1 ] { #category : 'initialization' } PPCMDelegateNode >> initialize [ children := OrderedCollection new ] { #category : 'replacing' } PPCMDelegateNode >> replace: child with: anotherChild [ children doWithIndex: [ :ch :index | (ch == child) ifTrue: [ children at: index put: anotherChild . ^ true ] ]. ^ false ] { #category : 'accessing' } PPCMDelegateNode >> secondChild [ ^ children at: 2 ] { #category : 'accessing' } PPCMDelegateNode >> thirdChild [ ^ children at: 3 ]