--- a/ClassInspectorView.st Thu Jun 02 06:51:52 2016 +0200
+++ b/ClassInspectorView.st Mon Jun 06 12:37:27 2016 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
"
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
@@ -78,27 +80,35 @@
valueAtLine:lineNr
"return a list of names to show in the selectionList"
- |list idx0|
+ |list idx0 nm cls|
list := super fieldList.
lineNr <= list size ifTrue:[ ^ super valueAtLine:lineNr ].
- "/
- "/ a class variable
- "/
- idx0 := list size + 1.
- inspectedObject class withAllSuperclasses reverseDo:[:aClass |
- |varNames varName|
+ nm := self listEntryAt:lineNr.
+ nm isNil ifTrue:[ ^nil].
- varNames := aClass classVarNames.
- varNames notEmpty ifTrue:[
- (lineNr between:idx0+1 and:(idx0 + 1 + varNames size - 1)) ifTrue:[
- varName := varNames at:lineNr-idx0.
- ^ aClass classVarAt:varName.
- ].
- idx0 := idx0 + varNames size + 1.
- ]
+ "/
+ "/ a class variable?
+ "/
+ cls := inspectedObject class theNonMetaclass whichClassDefinesClassVar:nm.
+ cls notNil ifTrue:[
+ ^ cls classVarAt:nm.
].
+
+"/ idx0 := list size + 1.
+"/ inspectedObject class withAllSuperclasses reverseDo:[:aClass |
+"/ |varNames varName|
+"/
+"/ varNames := aClass classVarNames.
+"/ varNames notEmpty ifTrue:[
+"/ (lineNr between:idx0+1 and:(idx0 + 1 + varNames size - 1)) ifTrue:[
+"/ varName := varNames at:lineNr-idx0.
+"/ ^ aClass classVarAt:varName.
+"/ ].
+"/ idx0 := idx0 + varNames size + 1.
+"/ ]
+"/ ].
^ nil
! !