react-native/React/Base
Nick Lockwood 88ac40666c Replaced RegExp method parser with recursive descent
Summary:
public

This diff replaces the RegEx module method parser with a handwritten recursive descent parser that's faster and easier to maintain.

The new parser is ~8 times faster when tested on the UIManager.managerChildren() method, and uses ~1/10 as much RAM.

The new parser also supports lightweight generics, and is more tolerant of white space.

(This means that you now can – and should – use types like `NSArray<NSString *> *` for your exported properties and method arguments, instead of `NSStringArray`).

Reviewed By: jspahrsummers

Differential Revision: D2736636

fb-gh-sync-id: f6a11431935fa8acc8ac36f3471032ec9a1c8490
2015-12-10 10:12:29 -08:00
..
RCTAssert.h Reduced work done on main thread by RCTImageLoader 2015-11-17 07:21:29 -08:00
RCTAssert.m Add exception description to exception name 2015-11-23 16:19:29 -08:00
RCTBatchedBridge.m Added deferred module loading feature 2015-12-10 04:31:30 -08:00
RCTBridge.h Refactored module access to allow for lazy loading 2015-11-25 04:49:45 -08:00
RCTBridge.m Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
RCTBridgeDelegate.h Added headerdoc for RCTBridgeDelegate 2015-11-06 05:28:33 -08:00
RCTBridgeMethod.h Prepare the bridge for C++ 2015-09-18 15:04:28 -07:00
RCTBridgeModule.h Flush UI blocks as soon as they're accumulated 2015-12-02 06:03:27 -08:00
RCTConvert.h Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTConvert.m Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTDefines.h Implement asm trampoline rather forwardInvocation 2015-10-20 04:14:09 -07:00
RCTEventDispatcher.h Implements `onKeyPress` 2015-11-02 09:15:31 -08:00
RCTEventDispatcher.m Refactored module access to allow for lazy loading 2015-11-25 04:49:45 -08:00
RCTFrameUpdate.h Pause JS DisplayLink if nothing to process. 2015-09-29 09:22:10 -07:00
RCTFrameUpdate.m Ran Convert > To Modern Objective C Syntax 2015-08-25 01:08:49 -08:00
RCTImageSource.h Added RCTImageSource 2015-12-08 03:32:30 -08:00
RCTImageSource.m Added RCTImageSource 2015-12-08 03:32:30 -08:00
RCTInvalidating.h Remove isValid from RCTInvalidating 2015-08-14 01:57:18 -08:00
RCTJSMethodRegistrar.h Added non-class-scanning-based approach fror registering js methods 2015-04-08 05:45:20 -08:00
RCTJavaScriptExecutor.h Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
RCTJavaScriptLoader.h [ReactNative] Add RCTBridgeDelegate 2015-07-28 15:57:02 -08:00
RCTJavaScriptLoader.m Added lightweight generic annotations 2015-11-03 14:49:30 -08:00
RCTKeyCommands.h Updates from Thu 26 Mar 2015-03-26 06:32:01 -07:00
RCTKeyCommands.m Added lightweight generic annotations 2015-11-03 14:49:30 -08:00
RCTKeyboardObserver.h Add keyboard-observing notifications 2015-08-25 03:49:13 -08:00
RCTKeyboardObserver.m Refactored module access to allow for lazy loading 2015-11-25 04:49:45 -08:00
RCTLog.h Provide log source to handler 2015-11-11 06:44:30 -08:00
RCTLog.m Added RCTImageSource 2015-12-08 03:32:30 -08:00
RCTModuleData.h Precompute whether modules respond to batch notification methods 2015-12-03 04:20:27 -08:00
RCTModuleData.m Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTModuleMethod.h Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTModuleMethod.m Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTNullability.h Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTParserUtils.h Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTParserUtils.m Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTPerformanceLogger.h Added lightweight generic annotations 2015-11-03 14:49:30 -08:00
RCTPerformanceLogger.m Refactored module access to allow for lazy loading 2015-11-25 04:49:45 -08:00
RCTRootView.h Delete RCTRootView's deprecated 'initialProperties' property 2015-11-26 05:10:28 -08:00
RCTRootView.m Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
RCTRootViewDelegate.h Prevent RCTRootView delegate call 2015-11-13 08:28:28 -08:00
RCTRootViewInternal.h Introduction of RCTRootViewDelegate 2015-10-26 15:41:36 -07:00
RCTTouchHandler.h [ReactNative] Send batched calls from objc to js every frame + add bridge profiling 2015-04-17 04:01:02 -08:00
RCTTouchHandler.m Added lightweight generic annotations 2015-11-03 14:49:30 -08:00
RCTURLRequestDelegate.h Refactored networking logic out into RCTDownloadTask 2015-07-23 04:00:31 -08:00
RCTURLRequestHandler.h [ReactNative] Refactor RCTDataManager to support pluggable data source modules (RCTURLRequestHandlers) 2015-06-09 12:27:06 -08:00
RCTUtils.h Add secure and login-password types to AlertIOS. 2015-11-30 19:51:41 -08:00
RCTUtils.m Add secure and login-password types to AlertIOS. 2015-11-30 19:51:41 -08:00