Package SCons :: Module PathList :: Class _PathList
[hide private]
[frames] | no frames]

Class _PathList

source code


An actual PathList object.



Instance Methods [hide private]
 
__init__(self, pathlist)
Initializes a PathList object, canonicalizing the input and pre-processing it for quicker substitution later.
source code
 
__len__(self) source code
 
__getitem__(self, i) source code
 
subst_path(self, env, target, source)
Performs construction variable substitution on a pre-digested PathList for a specific target and source.
source code
Method Details [hide private]

__init__(self, pathlist)
(Constructor)

source code 

Initializes a PathList object, canonicalizing the input and
pre-processing it for quicker substitution later.

The stored representation of the PathList is a list of tuples
containing (type, value), where the "type" is one of the TYPE_*
variables defined above.  We distinguish between:

    strings that contain no '$' and therefore need no
    delayed-evaluation string substitution (we expect that there
    will be many of these and that we therefore get a pretty
    big win from avoiding string substitution)

    strings that contain '$' and therefore need substitution
    (the hard case is things like '${TARGET.dir}/include',
    which require re-evaluation for every target + source)

    other objects (which may be something like an EntryProxy
    that needs a method called to return a Node)

Pre-identifying the type of each element in the PathList up-front
and storing the type in the list of tuples is intended to reduce
the amount of calculation when we actually do the substitution
over and over for each target.