Grafoscopio/repository/Grafoscopio/GrafoscopioBranchNode.class.st

55 lines
1.2 KiB
Smalltalk

"
Branch node. this kind of node has no content
"
Class {
#name : #GrafoscopioBranchNode,
#superclass : #GrafoscopioLeafNode,
#instVars : [
'children'
],
#category : 'Grafoscopio-Model'
}
{ #category : #'instance creation' }
GrafoscopioBranchNode class >> isLeaf [
^ false
]
{ #category : #accessing }
GrafoscopioBranchNode >> acceptVisitor: aGrafoscopioVisitor [
aGrafoscopioVisitor visitBranchNode: self.
]
{ #category : #accessing }
GrafoscopioBranchNode >> acceptsChildsOfClass: aClass [
^ {GrafoscopioBranchNode.
GrafoscopioUnitNode} includes: aClass
]
{ #category : #accessing }
GrafoscopioBranchNode >> addChild: aBlock ofClass: aClass [
(self acceptsChildsOfClass: aClass)
ifTrue: [ self children add: aBlock value ]
]
{ #category : #accessing }
GrafoscopioBranchNode >> children [
"Returns the receivers list of children"
^ children ifNil: [ children := OrderedCollection new ]
]
{ #category : #accessing }
GrafoscopioBranchNode >> children: aCollection [
"Sets the receivers children"
aCollection do: [:currentNode | currentNode parent: self ].
children := aCollection.
]
{ #category : #accessing }
GrafoscopioBranchNode >> isLeaf [
^ false
]