hilda 3.5.0__tar.gz → 3.5.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. {hilda-3.5.0 → hilda-3.5.2}/PKG-INFO +1 -1
  2. {hilda-3.5.0 → hilda-3.5.2}/hilda/_version.py +3 -3
  3. {hilda-3.5.0 → hilda-3.5.2}/hilda/breakpoints.py +6 -6
  4. {hilda-3.5.0 → hilda-3.5.2}/hilda/objective_c_class.py +10 -5
  5. {hilda-3.5.0 → hilda-3.5.2}/hilda/objective_c_symbol.py +2 -1
  6. {hilda-3.5.0 → hilda-3.5.2}/hilda.egg-info/PKG-INFO +1 -1
  7. {hilda-3.5.0 → hilda-3.5.2}/.github/workflows/python-app.yml +0 -0
  8. {hilda-3.5.0 → hilda-3.5.2}/.github/workflows/python-publish.yml +0 -0
  9. {hilda-3.5.0 → hilda-3.5.2}/.gitignore +0 -0
  10. {hilda-3.5.0 → hilda-3.5.2}/.pre-commit-config.yaml +0 -0
  11. {hilda-3.5.0 → hilda-3.5.2}/LICENSE +0 -0
  12. {hilda-3.5.0 → hilda-3.5.2}/README.md +0 -0
  13. {hilda-3.5.0 → hilda-3.5.2}/gifs/.gitattributes +0 -0
  14. {hilda-3.5.0 → hilda-3.5.2}/gifs/ui.png +0 -0
  15. {hilda-3.5.0 → hilda-3.5.2}/gifs/xpc_print_message.gif +0 -0
  16. {hilda-3.5.0 → hilda-3.5.2}/hilda/__init__.py +0 -0
  17. {hilda-3.5.0 → hilda-3.5.2}/hilda/__main__.py +0 -0
  18. {hilda-3.5.0 → hilda-3.5.2}/hilda/cli.py +0 -0
  19. {hilda-3.5.0 → hilda-3.5.2}/hilda/common.py +0 -0
  20. {hilda-3.5.0 → hilda-3.5.2}/hilda/decorators.py +0 -0
  21. {hilda-3.5.0 → hilda-3.5.2}/hilda/exceptions.py +0 -0
  22. {hilda-3.5.0 → hilda-3.5.2}/hilda/hilda_client.py +0 -0
  23. {hilda-3.5.0 → hilda-3.5.2}/hilda/ipython_extensions/events.py +0 -0
  24. {hilda-3.5.0 → hilda-3.5.2}/hilda/ipython_extensions/keybindings.py +0 -0
  25. {hilda-3.5.0 → hilda-3.5.2}/hilda/ipython_extensions/magics.py +0 -0
  26. {hilda-3.5.0 → hilda-3.5.2}/hilda/launch_lldb.py +0 -0
  27. {hilda-3.5.0 → hilda-3.5.2}/hilda/lldb_entrypoint.py +0 -0
  28. {hilda-3.5.0 → hilda-3.5.2}/hilda/lldb_importer.py +0 -0
  29. {hilda-3.5.0 → hilda-3.5.2}/hilda/objective_c/from_ns_to_json.m +0 -0
  30. {hilda-3.5.0 → hilda-3.5.2}/hilda/objective_c/get_objectivec_class_by_module.m +0 -0
  31. {hilda-3.5.0 → hilda-3.5.2}/hilda/objective_c/get_objectivec_class_description.m +0 -0
  32. {hilda-3.5.0 → hilda-3.5.2}/hilda/objective_c/get_objectivec_symbol_data.m +0 -0
  33. {hilda-3.5.0 → hilda-3.5.2}/hilda/objective_c/lsof.m +0 -0
  34. {hilda-3.5.0 → hilda-3.5.2}/hilda/objective_c/to_ns_from_json.m +0 -0
  35. {hilda-3.5.0 → hilda-3.5.2}/hilda/registers.py +0 -0
  36. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/__init__.py +0 -0
  37. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/boringssl.py +0 -0
  38. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/collections.py +0 -0
  39. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/dyld.py +0 -0
  40. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/fs_utils.py +0 -0
  41. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/libmalloc.py +0 -0
  42. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/mach/CFRunLoopServiceMachPort_hooks.py +0 -0
  43. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/mach/__init__.py +0 -0
  44. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/macho/__init__.py +0 -0
  45. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/macho/all_image_infos.py +0 -0
  46. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/macho/apple_version.py +0 -0
  47. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/macho/image_info.py +0 -0
  48. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/macho/macho.py +0 -0
  49. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/macho/macho_load_commands.py +0 -0
  50. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/remotepairingd.py +0 -0
  51. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/syslog.py +0 -0
  52. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/uuid.py +0 -0
  53. {hilda-3.5.0 → hilda-3.5.2}/hilda/snippets/xpc.py +0 -0
  54. {hilda-3.5.0 → hilda-3.5.2}/hilda/symbol.py +0 -0
  55. {hilda-3.5.0 → hilda-3.5.2}/hilda/symbols.py +0 -0
  56. {hilda-3.5.0 → hilda-3.5.2}/hilda/ui/colors.json +0 -0
  57. {hilda-3.5.0 → hilda-3.5.2}/hilda/ui/ui_manager.py +0 -0
  58. {hilda-3.5.0 → hilda-3.5.2}/hilda/ui/views.py +0 -0
  59. {hilda-3.5.0 → hilda-3.5.2}/hilda/watchpoints.py +0 -0
  60. {hilda-3.5.0 → hilda-3.5.2}/hilda.egg-info/SOURCES.txt +0 -0
  61. {hilda-3.5.0 → hilda-3.5.2}/hilda.egg-info/dependency_links.txt +0 -0
  62. {hilda-3.5.0 → hilda-3.5.2}/hilda.egg-info/entry_points.txt +0 -0
  63. {hilda-3.5.0 → hilda-3.5.2}/hilda.egg-info/requires.txt +0 -0
  64. {hilda-3.5.0 → hilda-3.5.2}/hilda.egg-info/top_level.txt +0 -0
  65. {hilda-3.5.0 → hilda-3.5.2}/pyproject.toml +0 -0
  66. {hilda-3.5.0 → hilda-3.5.2}/requirements.txt +0 -0
  67. {hilda-3.5.0 → hilda-3.5.2}/setup.cfg +0 -0
  68. {hilda-3.5.0 → hilda-3.5.2}/tests/__init__.py +0 -0
  69. {hilda-3.5.0 → hilda-3.5.2}/tests/conftest.py +0 -0
  70. {hilda-3.5.0 → hilda-3.5.2}/tests/test_hilda_client/test_from_ns.py +0 -0
  71. {hilda-3.5.0 → hilda-3.5.2}/tests/test_hilda_client/test_hilda_client.py +0 -0
  72. {hilda-3.5.0 → hilda-3.5.2}/tests/test_hilda_client/test_monitor.py +0 -0
  73. {hilda-3.5.0 → hilda-3.5.2}/tests/test_hilda_client/test_ns.py +0 -0
  74. {hilda-3.5.0 → hilda-3.5.2}/tests/test_hilda_client/test_registers.py +0 -0
  75. {hilda-3.5.0 → hilda-3.5.2}/tests/test_snippets/test_xpc.py +0 -0
  76. {hilda-3.5.0 → hilda-3.5.2}/tests/test_symbols/test_objective_c_class.py +0 -0
  77. {hilda-3.5.0 → hilda-3.5.2}/tests/test_symbols/test_objective_c_symbol.py +0 -0
  78. {hilda-3.5.0 → hilda-3.5.2}/tests/test_symbols/test_symbol.py +0 -0
  79. {hilda-3.5.0 → hilda-3.5.2}/tests/test_symbols/test_symbol_list.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hilda
3
- Version: 3.5.0
3
+ Version: 3.5.2
4
4
  Summary: LLDB wrapped and empowered by iPython's features
5
5
  Author-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>, netanel cohen <netanelc305@protonmail.com>
6
6
  Maintainer-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>, netanel cohen <netanelc305@protonmail.com>
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '3.5.0'
32
- __version_tuple__ = version_tuple = (3, 5, 0)
31
+ __version__ = version = '3.5.2'
32
+ __version_tuple__ = version_tuple = (3, 5, 2)
33
33
 
34
- __commit_id__ = commit_id = 'gf8b9ae297'
34
+ __commit_id__ = commit_id = 'g978daf5de'
@@ -388,15 +388,15 @@ class BreakpointList:
388
388
 
389
389
  if regs != {}:
390
390
  log_message += '\nregs:'
391
- for name, fmt in regs.items():
392
- value = hilda.symbol(frame.FindRegister(name).unsigned)
393
- log_message += f'\n\t{name} = {format_value(fmt, value)}'
391
+ for reg_name, fmt in regs.items():
392
+ value = hilda.symbol(frame.FindRegister(reg_name).unsigned)
393
+ log_message += f'\n\t{reg_name} = {format_value(fmt, value)}'
394
394
 
395
395
  if expr != {}:
396
396
  log_message += '\nexpr:'
397
- for name, fmt in expr.items():
398
- value = hilda.symbol(hilda.evaluate_expression(name))
399
- log_message += f'\n\t{name} = {format_value(fmt, value)}'
397
+ for expr_name, fmt in expr.items():
398
+ value = hilda.symbol(hilda.evaluate_expression(expr_name))
399
+ log_message += f'\n\t{expr_name} = {format_value(fmt, value)}'
400
400
 
401
401
  if force_return is not None:
402
402
  hilda.force_return(force_return)
@@ -55,11 +55,13 @@ class Method:
55
55
  return_type: str = field(compare=False)
56
56
  is_class: bool = field(compare=False)
57
57
  args_types: list = field(compare=False)
58
+ class_name: str = field(compare=False)
58
59
 
59
60
  @staticmethod
60
- def from_data(data: dict, client):
61
+ def from_data(class_name: str, data: dict, client) -> 'Method':
61
62
  """
62
63
  Create Method object from raw data.
64
+ :param class_name: ObjC class name
63
65
  :param data: Data as loaded from get_objectivec_symbol_data.m.
64
66
  :param hilda.hilda_client.HildaClient client: Hilda client.
65
67
  """
@@ -71,7 +73,8 @@ class Method:
71
73
  type_=data['type'],
72
74
  return_type=decode_type(data['return_type']),
73
75
  is_class=data['is_class'],
74
- args_types=list(map(decode_type, data['args_types']))
76
+ args_types=list(map(decode_type, data['args_types'])),
77
+ class_name=class_name,
75
78
  )
76
79
 
77
80
  def set_implementation(self, new_imp: int):
@@ -94,7 +97,7 @@ class Method:
94
97
  """
95
98
  self.client.symbol(self.imp).bp(**args)
96
99
 
97
- def __str__(self):
100
+ def __str__(self) -> str:
98
101
  if ':' in self.name:
99
102
  args_names = self.name.split(':')
100
103
  name = ' '.join(['{}:({})'.format(*arg) for arg in zip(args_names, self.args_types[2:])])
@@ -141,7 +144,9 @@ class MethodList(UserList):
141
144
  :param args: given arguments for monitor command
142
145
  """
143
146
  for method in self.data:
144
- method.imp.monitor(**kwargs)
147
+ method_kwargs = kwargs.copy()
148
+ method_kwargs['name'] = f'{"+" if method.is_class else "-"}[{method.class_name} {method.name}]'
149
+ method.imp.monitor(**method_kwargs)
145
150
 
146
151
  # Filters
147
152
 
@@ -332,7 +337,7 @@ class Class:
332
337
  Property(name=prop['name'], attributes=convert_encoded_property_attributes(prop['attributes']))
333
338
  for prop in data['properties']
334
339
  ]
335
- self.methods = MethodList(self.name, [Method.from_data(method, self._client) for method in data['methods']])
340
+ self.methods = MethodList(self.name, [Method.from_data(self.name, method, self._client) for method in data['methods']])
336
341
 
337
342
  def __dir__(self):
338
343
  result = set()
@@ -69,7 +69,8 @@ class ObjectiveCSymbol(Symbol):
69
69
  data['address'] = data['class_address']
70
70
  data['super'] = data['class_super']
71
71
  self.class_ = Class(self._client, self._client.symbol(data['class_address']), data)
72
- self.methods = MethodList(self.class_.name, [Method.from_data(method, self._client) for method in data['methods']])
72
+ self.methods = MethodList(
73
+ self.class_.name, [Method.from_data(self.class_.name, method, self._client) for method in data['methods']])
73
74
 
74
75
  def show(self, recursive: bool = False):
75
76
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hilda
3
- Version: 3.5.0
3
+ Version: 3.5.2
4
4
  Summary: LLDB wrapped and empowered by iPython's features
5
5
  Author-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>, netanel cohen <netanelc305@protonmail.com>
6
6
  Maintainer-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>, netanel cohen <netanelc305@protonmail.com>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes