MCDefinitionIndex.st
author Claus Gittinger <cg@exept.de>
Mon, 14 May 2018 02:21:18 +0200
changeset 1048 582b3a028cbc
parent 790 beb50bd00335
child 1002 54b4906215ca
permissions -rw-r--r--
#FEATURE by cg class: MCMethodDefinition changed: #postloadOver:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#MCDefinitionIndex
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'definitions'
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
618
bd4226d917e0 category change
Claus Gittinger <cg@exept.de>
parents: 366
diff changeset
     7
	category:'SCM-Monticello-Patching'
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
790
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    10
!MCDefinitionIndex class methodsFor:'documentation'!
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    11
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    12
documentation
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    13
"
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    14
    I'm a simple container of MCDefinitions which can be added or removed.
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    15
"
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    16
! !
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    18
!MCDefinitionIndex class methodsFor:'initialization'!
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    19
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    20
new
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    21
    ^self basicNew initialize
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    22
! !
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    23
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
!MCDefinitionIndex class methodsFor:'as yet unclassified'!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
definitions: aCollection
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	^ self new addAll: aCollection
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
! !
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!MCDefinitionIndex methodsFor:'as yet unclassified'!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
add: aDefinition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	definitions at: aDefinition description put: aDefinition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
addAll: aCollection
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
	aCollection do: [:ea | self add: ea]
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
definitionLike: aDefinition ifPresent: foundBlock ifAbsent: errorBlock
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	| definition |
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    42
	definition := definitions at: aDefinition description ifAbsent: [].
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	^ definition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
		ifNil: errorBlock
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
		ifNotNil: [foundBlock value: definition]
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
definitions
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	^ definitions values
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
initialize
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    53
	super initialize.
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    54
	definitions := Dictionary new
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
remove: aDefinition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
	definitions removeKey: aDefinition description ifAbsent: []
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
! !
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
!MCDefinitionIndex class methodsFor:'documentation'!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
version
790
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    64
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCDefinitionIndex.st,v 1.5 2013-05-15 11:57:02 cg Exp $'
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    65
!
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    66
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    67
version_CVS
790
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    68
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCDefinitionIndex.st,v 1.5 2013-05-15 11:57:02 cg Exp $'
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    69
!
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    70
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    71
version_SVN
790
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    72
    ^ '$Id: MCDefinitionIndex.st,v 1.5 2013-05-15 11:57:02 cg Exp $'
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
! !
790
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    74