Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
smalltalktransform [2022/01/31 07:46]
christian [Transformations]
smalltalktransform [2022/01/31 12:27]
christian [Packages]
Line 29: Line 29:
 The UI, at the other end, is very different in all dialects, so that porting is almost impossible. The UI, at the other end, is very different in all dialects, so that porting is almost impossible.
  
-==== Transformations ====+===== Transformations =====
  
-=== Methods ===+==== Methods ====
  
 The source code is in methods which syntax may be different in the target system. The source code is in methods which syntax may be different in the target system.
Line 71: Line 71:
  
  
-=== Classes ===+==== Classes ====
  
-=== Packages ===+Changes related to classes.
  
-(to be continued...)+=== ClassChange ===
  
-==== Rewrite Tool ====+Changes related to classes defined or extended by the package.
  
-The code transformations are done with the rewrite tool.+<code Smalltalk>ClassChange 
 + classReference: <class reference> 
 + superclassName: <Symbol> 
 + options: <Array of: String> 
 + instanceChanges: <Array of: MethodChange> 
 + classChanges: <Array of: MethodChange></code> 
 + 
 +**classReference** :: the class of this change 
 + 
 +**superclassName** :: ??? 
 + 
 +**options** :: Gemstone class definition options 
 + 
 +**instanceChanges** :: instance method changes 
 + 
 +**classChanges** :: class method changes 
 + 
 +=== SystemClassChange === 
 + 
 +Changes related to classes in the target dialect. 
 + 
 +<code Smalltalk>SystemClassChange 
 + className: <Symbol> 
 + instanceChanges: <Array of: MethodChange> 
 + classChanges: <Array of: MethodChange></code> 
 + 
 +**className** :: The name of the class in the target dialect 
 + 
 +**instanceChanges** :: instance method changes 
 + 
 +**classChanges** :: class method changes 
 + 
 + 
 +==== Packages ==== 
 + 
 +Changes related to a package or bundle. 
 + 
 +<code Smalltalk>PackageChange 
 + unusedClasses: <Array of: class reference> 
 + newSuperclasses: <Dictionary key: class reference value: Symbol> 
 + newClassNames: <???> 
 + hierarchyChanges: <Array of: ClassChange> 
 + localChanges: <Array of: ClassChange> 
 + extensions: <Array of: SystemClassChange></code> 
 + 
 +**unusedClasses** :: classes not to be filed out 
 + 
 +**newSuperclasses** :: classes with their target dialect superclass 
 + 
 +**newClassNames** :: (preparation for class renamings - not done or used yet) 
 + 
 +**hierarchyChanges** :: class changes for a class hierarchy 
 + 
 +**localChanges** :: class changes for classes defined or extended in the package 
 + 
 +**extensions** :: system class changes for classes only defined in the target system 
 + 
 +==== Projects ==== 
 + 
 +Changes related to a project with several packages and/or bundles. 
 + 
 +Classes are renamed across the whole project. 
 + 
 +(to be defined)
  
 ===== To do ===== ===== To do =====
  • smalltalktransform.txt
  • Last modified: 2023/04/12 14:13
  • by christian