MCDoItParser.st
author Jan Vrany <jan.vrany@labware.com>
Tue, 11 Jul 2023 12:59:07 +0100
branchjv
changeset 1174 f0a16c301971
parent 1095 87f223484bc3
permissions -rw-r--r--
Make `ProjectDefinition >> #monticelloTimestamps_code` an extension in `stx:goodies/monticello` ...and convert it to use (not so) new annotation-based extension mechanism.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1095
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 625
diff changeset
     1
"{ Encoding: utf8 }"
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 625
diff changeset
     2
39
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ Package: 'stx:goodies/monticello' }"
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
Object subclass:#MCDoItParser
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:'source'
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
625
cc77df5c930f category change
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
     9
	category:'SCM-Monticello-Chunk Format'
39
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!MCDoItParser class methodsFor:'as yet unclassified'!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
concreteSubclasses
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	^ self allSubclasses reject: [:c | c isAbstract]
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
211
dfeef408761e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 39
diff changeset
    19
forDoit: aString	
dfeef408761e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 39
diff changeset
    20
	| c |
dfeef408761e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 39
diff changeset
    21
	^ (c := self subclassForDoit: aString) ifNotNil: [c new source: aString]
39
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
isAbstract
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
	^ self pattern isNil
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
pattern
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	^ nil
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
subclassForDoit: aString
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	^ self concreteSubclasses detect: [:ea | ea pattern match: aString] ifNone: []
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
! !
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
!MCDoItParser methodsFor:'as yet unclassified'!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
addDefinitionsTo: aCollection
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	self subclassResponsibility 
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
source
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	^ source
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
source: aString
211
dfeef408761e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 39
diff changeset
    47
	source := aString
39
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
! !
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!MCDoItParser class methodsFor:'documentation'!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
version
625
cc77df5c930f category change
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
    53
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCDoItParser.st,v 1.4 2012-09-11 21:21:47 cg Exp $'
211
dfeef408761e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 39
diff changeset
    54
!
dfeef408761e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 39
diff changeset
    55
dfeef408761e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 39
diff changeset
    56
version_CVS
625
cc77df5c930f category change
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
    57
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCDoItParser.st,v 1.4 2012-09-11 21:21:47 cg Exp $'
211
dfeef408761e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 39
diff changeset
    58
!
dfeef408761e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 39
diff changeset
    59
dfeef408761e added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 39
diff changeset
    60
version_SVN
1095
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 625
diff changeset
    61
    ^ '§Id: MCDoItParser.st 17 2010-10-13 12:07:52Z vranyj1 §'
39
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
! !