#BUGFIX by stefan
authorStefan Vogel <sv@exept.de>
Wed, 05 Oct 2016 17:03:38 +0200
changeset 4003 a22969f1ca9e
parent 4002 3df67527898f
child 4004 5a73b0604c74
#BUGFIX by stefan class: Structure changed: #doesNotUnderstand: support for Inspector, Inspector2
Structure.st
--- 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.