WrappedMethod.st
author claus
Thu, 02 Jun 1994 13:36:35 +0200
changeset 8 3fba2acf0eeb
child 9 f5b6ab00bdf6
permissions -rw-r--r--
Initial revision
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
     1
'From Smalltalk/X, Version:2.10.1 on 7-may-1994 at 20:55:26'!
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
     2
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
     3
Method subclass:#WrappedMethod
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
     4
	 instanceVariableNames:''
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
     5
	 classVariableNames:''
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
     6
	 poolDictionaries:''
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
     7
	 category:'Kernel-Methods'
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
     8
!
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
     9
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    10
!WrappedMethod methodsFor:'queries'!
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    11
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    12
isWrapped
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    13
    ^ true
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    14
! !
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    15
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    16
!WrappedMethod methodsFor:'accessing'!
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    17
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    18
originalMethod
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    19
    "return the method I am wrapping"
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    20
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    21
    "a kludge: it must be in the literal array somewhere"
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    22
    literals do:[:aLiteral |
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    23
        aLiteral class == Method ifTrue:[
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    24
            ^ aLiteral
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    25
        ]
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    26
    ].
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    27
    ^ nil
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    28
!
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    29
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    30
basicLiterals
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    31
    "return my literals"
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    32
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    33
    ^ literals
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    34
!
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    35
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    36
methodArgAndVarNames
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    37
    |names|
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    38
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    39
    names := self methodArgNames.
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    40
    names isNil ifTrue:[^ #()].
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    41
    ^ names
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    42
!
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    43
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    44
source
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    45
    "return the wrapped methods source"
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    46
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    47
    ^ self originalMethod source
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    48
!
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    49
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    50
literals
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    51
    "return the wrapped methods literals"
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    52
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    53
    ^ self originalMethod literals
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    54
!
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    55
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    56
numberOfMethodVars
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    57
    ^ 0
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    58
!
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    59
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    60
methodVarNames
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    61
    ^ nil
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    62
! !
3fba2acf0eeb Initial revision
claus
parents:
diff changeset
    63