'From Squeak 2.5 of August 6, 1999 on 9 September 1999 at 4:47:20 pm'! Object subclass: #Tree instanceVariableNames: 'info left right ' classVariableNames: '' poolDictionaries: '' category: 'TreeProject'! !Tree methodsFor: 'testing' stamp: 'mjg 9/9/1999 16:47'! isLeftTree "Is my left side a tree?" ^(left isKindOf: Tree) ! ! !Tree methodsFor: 'testing' stamp: 'mjg 9/9/1999 16:47'! isRightTree "Is my right side a tree?" ^(right isKindOf: Tree) ! ! !Tree methodsFor: 'traversal' stamp: 'mjg 9/9/1999 16:43'! inorder "If leftside is a tree, traverse it. Traverse yourself. If rightside is a tree, traverse it." | result | result := OrderedCollection new. self isLeftTree ifTrue: [result := result , left inorder]. result add: info. self isRightTree ifTrue: [result := result , right inorder]. ^result ! ! !Tree methodsFor: 'accessors' stamp: 'mjg 9/9/1999 16:42'! info info isNil ifTrue: [^''] ifFalse: [^info]. ! ! !Tree methodsFor: 'accessors' stamp: 'mjg 9/9/1999 16:32'! info: something info _ something. ! ! !Tree methodsFor: 'accessors' stamp: 'mjg 9/9/1999 16:33'! left ^left ! ! !Tree methodsFor: 'accessors' stamp: 'mjg 9/9/1999 16:32'! left: aTree left _ aTree. ! ! !Tree methodsFor: 'accessors' stamp: 'mjg 9/9/1999 16:33'! right ^right ! ! !Tree methodsFor: 'accessors' stamp: 'mjg 9/9/1999 16:33'! right: aTree right _ aTree ! !