| Index: tools/findit/component_dictionary.py
|
| diff --git a/tools/findit/component_dictionary.py b/tools/findit/component_dictionary.py
|
| index 4149b7594b3692da850215fa84bf1d2affa22694..d1a8967338e9afc615ff30a74208e0ce8c2405e4 100644
|
| --- a/tools/findit/component_dictionary.py
|
| +++ b/tools/findit/component_dictionary.py
|
| @@ -2,8 +2,6 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| -import os
|
| -
|
|
|
| class FileDictionary(object):
|
| """Maps file in a stacktrace to its crash information.
|
| @@ -16,52 +14,41 @@ class FileDictionary(object):
|
| """Initializes the file dictionary."""
|
| self.file_dict = {}
|
|
|
| - def AddFile(self, file_name, file_path, crashed_line_number,
|
| - stack_frame_index, function):
|
| + def AddFile(self, file_path, crashed_line_range, stack_frame_index,
|
| + function):
|
| """Adds file and its crash information to the map.
|
|
|
| Args:
|
| - file_name: The name of the crashed file.
|
| file_path: The path of the crashed file.
|
| - crashed_line_number: The crashed line of the file.
|
| + crashed_line_range: The crashed line of the file.
|
| stack_frame_index: The file's position in the callstack.
|
| function: The name of the crashed function.
|
| """
|
| - # Populate the dictionary if this file/path has not been added before.
|
| - if file_name not in self.file_dict:
|
| - self.file_dict[file_name] = {}
|
| -
|
| - if file_path not in self.file_dict[file_name]:
|
| - self.file_dict[file_name][file_path] = {}
|
| - self.file_dict[file_name][file_path]['line_numbers'] = []
|
| - self.file_dict[file_name][file_path]['stack_frame_indices'] = []
|
| - self.file_dict[file_name][file_path]['function'] = []
|
| + # Populate the dictionary if this file path has not been added before.
|
| + if file_path not in self.file_dict:
|
| + self.file_dict[file_path] = {}
|
| + self.file_dict[file_path]['line_numbers'] = []
|
| + self.file_dict[file_path]['stack_frame_indices'] = []
|
| + self.file_dict[file_path]['function'] = []
|
|
|
| # Add the crashed line, frame index and function name.
|
| - self.file_dict[file_name][file_path]['line_numbers'].append(
|
| - crashed_line_number)
|
| - self.file_dict[file_name][file_path]['stack_frame_indices'].append(
|
| + self.file_dict[file_path]['line_numbers'].append(
|
| + crashed_line_range)
|
| + self.file_dict[file_path]['stack_frame_indices'].append(
|
| stack_frame_index)
|
| - self.file_dict[file_name][file_path]['function'].append(function)
|
| -
|
| - def GetPathDic(self, file_name):
|
| - """Returns file's path and crash information."""
|
| - return self.file_dict[file_name]
|
| + self.file_dict[file_path]['function'].append(function)
|
|
|
| def GetCrashedLineNumbers(self, file_path):
|
| """Returns crashed line numbers given a file path."""
|
| - file_name = os.path.basename(file_path)
|
| - return self.file_dict[file_name][file_path]['line_numbers']
|
| + return self.file_dict[file_path]['line_numbers']
|
|
|
| - def GetCrashStackFrameindex(self, file_path):
|
| + def GetCrashStackFrameIndices(self, file_path):
|
| """Returns stack frame indices given a file path."""
|
| - file_name = os.path.basename(file_path)
|
| - return self.file_dict[file_name][file_path]['stack_frame_indices']
|
| + return self.file_dict[file_path]['stack_frame_indices']
|
|
|
| - def GetCrashFunction(self, file_path):
|
| + def GetCrashFunctions(self, file_path):
|
| """Returns list of crashed functions given a file path."""
|
| - file_name = os.path.basename(file_path)
|
| - return self.file_dict[file_name][file_path]['function']
|
| + return self.file_dict[file_path]['function']
|
|
|
| def __iter__(self):
|
| return iter(self.file_dict)
|
| @@ -99,18 +86,17 @@ class ComponentDictionary(object):
|
| continue
|
|
|
| # Get values of the variables
|
| - file_name = stack_frame.file_name
|
| file_path = stack_frame.file_path
|
| - crashed_line_number = stack_frame.crashed_line_number
|
| + crashed_line_range = stack_frame.crashed_line_range
|
| stack_frame_index = stack_frame.index
|
| function = stack_frame.function
|
|
|
| # Add the file to this component's dictionary of files.
|
| file_dict = self.component_dict[component_path]
|
| - file_dict.AddFile(file_name, file_path, crashed_line_number,
|
| - stack_frame_index, function)
|
| + file_dict.AddFile(file_path, crashed_line_range, stack_frame_index,
|
| + function)
|
|
|
| - def __CreateFileDictFromCallstack(self, callstack, top_n_frames=15):
|
| + def __CreateFileDictFromCallstack(self, callstack, top_n_frames=10):
|
| """Creates a file dict that maps a file to the occurrence in the stack.
|
|
|
| Args:
|
|
|