//
// JSBNSObject.h
// JavaScriptBridge
//
// Created by kishikawa katsumi on 2013/12/31.
// Copyright (c) 2013 kishikawa katsumi. All rights reserved.
//
#include
#include
@import JavaScriptCore;
@class NSString, NSMethodSignature, NSInvocation;
@protocol JSBNSObject
- (BOOL)isEqual:(id)object;
- (NSUInteger)hash;
- (Class)superclass;
- (Class)class;
- (id)self;
- (struct _NSZone *)zone;
JSExportAs(performSelector,
- (id)__performSelector:(NSString *)aSelector);
JSExportAs(performSelectorWithObject,
- (id)__performSelector:(NSString *)aSelector withObject:(id)object);
JSExportAs(performSelectorWithObjectWithObject,
- (id)__performSelector:(NSString *)aSelector withObject:(id)object1 withObject:(id)object2);
- (BOOL)isProxy;
- (BOOL)isKindOfClass:(Class)aClass;
- (BOOL)isMemberOfClass:(Class)aClass;
- (BOOL)conformsToProtocol:(Protocol *)aProtocol;
- (BOOL)respondsToSelector:(SEL)aSelector;
- (id)retain OBJC_ARC_UNAVAILABLE;
- (oneway void)release OBJC_ARC_UNAVAILABLE;
- (id)autorelease OBJC_ARC_UNAVAILABLE;
- (NSUInteger)retainCount OBJC_ARC_UNAVAILABLE;
- (NSString *)description;
- (NSString *)debugDescription;
+ (void)load;
+ (void)initialize;
- (id)init;
+ (id)new;
+ (id)allocWithZone:(struct _NSZone *)zone;
+ (id)alloc;
- (void)dealloc;
- (void)finalize;
- (id)copy;
- (id)mutableCopy;
+ (id)copyWithZone:(struct _NSZone *)zone;
+ (id)mutableCopyWithZone:(struct _NSZone *)zone;
+ (Class)superclass;
+ (Class)class;
JSExportAs(instancesRespondToSelector,
+ (BOOL)__instancesRespondToSelector:(NSString *)aSelector);
+ (BOOL)conformsToProtocol:(Protocol *)protocol;
- (IMP)methodForSelector:(SEL)aSelector;
+ (IMP)instanceMethodForSelector:(SEL)aSelector;
JSExportAs(doesNotRecognizeSelector,
- (void)__doesNotRecognizeSelector:(NSString *)aSelector);
JSExportAs(forwardingTargetForSelector,
- (id)__forwardingTargetForSelector:(NSString *)aSelector);
- (void)forwardInvocation:(NSInvocation *)anInvocation;
JSExportAs(methodSignatureForSelector,
- (NSMethodSignature *)__methodSignatureForSelector:(NSString *)aSelector);
JSExportAs(instanceMethodSignatureForSelector,
+ (NSMethodSignature *)__instanceMethodSignatureForSelector:(NSString *)aSelector);
- (BOOL)allowsWeakReference;
- (BOOL)retainWeakReference;
+ (NSString *)description;
+ (BOOL)isSubclassOfClass:(Class)aClass;
JSExportAs(resolveClassMethod,
+ (BOOL)__resolveClassMethod:(NSString *)sel);
JSExportAs(resolveInstanceMethod,
+ (BOOL)__resolveInstanceMethod:(NSString *)sel);
@end