LazyMethod.st
changeset 20 f8dd8ba75205
parent 18 343ca93df0e0
child 27 7e2b3ab54d7c
equal deleted inserted replaced
19:84a1ddf215a5 20:f8dd8ba75205
    14          instanceVariableNames:''
    14          instanceVariableNames:''
    15          classVariableNames:''
    15          classVariableNames:''
    16          poolDictionaries:''
    16          poolDictionaries:''
    17          category:'Kernel-Methods'
    17          category:'Kernel-Methods'
    18 !
    18 !
       
    19 
       
    20 LazyMethod comment:'
       
    21 COPYRIGHT (c) 1994 by Claus Gittinger
       
    22               All Rights Reserved
       
    23 '!
       
    24 
       
    25 !LazyMethod class methodsFor:'documentation'!
       
    26 
       
    27 copyright
       
    28 "
       
    29  COPYRIGHT (c) 1994 by Claus Gittinger
       
    30               All Rights Reserved
       
    31 
       
    32  This software is furnished under a license and may be used
       
    33  only in accordance with the terms of that license and with the
       
    34  inclusion of the above copyright notice.   This software may not
       
    35  be provided or otherwise made available to, or used by, any
       
    36  other person.  No title to or ownership of the software is
       
    37  hereby transferred.
       
    38 "
       
    39 !
       
    40 
       
    41 version
       
    42 "
       
    43 $Header: /cvs/stx/stx/libcomp/LazyMethod.st,v 1.2 1994-06-02 20:26:00 claus Exp $
       
    44 "
       
    45 !
       
    46 
       
    47 documentation
       
    48 "
       
    49     Instances of LazyMethod are created when doing a lazy autoload.
       
    50     When executed, these will trigger an error in the VM (noByteCode),
       
    51     which is cought here to create a real method from the receiver.
       
    52     This allows faster loading of code, which will then be compiled
       
    53     when first executed; for classes with a large number of methods, of
       
    54     which only a small subset is actually used, this can also save
       
    55     lots of memory.
       
    56 "
       
    57 ! !
    19 
    58 
    20 !LazyMethod methodsFor:'error handling'!
    59 !LazyMethod methodsFor:'error handling'!
    21 
    60 
    22 noByteCode 
    61 noByteCode 
    23     "this error is triggered by the interpreter when a lazy method
    62     "this error is triggered by the interpreter when a lazy method