Skip to content

Commit d752fc4

Browse files
Fix some methods.
1 parent df293db commit d752fc4

11 files changed

Lines changed: 283 additions & 14 deletions

File tree

Classes/JSBNSObject.h

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,12 @@
2323
- (id)self;
2424
- (struct _NSZone *)zone;
2525

26-
- (id)performSelector:(SEL)aSelector;
27-
- (id)performSelector:(SEL)aSelector withObject:(id)object;
28-
- (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2;
26+
JSExportAs(performSelector,
27+
- (id)__performSelector:(NSString *)aSelector);
28+
JSExportAs(performSelectorWithObject,
29+
- (id)__performSelector:(NSString *)aSelector withObject:(id)object);
30+
JSExportAs(performSelectorWithObjectWithObject,
31+
- (id)__performSelector:(NSString *)aSelector withObject:(id)object1 withObject:(id)object2);
2932

3033
- (BOOL)isProxy;
3134

@@ -63,17 +66,22 @@
6366

6467
+ (Class)superclass;
6568
+ (Class)class;
66-
+ (BOOL)instancesRespondToSelector:(SEL)aSelector;
69+
JSExportAs(instancesRespondToSelector,
70+
+ (BOOL)__instancesRespondToSelector:(NSString *)aSelector);
6771
+ (BOOL)conformsToProtocol:(Protocol *)protocol;
6872
- (IMP)methodForSelector:(SEL)aSelector;
6973
+ (IMP)instanceMethodForSelector:(SEL)aSelector;
70-
- (void)doesNotRecognizeSelector:(SEL)aSelector;
74+
JSExportAs(doesNotRecognizeSelector,
75+
- (void)__doesNotRecognizeSelector:(NSString *)aSelector);
7176

72-
- (id)forwardingTargetForSelector:(SEL)aSelector;
77+
JSExportAs(forwardingTargetForSelector,
78+
- (id)__forwardingTargetForSelector:(NSString *)aSelector);
7379
- (void)forwardInvocation:(NSInvocation *)anInvocation;
74-
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector;
80+
JSExportAs(methodSignatureForSelector,
81+
- (NSMethodSignature *)__methodSignatureForSelector:(NSString *)aSelector);
7582

76-
+ (NSMethodSignature *)instanceMethodSignatureForSelector:(SEL)aSelector;
83+
JSExportAs(instanceMethodSignatureForSelector,
84+
+ (NSMethodSignature *)__instanceMethodSignatureForSelector:(NSString *)aSelector);
7785

7886
- (BOOL)allowsWeakReference;
7987
- (BOOL)retainWeakReference;
@@ -82,7 +90,9 @@
8290

8391
+ (BOOL)isSubclassOfClass:(Class)aClass;
8492

85-
+ (BOOL)resolveClassMethod:(SEL)sel;
86-
+ (BOOL)resolveInstanceMethod:(SEL)sel;
93+
JSExportAs(resolveClassMethod,
94+
+ (BOOL)__resolveClassMethod:(NSString *)sel);
95+
JSExportAs(resolveInstanceMethod,
96+
+ (BOOL)__resolveInstanceMethod:(NSString *)sel);
8797

8898
@end
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//
2+
// NSObject+JavaScriptBridge.h
3+
// JavaScriptBridge
4+
//
5+
// Created by kishikawa katsumi on 2014/02/03.
6+
// Copyright (c) 2014 kishikawa katsumi. All rights reserved.
7+
//
8+
9+
#import <Foundation/Foundation.h>
10+
11+
@interface NSObject (JavaScriptBridge)
12+
13+
@end
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
//
2+
// NSObject+JavaScriptBridge.m
3+
// JavaScriptBridge
4+
//
5+
// Created by kishikawa katsumi on 2014/02/03.
6+
// Copyright (c) 2014 kishikawa katsumi. All rights reserved.
7+
//
8+
9+
#import "NSObject+JavaScriptBridge.h"
10+
11+
@implementation NSObject (JavaScriptBridge)
12+
13+
#pragma clang diagnostic push
14+
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
15+
16+
- (id)__performSelector:(NSString *)aSelector
17+
{
18+
return [self performSelector:NSSelectorFromString(aSelector)];
19+
}
20+
21+
- (id)__performSelector:(NSString *)aSelector withObject:(id)object
22+
{
23+
return [self performSelector:NSSelectorFromString(aSelector) withObject:object];
24+
}
25+
26+
- (id)__performSelector:(NSString *)aSelector withObject:(id)object1 withObject:(id)object2
27+
{
28+
return [self performSelector:NSSelectorFromString(aSelector) withObject:object1 withObject:object2];
29+
}
30+
31+
#pragma clang diagnostic pop
32+
33+
+ (BOOL)__instancesRespondToSelector:(NSString *)aSelector
34+
{
35+
return [self instancesRespondToSelector:NSSelectorFromString(aSelector)];
36+
}
37+
38+
- (void)__doesNotRecognizeSelector:(NSString *)aSelector
39+
{
40+
[self doesNotRecognizeSelector:NSSelectorFromString(aSelector)];
41+
}
42+
43+
- (id)__forwardingTargetForSelector:(NSString *)aSelector
44+
{
45+
return [self forwardingTargetForSelector:NSSelectorFromString(aSelector)];
46+
}
47+
48+
- (NSMethodSignature *)__methodSignatureForSelector:(NSString *)aSelector
49+
{
50+
return [self methodSignatureForSelector:NSSelectorFromString(aSelector)];
51+
}
52+
53+
+ (NSMethodSignature *)__instanceMethodSignatureForSelector:(NSString *)aSelector
54+
{
55+
return [self instanceMethodSignatureForSelector:NSSelectorFromString(aSelector)];
56+
}
57+
58+
+ (BOOL)__resolveClassMethod:(NSString *)sel
59+
{
60+
return [self resolveClassMethod:NSSelectorFromString(sel)];
61+
}
62+
63+
+ (BOOL)__resolveInstanceMethod:(NSString *)sel
64+
{
65+
return [self resolveInstanceMethod:NSSelectorFromString(sel)];
66+
}
67+
68+
@end
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//
2+
// UIBarButtonItem+JavaScriptCore.h
3+
// JavaScriptBridge
4+
//
5+
// Created by kishikawa katsumi on 2014/02/03.
6+
// Copyright (c) 2014 kishikawa katsumi. All rights reserved.
7+
//
8+
9+
#import <UIKit/UIKit.h>
10+
11+
@interface UIBarButtonItem (JavaScriptCore)
12+
13+
@end
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
//
2+
// UIBarButtonItem+JavaScriptCore.m
3+
// JavaScriptBridge
4+
//
5+
// Created by kishikawa katsumi on 2014/02/03.
6+
// Copyright (c) 2014 kishikawa katsumi. All rights reserved.
7+
//
8+
9+
#import "UIBarButtonItem+JavaScriptCore.h"
10+
11+
@implementation UIBarButtonItem (JavaScriptCore)
12+
13+
- (id)__initWithImage:(UIImage *)image style:(UIBarButtonItemStyle)style target:(id)target action:(NSString *)action
14+
{
15+
return [self initWithImage:image style:style target:target action:NSSelectorFromString(action)];
16+
}
17+
18+
- (id)__initWithImage:(UIImage *)image landscapeImagePhone:(UIImage *)landscapeImagePhone style:(UIBarButtonItemStyle)style target:(id)target action:(NSString *)action
19+
{
20+
return [self initWithImage:image landscapeImagePhone:landscapeImagePhone style:style target:target action:NSSelectorFromString(action)];
21+
}
22+
23+
- (id)__initWithTitle:(NSString *)title style:(UIBarButtonItemStyle)style target:(id)target action:(NSString *)action
24+
{
25+
return [self initWithTitle:title style:style target:self action:NSSelectorFromString(action)];
26+
}
27+
28+
- (id)__initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(NSString *)action
29+
{
30+
return [self initWithBarButtonSystemItem:systemItem target:target action:NSSelectorFromString(action)];
31+
}
32+
33+
@end

Classes/iOS/FrameworkSupport/UIKit/JSBUIBarButtonItem.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,14 @@
2424
@property (nonatomic) CGFloat width;
2525
@property (nonatomic, retain) UIView *customView;
2626

27-
- (id)initWithImage:(UIImage *)image style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action;
28-
- (id)initWithImage:(UIImage *)image landscapeImagePhone:(UIImage *)landscapeImagePhone style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action;
29-
- (id)initWithTitle:(NSString *)title style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action;
30-
- (id)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(SEL)action;
27+
JSExportAs(initWithImageStyleTargetAction,
28+
- (id)__initWithImage:(UIImage *)image style:(UIBarButtonItemStyle)style target:(id)target action:(NSString *)action);
29+
JSExportAs(initWithImageLandscapeImagePhoneStyleTargetAction,
30+
- (id)__initWithImage:(UIImage *)image landscapeImagePhone:(UIImage *)landscapeImagePhone style:(UIBarButtonItemStyle)style target:(id)target action:(NSString *)action);
31+
JSExportAs(initWithTitleStyleTargetAction,
32+
- (id)__initWithTitle:(NSString *)title style:(UIBarButtonItemStyle)style target:(id)target action:(NSString *)action);
33+
JSExportAs(initWithBarButtonSystemItemTargetAction,
34+
- (id)__initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(NSString *)action);
3135
- (id)initWithCustomView:(UIView *)customView;
3236
- (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics;
3337
- (UIImage *)backgroundImageForState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics;

Examples/HelloWorld/HelloWorld.xcodeproj/project.pbxproj

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
1448F2D7189EAAFA005BC527 /* NSObject+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 1448F2D4189EAAFA005BC527 /* NSObject+JavaScriptBridge.m */; };
11+
1448F2D8189EAAFA005BC527 /* UIBarButtonItem+JavaScriptCore.m in Sources */ = {isa = PBXBuildFile; fileRef = 1448F2D6189EAAFA005BC527 /* UIBarButtonItem+JavaScriptCore.m */; };
1012
144BD83618938E2C00C7E217 /* UIView+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 144BD83518938E2C00C7E217 /* UIView+JavaScriptBridge.m */; };
1113
14876D5F1893B6B0008622D6 /* UIViewController+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 14876D5E1893B6B0008622D6 /* UIViewController+JavaScriptBridge.m */; };
1214
149A45F018796C5D007C2CA7 /* JSBMessageForwarding.m in Sources */ = {isa = PBXBuildFile; fileRef = 149A45EF18796C5D007C2CA7 /* JSBMessageForwarding.m */; };
@@ -63,6 +65,10 @@
6365
/* End PBXBuildFile section */
6466

6567
/* Begin PBXFileReference section */
68+
1448F2D3189EAAFA005BC527 /* NSObject+JavaScriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+JavaScriptBridge.h"; sourceTree = "<group>"; };
69+
1448F2D4189EAAFA005BC527 /* NSObject+JavaScriptBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+JavaScriptBridge.m"; sourceTree = "<group>"; };
70+
1448F2D5189EAAFA005BC527 /* UIBarButtonItem+JavaScriptCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIBarButtonItem+JavaScriptCore.h"; sourceTree = "<group>"; };
71+
1448F2D6189EAAFA005BC527 /* UIBarButtonItem+JavaScriptCore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIBarButtonItem+JavaScriptCore.m"; sourceTree = "<group>"; };
6672
144BD83418938E2C00C7E217 /* UIView+JavaScriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+JavaScriptBridge.h"; sourceTree = "<group>"; };
6773
144BD83518938E2C00C7E217 /* UIView+JavaScriptBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+JavaScriptBridge.m"; sourceTree = "<group>"; };
6874
14876D5D1893B6B0008622D6 /* UIViewController+JavaScriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+JavaScriptBridge.h"; sourceTree = "<group>"; };
@@ -875,12 +881,16 @@
875881
children = (
876882
14A0455E187829B4004831E8 /* JSBMessageForwarding.h */,
877883
149A45EF18796C5D007C2CA7 /* JSBMessageForwarding.m */,
884+
1448F2D3189EAAFA005BC527 /* NSObject+JavaScriptBridge.h */,
885+
1448F2D4189EAAFA005BC527 /* NSObject+JavaScriptBridge.m */,
878886
149A46211879B4A6007C2CA7 /* NSURLConnection+JavaScriptBridge.h */,
879887
149A46221879B4A6007C2CA7 /* NSURLConnection+JavaScriptBridge.m */,
880888
14876D5D1893B6B0008622D6 /* UIViewController+JavaScriptBridge.h */,
881889
14876D5E1893B6B0008622D6 /* UIViewController+JavaScriptBridge.m */,
882890
144BD83418938E2C00C7E217 /* UIView+JavaScriptBridge.h */,
883891
144BD83518938E2C00C7E217 /* UIView+JavaScriptBridge.m */,
892+
1448F2D5189EAAFA005BC527 /* UIBarButtonItem+JavaScriptCore.h */,
893+
1448F2D6189EAAFA005BC527 /* UIBarButtonItem+JavaScriptCore.m */,
884894
14A0455F187829B4004831E8 /* UIControl+JavaScriptBridge.h */,
885895
14A04560187829B4004831E8 /* UIControl+JavaScriptBridge.m */,
886896
14A98443189BF01F0033D110 /* UIGestureRecognizer+JavaScriptBridge.h */,
@@ -1906,6 +1916,7 @@
19061916
14A04846187829CB004831E8 /* JSBTwitter.m in Sources */,
19071917
14A98448189BF01F0033D110 /* UIMenuItem+JavaScriptBridge.m in Sources */,
19081918
149A46231879B4A6007C2CA7 /* NSURLConnection+JavaScriptBridge.m in Sources */,
1919+
1448F2D7189EAAFA005BC527 /* NSObject+JavaScriptBridge.m in Sources */,
19091920
14A0482E187829CB004831E8 /* JSBAssetsLibrary.m in Sources */,
19101921
14A0482C187829CB004831E8 /* JSBAdSupport.m in Sources */,
19111922
149A45F018796C5D007C2CA7 /* JSBMessageForwarding.m in Sources */,
@@ -1918,6 +1929,7 @@
19181929
14A04567187829B4004831E8 /* UIControl+JavaScriptBridge.m in Sources */,
19191930
14A04836187829CB004831E8 /* JSBEventKit.m in Sources */,
19201931
14876D5F1893B6B0008622D6 /* UIViewController+JavaScriptBridge.m in Sources */,
1932+
1448F2D8189EAAFA005BC527 /* UIBarButtonItem+JavaScriptCore.m in Sources */,
19211933
14A04834187829CB004831E8 /* JSBCoreMotion.m in Sources */,
19221934
149A460C1879730A007C2CA7 /* SLComposeViewController+JavaScriptBridge.m in Sources */,
19231935
14A0453918782920004831E8 /* main.m in Sources */,

Examples/UICatalog/UICatalog.xcodeproj/project.pbxproj

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
1448F2D1189EAAC7005BC527 /* NSObject+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 1448F2CE189EAAC7005BC527 /* NSObject+JavaScriptBridge.m */; };
11+
1448F2D2189EAAC7005BC527 /* UIBarButtonItem+JavaScriptCore.m in Sources */ = {isa = PBXBuildFile; fileRef = 1448F2D0189EAAC7005BC527 /* UIBarButtonItem+JavaScriptCore.m */; };
1012
144BD83318938E1D00C7E217 /* UIView+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 144BD83218938E1D00C7E217 /* UIView+JavaScriptBridge.m */; };
1113
14876D5C1893B697008622D6 /* UIViewController+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 14876D5B1893B697008622D6 /* UIViewController+JavaScriptBridge.m */; };
1214
149A45E1187961AB007C2CA7 /* JSBMessageForwarding.m in Sources */ = {isa = PBXBuildFile; fileRef = 149A45E0187961AB007C2CA7 /* JSBMessageForwarding.m */; };
@@ -71,6 +73,10 @@
7173
/* End PBXBuildFile section */
7274

7375
/* Begin PBXFileReference section */
76+
1448F2CD189EAAC7005BC527 /* NSObject+JavaScriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSObject+JavaScriptBridge.h"; path = "../../../Classes/Private/NSObject+JavaScriptBridge.h"; sourceTree = "<group>"; };
77+
1448F2CE189EAAC7005BC527 /* NSObject+JavaScriptBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSObject+JavaScriptBridge.m"; path = "../../../Classes/Private/NSObject+JavaScriptBridge.m"; sourceTree = "<group>"; };
78+
1448F2CF189EAAC7005BC527 /* UIBarButtonItem+JavaScriptCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIBarButtonItem+JavaScriptCore.h"; path = "../../../Classes/Private/UIBarButtonItem+JavaScriptCore.h"; sourceTree = "<group>"; };
79+
1448F2D0189EAAC7005BC527 /* UIBarButtonItem+JavaScriptCore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIBarButtonItem+JavaScriptCore.m"; path = "../../../Classes/Private/UIBarButtonItem+JavaScriptCore.m"; sourceTree = "<group>"; };
7480
144BD83118938E1D00C7E217 /* UIView+JavaScriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIView+JavaScriptBridge.h"; path = "../../../Classes/Private/UIView+JavaScriptBridge.h"; sourceTree = "<group>"; };
7581
144BD83218938E1D00C7E217 /* UIView+JavaScriptBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIView+JavaScriptBridge.m"; path = "../../../Classes/Private/UIView+JavaScriptBridge.m"; sourceTree = "<group>"; };
7682
14876D5A1893B697008622D6 /* UIViewController+JavaScriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIViewController+JavaScriptBridge.h"; path = "../../../Classes/Private/UIViewController+JavaScriptBridge.h"; sourceTree = "<group>"; };
@@ -1782,12 +1788,16 @@
17821788
children = (
17831789
14A0451B18781832004831E8 /* JSBMessageForwarding.h */,
17841790
149A45E0187961AB007C2CA7 /* JSBMessageForwarding.m */,
1791+
1448F2CD189EAAC7005BC527 /* NSObject+JavaScriptBridge.h */,
1792+
1448F2CE189EAAC7005BC527 /* NSObject+JavaScriptBridge.m */,
17851793
149A461E1879B497007C2CA7 /* NSURLConnection+JavaScriptBridge.h */,
17861794
149A461F1879B497007C2CA7 /* NSURLConnection+JavaScriptBridge.m */,
17871795
14876D5A1893B697008622D6 /* UIViewController+JavaScriptBridge.h */,
17881796
14876D5B1893B697008622D6 /* UIViewController+JavaScriptBridge.m */,
17891797
144BD83118938E1D00C7E217 /* UIView+JavaScriptBridge.h */,
17901798
144BD83218938E1D00C7E217 /* UIView+JavaScriptBridge.m */,
1799+
1448F2CF189EAAC7005BC527 /* UIBarButtonItem+JavaScriptCore.h */,
1800+
1448F2D0189EAAC7005BC527 /* UIBarButtonItem+JavaScriptCore.m */,
17911801
14A0451C18781832004831E8 /* UIControl+JavaScriptBridge.h */,
17921802
14A0451D18781832004831E8 /* UIControl+JavaScriptBridge.m */,
17931803
14A9843D189BF0120033D110 /* UIGestureRecognizer+JavaScriptBridge.h */,
@@ -1945,6 +1955,7 @@
19451955
149C567E1875C5BB0003EE16 /* JSBOpenGLES.m in Sources */,
19461956
14A98442189BF0120033D110 /* UIMenuItem+JavaScriptBridge.m in Sources */,
19471957
149A46201879B497007C2CA7 /* NSURLConnection+JavaScriptBridge.m in Sources */,
1958+
1448F2D1189EAAC7005BC527 /* NSObject+JavaScriptBridge.m in Sources */,
19481959
149C56811875C5BB0003EE16 /* JSBQuickLook.m in Sources */,
19491960
149C56711875C5BB0003EE16 /* JSBCoreLocation.m in Sources */,
19501961
149A45E7187961BD007C2CA7 /* ALAssetsLibrary+JavaScriptBridge.m in Sources */,
@@ -1957,6 +1968,7 @@
19571968
14B5CD2C1875C3740019A135 /* main.m in Sources */,
19581969
149C56801875C5BB0003EE16 /* JSBQuartzCore.m in Sources */,
19591970
14876D5C1893B697008622D6 /* UIViewController+JavaScriptBridge.m in Sources */,
1971+
1448F2D2189EAAC7005BC527 /* UIBarButtonItem+JavaScriptCore.m in Sources */,
19601972
149C56731875C5BB0003EE16 /* JSBCoreMotion.m in Sources */,
19611973
149A4606187972FF007C2CA7 /* SLComposeViewController+JavaScriptBridge.m in Sources */,
19621974
149C566C1875C5BB0003EE16 /* JSBAddressBookUI.m in Sources */,

0 commit comments

Comments
 (0)