author | Jan Vrany <jan.vrany@labware.com> |
Thu, 27 Oct 2022 14:53:59 +0100 | |
branch | jv |
changeset 4735 | 3b11fb3ede98 |
parent 4654 | f001d36a3229 |
permissions | -rw-r--r-- |
4383
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
" |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
COPYRIGHT (c) 1989 by Claus Gittinger / eXept Software AG |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
COPYRIGHT (c) 2016 Jan Vrany |
4654
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
4 |
COPYRIGHT (c) 2020 LabWare |
4383
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
All Rights Reserved |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
|
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
This software is furnished under a license and may be used |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
only in accordance with the terms of that license and with the |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
inclusion of the above copyright notice. This software may not |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
be provided or otherwise made available to, or used by, any |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
other person. No title to or ownership of the software is |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
hereby transferred. |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
" |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
"{ Package: 'stx:libcomp' }" |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
|
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
"{ NameSpace: Smalltalk }" |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
|
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
DIEntry subclass:#DIVariable |
4385
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
19 |
instanceVariableNames:'phy_block_source_offset lex_block_source_offset frame_offset |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
20 |
is_argument name' |
4383
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
classVariableNames:'' |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
poolDictionaries:'' |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
category:'System-Compiler-Debug Info' |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
! |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
|
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
!DIVariable class methodsFor:'documentation'! |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
|
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
copyright |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
" |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
COPYRIGHT (c) 1989 by Claus Gittinger / eXept Software AG |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
COPYRIGHT (c) 2016 Jan Vrany |
4654
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
32 |
COPYRIGHT (c) 2020 LabWare |
4383
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
All Rights Reserved |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
|
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
This software is furnished under a license and may be used |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
only in accordance with the terms of that license and with the |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
inclusion of the above copyright notice. This software may not |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
be provided or otherwise made available to, or used by, any |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
other person. No title to or ownership of the software is |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
hereby transferred. |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
" |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
! ! |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
|
4384
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
44 |
!DIVariable methodsFor:'accessing'! |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
45 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
46 |
frameOffset |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
47 |
^ frame_offset |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
48 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
49 |
"Created: / 14-07-2018 / 20:53:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
50 |
! |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
51 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
52 |
frameOffset: anInteger |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
53 |
anInteger > 255 ifTrue:[ self halt ]. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
54 |
frame_offset := anInteger |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
55 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
56 |
"Created: / 14-07-2018 / 20:53:26 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
57 |
"Modified: / 24-07-2018 / 16:18:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
58 |
! |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
59 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
60 |
isArgument |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
61 |
^ is_argument |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
62 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
63 |
"Created: / 14-07-2018 / 20:53:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
64 |
! |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
65 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
66 |
isArgument: aBoolean |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
67 |
is_argument := aBoolean |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
68 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
69 |
"Created: / 14-07-2018 / 20:54:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
70 |
! |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
71 |
|
4385
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
72 |
lexicalBlockSourceOffset |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
73 |
^ lex_block_source_offset |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
74 |
|
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
75 |
"Created: / 07-02-2019 / 21:52:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
76 |
! |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
77 |
|
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
78 |
lexicalBlockSourceOffset: anInteger |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
79 |
lex_block_source_offset := anInteger |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
80 |
|
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
81 |
"Created: / 07-02-2019 / 21:52:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
82 |
! |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
83 |
|
4384
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
84 |
name |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
85 |
^ name |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
86 |
! |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
87 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
88 |
name:aString |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
89 |
self assert: aString isString. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
90 |
name := aString. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
91 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
92 |
"Modified: / 15-07-2018 / 15:12:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4385
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
93 |
! |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
94 |
|
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
95 |
physicalBlockSourceOffset |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
96 |
^ phy_block_source_offset |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
97 |
|
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
98 |
"Created: / 06-02-2019 / 22:13:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
99 |
! |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
100 |
|
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
101 |
physicalBlockSourceOffset: anInteger |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
102 |
phy_block_source_offset := anInteger |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
103 |
|
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
104 |
"Created: / 06-02-2019 / 22:19:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4384
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
105 |
! ! |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
106 |
|
4654
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
107 |
!DIVariable methodsFor:'comparing'! |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
108 |
|
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
109 |
= another |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
110 |
^ self class == another class |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
111 |
and:[ self physicalBlockSourceOffset = another physicalBlockSourceOffset |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
112 |
and:[ self lexicalBlockSourceOffset = another lexicalBlockSourceOffset |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
113 |
and:[ self isArgument = another isArgument |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
114 |
and:[ self frameOffset = another frameOffset |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
115 |
and:[ self name = another name ]]]]] |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
116 |
|
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
117 |
"Created: / 09-06-2020 / 13:12:43 / Jan Vrany <jan.vrany@labware.com>" |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
118 |
! |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
119 |
|
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
120 |
hash |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
121 |
^ ((((phy_block_source_offset hash |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
122 |
bitXor: lex_block_source_offset hash) |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
123 |
bitXor: frame_offset hash) |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
124 |
bitXor: is_argument hash) |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
125 |
bitXor: name hash) |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
126 |
|
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
127 |
"Created: / 09-06-2020 / 13:10:51 / Jan Vrany <jan.vrany@labware.com>" |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
128 |
! ! |
f001d36a3229
Fixed compiler to produce correct(ish) variable table
Jan Vrany <jan.vrany@labware.com>
parents:
4385
diff
changeset
|
129 |
|
4384
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
130 |
!DIVariable methodsFor:'printing & storing'! |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
131 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
132 |
printOn: aStream |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
133 |
super printOn: aStream. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
134 |
aStream nextPut: $(. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
135 |
frame_offset printOn: aStream base: 10 size: 2 fill: Character space. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
136 |
aStream space. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
137 |
name printOn: aStream. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
138 |
is_argument ifTrue:[ |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
139 |
aStream nextPutAll: ' (arg)' |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
140 |
]. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
141 |
aStream nextPut: $). |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
142 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
143 |
"Created: / 15-07-2018 / 15:27:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
144 |
! ! |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
145 |
|
4383
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
146 |
!DIVariable methodsFor:'reading & writing'! |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
147 |
|
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
148 |
decode: aStream |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
149 |
size := aStream nextUnsignedInt16MSB: UninterpretedBytes isBigEndian. |
4385
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
150 |
phy_block_source_offset := aStream nextUnsignedInt32MSB: UninterpretedBytes isBigEndian. |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
151 |
lex_block_source_offset := aStream nextUnsignedInt32MSB: UninterpretedBytes isBigEndian. |
4383
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
frame_offset := aStream nextByte. |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
is_argument := DIEntry decodeBoolean: aStream. |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
name := DIEntry decodeString: aStream. |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
|
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
"Created: / 10-07-2018 / 13:05:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4385
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
157 |
"Modified: / 07-02-2019 / 21:53:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4384
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
158 |
! |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
159 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
160 |
encode: aStream |
4385
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
161 |
self encodePrepare: aStream. |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
162 |
aStream nextPutInt32: phy_block_source_offset MSB: UninterpretedBytes isBigEndian. |
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
163 |
aStream nextPutInt32: lex_block_source_offset MSB: UninterpretedBytes isBigEndian. |
4384
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
164 |
aStream nextPutByte: frame_offset. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
165 |
DIEntry encodeBoolean: is_argument on: aStream. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
166 |
DIEntry encodeString: name on: aStream. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
167 |
self encodeFinish: aStream. |
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
168 |
|
aee25576d864
DBG: teach `ByteCodeCompiler` to generate Smalltalk/X debug info
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4383
diff
changeset
|
169 |
"Created: / 15-07-2018 / 11:00:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4385
16741aa9dc2e
DBG: refactor variable table to use new flat format
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4384
diff
changeset
|
170 |
"Modified: / 07-02-2019 / 21:53:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4383
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
! ! |
b93f1405b8c7
DBG: Added classes representing Smalltalk/X debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |