Skip to content

Commit

Permalink
Add support for interop hash entries to PolyglotInspector
Browse files Browse the repository at this point in the history
  • Loading branch information
fniephaus committed Jun 30, 2021
1 parent 94a02ff commit d62673f
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
fields
fieldHashEntries

^ (self newFieldForType: #misc key: #hashes)
name: 'hash entries'; emphasizeName;
valueGetter: [ :o | self hashEntriesOf: o ]; printValueAsIs;
yourself
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
helpers
hashEntriesOf: anObject
| size |
^ (size := (Interop getHashSize: anObject)) < 100 ifTrue: [ | iterator |
iterator := Interop getHashEntriesIterator: anObject.
Text streamContents: [ :aStream |
[ Interop hasIteratorNextElement: iterator ] whileTrue: [ | next key value |
next := Interop getIteratorNextElement: iterator.
key := next at: 1.
value := next at: 2.
aStream
withAttributes: { PluggableTextAttribute evalBlock: [ key inspect ]. TextColor color: Color gray }
do: [ aStream nextPutAll: key printString ];
nextPutAll: ' -> ';
withAttributes: { PluggableTextAttribute evalBlock: [ value inspect ]. TextEmphasis italic }
do: [ aStream nextPutAll: '', value printString ];
cr; cr
] ]]
ifFalse: [ 'Hash size: ', size, ' (too many entries to display)' ]
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ streamOptionalFieldsOn: aStream

(Interop hasMembers: self object) ifTrue: [
aStream nextPutAll: self fieldsMembers ].
(Interop hasHashEntries: self object) ifTrue: [
aStream nextPut: self fieldHashEntries ].
(Interop isMetaObject: self object) ifTrue: [
aStream nextPut: self fieldMetaName ].
(Interop hasMetaObject: self object) ifTrue: [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@
"buildCodePaneWith:" : "fn 6/25/2021 17:56",
"exceptionInfoFor:" : "fn 6/10/2021 17:15",
"fieldException" : "fn 6/11/2021 09:17",
"fieldHashEntries" : "fn 6/29/2021 21:24",
"fieldLanguageInfo" : "fn 6/10/2021 16:48",
"fieldMetaName" : "fn 4/11/2021 15:02",
"fieldMetaObjectInfo" : "fn 6/25/2021 09:24",
"fieldSource" : "fn 4/11/2021 15:02",
"fieldsMembers" : "fn 6/26/2021 10:49",
"hashEntriesOf:" : "fn 6/29/2021 21:43",
"helpText" : "fn 6/25/2021 17:57",
"initialExtent" : "fn 2/12/2021 10:35",
"inspect:" : "fn 11/21/2019 15:47",
Expand All @@ -32,4 +34,4 @@
"streamArrayElementsOn:" : "fn 4/11/2021 15:03",
"streamBaseFieldsOn:" : "fn 2/11/2021 11:01",
"streamFieldsOn:" : "fn 2/11/2021 11:49",
"streamOptionalFieldsOn:" : "fn 6/26/2021 11:17" } }
"streamOptionalFieldsOn:" : "fn 6/29/2021 21:32" } }

0 comments on commit d62673f

Please sign in to comment.