Source code for coalib.bears.GlobalBear
from coalib.bears.Bear import Bear
from coalib.bears.BEAR_KIND import BEAR_KIND
[docs]class GlobalBear(Bear):
"""
A GlobalBear analyzes semantic facts across several files.
The results of a GlobalBear will be presented grouped by the origin Bear.
Therefore Results spanning across multiple files are allowed and will be
handled correctly.
If you are inspecting a single file at a time, you should consider
using a LocalBear.
"""
def __init__(self,
file_dict,
section,
message_queue,
timeout=0):
"""
Constructs a new GlobalBear.
:param file_dict: The dictionary of {filename: file contents}.
See :class:`coalib.bears.Bear` for other parameters.
"""
Bear.__init__(self, section, message_queue, timeout)
self.file_dict = file_dict
[docs] @staticmethod
def kind():
return BEAR_KIND.GLOBAL
[docs] def run(self,
*args,
dependency_results=None,
**kwargs):
"""
Handles all files in file_dict.
:param dependency_results: The dictionary of {bear name:
result list}.
:return: A list of Result type.
See :class:`coalib.bears.Bear` for `run` method description.
"""
raise NotImplementedError(
'This function has to be implemented for a runnable bear.')