SyntaxElement.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 14 Jun 2018 22:19:39 +0100
branchjv
changeset 18227 d25a407ba86d
parent 16797 4f240085a622
permissions -rw-r--r--
Mini testrunner: show "green" if there's at least one pass and rest is pass or skip This is more meaningfull result then showing "gray" if there's at least one skip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
10068
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
     2
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
     3
              All Rights Reserved
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
10068
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
     5
Permission is hereby granted, free of charge, to any person
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
     6
obtaining a copy of this software and associated documentation
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
     7
files (the 'Software'), to deal in the Software without
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
     8
restriction, including without limitation the rights to use,
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
     9
copy, modify, merge, publish, distribute, sublicense, and/or sell
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    10
copies of the Software, and to permit persons to whom the
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    11
Software is furnished to do so, subject to the following
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    12
conditions:
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    13
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    14
The above copyright notice and this permission notice shall be
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    15
included in all copies or substantial portions of the Software.
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    16
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    17
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    18
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    19
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    20
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    21
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    22
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    23
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    24
OTHER DEALINGS IN THE SOFTWARE.
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
"
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"{ Package: 'stx:libtool' }"
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
15314
b0ad3176b612 class: SyntaxElement
Stefan Vogel <sv@exept.de>
parents: 12985
diff changeset
    28
"{ NameSpace: Smalltalk }"
b0ad3176b612 class: SyntaxElement
Stefan Vogel <sv@exept.de>
parents: 12985
diff changeset
    29
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
Magnitude subclass:#SyntaxElement
15467
f9546e28146e class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15457
diff changeset
    31
	instanceVariableNames:'start stop type value next prev node'
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	classVariableNames:''
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	poolDictionaries:''
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	category:'Interface-CodeView-Syntax'
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!SyntaxElement class methodsFor:'documentation'!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
copyright
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
"
10068
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    41
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    42
              All Rights Reserved
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    43
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    44
Permission is hereby granted, free of charge, to any person
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    45
obtaining a copy of this software and associated documentation
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    46
files (the 'Software'), to deal in the Software without
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    47
restriction, including without limitation the rights to use,
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    48
copy, modify, merge, publish, distribute, sublicense, and/or sell
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    49
copies of the Software, and to permit persons to whom the
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    50
Software is furnished to do so, subject to the following
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    51
conditions:
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
10068
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    53
The above copyright notice and this permission notice shall be
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    54
included in all copies or substantial portions of the Software.
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    55
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    56
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    57
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    58
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    59
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    60
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    61
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    62
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5ff502cb7f74 changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10021
diff changeset
    63
OTHER DEALINGS IN THE SOFTWARE.
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
"
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
! !
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!SyntaxElement class methodsFor:'instance creation'!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
from: start to: stop
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    ^self new
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
        start: start;
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
        stop: stop.
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    "Created: / 14-02-2010 / 13:13:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
from: start to: stop type: type
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    ^self new
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
        start: start;
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
        stop: stop;
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
        type: type
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    "Created: / 14-02-2010 / 14:09:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
from: start to: stop type: type value: value
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    ^self new
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
        start: start;
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
        stop: stop;
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
        type: type;
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
        value: value
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
    "Created: / 14-02-2010 / 17:41:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12909
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
    97
!
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
    98
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
    99
from: start to: stop type: type value: value assigned:assigned
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   100
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   101
    ^self new
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   102
        start: start;
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   103
        stop: stop;
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   104
        type: type;
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   105
        value: value;
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   106
        assigned: assigned
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   107
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   108
    "Created: / 14-02-2010 / 17:41:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
! !
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
!SyntaxElement methodsFor:'accessing'!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
10632
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   113
firstElementInChain
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   114
    |first prev|
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   115
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   116
    first := self.
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   117
    [ (prev := first previousElement) notNil ] whileTrue:[
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   118
        first := prev.
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   119
    ].
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   120
    ^ first
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   121
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   122
    "Created: / 21-08-2011 / 09:51:35 / cg"
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   123
!
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   124
12098
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   125
lastElementInChain
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   126
    |last next|
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   127
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   128
    last := self.
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   129
    [ (next := last nextElement) notNil ] whileTrue:[
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   130
        last := next.
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   131
    ].
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   132
    ^ last
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   133
!
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   134
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
next
15457
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   136
    <resource: #obsolete>
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   137
    "/ please use nextElement: - this is easier to find in the browser
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   138
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    ^ next
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
next:aSyntaxElement
15457
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   143
    <resource: #obsolete>
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   144
    "/ please use nextElement: - this is easier to find in the browser
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   145
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
    next := aSyntaxElement.
15457
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   147
    next previousElement: self.
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
    "Modified: / 14-02-2010 / 17:44:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
10632
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   152
nextElement
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   153
    ^ next
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   154
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   155
    "Created: / 21-08-2011 / 09:47:11 / cg"
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   156
!
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   157
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   158
nextElement:aSyntaxElement
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   159
    next := aSyntaxElement.
15457
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   160
    next previousElement: self.
10632
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   161
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   162
    "Modified: / 14-02-2010 / 17:44:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   163
    "Created: / 21-08-2011 / 09:47:15 / cg"
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   164
!
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   165
15468
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   166
node
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   167
    ^ node
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   168
!
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   169
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   170
node:something
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   171
    node := something.
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   172
!
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   173
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
prev
15457
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   175
    <resource: #obsolete>
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   176
    "/ please use nextElement: - this is easier to find in the browser
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   177
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
    ^ prev
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
prev:aSyntaxElement
15457
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   182
    <resource: #obsolete>
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   183
    "/ please use nextElement: - this is easier to find in the browser
93dc0626c36a class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15314
diff changeset
   184
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
    prev := aSyntaxElement.
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
10632
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   188
previousElement
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   189
    ^ prev
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   190
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   191
    "Created: / 21-08-2011 / 09:47:23 / cg"
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   192
!
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   193
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   194
previousElement:aSyntaxElement
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   195
    prev := aSyntaxElement.
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   196
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   197
    "Created: / 21-08-2011 / 09:47:28 / cg"
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   198
!
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   199
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
start
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
    ^ start
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
start:anInteger
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
    start := anInteger.
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
stop
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
    ^ stop
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
stop:anInteger
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
    stop := anInteger.
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
type
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
    ^ type
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
type:aSymbol
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
    type := aSymbol.
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
value
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
    ^ value
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
value:anObject
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
    value := anObject.
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
! !
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
!SyntaxElement methodsFor:'comparing'!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
< anObject
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
    anObject isNumber ifTrue:[^stop < anObject].
12909
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   236
    "/ anObject class == self class ifFalse:[^false].
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
12909
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   238
    ^stop < anObject stop
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
    "Created: / 14-02-2010 / 13:39:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11699
f29c996d59f1 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 10632
diff changeset
   241
    "Modified (format): / 27-07-2012 / 21:53:22 / cg"
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
= anObject
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
    anObject class == self class ifFalse:[^false].
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
    ^start == (anObject start) and:
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
        [stop == (anObject stop) and:
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
            [type == (anObject type)]].
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
    "Created: / 14-02-2010 / 13:33:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11699
f29c996d59f1 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 10632
diff changeset
   252
    "Modified (format): / 27-07-2012 / 21:53:24 / cg"
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
hash
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    ^start hash bitXor:[stop hash bitXor:[type hash]].
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
    "Created: / 14-02-2010 / 13:30:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11699
f29c996d59f1 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 10632
diff changeset
   259
    "Modified (format): / 27-07-2012 / 21:53:28 / cg"
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
! !
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
!SyntaxElement methodsFor:'double dispatching'!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
lessFromInteger:anInteger
15314
b0ad3176b612 class: SyntaxElement
Stefan Vogel <sv@exept.de>
parents: 12985
diff changeset
   265
    ^ self stop < anInteger
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
    "Created: / 14-02-2010 / 13:49:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11699
f29c996d59f1 comment/format in:
Claus Gittinger <cg@exept.de>
parents: 10632
diff changeset
   268
    "Modified (format): / 27-07-2012 / 21:53:33 / cg"
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
! !
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
!SyntaxElement methodsFor:'printing & storing'!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
printOn:aStream
16784
46b0eb2093f0 #OTHER by mawalch
mawalch
parents: 15468
diff changeset
   274
    "append a printed representation of the receiver to the argument, aStream"
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
    super printOn:aStream.
10632
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   277
    aStream nextPutAll:'('.
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
    type printOn: aStream.
16784
46b0eb2093f0 #OTHER by mawalch
mawalch
parents: 15468
diff changeset
   279
    aStream nextPutAll:' -> '.
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
    value printOn:aStream.
12909
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   281
    aStream nextPut:$[.
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   282
    start printOn:aStream.
16784
46b0eb2093f0 #OTHER by mawalch
mawalch
parents: 15468
diff changeset
   283
    aStream nextPutAll:' .. '.
12909
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   284
    stop printOn:aStream.
7fdc1ff6720c class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12098
diff changeset
   285
    aStream nextPut:$].
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
    aStream nextPut:$).
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
    "Modified: / 25-06-2010 / 13:20:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10632
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   289
    "Modified: / 21-08-2011 / 09:33:51 / cg"
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   290
! !
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   291
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   292
!SyntaxElement methodsFor:'queries'!
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   293
12985
a2c868a05375 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12909
diff changeset
   294
assigned
a2c868a05375 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12909
diff changeset
   295
    ^ false.
a2c868a05375 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12909
diff changeset
   296
!
a2c868a05375 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 12909
diff changeset
   297
15467
f9546e28146e class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15457
diff changeset
   298
isInBlockScope:aBlockScopeOrNil
f9546e28146e class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15457
diff changeset
   299
    ^ node notNil and:[ node block == aBlockScopeOrNil ]
f9546e28146e class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15457
diff changeset
   300
!
f9546e28146e class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15457
diff changeset
   301
f9546e28146e class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15457
diff changeset
   302
isInSameBlockScopeAs:anotherElement
f9546e28146e class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15457
diff changeset
   303
    ^  node notNil and:[ anotherElement isInBlockScope:node block ]
f9546e28146e class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15457
diff changeset
   304
!
f9546e28146e class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15457
diff changeset
   305
10632
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   306
isSelector
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   307
    ^ type == #selector
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   308
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   309
    "Created: / 21-08-2011 / 09:09:19 / cg"
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   310
!
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   311
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   312
isSelf
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   313
    ^ type == #self
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   314
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   315
    "Created: / 21-08-2011 / 09:31:20 / cg"
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   316
!
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   317
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   318
isVariableOrSelf
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   319
    ^ self isVariable or:[self isSelf]
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   320
9e4b40a83d6a added:9 methods
Claus Gittinger <cg@exept.de>
parents: 10068
diff changeset
   321
    "Created: / 21-08-2011 / 09:31:33 / cg"
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
! !
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
15468
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   324
!SyntaxElement methodsFor:'testing'!
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   325
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   326
isClassVariable
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   327
    ^ node notNil and:[node isVariable and:[node isClassVariable]]
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   328
!
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   329
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   330
isGlobal
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   331
    ^ node notNil and:[ node isGlobal ]
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   332
!
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   333
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   334
isInstanceVariable
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   335
    ^ node notNil and:[node isVariable and:[node isInstanceVariable]]
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   336
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   337
    "Created: / 01-07-2013 / 21:54:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   338
!
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   339
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   340
isVariable
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   341
    ^ node notNil and:[ node isVariable ]
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   342
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   343
    "Created: / 21-08-2011 / 09:09:00 / cg"
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   344
    "Modified: / 16-02-2012 / 19:24:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   345
! !
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   346
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
!SyntaxElement class methodsFor:'documentation'!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
15468
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   349
version
16784
46b0eb2093f0 #OTHER by mawalch
mawalch
parents: 15468
diff changeset
   350
    ^ '$Header$'
15468
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   351
!
dfa524854f25 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 15467
diff changeset
   352
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
version_CVS
16784
46b0eb2093f0 #OTHER by mawalch
mawalch
parents: 15468
diff changeset
   354
    ^ '$Header$'
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
!
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
version_SVN
16784
46b0eb2093f0 #OTHER by mawalch
mawalch
parents: 15468
diff changeset
   358
    ^ '$Id$'
10021
af3ee96d9f16 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
! !
12098
6ec9402ca9b6 class: SyntaxElement
Claus Gittinger <cg@exept.de>
parents: 11699
diff changeset
   360