module documentation

Traverse module/packages directories, build and transform astroid AST into ApiObject instances.

Notes
Implementation is largely adapted from pydoctor's AST builder, adapted to work with astroid.
The builder is responsible to asseble the tree of objects, but do set all attributes. It only sets the strict minumum attributes required to process the rest of the attributes. The strict minimum beeing represented by the classes in _model module.
Class Builder Coordinate the process of parsing and analysing the ast trees.
Class BuilderVisitor No class docstring; 0/1 instance variable, 0/1 class variable, 8/26 methods documented
Class CyclicImport Raised when trying to re-processed a module that is not totally processed yet.
Class ProcessingState Undocumented
Function import_module Actually imports and execute a module from a location and module full name.
Function is_attribute_overridden Detect if the optional C{new_value} expression override the one already stored in the L{_model.Variable.value} attribute.
Class _AstSpecFactory Undocumented
Variable _string_lineno_is_end True iff the 'lineno' attribute of an AST string node points to the last line in the string, rather than the first line.
def import_module(path, module_full_name): (source)

Actually imports and execute a module from a location and module full name.

Parameters
path:PathUndocumented
module_full_name:strUndocumented
Returns
types.ModuleTypethe imported module.
def is_attribute_overridden(obj, new_value): (source)

Detect if the optional C{new_value} expression override the one already stored in the L{_model.Variable.value} attribute.

Parameters
obj:_model.VariableUndocumented
new_value:Optional[astroid.nodes.NodeNG]Undocumented
Returns
boolUndocumented
_string_lineno_is_end = (source)

True iff the 'lineno' attribute of an AST string node points to the last line in the string, rather than the first line.