Files
Pyarmor-Static-Unpack-1shot/tests/tokenized/test_decorators.txt
Michael Hansen 391ba6502d Migrate additional tests which previously didn't have reference source to
the new test system, including new reference source.
2019-10-07 17:06:08 -07:00

50 lines
960 B
Plaintext

@ staticmethod <EOL>
def square ( n ) : <EOL>
<INDENT>
return n * n <EOL>
<OUTDENT>
def synchronized ( lock ) : <EOL>
<INDENT>
'Synchronization decorator.' <EOL>
def wrap ( f ) : <EOL>
<INDENT>
def new_function ( * args , ** kw ) : <EOL>
<INDENT>
lock . acquire ( ) <EOL>
try : <EOL>
<INDENT>
return f ( * args , ** kw ) <EOL>
<OUTDENT>
finally : <EOL>
<INDENT>
lock . release ( ) <EOL>
<OUTDENT>
<OUTDENT>
return new_function <EOL>
<OUTDENT>
return wrap <EOL>
<OUTDENT>
from threading import Lock <EOL>
cache_lock = Lock ( ) <EOL>
class Cache ( object ) : <EOL>
<INDENT>
def __init__ ( self ) : <EOL>
<INDENT>
self . _name = 'default' <EOL>
<OUTDENT>
@ classmethod <EOL>
@ synchronized ( cache_lock ) <EOL>
def cache ( cls ) : <EOL>
<INDENT>
return cls ( ) <EOL>
<OUTDENT>
@ property <EOL>
def name ( self ) : <EOL>
<INDENT>
return self . _name <EOL>
<OUTDENT>
@ name . setter <EOL>
def name ( self , new_name ) : <EOL>
<INDENT>
self . _name = new_name <EOL>