set superInheritanceType [[$this super] getPropertyValue inheritanceType]
if { $superInheritanceType == "" } {
set superInheritanceType "regular"
}
# different inheritance types with superclass inheritance other
# than regular may cause trouble. Print cautious warning as we don't
# know for sure Smalltalk will reject it.
if { ($superInheritanceType != $inheritanceType) && \
($superInheritanceType != "regular") } {
puts "WARNING: Class [$this getSTName] with $inheritanceType inheritance and superclass [[$this super] getSTName] with $superInheritanceType inheritance may not be accepted by Smalltalk"
}
}
if { $inheritanceType != "variableByte" } {
return
}
# If this class has instance variables (possibly by
# inheritance it may not be accepted by Smalltalk
# So scan superclasses. This may be slow but variableByte inheritance
# will not be used very often (?)
set checkClass $this
set hasInstanceVariables 0
while { $checkClass != "" } {
# associations cause instance variables
if { [$checkClass genAssocAttrSet] != "" } {
set hasInstanceVariables 1
break
}
# data attributes cause instance variables if the isPoolDict
# property is not set and isClassFeature returns 0