MCDefinitionIndex.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 07 Sep 2015 15:37:41 +0100
branchjv
changeset 1002 54b4906215ca
parent 790 beb50bd00335
permissions -rw-r--r--
Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz This is handy for creating .mcz more compatible with Squeak / Pharo.
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
1002
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 790
diff changeset
     3
"{ NameSpace: Smalltalk }"
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 790
diff changeset
     4
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
Object subclass:#MCDefinitionIndex
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:'definitions'
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
618
bd4226d917e0 category change
Claus Gittinger <cg@exept.de>
parents: 366
diff changeset
     9
	category:'SCM-Monticello-Patching'
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
790
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    12
!MCDefinitionIndex class methodsFor:'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
documentation
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
    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
    17
"
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    18
! !
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    20
!MCDefinitionIndex class methodsFor:'initialization'!
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    21
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    22
new
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    23
    ^self basicNew initialize
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    24
! !
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    25
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
!MCDefinitionIndex class methodsFor:'as yet unclassified'!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
definitions: aCollection
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	^ self new addAll: aCollection
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
! !
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
!MCDefinitionIndex methodsFor:'as yet unclassified'!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
add: aDefinition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
	definitions at: aDefinition description put: aDefinition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
addAll: aCollection
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	aCollection do: [:ea | self add: ea]
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
definitionLike: aDefinition ifPresent: foundBlock ifAbsent: errorBlock
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	| definition |
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    44
	definition := definitions at: aDefinition description ifAbsent: [].
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
	^ definition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
		ifNil: errorBlock
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
		ifNotNil: [foundBlock value: definition]
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
definitions
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	^ definitions values
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
initialize
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    55
	super initialize.
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    56
	definitions := Dictionary new
63
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
remove: aDefinition
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
	definitions removeKey: aDefinition description ifAbsent: []
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
! !
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
!MCDefinitionIndex class methodsFor:'documentation'!
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
150479ea08e3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
version
790
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    66
    ^ '$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
    67
!
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    68
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    69
version_CVS
790
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    70
    ^ '$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
    71
!
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    72
1002
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 790
diff changeset
    73
version_HG
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 790
diff changeset
    74
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 790
diff changeset
    75
    ^ '$Changeset: <not expanded> $'
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 790
diff changeset
    76
!
54b4906215ca Introduced MCSnapshotOptions for more fine-graned control over contents of .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 790
diff changeset
    77
253
210420763f65 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
    78
version_SVN
790
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    79
    ^ '$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
    80
! !
790
beb50bd00335 class: MCDefinitionIndex
Claus Gittinger <cg@exept.de>
parents: 618
diff changeset
    81