ChangeSet.st
changeset 3184 ca653a71c27f
parent 3176 bf3e3ac08152
child 3195 5ce601cd8a45
equal deleted inserted replaced
3183:71641876b951 3184:ca653a71c27f
    19 !
    19 !
    20 
    20 
    21 Object subclass:#ChangeFileReader
    21 Object subclass:#ChangeFileReader
    22 	instanceVariableNames:'inputStream parseTree changeAction changeSet selector receiver
    22 	instanceVariableNames:'inputStream parseTree changeAction changeSet selector receiver
    23 		arguments receiverSelector receiverReceiver lineNumber position
    23 		arguments receiverSelector receiverReceiver lineNumber position
    24 		className methodSelector chunk timestamp'
    24 		className methodSelector nameSpaceOverride chunk timestamp'
    25 	classVariableNames:''
    25 	classVariableNames:''
    26 	poolDictionaries:''
    26 	poolDictionaries:''
    27 	privateIn:ChangeSet
    27 	privateIn:ChangeSet
    28 !
    28 !
    29 
    29 
  2220 checkReceiverIsGlobalNamed:expectedName
  2220 checkReceiverIsGlobalNamed:expectedName
  2221     ^ self variableNameOfReceiver = expectedName
  2221     ^ self variableNameOfReceiver = expectedName
  2222 !
  2222 !
  2223 
  2223 
  2224 classNameOf:aReceiver
  2224 classNameOf:aReceiver
       
  2225     "old"
  2225 
  2226 
  2226     | nameSpace clsName |
  2227     | nameSpace clsName |
  2227     nameSpace := Class nameSpaceQuerySignal query.
  2228     nameSpace := Class nameSpaceQuerySignal query.
  2228 
  2229 
  2229     (aReceiver isUnaryMessage and:[aReceiver selector == #class]) 
  2230     (aReceiver isUnaryMessage and:[aReceiver selector == #class]) 
  2230             ifTrue:[clsName := (aReceiver receiver name) , ' class'] 
  2231             ifTrue:[clsName := (aReceiver receiver name) , ' class'] 
  2231             ifFalse:[clsName := aReceiver name].
  2232             ifFalse:[clsName := aReceiver name].
  2232 
  2233 
  2233     ^(nameSpace ~~ Smalltalk and:[(clsName startsWith: nameSpace name) not])
  2234     (nameSpace ~~ Smalltalk and:[(clsName startsWith: nameSpace name) not])
  2234         ifTrue:[nameSpace name , '::' , clsName]
  2235         ifTrue:[
  2235         ifFalse:[clsName].
  2236             ^ nameSpace name , '::' , clsName
       
  2237         ] ifFalse:[     
       
  2238             ^ clsName
       
  2239         ].
       
  2240 
       
  2241     "Modified: / 24-01-2012 / 17:07:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
  2242 !
       
  2243 
       
  2244 classNameOfRememberingNamespace:aReceiver
       
  2245     "new"
       
  2246 
       
  2247     | nameSpace clsName |
       
  2248 
       
  2249     nameSpace := Class nameSpaceQuerySignal query.
       
  2250 
       
  2251     (aReceiver isUnaryMessage and:[aReceiver selector == #class]) 
       
  2252             ifTrue:[clsName := (aReceiver receiver name) , ' class'] 
       
  2253             ifFalse:[clsName := aReceiver name].
       
  2254 
       
  2255     (nameSpace ~~ Smalltalk and:[(clsName startsWith: nameSpace name) not])
       
  2256         ifTrue:[
       
  2257             "/ old: remember namespace in name
       
  2258             "/ ^ nameSpace name , '::' , clsName
       
  2259             "/ new: remember in override
       
  2260             nameSpaceOverride := nameSpace.
       
  2261             ^ clsName
       
  2262         ] ifFalse:[
       
  2263             nameSpaceOverride := nil.
       
  2264             ^ clsName
       
  2265         ].
  2236 
  2266 
  2237     "Modified: / 24-01-2012 / 17:07:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  2267     "Modified: / 24-01-2012 / 17:07:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  2238 !
  2268 !
  2239 
  2269 
  2240 extractMethodsClassAndSelectorFromReceiver
  2270 extractMethodsClassAndSelectorFromReceiver
  2245     (receiver isMessage
  2275     (receiver isMessage
  2246     and:[receiverSelector == #'compiledMethodAt:']) ifFalse:[
  2276     and:[receiverSelector == #'compiledMethodAt:']) ifFalse:[
  2247         self error:'unexpected change' mayProceed:true.
  2277         self error:'unexpected change' mayProceed:true.
  2248         ^ false.
  2278         ^ false.
  2249     ].
  2279     ].
  2250     className := self classNameOf:receiverReceiver.
  2280 
       
  2281     "/ className := self classNameOf:receiverReceiver.
       
  2282     className := self classNameOfRememberingNamespace:receiverReceiver.
  2251     self assert:className notNil.
  2283     self assert:className notNil.
  2252 
  2284 
  2253 "/  nameSpace ~~ Smalltalk ifTrue:[
       
  2254 "/      className := nameSpace name , '::' , className
       
  2255 "/  ].
       
  2256     methodSelector := (receiver arguments at:1) evaluate.
  2285     methodSelector := (receiver arguments at:1) evaluate.
  2257     self assert:methodSelector notNil.
  2286     self assert:methodSelector notNil.
  2258     ^ true.
  2287     ^ true.
  2259 
  2288 
  2260     "Created: / 27-07-2012 / 21:33:47 / cg"
  2289     "Created: / 27-07-2012 / 21:33:47 / cg"
  2261 !
  2290 !
  2262 
  2291 
  2263 receiversClassName
  2292 receiversClassName
  2264     ^ self classNameOf:receiver
  2293     ^ self classNameOf:receiver
       
  2294 !
       
  2295 
       
  2296 receiversClassNameRememberingNamespace
       
  2297     ^ self classNameOfRememberingNamespace:receiver
  2265 !
  2298 !
  2266 
  2299 
  2267 variableNameOfReceiver
  2300 variableNameOfReceiver
  2268 
  2301 
  2269     receiver isVariable ifFalse:[ ^ nil ].
  2302     receiver isVariable ifFalse:[ ^ nil ].
  2314 
  2347 
  2315 handleCategoriesForChange
  2348 handleCategoriesForChange
  2316     |selector category categories attributes change|
  2349     |selector category categories attributes change|
  2317 
  2350 
  2318     selector := arguments first value.
  2351     selector := arguments first value.
  2319     className := self receiversClassName.
  2352     className := self receiversClassNameRememberingNamespace.
  2320 
  2353 
  2321     categories := OrderedCollection new.
  2354     categories := OrderedCollection new.
  2322     attributes := OrderedCollection new.
  2355     attributes := OrderedCollection new.
  2323 
  2356 
  2324     [
  2357     [
  2337         change := MethodCategoryChange 
  2370         change := MethodCategoryChange 
  2338                         className:className
  2371                         className:className
  2339                         selector:selector
  2372                         selector:selector
  2340                         source:(parseTree printString)
  2373                         source:(parseTree printString)
  2341                         category:(categories first).
  2374                         category:(categories first).
       
  2375         change nameSpaceOverride:nameSpaceOverride.
  2342         self addChange:change.
  2376         self addChange:change.
  2343     ] ifFalse:[
  2377     ] ifFalse:[
  2344         self halt:'multiple/missing categories not supported'.
  2378         self halt:'multiple/missing categories not supported'.
  2345     ].
  2379     ].
  2346 
  2380 
  2351         ] ifFalse:[
  2385         ] ifFalse:[
  2352             change := MethodPrivacyChange 
  2386             change := MethodPrivacyChange 
  2353                         className:className
  2387                         className:className
  2354                         selector:selector
  2388                         selector:selector
  2355                         privacy:(attributes first asSymbol).
  2389                         privacy:(attributes first asSymbol).
       
  2390             change nameSpaceOverride:nameSpaceOverride.
  2356             change source:(parseTree printString).
  2391             change source:(parseTree printString).
  2357             self addChange:change.
  2392             self addChange:change.
  2358         ].
  2393         ].
  2359     ] ifFalse:[
  2394     ] ifFalse:[
  2360         self halt:'multiple/missing attributes not supported'.
  2395         self halt:'multiple/missing attributes not supported'.
  2363 !
  2398 !
  2364 
  2399 
  2365 handleClassCommentChange
  2400 handleClassCommentChange
  2366     |change|
  2401     |change|
  2367 
  2402 
  2368     className := self receiversClassName.
  2403     className := self receiversClassNameRememberingNamespace.
  2369 "/        nameSpace ~~ Smalltalk ifTrue:[
       
  2370 "/            className := nameSpace name , '::' , className
       
  2371 "/        ].
       
  2372 
  2404 
  2373     change := ClassCommentChange new.
  2405     change := ClassCommentChange new.
  2374     change className:className comment:(arguments at:1) evaluate.
  2406     change className:className comment:(arguments at:1) evaluate.
       
  2407     change nameSpaceOverride:nameSpaceOverride.
  2375     change source:(parseTree printString).
  2408     change source:(parseTree printString).
  2376     self addChange:change.
  2409     self addChange:change.
  2377     ^ true
  2410     ^ true
  2378 !
  2411 !
  2379 
  2412 
  2380 handleClassDefinitionChange
  2413 handleClassDefinitionChange
  2381     |nameSpace change|
  2414     |nameSpace change|
  2382 
  2415 
  2383     className := (arguments at:1) evaluate.
  2416     className := (arguments at:1) evaluate.
  2384 "/        nameSpace ~~ Smalltalk ifTrue:[
  2417 
  2385 "/            className := nameSpace name , '::' , className
       
  2386 "/        ].
       
  2387     nameSpace := Class nameSpaceQuerySignal query.
  2418     nameSpace := Class nameSpaceQuerySignal query.
  2388     nameSpace ~~ Smalltalk ifTrue:[
  2419     (nameSpace == Smalltalk) ifTrue:[ nameSpace := nil ].
  2389         className := nameSpace name , '::' , className
  2420 
  2390     ].
  2421     "/ old: remember namespace in className
       
  2422 "/    nameSpace ~~ Smalltalk ifTrue:[
       
  2423 "/        className := nameSpace name , '::' , className
       
  2424 "/    ].
  2391 
  2425 
  2392     change := ClassDefinitionChange new.
  2426     change := ClassDefinitionChange new.
  2393     change className:className; source:(parseTree printString).
  2427     change className:className; source:(parseTree printString).
       
  2428     "/ new: remember in override
       
  2429     change nameSpaceOverride:nameSpace.
  2394     receiver isVariable ifTrue:[
  2430     receiver isVariable ifTrue:[
  2395         change superClassName:receiver name.
  2431         change superClassName:receiver name.
  2396     ].
  2432     ].
  2397     selector keywords with:arguments do:[:kw :arg |
  2433     selector keywords with:arguments do:[:kw :arg |
  2398         kw = #'instanceVariableNames:' ifTrue:[
  2434         kw = #'instanceVariableNames:' ifTrue:[
  2426 !
  2462 !
  2427 
  2463 
  2428 handleClassInstanceVariableDefinitionChange
  2464 handleClassInstanceVariableDefinitionChange
  2429     |change|
  2465     |change|
  2430 
  2466 
  2431     className := self receiversClassName.
  2467     className := self receiversClassNameRememberingNamespace.
  2432 
  2468 
  2433 "/        nameSpace ~~ Smalltalk ifTrue:[
       
  2434 "/            className := nameSpace name , '::' , className
       
  2435 "/        ].
       
  2436     change := ClassInstVarDefinitionChange new.
  2469     change := ClassInstVarDefinitionChange new.
  2437     change className:className.
  2470     change className:className.
       
  2471     change nameSpaceOverride:nameSpaceOverride.
  2438     change source:(parseTree printString).
  2472     change source:(parseTree printString).
  2439     change classInstVarNames:(parseTree arguments first value asCollectionOfWords asArray).
  2473     change classInstVarNames:(parseTree arguments first value asCollectionOfWords asArray).
  2440     self addChange:change.
  2474     self addChange:change.
  2441     ^ true
  2475     ^ true
  2442 
  2476 
  2454     change 
  2488     change 
  2455         className:className
  2489         className:className
  2456         selector:methodSelector
  2490         selector:methodSelector
  2457         category:(arguments at:1) evaluate.
  2491         category:(arguments at:1) evaluate.
  2458 
  2492 
       
  2493     change nameSpaceOverride:nameSpaceOverride.
  2459     self addChange:change.
  2494     self addChange:change.
  2460     ^ true
  2495     ^ true
  2461 
  2496 
  2462     "Modified: / 27-07-2012 / 21:34:42 / cg"
  2497     "Modified: / 27-07-2012 / 21:34:42 / cg"
  2463 !
  2498 !
  2464 
  2499 
  2465 handleMethodCategoryRenameChange
  2500 handleMethodCategoryRenameChange
  2466     |change|
  2501     |change|
  2467 
  2502 
  2468     className := self receiversClassName.
  2503     className := self receiversClassNameRememberingNamespace.
  2469 "/        nameSpace ~~ Smalltalk ifTrue:[
       
  2470 "/            className := nameSpace name , '::' , className
       
  2471 "/        ].
       
  2472 
  2504 
  2473     change := MethodCategoryRenameChange new.
  2505     change := MethodCategoryRenameChange new.
  2474     change 
  2506     change 
  2475         className:className;
  2507         className:className;
  2476         oldCategoryName:(arguments at:1) evaluate
  2508         oldCategoryName:(arguments at:1) evaluate
  2477         newCategoryName:(arguments at:2) evaluate.
  2509         newCategoryName:(arguments at:2) evaluate.
  2478 
  2510 
       
  2511     change nameSpaceOverride:nameSpaceOverride.
  2479     self addChange:change.
  2512     self addChange:change.
  2480     ^ true
  2513     ^ true
  2481 !
  2514 !
  2482 
  2515 
  2483 handleMethodChange
  2516 handleMethodChange
  2503 !
  2536 !
  2504 
  2537 
  2505 handleMethodChangeUnsafe
  2538 handleMethodChangeUnsafe
  2506     |priv categoryName methodSource changes change parser |
  2539     |priv categoryName methodSource changes change parser |
  2507 
  2540 
       
  2541     className := self receiversClassNameRememberingNamespace.
       
  2542 
  2508     (selector == #'ignoredMethodsFor:') ifTrue:[
  2543     (selector == #'ignoredMethodsFor:') ifTrue:[
  2509         priv := #ignored.
  2544         priv := #ignored.
  2510     ] ifFalse:[
  2545     ] ifFalse:[
  2511         priv := nil
  2546         priv := nil
  2512     ].
  2547     ].
  2513     className := self receiversClassName.
       
  2514 "/        nameSpace ~~ Smalltalk ifTrue:[
       
  2515 "/            className := nameSpace name , '::' , className
       
  2516 "/        ].
       
  2517     ((selector == #'methods') 
  2548     ((selector == #'methods') 
  2518     or:[(selector == #'publicMethods')
  2549     or:[(selector == #'publicMethods')
  2519     or:[(selector == #'methodsFor')]]) ifTrue:[
  2550     or:[(selector == #'methodsFor')]]) ifTrue:[
  2520         categoryName := 'uncategorized public'
  2551         categoryName := 'uncategorized public'
  2521     ] ifFalse:[
  2552     ] ifFalse:[
  2553             selector:methodSelector
  2584             selector:methodSelector
  2554             source:methodSource
  2585             source:methodSource
  2555             category:categoryName
  2586             category:categoryName
  2556             privacy:priv.
  2587             privacy:priv.
  2557 
  2588 
       
  2589         change nameSpaceOverride:nameSpaceOverride.
  2558         self addChange:change.
  2590         self addChange:change.
  2559 
  2591 
  2560         inputStream skipSeparators.
  2592         inputStream skipSeparators.
  2561         lineNumber := inputStream lineNumber.
  2593         lineNumber := inputStream lineNumber.
  2562         position := inputStream position1Based.
  2594         position := inputStream position1Based.
  2578     change 
  2610     change 
  2579         className:className
  2611         className:className
  2580         selector:methodSelector
  2612         selector:methodSelector
  2581         package:(arguments at:1) evaluate.
  2613         package:(arguments at:1) evaluate.
  2582 
  2614 
       
  2615     change nameSpaceOverride:nameSpaceOverride.
  2583     self addChange:change.
  2616     self addChange:change.
  2584     ^ true
  2617     ^ true
  2585 
  2618 
  2586     "Created: / 27-07-2012 / 21:31:25 / cg"
  2619     "Created: / 27-07-2012 / 21:31:25 / cg"
  2587 !
  2620 !
  2597     change 
  2630     change 
  2598         className:className
  2631         className:className
  2599         selector:methodSelector
  2632         selector:methodSelector
  2600         privacy:(arguments at:1) evaluate.
  2633         privacy:(arguments at:1) evaluate.
  2601 
  2634 
       
  2635     change nameSpaceOverride:nameSpaceOverride.
  2602     self addChange:change.
  2636     self addChange:change.
  2603     ^ true
  2637     ^ true
  2604 
  2638 
  2605     "Modified: / 27-07-2012 / 21:35:20 / cg"
  2639     "Modified: / 27-07-2012 / 21:35:20 / cg"
  2606 !
  2640 !
  2622     self addChange:change.
  2656     self addChange:change.
  2623     ^ true
  2657     ^ true
  2624 !
  2658 !
  2625 
  2659 
  2626 handlePrimitiveChange 
  2660 handlePrimitiveChange 
  2627     |change primSource|
  2661     self handlePrimitiveChange:nil
  2628 
       
  2629     className := self receiversClassName.
       
  2630 "/        nameSpace ~~ Smalltalk ifTrue:[
       
  2631 "/            className := nameSpace name , '::' , className
       
  2632 "/        ].
       
  2633 
       
  2634     inputStream skipSeparators.
       
  2635     primSource := inputStream nextChunk.
       
  2636 
       
  2637     selector == #'primitiveDefinitions' ifTrue:[
       
  2638         change := ClassPrimitiveDefinitionsChange new
       
  2639     ] ifFalse:[
       
  2640         selector == #'primitiveFunctions' ifTrue:[
       
  2641             change := ClassPrimitiveFunctionsChange new
       
  2642         ] ifFalse:[
       
  2643             change := ClassPrimitiveVariablesChange new
       
  2644         ]
       
  2645     ].
       
  2646     change className:className source:primSource.
       
  2647     self addChange:change.
       
  2648     ^ true
       
  2649 !
  2662 !
  2650 
  2663 
  2651 handlePrimitiveChange: sourceOrNil
  2664 handlePrimitiveChange: sourceOrNil
  2652     "if sourceOrNil is nil, the def has not been read and must be read from
  2665     "if sourceOrNil is nil, the def has not been read and must be read from
  2653      the next chunk. Otherwise, it has been already read as argument."
  2666      the next chunk. Otherwise, it has been already read as argument."
  2654 
  2667 
  2655     |change primSource|
  2668     |change primSource|
  2656 
  2669 
  2657     className := self receiversClassName.
  2670     className := self receiversClassNameRememberingNamespace.
  2658 "/        nameSpace ~~ Smalltalk ifTrue:[
  2671 
  2659 "/            className := nameSpace name , '::' , className
       
  2660 "/        ].
       
  2661     sourceOrNil notNil ifTrue:[
  2672     sourceOrNil notNil ifTrue:[
  2662         primSource := sourceOrNil
  2673         primSource := sourceOrNil
  2663     ] ifFalse:[
  2674     ] ifFalse:[
  2664         inputStream skipSeparators.
  2675         inputStream skipSeparators.
  2665         primSource := inputStream nextChunk.
  2676         primSource := inputStream nextChunk.
  2673         ] ifFalse:[
  2684         ] ifFalse:[
  2674             change := ClassPrimitiveVariablesChange new
  2685             change := ClassPrimitiveVariablesChange new
  2675         ]
  2686         ]
  2676     ].
  2687     ].
  2677     change className:className source:primSource.
  2688     change className:className source:primSource.
       
  2689     change nameSpaceOverride:nameSpaceOverride.
  2678     self addChange:change.
  2690     self addChange:change.
  2679     ^ true
  2691     ^ true
  2680 
  2692 
  2681     "Created: / 27-07-2012 / 21:39:55 / cg"
  2693     "Created: / 27-07-2012 / 21:39:55 / cg"
  2682 !
  2694 !
  2702 
  2714 
  2703 handleRemoveMethodChange
  2715 handleRemoveMethodChange
  2704     |change|
  2716     |change|
  2705 
  2717 
  2706     className := self receiversClassName.
  2718     className := self receiversClassName.
  2707 "/        nameSpace ~~ Smalltalk ifTrue:[
  2719 
  2708 "/            className := nameSpace name , '::' , className
       
  2709 "/        ].
       
  2710     methodSelector := (arguments at:1) evaluate.
  2720     methodSelector := (arguments at:1) evaluate.
  2711     change := MethodRemoveChange new.
  2721     change := MethodRemoveChange new.
  2712     change className:className selector:methodSelector.
  2722     change className:className selector:methodSelector.
  2713     self addChange:change.
  2723     self addChange:change.
  2714     ^ true
  2724     ^ true
  2735 
  2745 
  2736     inputStream skipSeparators.
  2746     inputStream skipSeparators.
  2737 
  2747 
  2738     comment := inputStream nextChunk.
  2748     comment := inputStream nextChunk.
  2739 
  2749 
  2740     className := self receiversClassName.
  2750     className := self receiversClassNameRememberingNamespace.
       
  2751 
  2741     change := ClassCommentChange new.
  2752     change := ClassCommentChange new.
  2742     change className:className comment:comment.
  2753     change className:className comment:comment.
  2743     change source:(parseTree printString).
  2754     change source:(parseTree printString).
  2744     self addChange:change.
  2755     self addChange:change.
  2745     ^ true
  2756     ^ true
  2825     "
  2836     "
  2826 
  2837 
  2827     | kind sel |
  2838     | kind sel |
  2828     inputStream skip: 5.
  2839     inputStream skip: 5.
  2829     kind := inputStream upTo: Character space.
  2840     kind := inputStream upTo: Character space.
       
  2841     (kind endsWith:$:) ifTrue:[
       
  2842         kind := kind copyWithoutLast:1
       
  2843     ].
  2830     sel := ('process_', kind) asSymbolIfInterned.
  2844     sel := ('process_', kind) asSymbolIfInterned.
  2831     sel notNil ifTrue:[
  2845     sel notNil ifTrue:[
  2832         MessageNotUnderstood handle:[
  2846         MessageNotUnderstood handle:[   
  2833             "/Unknown info record, do nothing"
  2847             self process_otherInfo:kind    
  2834         ] do:[
  2848         ] do:[
  2835             self perform: sel.
  2849             self perform: sel.
  2836         ]
  2850         ]
       
  2851     ] ifFalse:[   
       
  2852         self process_otherInfo:kind    
  2837     ]
  2853     ]
  2838 
  2854 
  2839     "Created: / 30-03-2012 / 16:44:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  2855     "Created: / 30-03-2012 / 16:44:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  2840 !
  2856 !
  2841 
  2857 
  2861     "'comment:' chunk (ST/X)"
  2877     "'comment:' chunk (ST/X)"
  2862 
  2878 
  2863     ^ self handleClassCommentChange.
  2879     ^ self handleClassCommentChange.
  2864 !
  2880 !
  2865 
  2881 
       
  2882 process_encoding
       
  2883     "St/X encoding info record. Ignored"
       
  2884 !
       
  2885 
  2866 process_ignoredMethodsFor_
  2886 process_ignoredMethodsFor_
  2867     "'ignoredMethodsFor:' chunk (ST/X)"
  2887     "'ignoredMethodsFor:' chunk (ST/X)"
  2868 
  2888 
  2869     ^ self handleMethodChange.
  2889     ^ self handleMethodChange.
  2870 !
  2890 !
  2907 
  2927 
  2908 process_name_
  2928 process_name_
  2909     "'name:' chunk (ST/X)"
  2929     "'name:' chunk (ST/X)"
  2910 
  2930 
  2911     ^ self handleNameSpaceCreationChange.
  2931     ^ self handleNameSpaceCreationChange.
       
  2932 !
       
  2933 
       
  2934 process_otherInfo:what
       
  2935     "'---- <what> 12-03-2012 10:49:40 ----'
       
  2936 
       
  2937     '<what>' is already read from inputStream.
       
  2938     "
       
  2939 
       
  2940     "/ inputStream skipSeparators.
       
  2941     self addChange: (InfoChange type: what data: (inputStream upToEnd) timestamp: nil)
       
  2942 
       
  2943     "Created: / 18-05-2012 / 17:03:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  2912 !
  2944 !
  2913 
  2945 
  2914 process_package_
  2946 process_package_
  2915     "'package:' chunk (ST/X)"
  2947     "'package:' chunk (ST/X)"
  2916 
  2948 
  4212 ! !
  4244 ! !
  4213 
  4245 
  4214 !ChangeSet class methodsFor:'documentation'!
  4246 !ChangeSet class methodsFor:'documentation'!
  4215 
  4247 
  4216 version
  4248 version
  4217     ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.218 2013-04-02 12:03:05 stefan Exp $'
  4249     ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.219 2013-04-02 19:23:39 cg Exp $'
  4218 !
  4250 !
  4219 
  4251 
  4220 version_CVS
  4252 version_CVS
  4221     ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.218 2013-04-02 12:03:05 stefan Exp $'
  4253     ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.219 2013-04-02 19:23:39 cg Exp $'
  4222 !
  4254 !
  4223 
  4255 
  4224 version_SVN
  4256 version_SVN
  4225     ^ '§Id: ChangeSet.st 1945 2012-07-31 11:53:41Z vranyj1 §'
  4257     ^ '§Id: ChangeSet.st 1945 2012-07-31 11:53:41Z vranyj1 §'
  4226 ! !
  4258 ! !