| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef CHROME_COMMON_MAC_OBJC_METHOD_SWIZZLE_H_ | |
| 6 #define CHROME_COMMON_MAC_OBJC_METHOD_SWIZZLE_H_ | |
| 7 | |
| 8 #import <objc/runtime.h> | |
| 9 | |
| 10 // You should think twice every single time you use anything from this | |
| 11 // namespace. | |
| 12 namespace ObjcEvilDoers { | |
| 13 | |
| 14 // This is similar to class_getInstanceMethod(), except that it | |
| 15 // returns NULL if |aClass| does not directly implement |aSelector|. | |
| 16 Method GetImplementedInstanceMethod(Class aClass, SEL aSelector); | |
| 17 | |
| 18 // Exchanges the implementation of |originalSelector| and | |
| 19 // |alternateSelector| within |aClass|. Both selectors must be | |
| 20 // implemented directly by |aClass|, not inherited. The IMP returned | |
| 21 // is for |originalSelector| (for purposes of forwarding). | |
| 22 IMP SwizzleImplementedInstanceMethods( | |
| 23 Class aClass, const SEL originalSelector, const SEL alternateSelector); | |
| 24 | |
| 25 } // namespace ObjcEvilDoers | |
| 26 | |
| 27 #endif // CHROME_COMMON_MAC_OBJC_METHOD_SWIZZLE_H_ | |
| OLD | NEW |