| OLD | NEW |
| 1 # Copyright 2017 The Chromium Authors. All rights reserved. | 1 # Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """An interactive console for looking analyzing .size files.""" | 5 """An interactive console for looking analyzing .size files.""" |
| 6 | 6 |
| 7 import argparse | 7 import argparse |
| 8 import atexit | 8 import atexit |
| 9 import code | 9 import code |
| 10 import contextlib | 10 import contextlib |
| 11 import itertools | 11 import itertools |
| 12 import logging | 12 import logging |
| 13 import os | 13 import os |
| 14 import readline | 14 import readline |
| 15 import subprocess | 15 import subprocess |
| 16 import sys | 16 import sys |
| 17 | 17 |
| 18 import archive | 18 import archive |
| 19 import describe | 19 import describe |
| 20 import diff |
| 20 import file_format | 21 import file_format |
| 21 import match_util | 22 import match_util |
| 22 import models | 23 import models |
| 23 import paths | 24 import paths |
| 24 | 25 |
| 25 | 26 |
| 26 # Number of lines before using less for Print(). | 27 # Number of lines before using less for Print(). |
| 27 _THRESHOLD_FOR_PAGER = 30 | 28 _THRESHOLD_FOR_PAGER = 30 |
| 28 | 29 |
| 29 | 30 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 60 else: | 61 else: |
| 61 describe.WriteLines(lines, sys.stdout.write) | 62 describe.WriteLines(lines, sys.stdout.write) |
| 62 | 63 |
| 63 | 64 |
| 64 class _Session(object): | 65 class _Session(object): |
| 65 _readline_initialized = False | 66 _readline_initialized = False |
| 66 | 67 |
| 67 def __init__(self, size_infos, lazy_paths): | 68 def __init__(self, size_infos, lazy_paths): |
| 68 self._variables = { | 69 self._variables = { |
| 69 'Print': self._PrintFunc, | 70 'Print': self._PrintFunc, |
| 70 'Diff': models.Diff, | 71 'Diff': diff.Diff, |
| 71 'Disassemble': self._DisassembleFunc, | 72 'Disassemble': self._DisassembleFunc, |
| 72 'ExpandRegex': match_util.ExpandRegexIdentifierPlaceholder, | 73 'ExpandRegex': match_util.ExpandRegexIdentifierPlaceholder, |
| 73 'ShowExamples': self._ShowExamplesFunc, | 74 'ShowExamples': self._ShowExamplesFunc, |
| 74 } | 75 } |
| 75 self._lazy_paths = lazy_paths | 76 self._lazy_paths = lazy_paths |
| 76 self._size_infos = size_infos | 77 self._size_infos = size_infos |
| 77 | 78 |
| 78 if len(size_infos) == 1: | 79 if len(size_infos) == 1: |
| 79 self._variables['size_info'] = size_infos[0] | 80 self._variables['size_info'] = size_infos[0] |
| 80 else: | 81 else: |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 240 output_directory=args.output_directory, | 241 output_directory=args.output_directory, |
| 241 any_path_within_output_directory=args.inputs[0]) | 242 any_path_within_output_directory=args.inputs[0]) |
| 242 session = _Session(size_infos, lazy_paths) | 243 session = _Session(size_infos, lazy_paths) |
| 243 | 244 |
| 244 if args.query: | 245 if args.query: |
| 245 logging.info('Running query from command-line.') | 246 logging.info('Running query from command-line.') |
| 246 session.Eval(args.query) | 247 session.Eval(args.query) |
| 247 else: | 248 else: |
| 248 logging.info('Entering interactive console.') | 249 logging.info('Entering interactive console.') |
| 249 session.GoInteractive() | 250 session.GoInteractive() |
| OLD | NEW |