[comp.lang.smalltalk] Smalltalk/V for PM V1.0 bug fixes & enhancements Part 10

cowan@marob.masa.com (John Cowan) (07/27/90)

"
Purpose of ST80COMP.ST:

Provides methods which make it possible to import
class definitions filed out by Objectworks for
Smalltalk-80, version 2.5.

"


! Behavior methods !  
comment: aString
        "Set class comment to aString."
    comment := aString! !

! Behavior methods !  
methodsFor: aDummy
        "Answer an instance of ClassReader
         initialized for the receiver.
         ST-80 compatible version."
    ^ClassReader forClass: self! !

! Class methods !  
subclass: classSymbol
    instanceVariableNames: instanceVariables
    classVariableNames: classVariables
    poolDictionaries: poolDictNames
    category: aDummy
        "Create or modify the class classSymbol to be
         a subclass of the receiver with the specifed
         instance variables, class variables, and pool
         dictionaries. ST-80 compatible version."
    self isBits
        ifTrue: [^self error: 'Superclass is non-pointers'].
    ^(self validateClass: classSymbol
        instanceVariableNames: instanceVariables)
            name: classSymbol
            environment: Smalltalk
            subclassOf: self
            instanceVariableNames: instanceVariables
            variable: self isVariable
            words: true
            pointers: true
            classVariableNames: classVariables
            poolDictionaries: poolDictNames
            comment: String new
            changed: nil! !

! Class methods !   
variableByteSubclass: classSymbol
    classVariableNames: classVariables
    poolDictionaries: poolDictNames
    category: aDummy
        "Create or modify the class classSymbol to be
         a variable byte subclass of the receiver with the
         specified class variables and pool dictionaries.
         ST-80 compatible version."
    | aMetaClass |
    self instSize == 0
        ifFalse: [^self error: 'Superclass has pointers'].
    ^(self validateClass: classSymbol
        instanceVariableNames: String new)
        name: classSymbol
        environment: Smalltalk
        subclassOf: self
        instanceVariableNames: String new
        variable: true
        words: false
        pointers: false
        classVariableNames: classVariables
        poolDictionaries: poolDictNames
        comment: String new
        changed: nil! !

! Class methods ! 
variableSubclass: classSymbol
    instanceVariableNames: instanceVariables
    classVariableNames: classVariables
    poolDictionaries: poolDictNames
    category: aDummy
        "Create or modify the class classSymbol to be a
         variable subclass of the receiver with the specifed
         instance variables, class variables, and pool dictionaries.
         ST-80 compatible version."
    | aMetaClass |
    self isBits
        ifTrue: [^self error: 'Superclass is non-pointers'].
    ^(self validateClass: classSymbol
        instanceVariableNames: instanceVariables)
        name: classSymbol
        environment: Smalltalk
        subclassOf: self
        instanceVariableNames: instanceVariables
        variable: true
        words: true
        pointers: true
        classVariableNames: classVariables
        poolDictionaries: poolDictNames
        comment: String new
        changed: nil! !

! MetaClass methods ! 
instanceVariableNames: aDummy
        "ST-80 compatibility routine."! !

-- 
cowan@marob.masa.com			(aka ...!hombre!marob!cowan)
			e'osai ko sarji la lojban