subclass_lldb 0.0.5 → 0.0.6
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.
- checksums.yaml +4 -4
- data/lib/setup +34 -22
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56428e2248de0ab7f1679b9db348f85b3fcba3845db174e0f9fe86868dca9e65
|
4
|
+
data.tar.gz: 81e889fc2de775a2c0325f828b2aca94dc2a067b7c037ec94da58ca7b3c6a233
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71817ecf60bcea2c691b1166aab7276e84ecd61050e1a5d4d5762eae22dc8407d90b125dd53a98db70094d56383ca0a2278f433426dbbfd13a8d761b08f7e857
|
7
|
+
data.tar.gz: 8da2b30b83be505eb8ab6031e5fbf0c4386e57907fd5138a880664990d5a13b6a2f3e8f8cca9172e3041b5a5307a2f65e365bb73ffe6a04bde315c7da390b23e
|
data/lib/setup
CHANGED
@@ -5,8 +5,8 @@ def help ():#line:8
|
|
5
5
|
print ("Usage:")#line:9
|
6
6
|
print (" subclass superclass_name eg:subclass NSObject")#line:10
|
7
7
|
pass #line:11
|
8
|
-
def process (
|
9
|
-
|
8
|
+
def process (O000O0O0O0OO00O00 ):#line:13
|
9
|
+
OO0O0O00O00O000OO =r'''
|
10
10
|
@import <dlfcn.h>;
|
11
11
|
@import <objc/runtime.h>;
|
12
12
|
@import Foundation;
|
@@ -19,9 +19,10 @@ def process (OO0OOO00O00000OOO ):#line:13
|
|
19
19
|
classes = (const char **)objc_copyClassNamesForImage(info.dli_fname, &count);
|
20
20
|
|
21
21
|
NSInteger level = 0;//继承层级
|
22
|
+
NSInteger backLevel = 0;//继承层级
|
22
23
|
NSMutableDictionary * visited_class = [[NSMutableDictionary alloc]init];
|
23
24
|
NSMutableArray * class_stack = [[NSMutableArray alloc] init];
|
24
|
-
[class_stack addObject:@"'''+
|
25
|
+
[class_stack addObject:@"'''+O000O0O0O0OO00O00 +'''"];
|
25
26
|
BOOL isPrint = NO;
|
26
27
|
printf("\\n");
|
27
28
|
while (true) {
|
@@ -48,22 +49,33 @@ def process (OO0OOO00O00000OOO ):#line:13
|
|
48
49
|
} else {
|
49
50
|
[class_stack removeObjectAtIndex:0];
|
50
51
|
level -= 1;
|
52
|
+
backLevel += 1;
|
51
53
|
}
|
52
54
|
|
53
55
|
} else {
|
54
|
-
|
56
|
+
|
57
|
+
NSMutableString * separationSpace = [[NSMutableString alloc]init];
|
55
58
|
for (int i = 0; i < level; ++i) {
|
56
|
-
[
|
59
|
+
[separationSpace appendString:@" |"];
|
60
|
+
}
|
61
|
+
|
62
|
+
NSMutableString * backLevelSpace = [[NSMutableString alloc]init];
|
63
|
+
for (int i = 0; i < backLevel-1; ++i) {
|
64
|
+
[backLevelSpace appendString:@" |"];
|
57
65
|
}
|
66
|
+
|
67
|
+
backLevel = 0;
|
68
|
+
|
58
69
|
if (isPrint == YES) {
|
59
|
-
printf("
|
70
|
+
printf("|%s%s\\n",(char *)[[separationSpace copy] UTF8String],(char *)[[backLevelSpace copy] UTF8String]);
|
60
71
|
}
|
61
72
|
NSString * temp = (NSString*)NSStringFromClass((Class)class_getSuperclass(NSClassFromString(current_class)));
|
62
73
|
if (temp.length > 0) {
|
63
|
-
printf("
|
74
|
+
printf("|%s----%s : %s (L%s) \\n",(char *)[[separationSpace copy] UTF8String],(char *)[current_class UTF8String],(char *)[temp UTF8String],(char *)[[NSString stringWithFormat:@"%ld",(long)level] UTF8String]);
|
64
75
|
} else {
|
65
|
-
printf("
|
76
|
+
printf("|----%s (L%s) \\n",(char *)[current_class UTF8String],(char *)[[NSString stringWithFormat:@"%ld",(long)level] UTF8String]);
|
66
77
|
}
|
78
|
+
|
67
79
|
isPrint = YES;
|
68
80
|
[visited_class setObject:@1 forKey:current_class];
|
69
81
|
}
|
@@ -71,17 +83,17 @@ def process (OO0OOO00O00000OOO ):#line:13
|
|
71
83
|
break;
|
72
84
|
}
|
73
85
|
}
|
74
|
-
'''#line:
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
print (
|
81
|
-
def helloworld (
|
82
|
-
if
|
83
|
-
help ()#line:
|
84
|
-
else :#line:
|
85
|
-
process (
|
86
|
-
def
|
87
|
-
|
86
|
+
'''#line:91
|
87
|
+
O00000O0O0O0OOO00 =lldb .debugger .GetCommandInterpreter ()#line:93
|
88
|
+
O00O0O000000O0000 =lldb .SBCommandReturnObject ()#line:94
|
89
|
+
O00000O0O0O0OOO00 .HandleCommand ('expression -lobjc -O -- '+OO0O0O00O00O000OO ,O00O0O000000O0000 )#line:96
|
90
|
+
O00OOO00000000O0O =O00O0O000000O0000 .GetOutput ()#line:97
|
91
|
+
OO0000O0O0OOO000O =re .search ('error',O00OOO00000000O0O )#line:98
|
92
|
+
print (O00O0O000000O0000 .GetError ())#line:99
|
93
|
+
def helloworld (OOO00OO0OO0O00O0O ,O0O0OOOOO0O0O0000 ,O0OO0O00OO00O0O00 ,OO0O0OO00O0O0OO0O ):#line:102
|
94
|
+
if O0O0OOOOO0O0O0000 ==None or O0O0OOOOO0O0O0000 =='-h':#line:104
|
95
|
+
help ()#line:105
|
96
|
+
else :#line:106
|
97
|
+
process (O0O0OOOOO0O0O0000 )#line:107
|
98
|
+
def __OOOOO0O0OO00O0O0O (O0OOOO0O0OO0O0OO0 ,O0OOOO0O00O0OOO0O ):#line:110
|
99
|
+
O0OOOO0O0OO0O0OO0 .HandleCommand ("command script add -f subclass_lldb.helloworld subclass")#line:111
|