Package SCons :: Module Environment :: Class BuilderWrapper
[hide private]
[frames] | no frames]

Class BuilderWrapper

source code

   object --+    
            |    
MethodWrapper --+
                |
               BuilderWrapper


A MethodWrapper subclass that that associates an environment with
a Builder.

This mainly exists to wrap the __call__() function so that all calls
to Builders can have their argument lists massaged in the same way
(treat a lone argument as the source, treat two arguments as target
then source, make sure both target and source are lists) without
having to have cut-and-paste code to do it.

As a bit of obsessive backwards compatibility, we also intercept
attempts to get or set the "env" or "builder" attributes, which were
the names we used before we put the common functionality into the
MethodWrapper base class.  We'll keep this around for a while in case
people shipped Tool modules that reached into the wrapper (like the
Tool/qt.py module does, or did).  There shouldn't be a lot attribute
fetching or setting on these, so a little extra work shouldn't hurt.



Instance Methods [hide private]
 
__call__(self, target=False, source=<class 'SCons.Environment._Null'>, *args, **kw) source code
 
__repr__(self)
repr(x)
source code
 
__str__(self)
str(x)
source code
 
__getattr__(self, name) source code
 
__setattr__(self, name, value)
x.__setattr__('name', value) <==> x.name = value
source code

Inherited from MethodWrapper: __init__, clone

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__call__(self, target=False, source=<class 'SCons.Environment._Null'>, *args, **kw)
(Call operator)

source code 
Overrides: MethodWrapper.__call__

__repr__(self)
(Representation operator)

source code 
repr(x)

Overrides: object.__repr__
(inherited documentation)

__str__(self)
(Informal representation operator)

source code 
str(x)

Overrides: object.__str__
(inherited documentation)

__setattr__(self, name, value)

source code 
x.__setattr__('name', value) <==> x.name = value

Overrides: object.__setattr__
(inherited documentation)