#BUGFIX by stefan
class: Structure
changed: #doesNotUnderstand:
support for Inspector, Inspector2
--- a/Structure.st Wed Oct 05 16:19:41 2016 +0200
+++ b/Structure.st Wed Oct 05 17:03:38 2016 +0200
@@ -1332,25 +1332,46 @@
sel == #identityHash ifTrue:[
^ super identityHash
].
+ sel == #hash ifTrue:[
+ ^ super hash
+ ].
(sel == #isException) ifTrue:[
^ false
].
(sel == #isStructure) ifTrue:[
^ true
].
+ (sel == #class) ifTrue:[
+ ^ Structure
+ ].
+ (sel == #theMetaclass) ifTrue:[
+ ^ Structure class
+ ].
"/ class protocol
- sel == #name ifTrue:[
+ (sel == #name or:[sel == #className or:[sel == #fullName or:[sel == #nameInBrowser]]]) ifTrue:[
^ #Structure
].
+ (sel == #package) ifTrue:[
+ ^ #'stx:libcomp'
+ ].
sel == #isVariable ifTrue:[
^ false
].
sel == #isImmediate ifTrue:[
^ false
].
+ sel == #isImage ifTrue:[
+ ^ false
+ ].
+ sel == #isFilename ifTrue:[
+ ^ false
+ ].
+ sel == #isLazyValue ifTrue:[
+ ^ false
+ ].
sel == #isClass ifTrue:[
^ false
].
@@ -1364,11 +1385,14 @@
^ false
].
sel == #includesBehavior: ifTrue:[
- ^ super includesBehavior:(args at:1)
+ ^ (args at:1) == Structure or:[(args at:1) == Behavior].
].
sel == #isString ifTrue:[
^ false
].
+ sel == #hasImmediateInstances ifTrue:[
+ ^ false
+ ].
sel == #respondsTo: ifTrue:[
^ false
].
@@ -1378,15 +1402,25 @@
sel == #evaluatorClass ifTrue:[
^ Compiler
].
+ sel == #theNonMetaclass ifTrue:[
+ ^ self
+ ].
sel == #classNameWithArticle ifTrue:[
^ self displayString
].
- sel == #allSubclasses ifTrue:[
+ (sel == #allSubclasses or:[sel == #subclasses]) ifTrue:[
^ #()
].
sel == #allClassVarNames ifTrue:[
^ #()
].
+ sel == #inspector2TabCommon ifTrue:[
+ ^ super inspector2TabForInspectorClass
+ ].
+ sel == #programmingLanguage ifTrue:[
+ ^ Object programmingLanguage
+ ].
+
sel == #methodDictionary ifTrue:[
^ methodDictionary
].
@@ -1426,6 +1460,9 @@
(sel == #instSize) ifTrue:[
^ instSize
].
+ (sel startsWith:'is') ifTrue:[
+ ^ false.
+ ].
'Structure [warning]: return nil for: ' infoPrint.
aMessage infoPrint.' args ' infoPrint. args infoPrintCR.
"/ Object halt.