BuiltinLookup.st
author Jan Vrany <jan.vrany@labware.com>
Tue, 01 Jun 2021 20:19:13 +0100
branchjv
changeset 25424 51bd8a6b196f
parent 23107 40173e082cbc
permissions -rw-r--r--
Cherry-picked `Context` cherry-picked Context.st from a6b6dda4caff: * 4aaf30c174e9: #DOCUMENTATION by cg, Claus Gittinger <cg@exept.de> * c67311afcc6c: #OTHER by cg, Claus Gittinger <cg@exept.de> * 883f79e7b2a6: #FEATURE by cg, Claus Gittinger <cg@exept.de> * 716f3fbb09e9: Don't mark contexts with `CATCHMARK`, Jan Vrany <jan.vrany@fit.cvut.cz> * cff24fa817b0: #REFACTORING by stefan, Stefan Vogel <sv@exept.de> * 521f0d837330: #UI_ENHANCEMENT by cg, Claus Gittinger <cg@exept.de> * bf1118f0fcca: #UI_ENHANCEMENT by cg, Claus Gittinger <cg@exept.de> * e587cdd22868: #BUGFIX by cg, Claus Gittinger <cg@exept.de> * fe9f9487a3ed: #DOCUMENTATION by cg, Claus Gittinger <cg@exept.de> * d5b781899274: #BUGFIX by cg, Claus Gittinger <cg@exept.de> * 8258751a7465: #FEATURE by cg, Claus Gittinger <cg@exept.de> * 40173e082cbc: Copyright updates, Jan Vrany <jan.vrany@fit.cvut.cz> * 6db5c28207d5: #UI_ENHANCEMENT by cg, Claus Gittinger <cg@exept.de> * 871ea64fd5dc: #FEATURE by cg, Claus Gittinger <cg@exept.de> * 4b544a108e4e: #DOCUMENTATION by cg, Claus Gittinger <cg@exept.de> * 9a8d8399e566: #FEATURE by cgexept.de, Claus Gittinger <cg@exept.de> * 170b00be0103: #BUGFIX by stefan, Stefan Vogel <sv@exept.de> * a6c73965eae8: #FEATURE by cg, Claus Gittinger <cg@exept.de> * ce2a0e462ff0: #FEATURE by cg, Claus Gittinger <cg@exept.de> * 46a260a9ca92: #FEATURE by cg, Claus Gittinger <cg@exept.de> * 46cab49167fb: #UI_ENHANCEMENT by exept, Claus Gittinger <cg@exept.de> * 7d52dfd3997d: #DOCUMENTATION by exept, Claus Gittinger <cg@exept.de> * c52eeea62763: Fix `Context >> argAndVarNames` in cases when debug info is not available, Jan Vrany <jan.vrany@labware.com> * b5d6963fe4a9: Backed out changeset c52eeea62763, Jan Vrany <jan.vrany@labware.com> * 6fd3896f8703: #FEATURE by exept, Claus Gittinger <cg@exept.de> * b530ee616256: #REFACTORING by cg, Claus Gittinger <cg@exept.de> * ef9b481d7498: #FEATURE by cg, Claus Gittinger <cg@exept.de> * ea663b72bd51: #UI_ENHANCEMENT by cg, Claus Gittinger <cg@exept.de> * 6179572a733c: #FEATURE by exept, Claus Gittinger <cg@exept.de> * 84155b1b6622: #DOCUMENTATION by exept, Claus Gittinger <cg@exept.de> * 37d06602d856: *** empty log message ***, Claus Gittinger <cg@exept.de> * f927b9022fea: *** empty log message ***, Claus Gittinger <cg@exept.de> * 427d3be62d97: #UI_ENHANCEMENT by exept, Claus Gittinger <cg@exept.de>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13401
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
     1
"
13404
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
     2
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
23107
40173e082cbc Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18115
diff changeset
     3
 COPYRIGHT (c) 2010 Jan Vrany
13401
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
     4
              All Rights Reserved
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
     5
13404
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
     6
Permission is hereby granted, free of charge, to any person
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
     7
obtaining a copy of this software and associated documentation
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
     8
files (the 'Software'), to deal in the Software without
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
     9
restriction, including without limitation the rights to use,
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    10
copy, modify, merge, publish, distribute, sublicense, and/or sell
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    11
copies of the Software, and to permit persons to whom the
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    12
Software is furnished to do so, subject to the following
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    13
conditions:
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    14
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    15
The above copyright notice and this permission notice shall be
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    16
included in all copies or substantial portions of the Software.
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    17
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    18
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    19
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    20
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    21
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    22
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    23
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    24
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    25
OTHER DEALINGS IN THE SOFTWARE.
13401
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    26
"
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    27
"{ Package: 'stx:libbasic' }"
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    28
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    29
Lookup subclass:#BuiltinLookup
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    30
	instanceVariableNames:''
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    31
	classVariableNames:'Instance'
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    32
	poolDictionaries:''
13404
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    33
	category:'Kernel-Extensions'
13401
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    34
!
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    35
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    36
!BuiltinLookup class methodsFor:'documentation'!
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    37
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    38
copyright
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    39
"
13404
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    40
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
23107
40173e082cbc Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18115
diff changeset
    41
 COPYRIGHT (c) 2010 Jan Vrany
13401
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    42
              All Rights Reserved
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    43
13404
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    44
Permission is hereby granted, free of charge, to any person
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    45
obtaining a copy of this software and associated documentation
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    46
files (the 'Software'), to deal in the Software without
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    47
restriction, including without limitation the rights to use,
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    48
copy, modify, merge, publish, distribute, sublicense, and/or sell
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    49
copies of the Software, and to permit persons to whom the
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    50
Software is furnished to do so, subject to the following
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    51
conditions:
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    52
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    53
The above copyright notice and this permission notice shall be
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    54
included in all copies or substantial portions of the Software.
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    55
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    56
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    57
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    58
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    59
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    60
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    61
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    62
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    63
OTHER DEALINGS IN THE SOFTWARE.
13401
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    64
"
15868
8bad01430c41 class: BuiltinLookup
Claus Gittinger <cg@exept.de>
parents: 13404
diff changeset
    65
!
8bad01430c41 class: BuiltinLookup
Claus Gittinger <cg@exept.de>
parents: 13404
diff changeset
    66
8bad01430c41 class: BuiltinLookup
Claus Gittinger <cg@exept.de>
parents: 13404
diff changeset
    67
documentation
8bad01430c41 class: BuiltinLookup
Claus Gittinger <cg@exept.de>
parents: 13404
diff changeset
    68
"
8bad01430c41 class: BuiltinLookup
Claus Gittinger <cg@exept.de>
parents: 13404
diff changeset
    69
    the standard smalltalk method lookup algorithm
8bad01430c41 class: BuiltinLookup
Claus Gittinger <cg@exept.de>
parents: 13404
diff changeset
    70
"
13401
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    71
! !
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    72
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    73
!BuiltinLookup class methodsFor:'instance creation'!
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    74
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    75
new
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    76
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    77
    ^self instance
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    78
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    79
    "Created: / 26-04-2010 / 19:25:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    80
! !
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    81
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    82
!BuiltinLookup class methodsFor:'accessing'!
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    83
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    84
instance
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    85
    
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    86
    Instance isNil ifTrue: [Instance := self basicNew].
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    87
    ^ Instance
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    88
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    89
    "Created: / 26-04-2010 / 19:25:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    90
    "Modified: / 26-04-2010 / 21:32:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    91
! !
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    92
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    93
!BuiltinLookup class methodsFor:'documentation'!
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    94
13404
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    95
version_CVS
15868
8bad01430c41 class: BuiltinLookup
Claus Gittinger <cg@exept.de>
parents: 13404
diff changeset
    96
    ^ '$Header: /cvs/stx/stx/libbasic/BuiltinLookup.st,v 1.3 2013-12-16 13:40:00 cg Exp $'
13404
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    97
!
7b32ff0e0c72 initial checkin
Claus Gittinger <cg@exept.de>
parents: 13401
diff changeset
    98
13401
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
    99
version_SVN
15868
8bad01430c41 class: BuiltinLookup
Claus Gittinger <cg@exept.de>
parents: 13404
diff changeset
   100
    ^ '$Id: BuiltinLookup.st,v 1.3 2013-12-16 13:40:00 cg Exp $'
13401
36713d9bc967 Added Lookup.st BuiltinLookup.st
vrany
parents:
diff changeset
   101
! !
15868
8bad01430c41 class: BuiltinLookup
Claus Gittinger <cg@exept.de>
parents: 13404
diff changeset
   102