Full Code of facebookarchive/prepack for AI

main 5beedbe85bd5 cached
1770 files
6.7 MB
1.9M tokens
2680 symbols
1 requests
Download .txt
Showing preview only (7,397K chars total). Download the full file or copy to clipboard to get everything.
Repository: facebookarchive/prepack
Branch: main
Commit: 5beedbe85bd5
Files: 1770
Total size: 6.7 MB

Directory structure:
gitextract_kabnlgk2/

├── .circleci/
│   └── config.yml
├── .eslintignore
├── .eslintrc
├── .flowconfig
├── .gitignore
├── .gitmodules
├── .prettierrc
├── .watchmanconfig
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── PATENTS
├── README.md
├── babel.config.js
├── bin/
│   ├── prepack-repl.js
│   └── prepack.js
├── flow-libs/
│   ├── vscode-debugadapter.js.flow
│   └── vscode-debugprotocol.js.flow
├── flow-typed/
│   └── npm/
│       ├── @babel/
│       │   ├── cli_vx.x.x.js
│       │   ├── core_vx.x.x.js
│       │   ├── generator_vx.x.x.js
│       │   ├── node_vx.x.x.js
│       │   ├── parser_vx.x.x.js
│       │   ├── plugin-proposal-class-properties_vx.x.x.js
│       │   ├── plugin-proposal-export-default-from_vx.x.x.js
│       │   ├── plugin-proposal-object-rest-spread_vx.x.x.js
│       │   ├── plugin-syntax-flow_vx.x.x.js
│       │   ├── plugin-transform-flow-strip-types_vx.x.x.js
│       │   ├── plugin-transform-modules-commonjs_vx.x.x.js
│       │   ├── plugin-transform-react-jsx_vx.x.x.js
│       │   ├── preset-env_vx.x.x.js
│       │   ├── preset-flow_vx.x.x.js
│       │   ├── preset-react_vx.x.x.js
│       │   ├── register_vx.x.x.js
│       │   ├── template_vx.x.x.js
│       │   └── traverse_vx.x.x.js
│       ├── babel-cli_vx.x.x.js
│       ├── babel-core_vx.x.x.js
│       ├── babel-eslint_vx.x.x.js
│       ├── babel-generator_vx.x.x.js
│       ├── babel-helper-function-name_vx.x.x.js
│       ├── babel-helper-get-function-arity_vx.x.x.js
│       ├── babel-jest_vx.x.x.js
│       ├── babel-plugin-jest-hoist_vx.x.x.js
│       ├── babel-plugin-transform-class-properties_vx.x.x.js
│       ├── babel-plugin-transform-object-rest-spread_vx.x.x.js
│       ├── babel-preset-es2015_vx.x.x.js
│       ├── babel-preset-react_vx.x.x.js
│       ├── babel-template_vx.x.x.js
│       ├── babel-traverse_vx.x.x.js
│       ├── babel-types_vx.x.x.js
│       ├── babylon_vx.x.x.js
│       ├── chalk_v1.x.x.js
│       ├── eslint-config-kittens_vx.x.x.js
│       ├── eslint-plugin-babel_vx.x.x.js
│       ├── eslint-plugin-flow-header_vx.x.x.js
│       ├── eslint-plugin-flowtype_vx.x.x.js
│       ├── eslint-plugin-header_vx.x.x.js
│       ├── eslint-plugin-prettier_vx.x.x.js
│       ├── eslint_vx.x.x.js
│       ├── flow-typed_vx.x.x.js
│       ├── graceful-fs_v4.1.x.js
│       ├── invariant_v2.x.x.js
│       ├── istanbul_vx.x.x.js
│       ├── jest_v23.x.x.js
│       ├── js-beautify_v1.6.x.js
│       ├── js-yaml_vx.x.x.js
│       ├── jsdom_vx.x.x.js
│       ├── madge_vx.x.x.js
│       ├── minimist_v1.x.x.js
│       ├── node-zip_vx.x.x.js
│       ├── prettier_v1.x.x.js
│       ├── prop-types_v15.x.x.js
│       ├── queue-fifo_vx.x.x.js
│       ├── react-native_vx.x.x.js
│       ├── react-relay_v1.x.x.js
│       ├── regenerator-runtime_vx.x.x.js
│       ├── remap-istanbul_vx.x.x.js
│       ├── repeating_vx.x.x.js
│       ├── seedrandom_vx.x.x.js
│       ├── source-map-support_vx.x.x.js
│       ├── source-map_vx.x.x.js
│       ├── uglify-js_vx.x.x.js
│       ├── v8-profiler-node8_vx.x.x.js
│       ├── vscode-debugadapter_vx.x.x.js
│       ├── vscode-debugprotocol_vx.x.x.js
│       ├── webpack-cli_vx.x.x.js
│       └── webpack_vx.x.x.js
├── fuzzer/
│   ├── .eslintrc
│   ├── .gitignore
│   ├── package.json
│   └── src/
│       ├── execute.js
│       ├── gen.js
│       ├── overnight.js
│       ├── property.js
│       ├── report.js
│       ├── sample.js
│       └── test.js
├── package.json
├── scripts/
│   ├── .eslintrc
│   ├── debug-fb-www.js
│   ├── detect_bad_deps.js
│   ├── generate-sourcemaps-test.js
│   ├── instrumentor.js
│   ├── lint-config.js
│   ├── multi-runner.js
│   ├── prettier.js
│   ├── publish-gh-pages.sh
│   ├── test-error-handler.js
│   ├── test-internal-react.js
│   ├── test-internal.js
│   ├── test-runner.js
│   ├── test-sourcemaps.sh
│   ├── test-std-in.sh
│   ├── test262-filters.yml
│   ├── test262-runner.js
│   └── test262.js
├── src/
│   ├── benchmarker.js
│   ├── completions.js
│   ├── construct_realm.js
│   ├── debugger/
│   │   ├── adapter/
│   │   │   ├── DebugAdapter.js
│   │   │   └── channel/
│   │   │       └── AdapterChannel.js
│   │   ├── common/
│   │   │   ├── DebuggerConstants.js
│   │   │   ├── DebuggerError.js
│   │   │   ├── channel/
│   │   │   │   ├── DebugMessage.js
│   │   │   │   ├── FileIOWrapper.js
│   │   │   │   ├── MessageMarshaller.js
│   │   │   │   └── MessagePackager.js
│   │   │   ├── invariant.js
│   │   │   └── types.js
│   │   ├── mock-ui/
│   │   │   ├── DataHandler.js
│   │   │   ├── UISession.js
│   │   │   └── debugger-cli.js
│   │   └── server/
│   │       ├── Breakpoint.js
│   │       ├── BreakpointManager.js
│   │       ├── Debugger.js
│   │       ├── PerFileBreakpointMap.js
│   │       ├── ReferenceMap.js
│   │       ├── Stepper.js
│   │       ├── SteppingManager.js
│   │       ├── StopEventManager.js
│   │       ├── VariableManager.js
│   │       └── channel/
│   │           └── DebugChannel.js
│   ├── descriptors.js
│   ├── domains/
│   │   ├── TypesDomain.js
│   │   ├── ValuesDomain.js
│   │   └── index.js
│   ├── environment.js
│   ├── errors.js
│   ├── evaluators/
│   │   ├── ArrayExpression.js
│   │   ├── ArrowFunctionExpression.js
│   │   ├── AssignmentExpression.js
│   │   ├── AwaitExpression.js
│   │   ├── BinaryExpression.js
│   │   ├── BlockStatement.js
│   │   ├── BooleanLiteral.js
│   │   ├── BreakStatement.js
│   │   ├── CallExpression.js
│   │   ├── CatchClause.js
│   │   ├── ClassDeclaration.js
│   │   ├── ClassExpression.js
│   │   ├── ConditionalExpression.js
│   │   ├── ContinueStatement.js
│   │   ├── Directive.js
│   │   ├── DirectiveLiteral.js
│   │   ├── DoExpression.js
│   │   ├── DoWhileStatement.js
│   │   ├── EmptyStatement.js
│   │   ├── ExpressionStatement.js
│   │   ├── File.js
│   │   ├── ForInStatement.js
│   │   ├── ForOfStatement.js
│   │   ├── ForStatement.js
│   │   ├── FunctionDeclaration.js
│   │   ├── FunctionExpression.js
│   │   ├── Identifier.js
│   │   ├── IfStatement.js
│   │   ├── JSXElement.js
│   │   ├── LabeledStatement.js
│   │   ├── LogicalExpression.js
│   │   ├── MemberExpression.js
│   │   ├── MetaProperty.js
│   │   ├── NewExpression.js
│   │   ├── NullLiteral.js
│   │   ├── NumericLiteral.js
│   │   ├── ObjectExpression.js
│   │   ├── Program.js
│   │   ├── RegExpLiteral.js
│   │   ├── ReturnStatement.js
│   │   ├── SequenceExpression.js
│   │   ├── StringLiteral.js
│   │   ├── SuperCall.js
│   │   ├── SuperProperty.js
│   │   ├── SwitchStatement.js
│   │   ├── TaggedTemplateExpression.js
│   │   ├── TemplateLiteral.js
│   │   ├── ThisExpression.js
│   │   ├── ThrowStatement.js
│   │   ├── TryStatement.js
│   │   ├── UnaryExpression.js
│   │   ├── UpdateExpression.js
│   │   ├── VariableDeclaration.js
│   │   ├── WhileStatement.js
│   │   ├── WithStatement.js
│   │   ├── YieldExpression.js
│   │   └── index.js
│   ├── globals.js
│   ├── initialize-singletons.js
│   ├── intrinsics/
│   │   ├── common/
│   │   │   └── console.js
│   │   ├── dom/
│   │   │   ├── document.js
│   │   │   ├── global.js
│   │   │   ├── setInterval.js
│   │   │   └── setTimeout.js
│   │   ├── ecma262/
│   │   │   ├── Array.js
│   │   │   ├── ArrayBuffer.js
│   │   │   ├── ArrayBufferPrototype.js
│   │   │   ├── ArrayIteratorPrototype.js
│   │   │   ├── ArrayProto_toString.js
│   │   │   ├── ArrayProto_values.js
│   │   │   ├── ArrayPrototype.js
│   │   │   ├── Boolean.js
│   │   │   ├── BooleanPrototype.js
│   │   │   ├── DataView.js
│   │   │   ├── DataViewPrototype.js
│   │   │   ├── Date.js
│   │   │   ├── DatePrototype.js
│   │   │   ├── Error.js
│   │   │   ├── ErrorPrototype.js
│   │   │   ├── EvalError.js
│   │   │   ├── EvalErrorPrototype.js
│   │   │   ├── Float32Array.js
│   │   │   ├── Float32ArrayPrototype.js
│   │   │   ├── Float64Array.js
│   │   │   ├── Float64ArrayPrototype.js
│   │   │   ├── Function.js
│   │   │   ├── FunctionPrototype.js
│   │   │   ├── Generator.js
│   │   │   ├── GeneratorFunction.js
│   │   │   ├── GeneratorPrototype.js
│   │   │   ├── Int16Array.js
│   │   │   ├── Int16ArrayPrototype.js
│   │   │   ├── Int32Array.js
│   │   │   ├── Int32ArrayPrototype.js
│   │   │   ├── Int8Array.js
│   │   │   ├── Int8ArrayPrototype.js
│   │   │   ├── IteratorPrototype.js
│   │   │   ├── JSON.js
│   │   │   ├── Map.js
│   │   │   ├── MapIteratorPrototype.js
│   │   │   ├── MapPrototype.js
│   │   │   ├── Math.js
│   │   │   ├── Number.js
│   │   │   ├── NumberPrototype.js
│   │   │   ├── Object.js
│   │   │   ├── ObjectProto_toString.js
│   │   │   ├── ObjectPrototype.js
│   │   │   ├── Promise.js
│   │   │   ├── PromisePrototype.js
│   │   │   ├── Proxy.js
│   │   │   ├── RangeError.js
│   │   │   ├── RangeErrorPrototype.js
│   │   │   ├── ReferenceError.js
│   │   │   ├── ReferenceErrorPrototype.js
│   │   │   ├── Reflect.js
│   │   │   ├── RegExp.js
│   │   │   ├── RegExpPrototype.js
│   │   │   ├── Set.js
│   │   │   ├── SetIteratorPrototype.js
│   │   │   ├── SetPrototype.js
│   │   │   ├── String.js
│   │   │   ├── StringIteratorPrototype.js
│   │   │   ├── StringPrototype.js
│   │   │   ├── Symbol.js
│   │   │   ├── SymbolPrototype.js
│   │   │   ├── SyntaxError.js
│   │   │   ├── SyntaxErrorPrototype.js
│   │   │   ├── ThrowTypeError.js
│   │   │   ├── TypeError.js
│   │   │   ├── TypeErrorPrototype.js
│   │   │   ├── TypedArray.js
│   │   │   ├── TypedArrayProto_values.js
│   │   │   ├── TypedArrayPrototype.js
│   │   │   ├── URIError.js
│   │   │   ├── URIErrorPrototype.js
│   │   │   ├── Uint16Array.js
│   │   │   ├── Uint16ArrayPrototype.js
│   │   │   ├── Uint32Array.js
│   │   │   ├── Uint32ArrayPrototype.js
│   │   │   ├── Uint8Array.js
│   │   │   ├── Uint8ArrayPrototype.js
│   │   │   ├── Uint8ClampedArray.js
│   │   │   ├── Uint8ClampedArrayPrototype.js
│   │   │   ├── WeakMap.js
│   │   │   ├── WeakMapPrototype.js
│   │   │   ├── WeakSet.js
│   │   │   ├── WeakSetPrototype.js
│   │   │   ├── decodeURI.js
│   │   │   ├── decodeURIComponent.js
│   │   │   ├── encodeURI.js
│   │   │   ├── encodeURIComponent.js
│   │   │   ├── eval.js
│   │   │   ├── global.js
│   │   │   ├── isFinite.js
│   │   │   ├── isNaN.js
│   │   │   ├── parseFloat.js
│   │   │   └── parseInt.js
│   │   ├── fb-www/
│   │   │   ├── fb-mocks.js
│   │   │   ├── global.js
│   │   │   ├── react-dom-mocks.js
│   │   │   ├── react-mocks.js
│   │   │   ├── react-native-mocks.js
│   │   │   ├── relay-mocks.js
│   │   │   └── utils.js
│   │   ├── index.js
│   │   ├── prepack/
│   │   │   ├── __IntrospectionError.js
│   │   │   ├── __IntrospectionErrorPrototype.js
│   │   │   ├── global.js
│   │   │   └── utils.js
│   │   └── react-native/
│   │       └── global.js
│   ├── invariant.js
│   ├── methods/
│   │   ├── abstract.js
│   │   ├── arraybuffer.js
│   │   ├── call.js
│   │   ├── construct.js
│   │   ├── create.js
│   │   ├── date.js
│   │   ├── destructuring.js
│   │   ├── environment.js
│   │   ├── function.js
│   │   ├── generator.js
│   │   ├── get.js
│   │   ├── has.js
│   │   ├── hash.js
│   │   ├── index.js
│   │   ├── integerindexed.js
│   │   ├── integrity.js
│   │   ├── is.js
│   │   ├── iterator.js
│   │   ├── join.js
│   │   ├── json.js
│   │   ├── own.js
│   │   ├── promise.js
│   │   ├── properties.js
│   │   ├── proxy.js
│   │   ├── regexp.js
│   │   ├── to.js
│   │   ├── typedarray.js
│   │   └── widen.js
│   ├── options.js
│   ├── prepack-cli.js
│   ├── prepack-node.js
│   ├── prepack-options.js
│   ├── prepack-standalone.js
│   ├── react/
│   │   ├── ReactElementSet.js
│   │   ├── ReactEquivalenceSet.js
│   │   ├── ReactPropsSet.js
│   │   ├── branching.js
│   │   ├── components.js
│   │   ├── elements.js
│   │   ├── errors.js
│   │   ├── experimental-server-rendering/
│   │   │   ├── dom-config.js
│   │   │   ├── rendering.js
│   │   │   └── utils.js
│   │   ├── hoisting.js
│   │   ├── jsx.js
│   │   ├── optimizing.js
│   │   ├── reconcilation.js
│   │   └── utils.js
│   ├── realm.js
│   ├── repl-cli.js
│   ├── serializer/
│   │   ├── Emitter.js
│   │   ├── GeneratorTree.js
│   │   ├── LazyObjectsSerializer.js
│   │   ├── LoggingTracer.js
│   │   ├── Referentializer.js
│   │   ├── ResidualFunctionInitializers.js
│   │   ├── ResidualFunctionInstantiator.js
│   │   ├── ResidualFunctions.js
│   │   ├── ResidualHeapGraphGenerator.js
│   │   ├── ResidualHeapRefCounter.js
│   │   ├── ResidualHeapSerializer.js
│   │   ├── ResidualHeapValueIdentifiers.js
│   │   ├── ResidualHeapVisitor.js
│   │   ├── ResidualOperationSerializer.js
│   │   ├── ResidualOptimizedFunctions.js
│   │   ├── ResidualReactElementSerializer.js
│   │   ├── ResidualReactElementVisitor.js
│   │   ├── factorify.js
│   │   ├── functions.js
│   │   ├── index.js
│   │   ├── serializer.js
│   │   ├── statistics.js
│   │   ├── types.js
│   │   ├── utils.js
│   │   └── visitors.js
│   ├── singletons.js
│   ├── statistics.js
│   ├── types.js
│   ├── utils/
│   │   ├── ConcreteModelConverter.js
│   │   ├── DebugReproManager.js
│   │   ├── DebugReproPackager.js
│   │   ├── HeapInspector.js
│   │   ├── JSONTokenizer.js
│   │   ├── NameGenerator.js
│   │   ├── PreludeGenerator.js
│   │   ├── ShapeInformation.js
│   │   ├── SourceMapManager.js
│   │   ├── TextPrinter.js
│   │   ├── babelhelpers.js
│   │   ├── errors.js
│   │   ├── flow.js
│   │   ├── generator.js
│   │   ├── internalizer.js
│   │   ├── json.js
│   │   ├── leak.js
│   │   ├── logger.js
│   │   ├── modules.js
│   │   ├── native-to-interp.js
│   │   ├── parse.js
│   │   ├── paths.js
│   │   ├── reachability.js
│   │   ├── simplifier.js
│   │   ├── strict.js
│   │   └── traverse-fast.js
│   ├── utils.js
│   └── values/
│       ├── AbstractObjectValue.js
│       ├── AbstractValue.js
│       ├── ArgumentsExotic.js
│       ├── ArrayValue.js
│       ├── BooleanValue.js
│       ├── BoundFunctionValue.js
│       ├── ConcreteValue.js
│       ├── ECMAScriptFunctionValue.js
│       ├── ECMAScriptSourceFunctionValue.js
│       ├── EmptyValue.js
│       ├── FunctionValue.js
│       ├── IntegerIndexedExotic.js
│       ├── NativeFunctionValue.js
│       ├── NullValue.js
│       ├── NumberValue.js
│       ├── ObjectValue.js
│       ├── PrimitiveValue.js
│       ├── ProxyValue.js
│       ├── StringExotic.js
│       ├── StringValue.js
│       ├── SymbolValue.js
│       ├── UndefinedValue.js
│       ├── Value.js
│       └── index.js
├── test/
│   ├── error-handler/
│   │   ├── .write-write-conflict.js.swp
│   │   ├── EmptyBuiltInArrayCycle.js
│   │   ├── EmptyBuiltInPropsCycle.js
│   │   ├── FinalObjectCannotBeMutated.js
│   │   ├── InstantRenderArrayOps3.js
│   │   ├── ModifiedObjectPropertyLimitation.js
│   │   ├── PropertyAttributeConflict.js
│   │   ├── Set.js
│   │   ├── abstract-value-check-dup-name-string.js
│   │   ├── bad-functions.js
│   │   ├── binaryExpression.js
│   │   ├── call.js
│   │   ├── call2.js
│   │   ├── class.js
│   │   ├── conditional-return.js
│   │   ├── forInStatement.js
│   │   ├── forOfStatement.js
│   │   ├── in1.js
│   │   ├── in2.js
│   │   ├── instanceof.js
│   │   ├── member.js
│   │   ├── member2.js
│   │   ├── object-assign.js
│   │   ├── objectExpression.js
│   │   ├── objectExpression2.js
│   │   ├── objectpattern.js
│   │   ├── stackOverflow.js
│   │   ├── syntaxError.js
│   │   ├── testErrorHandlerCalled.js
│   │   ├── try-and-access-abstract-property.js
│   │   ├── try-and-call-abstract-function.js
│   │   ├── unaryExpression.js
│   │   ├── updateExpression.js
│   │   ├── with.js
│   │   ├── with2.js
│   │   ├── write-forin-conflict.js
│   │   ├── write-in-conflict.js
│   │   ├── write-reflect-conflict.js
│   │   ├── write-write-conflict.js
│   │   ├── write-write-conflict2.js
│   │   ├── write-write-conflict3.js
│   │   ├── write-write-conflict4.js
│   │   └── write-write-unknown-prop-conflict.js
│   ├── react/
│   │   ├── AssignSpread/
│   │   │   ├── simple-assign.js
│   │   │   ├── simple-assign2.js
│   │   │   ├── simple-assign3.js
│   │   │   ├── simple-assign4.js
│   │   │   ├── simple-assign5.js
│   │   │   ├── simple-with-jsx-spread.js
│   │   │   ├── simple-with-jsx-spread10.js
│   │   │   ├── simple-with-jsx-spread11.js
│   │   │   ├── simple-with-jsx-spread12.js
│   │   │   ├── simple-with-jsx-spread13.js
│   │   │   ├── simple-with-jsx-spread2.js
│   │   │   ├── simple-with-jsx-spread3.js
│   │   │   ├── simple-with-jsx-spread4.js
│   │   │   ├── simple-with-jsx-spread5.js
│   │   │   ├── simple-with-jsx-spread6.js
│   │   │   ├── simple-with-jsx-spread7.js
│   │   │   ├── simple-with-jsx-spread8.js
│   │   │   ├── simple-with-jsx-spread9.js
│   │   │   └── unsafe-spread.js
│   │   ├── AssignSpread-test.js
│   │   ├── ClassComponents/
│   │   │   ├── array-from.js
│   │   │   ├── array-from2.js
│   │   │   ├── classes-with-state.js
│   │   │   ├── complex-class-into-functional-root.js
│   │   │   ├── complex-class-into-functional-root2.js
│   │   │   ├── complex-class-into-functional-root3.js
│   │   │   ├── complex-class-into-functional-root4.js
│   │   │   ├── complex-class-into-functional-root5.js
│   │   │   ├── complex-class-proper-hoisting.js
│   │   │   ├── complex-class-with-equivalent-node.js
│   │   │   ├── inheritance-chain.js
│   │   │   ├── simple-classes-2.js
│   │   │   ├── simple-classes-3.js
│   │   │   ├── simple-classes.js
│   │   │   └── simple.js
│   │   ├── ClassComponents-test.js
│   │   ├── FBMocks/
│   │   │   ├── fb1.js
│   │   │   ├── fb10.js
│   │   │   ├── fb11.js
│   │   │   ├── fb12.js
│   │   │   ├── fb13.js
│   │   │   ├── fb14.js
│   │   │   ├── fb15.js
│   │   │   ├── fb16.js
│   │   │   ├── fb17.js
│   │   │   ├── fb18.js
│   │   │   ├── fb19.js
│   │   │   ├── fb2.js
│   │   │   ├── fb20.js
│   │   │   ├── fb21.js
│   │   │   ├── fb22.js
│   │   │   ├── fb23.js
│   │   │   ├── fb24.js
│   │   │   ├── fb25.js
│   │   │   ├── fb3.js
│   │   │   ├── fb4.js
│   │   │   ├── fb5.js
│   │   │   ├── fb6.js
│   │   │   ├── fb7.js
│   │   │   ├── fb8.js
│   │   │   ├── fb9.js
│   │   │   ├── function-bind.js
│   │   │   ├── hacker-news.js
│   │   │   ├── hacker-news.json
│   │   │   ├── pe-functional-benchmark.js
│   │   │   └── repl-example.js
│   │   ├── FBMocks-test.js
│   │   ├── FactoryComponents/
│   │   │   ├── simple.js
│   │   │   └── simple2.js
│   │   ├── FactoryComponents-test.js
│   │   ├── FirstRenderOnly/
│   │   │   ├── equivalence.js
│   │   │   ├── equivalence2.js
│   │   │   ├── equivalence3.js
│   │   │   ├── equivalence4.js
│   │   │   ├── equivalence5.js
│   │   │   ├── get-derived-state-from-props.js
│   │   │   ├── get-derived-state-from-props2.js
│   │   │   ├── get-derived-state-from-props3.js
│   │   │   ├── get-derived-state-from-props4.js
│   │   │   ├── get-derived-state-from-props5.js
│   │   │   ├── react-context.js
│   │   │   ├── react-context2.js
│   │   │   ├── react-context3.js
│   │   │   ├── react-context4.js
│   │   │   ├── react-context5.js
│   │   │   ├── react-context6.js
│   │   │   ├── replace-this-in-callbacks.js
│   │   │   ├── replace-this-in-callbacks2.js
│   │   │   ├── replace-this-in-callbacks3.js
│   │   │   ├── simple-2.js
│   │   │   ├── simple-3.js
│   │   │   ├── simple-4.js
│   │   │   ├── simple.js
│   │   │   └── will-mount.js
│   │   ├── FirstRenderOnly-test.js
│   │   ├── FunctionalComponents/
│   │   │   ├── additional-function-regression.js
│   │   │   ├── array-from.js
│   │   │   ├── array-map.js
│   │   │   ├── array-map2.js
│   │   │   ├── array-map3.js
│   │   │   ├── array-twice.js
│   │   │   ├── bound-type.js
│   │   │   ├── bound-type2.js
│   │   │   ├── circular-reference.js
│   │   │   ├── class-root-with-instance-vars-2.js
│   │   │   ├── class-root-with-instance-vars.js
│   │   │   ├── class-root-with-props.js
│   │   │   ├── class-root-with-refs.js
│   │   │   ├── class-root-with-render-methods.js
│   │   │   ├── class-root-with-state.js
│   │   │   ├── class-root.js
│   │   │   ├── clone-element.js
│   │   │   ├── clone-element2.js
│   │   │   ├── conditional.js
│   │   │   ├── default-props.js
│   │   │   ├── default-props2.js
│   │   │   ├── delete-element-prop-key.js
│   │   │   ├── do-not-optimize.js
│   │   │   ├── dynamic-context.js
│   │   │   ├── dynamic-props.js
│   │   │   ├── dynamic-type.js
│   │   │   ├── dynamic-type2.js
│   │   │   ├── dynamic-type3.js
│   │   │   ├── dynamic-type4.js
│   │   │   ├── equivalence.js
│   │   │   ├── event-handlers.js
│   │   │   ├── hoist-fragment.js
│   │   │   ├── keyed-non-element.js
│   │   │   ├── keyed-unnecessarily.js
│   │   │   ├── keyed.js
│   │   │   ├── model-props.js
│   │   │   ├── nested-array-children.js
│   │   │   ├── not-safe.js
│   │   │   ├── not-safe2.js
│   │   │   ├── null-or-undefined-props.js
│   │   │   ├── pathological-case.js
│   │   │   ├── react-children-map.js
│   │   │   ├── react-element-havoc.js
│   │   │   ├── refs-typeof.js
│   │   │   ├── refs.js
│   │   │   ├── refs2.js
│   │   │   ├── refs3.js
│   │   │   ├── return-text.js
│   │   │   ├── return-undefined.js
│   │   │   ├── runtime-error.js
│   │   │   ├── safe.js
│   │   │   ├── safe2.js
│   │   │   ├── safe3.js
│   │   │   ├── simple-10.js
│   │   │   ├── simple-11.js
│   │   │   ├── simple-12.js
│   │   │   ├── simple-13.js
│   │   │   ├── simple-14.js
│   │   │   ├── simple-15.js
│   │   │   ├── simple-16.js
│   │   │   ├── simple-17.js
│   │   │   ├── simple-18.js
│   │   │   ├── simple-19.js
│   │   │   ├── simple-2.js
│   │   │   ├── simple-20.js
│   │   │   ├── simple-21.js
│   │   │   ├── simple-22.js
│   │   │   ├── simple-23.js
│   │   │   ├── simple-24.js
│   │   │   ├── simple-25.js
│   │   │   ├── simple-26.js
│   │   │   ├── simple-27.js
│   │   │   ├── simple-28.js
│   │   │   ├── simple-29.js
│   │   │   ├── simple-3.js
│   │   │   ├── simple-4.js
│   │   │   ├── simple-5.js
│   │   │   ├── simple-6.js
│   │   │   ├── simple-7.js
│   │   │   ├── simple-8.js
│   │   │   ├── simple-9.js
│   │   │   ├── simple-children.js
│   │   │   ├── simple-fragments.js
│   │   │   ├── simple-refs.js
│   │   │   ├── simple-with-abstract-props.js
│   │   │   ├── simple-with-new-expression.js
│   │   │   ├── simple-with-unary.js
│   │   │   ├── simple.js
│   │   │   └── two-roots.js
│   │   ├── FunctionalComponents-test.js
│   │   ├── ReactDOM/
│   │   │   └── create-portal.js
│   │   ├── ReactDOM-test.js
│   │   ├── ReactNative/
│   │   │   ├── simple.js
│   │   │   └── simple2.js
│   │   ├── ReactNative-test.js
│   │   ├── Reconciliation/
│   │   │   ├── key-change-fragments.js
│   │   │   ├── key-change.js
│   │   │   ├── key-nesting-2.js
│   │   │   ├── key-nesting-3.js
│   │   │   ├── key-nesting-4.js
│   │   │   ├── key-nesting-5.js
│   │   │   ├── key-nesting-6.js
│   │   │   ├── key-nesting-7.js
│   │   │   ├── key-nesting-8.js
│   │   │   ├── key-nesting-9.js
│   │   │   ├── key-nesting.js
│   │   │   ├── key-not-change-fragments.js
│   │   │   ├── lazy-branched-elements.js
│   │   │   ├── lazy-branched-elements2.js
│   │   │   ├── type-change.js
│   │   │   ├── type-change10.js
│   │   │   ├── type-change11.js
│   │   │   ├── type-change2.js
│   │   │   ├── type-change3.js
│   │   │   ├── type-change4.js
│   │   │   ├── type-change5.js
│   │   │   ├── type-change6.js
│   │   │   ├── type-change7.js
│   │   │   ├── type-change8.js
│   │   │   ├── type-change9.js
│   │   │   └── type-same.js
│   │   ├── Reconciliation-test.js
│   │   ├── RenderProps/
│   │   │   ├── react-context.js
│   │   │   ├── react-context2.js
│   │   │   ├── react-context3.js
│   │   │   ├── react-context4.js
│   │   │   ├── react-context5.js
│   │   │   ├── react-context6.js
│   │   │   ├── react-context7.js
│   │   │   ├── react-root-context.js
│   │   │   ├── react-root-context2.js
│   │   │   ├── react-root-context3.js
│   │   │   ├── react-root-context4.js
│   │   │   ├── relay-query-renderer.js
│   │   │   ├── relay-query-renderer2.js
│   │   │   └── relay-query-renderer3.js
│   │   ├── RenderProps-test.js
│   │   ├── ServerRendering/
│   │   │   ├── hacker-news.js
│   │   │   ├── hacker-news.json
│   │   │   └── pe-functional-benchmark.js
│   │   ├── ServerRendering-test.js
│   │   ├── Throw/
│   │   │   ├── throw-conditional.js
│   │   │   └── throw.js
│   │   ├── Throw-test.js
│   │   ├── __snapshots__/
│   │   │   ├── AssignSpread-test.js.snap
│   │   │   ├── ClassComponents-test.js.snap
│   │   │   ├── FBMocks-test.js.snap
│   │   │   ├── FactoryComponents-test.js.snap
│   │   │   ├── FirstRenderOnly-test.js.snap
│   │   │   ├── FunctionalComponents-test.js.snap
│   │   │   ├── ReactDOM-test.js.snap
│   │   │   ├── ReactNative-test.js.snap
│   │   │   ├── Reconciliation-test.js.snap
│   │   │   ├── RenderProps-test.js.snap
│   │   │   ├── ServerRendering-test.js.snap
│   │   │   └── Throw-test.js.snap
│   │   └── setupReactTests.js
│   ├── serializer/
│   │   ├── abstract/
│   │   │   ├── AbstractFunctionWithResultType.js
│   │   │   ├── AbstractNumericProperty.js
│   │   │   ├── AbstractOrNullOrUndefined.js
│   │   │   ├── AbstractPropertyDelete.js
│   │   │   ├── AbstractPropertyDelete2.js
│   │   │   ├── AbstractPropertyDelete3.js
│   │   │   ├── AbstractPrototype.js
│   │   │   ├── Array.js
│   │   │   ├── ArrayConcat.js
│   │   │   ├── ArrayInitializer.js
│   │   │   ├── ArrayLength.js
│   │   │   ├── ArrayLength2.js
│   │   │   ├── ArrayLength3.js
│   │   │   ├── ArrayMap.js
│   │   │   ├── ArrayMap1.js
│   │   │   ├── ArrayMap2.js
│   │   │   ├── BinaryExpression.js
│   │   │   ├── BinaryExpression2.js
│   │   │   ├── BinaryExpression3.js
│   │   │   ├── Branching.js
│   │   │   ├── BranchingConsoleLog.js
│   │   │   ├── Break.js
│   │   │   ├── Break2.js
│   │   │   ├── Break3.js
│   │   │   ├── Call.js
│   │   │   ├── Call2.js
│   │   │   ├── Call3.js
│   │   │   ├── Call4.js
│   │   │   ├── CantCatchIntrospectionError.js
│   │   │   ├── CantCatchIntrospectionError1.js
│   │   │   ├── CompareObjects.js
│   │   │   ├── Compose.js
│   │   │   ├── ComposedCompletions.js
│   │   │   ├── ConcreteModel1.js
│   │   │   ├── ConcreteModel2.js
│   │   │   ├── Conditional.js
│   │   │   ├── ConditionalAbstractObjectValueDefineProperty.js
│   │   │   ├── ConditionalAbstractObjectValueDefineProperty2.js
│   │   │   ├── ConditionalAbstractObjectValueDelete.js
│   │   │   ├── ConditionalAbstractObjectValueGet.js
│   │   │   ├── ConditionalAbstractObjectValueGetOwnProperty.js
│   │   │   ├── ConditionalAbstractObjectValueGetPartial.js
│   │   │   ├── ConditionalAbstractObjectValueGetWithPrototype.js
│   │   │   ├── ConditionalAbstractObjectValueSet.js
│   │   │   ├── ConditionalAbstractObjectValueSetNewProperty.js
│   │   │   ├── ConditionalAbstractObjectValueSetPartial.js
│   │   │   ├── ConditionalEmptyProperty.js
│   │   │   ├── ConditionalImpliedPropertyAssignment.js
│   │   │   ├── ConstructFunctionReturnsAbstract.js
│   │   │   ├── Continue.js
│   │   │   ├── Continue2.js
│   │   │   ├── DebugValue.js
│   │   │   ├── DefineDeletedProperty.js
│   │   │   ├── Delete.js
│   │   │   ├── Delete1.js
│   │   │   ├── Delete2.js
│   │   │   ├── Delete3.js
│   │   │   ├── Delete4.js
│   │   │   ├── Delete5.js
│   │   │   ├── Delete6.js
│   │   │   ├── Delete7.js
│   │   │   ├── Delete8.js
│   │   │   ├── DeleteArrayProperty.js
│   │   │   ├── DeleteArrayProperty2.js
│   │   │   ├── DeleteFunctionProperty.js
│   │   │   ├── DeleteObjectProperty.js
│   │   │   ├── DeleteOnConditionalObject.js
│   │   │   ├── Distribute.js
│   │   │   ├── DoWhile.js
│   │   │   ├── DoWhile1.js
│   │   │   ├── DoWhile10.js
│   │   │   ├── DoWhile11.js
│   │   │   ├── DoWhile12.js
│   │   │   ├── DoWhile13.js
│   │   │   ├── DoWhile2.js
│   │   │   ├── DoWhile2a.js
│   │   │   ├── DoWhile3.js
│   │   │   ├── DoWhile4.js
│   │   │   ├── DoWhile5.js
│   │   │   ├── DoWhile6.js
│   │   │   ├── DoWhile6a.js
│   │   │   ├── DoWhile6b.js
│   │   │   ├── DoWhile6c.js
│   │   │   ├── DoWhile6d.js
│   │   │   ├── DoWhile7.js
│   │   │   ├── DoWhile8.js
│   │   │   ├── DoWhile8a.js
│   │   │   ├── DoWhile9.js
│   │   │   ├── Error.js
│   │   │   ├── ErrorMessageStringCoercion.js
│   │   │   ├── Fibonacci.js
│   │   │   ├── ForInStatement.js
│   │   │   ├── ForInStatement1.js
│   │   │   ├── ForInStatement10.js
│   │   │   ├── ForInStatement11.js
│   │   │   ├── ForInStatement11a.js
│   │   │   ├── ForInStatement11b.js
│   │   │   ├── ForInStatement12.js
│   │   │   ├── ForInStatement2.js
│   │   │   ├── ForInStatement2a.js
│   │   │   ├── ForInStatement3.js
│   │   │   ├── ForInStatement3a.js
│   │   │   ├── ForInStatement4.js
│   │   │   ├── ForInStatement5.js
│   │   │   ├── ForInStatement6.js
│   │   │   ├── ForInStatement7.js
│   │   │   ├── ForInStatement8.js
│   │   │   ├── ForInStatement9.js
│   │   │   ├── ForLoop.js
│   │   │   ├── ForLoop1.js
│   │   │   ├── ForLoop2.js
│   │   │   ├── ForOfStatement.js
│   │   │   ├── ForOfStatement2.js
│   │   │   ├── Function.js
│   │   │   ├── GeneratorScoping1.js
│   │   │   ├── GeneratorScoping2.js
│   │   │   ├── GeneratorScoping3.js
│   │   │   ├── GeneratorScoping4.js
│   │   │   ├── GetPrototypeOf.js
│   │   │   ├── GetPrototypeOf2.js
│   │   │   ├── GetValue.js
│   │   │   ├── GetValue10.js
│   │   │   ├── GetValue2.js
│   │   │   ├── GetValue3.js
│   │   │   ├── GetValue4.js
│   │   │   ├── GetValue5.js
│   │   │   ├── GetValue6.js
│   │   │   ├── GetValue7.js
│   │   │   ├── GetValue8.js
│   │   │   ├── GetValue9.js
│   │   │   ├── GlobalAbstractName.js
│   │   │   ├── If.js
│   │   │   ├── ImplicitAbstractConversion.js
│   │   │   ├── ImplicitAbstractConversion10.js
│   │   │   ├── ImplicitAbstractConversion11.js
│   │   │   ├── ImplicitAbstractConversion12.js
│   │   │   ├── ImplicitAbstractConversion13.js
│   │   │   ├── ImplicitAbstractConversion14.js
│   │   │   ├── ImplicitAbstractConversion15.js
│   │   │   ├── ImplicitAbstractConversion16.js
│   │   │   ├── ImplicitAbstractConversion17.js
│   │   │   ├── ImplicitAbstractConversion18.js
│   │   │   ├── ImplicitAbstractConversion19.js
│   │   │   ├── ImplicitAbstractConversion2.js
│   │   │   ├── ImplicitAbstractConversion20.js
│   │   │   ├── ImplicitAbstractConversion21.js
│   │   │   ├── ImplicitAbstractConversion22.js
│   │   │   ├── ImplicitAbstractConversion23.js
│   │   │   ├── ImplicitAbstractConversion24.js
│   │   │   ├── ImplicitAbstractConversion25.js
│   │   │   ├── ImplicitAbstractConversion26.js
│   │   │   ├── ImplicitAbstractConversion27.js
│   │   │   ├── ImplicitAbstractConversion28.js
│   │   │   ├── ImplicitAbstractConversion29.js
│   │   │   ├── ImplicitAbstractConversion3.js
│   │   │   ├── ImplicitAbstractConversion30.js
│   │   │   ├── ImplicitAbstractConversion31.js
│   │   │   ├── ImplicitAbstractConversion32.js
│   │   │   ├── ImplicitAbstractConversion33.js
│   │   │   ├── ImplicitAbstractConversion36.js
│   │   │   ├── ImplicitAbstractConversion4.js
│   │   │   ├── ImplicitAbstractConversion5.js
│   │   │   ├── ImplicitAbstractConversion6.js
│   │   │   ├── ImplicitAbstractConversion7.js
│   │   │   ├── ImplicitAbstractConversion8.js
│   │   │   ├── ImplicitAbstractConversion9.js
│   │   │   ├── Implies.js
│   │   │   ├── In.js
│   │   │   ├── In2.js
│   │   │   ├── In3.js
│   │   │   ├── Instanceof1.js
│   │   │   ├── Instanceof2.js
│   │   │   ├── Instanceof3.js
│   │   │   ├── InternalProps.js
│   │   │   ├── IntrinsicObjectCSE.js
│   │   │   ├── IntrinsicUnion.js
│   │   │   ├── IntrinsicUnion2.js
│   │   │   ├── InvariantsForNonAbstractProperties.js
│   │   │   ├── IsPrototypeOf.js
│   │   │   ├── Issue2327InBinop.js
│   │   │   ├── Issue2327InBinopUnconditional.js
│   │   │   ├── Issue2327InstanceOfBinop.js
│   │   │   ├── Issue2327InstanceOfBinopUnconditional.js
│   │   │   ├── Issue2327StringLength.js
│   │   │   ├── Issue2327StringLengthUnconditional.js
│   │   │   ├── Issue2327StringSlice.js
│   │   │   ├── Issue2327StringSliceUnconditional.js
│   │   │   ├── Issue2327StringSplit.js
│   │   │   ├── JSONStringifyOnAbstract2411.js
│   │   │   ├── JSONparse.js
│   │   │   ├── JSONparse2.js
│   │   │   ├── ListOperationsCommentBubble.js
│   │   │   ├── ListOperationsSimple.js
│   │   │   ├── LogicalExpression.js
│   │   │   ├── LogicalExpression2.js
│   │   │   ├── MakeFinal.js
│   │   │   ├── Map.js
│   │   │   ├── MathRound.js
│   │   │   ├── MightBeEmptyAssignment.js
│   │   │   ├── ModelFunction.js
│   │   │   ├── ModifiedBindingsCSE.js
│   │   │   ├── MutatingObjectsFromOuterScope.js
│   │   │   ├── NegateObject.js
│   │   │   ├── NestedAbstractProperties.js
│   │   │   ├── NullPrototypePartialKey.js
│   │   │   ├── Number.js
│   │   │   ├── ObjectAssign.js
│   │   │   ├── ObjectAssign10.js
│   │   │   ├── ObjectAssign11.js
│   │   │   ├── ObjectAssign12.js
│   │   │   ├── ObjectAssign13.js
│   │   │   ├── ObjectAssign14.js
│   │   │   ├── ObjectAssign15.js
│   │   │   ├── ObjectAssign16.js
│   │   │   ├── ObjectAssign17.js
│   │   │   ├── ObjectAssign18.js
│   │   │   ├── ObjectAssign19.js
│   │   │   ├── ObjectAssign2.js
│   │   │   ├── ObjectAssign20.js
│   │   │   ├── ObjectAssign3.js
│   │   │   ├── ObjectAssign4.js
│   │   │   ├── ObjectAssign5.js
│   │   │   ├── ObjectAssign6.js
│   │   │   ├── ObjectAssign7.js
│   │   │   ├── ObjectAssign8.js
│   │   │   ├── ObjectAssign9.js
│   │   │   ├── ObjectCreate.js
│   │   │   ├── ObjectExpression.js
│   │   │   ├── Optional.js
│   │   │   ├── Optional2.js
│   │   │   ├── Optional3.js
│   │   │   ├── Optional4.js
│   │   │   ├── Optional5.js
│   │   │   ├── OrdinaryToPrimitive.js
│   │   │   ├── OwnKeys.js
│   │   │   ├── PathConditions.js
│   │   │   ├── PathConditions2.js
│   │   │   ├── PathConditions3.js
│   │   │   ├── PossibleThrow.js
│   │   │   ├── PropagateFunctionResultType.js
│   │   │   ├── Property.js
│   │   │   ├── Property2.js
│   │   │   ├── Property3.js
│   │   │   ├── Property4.js
│   │   │   ├── Property5.js
│   │   │   ├── PropertyAttributeConflict.js
│   │   │   ├── PutValue.js
│   │   │   ├── PutValue10.js
│   │   │   ├── PutValue11.js
│   │   │   ├── PutValue12.js
│   │   │   ├── PutValue13.js
│   │   │   ├── PutValue2.js
│   │   │   ├── PutValue3.js
│   │   │   ├── PutValue4.js
│   │   │   ├── PutValue5.js
│   │   │   ├── PutValue6.js
│   │   │   ├── PutValue7.js
│   │   │   ├── PutValue8.js
│   │   │   ├── PutValue9.js
│   │   │   ├── QualifiedCall.js
│   │   │   ├── QualifiedCall2.js
│   │   │   ├── QualifiedCall3.js
│   │   │   ├── Refine.js
│   │   │   ├── Refine2.js
│   │   │   ├── Refine3.js
│   │   │   ├── Refine4.js
│   │   │   ├── Refine5.js
│   │   │   ├── Refine6.js
│   │   │   ├── Refine7.js
│   │   │   ├── RegressionTestForNestedGenerators.js
│   │   │   ├── ReplaceFunctionBody.js
│   │   │   ├── Residual.js
│   │   │   ├── ResidualExplicitParameters.js
│   │   │   ├── ResidualExplicitParameters2.js
│   │   │   ├── ResidualInvariant1.js
│   │   │   ├── ResidualInvariant2.js
│   │   │   ├── ResidualInvariant3.js
│   │   │   ├── ResidualInvariant4.js
│   │   │   ├── ResidualInvariantPathCondition.js
│   │   │   ├── ResidualTemplate.js
│   │   │   ├── ResidualVoid.js
│   │   │   ├── Return.js
│   │   │   ├── Return1.js
│   │   │   ├── Return10.js
│   │   │   ├── Return1a.js
│   │   │   ├── Return2.js
│   │   │   ├── Return2a.js
│   │   │   ├── Return3.js
│   │   │   ├── Return3a.js
│   │   │   ├── Return4.js
│   │   │   ├── Return4a.js
│   │   │   ├── Return5.js
│   │   │   ├── Return5a.js
│   │   │   ├── Return6.js
│   │   │   ├── Return6a.js
│   │   │   ├── Return7.js
│   │   │   ├── Return8.js
│   │   │   ├── Return9.js
│   │   │   ├── Set.js
│   │   │   ├── SimpleObject.js
│   │   │   ├── SimpleObject2.js
│   │   │   ├── SimpleObject3.js
│   │   │   ├── SimpleObject4.js
│   │   │   ├── String.js
│   │   │   ├── StringLength.js
│   │   │   ├── Switch.js
│   │   │   ├── Switch2.js
│   │   │   ├── Switch3.js
│   │   │   ├── Switch4.js
│   │   │   ├── SymbolAbstractValueDescription.js
│   │   │   ├── SymbolEqualityRegressionTest.js
│   │   │   ├── Symbols.js
│   │   │   ├── Symbols2.js
│   │   │   ├── Symbols3.js
│   │   │   ├── Symbols4.js
│   │   │   ├── Symbols5.js
│   │   │   ├── Symbols6.js
│   │   │   ├── Symbols7.js
│   │   │   ├── TemporalCSE.js
│   │   │   ├── Throw.js
│   │   │   ├── Throw10.js
│   │   │   ├── Throw2.js
│   │   │   ├── Throw3.js
│   │   │   ├── Throw4.js
│   │   │   ├── Throw5.js
│   │   │   ├── Throw5a.js
│   │   │   ├── Throw5b.js
│   │   │   ├── Throw5c.js
│   │   │   ├── Throw5d.js
│   │   │   ├── Throw6.js
│   │   │   ├── Throw6a.js
│   │   │   ├── Throw6b.js
│   │   │   ├── Throw8.js
│   │   │   ├── Throw9a.js
│   │   │   ├── Throw9b.js
│   │   │   ├── ThrowInConstructor.js
│   │   │   ├── ThrowInConstructor2.js
│   │   │   ├── ThrowInConstructor3.js
│   │   │   ├── ThrowInDoubleCatch.js
│   │   │   ├── ToString.js
│   │   │   ├── ToString2.js
│   │   │   ├── ToString3.js
│   │   │   ├── ToString4.js
│   │   │   ├── TypeDomain4.js
│   │   │   ├── TypeDomain5.js
│   │   │   ├── TypeOf.js
│   │   │   ├── TypesDomain.js
│   │   │   ├── TypesDomain2.js
│   │   │   ├── TypesDomain3.js
│   │   │   ├── UnaryExpression.js
│   │   │   ├── UnaryExpression2.js
│   │   │   ├── UnknownNumericKey.js
│   │   │   ├── UnknownNumericKeyAssignment.js
│   │   │   ├── UnknownObjectKey.js
│   │   │   ├── UnknownObjectKeyAssignment.js
│   │   │   ├── UnknownPropertyOnPrimitive.js
│   │   │   ├── UpdateExpression.js
│   │   │   ├── UpdateExpression2.js
│   │   │   ├── UpdateExpression3.js
│   │   │   ├── UpdateExpression4.js
│   │   │   ├── UseAbstractObjectValueTemplateInIsCall.js
│   │   │   ├── WaitGenerator0.js
│   │   │   ├── WaitGenerator0a.js
│   │   │   ├── WaitGenerator0b.js
│   │   │   ├── WaitGenerator1.js
│   │   │   ├── WaitGenerator2.js
│   │   │   ├── WaitGenerator3.js
│   │   │   ├── WaitGenerator4.js
│   │   │   ├── WaitGenerator5.js
│   │   │   ├── WeakMap.js
│   │   │   ├── WeakSet.js
│   │   │   ├── WhileLoop.js
│   │   │   ├── With.js
│   │   │   ├── defineProperty.js
│   │   │   ├── defineProperty2.js
│   │   │   ├── getOwnPropertyDescriptor.js
│   │   │   ├── getOwnPropertyDescriptor2.js
│   │   │   ├── getOwnPropertyDescriptor3.js
│   │   │   ├── getOwnPropertyDescriptor4.js
│   │   │   ├── getOwnPropertyDescriptor5.js
│   │   │   ├── getOwnPropertyDescriptor6.js
│   │   │   ├── getOwnPropertyDescriptor7.js
│   │   │   ├── getOwnPropertyDescriptor8.js
│   │   │   ├── getOwnPropertyDescriptor9.js
│   │   │   ├── object-assign10.js
│   │   │   ├── object-assign11.js
│   │   │   ├── object-assign12.js
│   │   │   ├── object-assign2.js
│   │   │   ├── object-assign3.js
│   │   │   ├── object-assign4.js
│   │   │   ├── object-assign5.js
│   │   │   ├── object-assign5a.js
│   │   │   ├── object-assign5b.js
│   │   │   ├── object-assign6.js
│   │   │   ├── object-assign7.js
│   │   │   ├── object-assign8.js
│   │   │   ├── object-assign9.js
│   │   │   ├── reflectHas.js
│   │   │   ├── reflectHas1.js
│   │   │   ├── reflectHas2.js
│   │   │   ├── require_tracking.js
│   │   │   ├── require_tracking2.js
│   │   │   └── toLocaleString.js
│   │   ├── additional-functions/
│   │   │   ├── AdditionalFunCapturedScope.js
│   │   │   ├── ArrayConcat.js
│   │   │   ├── Class.js
│   │   │   ├── DeadCodeCheck.js
│   │   │   ├── DeadOuterObject.js
│   │   │   ├── DelayInitializations1.js
│   │   │   ├── DelayInitializations2.js
│   │   │   ├── DelayInitializations3.js
│   │   │   ├── EmitPropertyRegressionTest.js
│   │   │   ├── Example1.js
│   │   │   ├── FunctionApply.js
│   │   │   ├── GlobalLetBinding.js
│   │   │   ├── Issue1821RegressionTest.js
│   │   │   ├── ModifiedBindingWithoutInitialValue.js
│   │   │   ├── ModifiedBindingsCapturedScopesCalls.js
│   │   │   ├── ModifiedObjectProperty.js
│   │   │   ├── ModifiedObjectPropertyWithAbstractKey.js
│   │   │   ├── MutatedObject.js
│   │   │   ├── NestedOptimizedFunction1.js
│   │   │   ├── NestedOptimizedFunction10.js
│   │   │   ├── NestedOptimizedFunction11.js
│   │   │   ├── NestedOptimizedFunction12.js
│   │   │   ├── NestedOptimizedFunction13.js
│   │   │   ├── NestedOptimizedFunction14.js
│   │   │   ├── NestedOptimizedFunction15.js
│   │   │   ├── NestedOptimizedFunction16.js
│   │   │   ├── NestedOptimizedFunction17.js
│   │   │   ├── NestedOptimizedFunction18.js
│   │   │   ├── NestedOptimizedFunction19.js
│   │   │   ├── NestedOptimizedFunction2.js
│   │   │   ├── NestedOptimizedFunction20.js
│   │   │   ├── NestedOptimizedFunction21.js
│   │   │   ├── NestedOptimizedFunction22.js
│   │   │   ├── NestedOptimizedFunction3.js
│   │   │   ├── NestedOptimizedFunction4.js
│   │   │   ├── NestedOptimizedFunction6.js
│   │   │   ├── NestedOptimizedFunction7.js
│   │   │   ├── NestedOptimizedFunction8.js
│   │   │   ├── NestedThrowEffects.js
│   │   │   ├── ObjectCreationGeneratorRegressionTest.js
│   │   │   ├── ObjectLifetime1.js
│   │   │   ├── ObjectLifetime2.js
│   │   │   ├── OptimizedArrayFilterOpAliasing.js
│   │   │   ├── OptimizedArrayFilterOpAliasing2.js
│   │   │   ├── OptimizedArrayFilterOpSpecialization.js
│   │   │   ├── OptimizedArrayOpAliasing.js
│   │   │   ├── OptimizedArrayOpAliasing2.js
│   │   │   ├── OptimizedArrayOpAliasing3.js
│   │   │   ├── OptimizedArrayOpNoDefaultMaterialization.js
│   │   │   ├── OptimizedArrayOpSpecialization.js
│   │   │   ├── OptimizedArrayOpSpecializationBailout.js
│   │   │   ├── OptimizedArrayOpSpecializationBailout2.js
│   │   │   ├── OptimizedResidualOptimized.js
│   │   │   ├── OuterScopeCacheRegressionTest.js
│   │   │   ├── ReadThenDelete.js
│   │   │   ├── ReferentializationRegressionTest.js
│   │   │   ├── RegressionTestForIssue1881.js
│   │   │   ├── RegressionTestForIssue1957.js
│   │   │   ├── RegressionTestForIssue2090.js
│   │   │   ├── ResidualFunctionBindingsMutatedByOptimizedFunctionRegressionTest.js
│   │   │   ├── TargetsWithGenerators.js
│   │   │   ├── ThisArgument.js
│   │   │   ├── ToObject.js
│   │   │   ├── UnknownArray.js
│   │   │   ├── UpdateExpression.js
│   │   │   ├── UpdateExpression2.js
│   │   │   ├── abstract-property-modification.js
│   │   │   ├── arguments.js
│   │   │   ├── arguments2.js
│   │   │   ├── arguments3.js
│   │   │   ├── arguments4.js
│   │   │   ├── bad-functions2.js
│   │   │   ├── capture-local.js
│   │   │   ├── conditions.js
│   │   │   ├── conditions2.js
│   │   │   ├── conditions3.js
│   │   │   ├── create-local.js
│   │   │   ├── createdobject-modifications.js
│   │   │   ├── createdobject.js
│   │   │   ├── dead-functions.js
│   │   │   ├── func-nesting.js
│   │   │   ├── modified-global-let-simple.js
│   │   │   ├── modifiedobjects.js
│   │   │   ├── named-function.js
│   │   │   ├── nested_function.js
│   │   │   ├── nested_function2.js
│   │   │   ├── nested_function3.js
│   │   │   ├── nested_function4.js
│   │   │   ├── nested_modifybinding.js
│   │   │   ├── noconflict-captures.js
│   │   │   ├── noconflict-captures2.js
│   │   │   ├── noconflict-existantobject.js
│   │   │   ├── noopfunc.js
│   │   │   ├── possible_throw_object_assign.js
│   │   │   ├── precise_captures.js
│   │   │   ├── prelude-ordering.js
│   │   │   ├── property-deletion.js
│   │   │   ├── property-modification.js
│   │   │   ├── referentialization.js
│   │   │   ├── referentialization2.js
│   │   │   ├── register_conditionally.js
│   │   │   ├── register_test.js
│   │   │   ├── require_opt.js
│   │   │   ├── return-or-many-throw.js
│   │   │   ├── return-or-multiple-throw.js
│   │   │   ├── return-or-throw-modifybindings.js
│   │   │   ├── return-or-throw-modifybindings2.js
│   │   │   ├── return-or-throw-modifybindings3.js
│   │   │   ├── return-or-throw-modifyproperties.js
│   │   │   ├── return-or-throw-modifyproperties2.js
│   │   │   ├── return-or-throw-simple.js
│   │   │   ├── return-or-throw-simple1.js
│   │   │   ├── return-value-simple.js
│   │   │   ├── self_referential.js
│   │   │   ├── self_referential_simple.js
│   │   │   ├── write-in-conflict.js
│   │   │   └── write-write-noconflict.js
│   │   ├── basic/
│   │   │   ├── Arguments.js
│   │   │   ├── Arguments2.js
│   │   │   ├── ArrayBuffer.js
│   │   │   ├── ArrayIndexedProperty.js
│   │   │   ├── ArrayInitializer2.js
│   │   │   ├── ArrayInitializer3.js
│   │   │   ├── ArrayPrototype.js
│   │   │   ├── ArrayWithProperties.js
│   │   │   ├── AssumeDataProperty.js
│   │   │   ├── AssumeDataProperty2.js
│   │   │   ├── AssumeDataProperty3.js
│   │   │   ├── AssumeDataProperty4.js
│   │   │   ├── AvoidIdLeaks.js
│   │   │   ├── AvoidUnnecessaryWrappedFunctions.js
│   │   │   ├── Bind.js
│   │   │   ├── BoundFunction.js
│   │   │   ├── BoundFunctionCreationOrder.js
│   │   │   ├── BoundFunctionProperties.js
│   │   │   ├── BoundFunctionProperties2.js
│   │   │   ├── CapturedScope.js
│   │   │   ├── CapturedScope10.js
│   │   │   ├── CapturedScope11.js
│   │   │   ├── CapturedScope2.js
│   │   │   ├── CapturedScope3.js
│   │   │   ├── CapturedScope4.js
│   │   │   ├── CapturedScope5.js
│   │   │   ├── CapturedScope6.js
│   │   │   ├── CapturedScope7.js
│   │   │   ├── CapturedScope8.js
│   │   │   ├── CapturedScope9.js
│   │   │   ├── CapturedScopeArrayAccess1.js
│   │   │   ├── CapturedScopeArrayAccess2.js
│   │   │   ├── CapturedScopeParameterOrdering.js
│   │   │   ├── CapturedScopesAndIndexedVars.js
│   │   │   ├── CircularFuncs.js
│   │   │   ├── CircularFunctions.js
│   │   │   ├── ClassExpression.js
│   │   │   ├── ClassExpression2.js
│   │   │   ├── ClassExpression3.js
│   │   │   ├── ClassExpression4.js
│   │   │   ├── ClassExpression5.js
│   │   │   ├── ClassExpression6.js
│   │   │   ├── ClassExpression7.js
│   │   │   ├── Closure.js
│   │   │   ├── Closure2.js
│   │   │   ├── Closure3.js
│   │   │   ├── Closure4.js
│   │   │   ├── ClosureRefReplacement.js
│   │   │   ├── ClosureRefVisitor.js
│   │   │   ├── ClosureRefVisitor2.js
│   │   │   ├── ClosureRefVisitor3.js
│   │   │   ├── ClosureRefVisitor4.js
│   │   │   ├── ConditionalReturn.js
│   │   │   ├── ConditionalReturn2.js
│   │   │   ├── ConditionalReturn3.js
│   │   │   ├── CyclicArray.js
│   │   │   ├── CyclicDependencies.js
│   │   │   ├── Date.js
│   │   │   ├── DefineProperty.js
│   │   │   ├── DefinePropertySameNameDiffDesc.js
│   │   │   ├── DelayInitWithDifferentValues.js
│   │   │   ├── DelayInitializations.js
│   │   │   ├── DelayInitializations2.js
│   │   │   ├── DelayedValuePropertyOrdering.js
│   │   │   ├── DelayedValuePropertyOrdering2.js
│   │   │   ├── DontInlineFunctionsWithCapturedScopes.js
│   │   │   ├── DuplicateFactoryFunctions.js
│   │   │   ├── EfficientPrototypeSetting.js
│   │   │   ├── EmitFunctionExpression.js
│   │   │   ├── EmptyBlocks.js
│   │   │   ├── ErrorPrototypeToString.js
│   │   │   ├── ExceedStackDepth.js
│   │   │   ├── Factories1.js
│   │   │   ├── Factories2.js
│   │   │   ├── FactorifyMixNodeTypes.js
│   │   │   ├── FactorifyVoid0.js
│   │   │   ├── ForInStatement1.js
│   │   │   ├── ForOfStatement1.js
│   │   │   ├── FrozenLazyObject.js
│   │   │   ├── Function.js
│   │   │   ├── FunctionBodyClone1.js
│   │   │   ├── FunctionBodyClone2.js
│   │   │   ├── FunctionOrdering.js
│   │   │   ├── FunctionPrototype.js
│   │   │   ├── FunctionPrototype2.js
│   │   │   ├── FunctionPrototypeAssignmentIsSimple.js
│   │   │   ├── FunctionUndelayOrdering.js
│   │   │   ├── GenerateInvariants.js
│   │   │   ├── GlobalMustBePassedInWhenUsed.js
│   │   │   ├── GlobalProperty.js
│   │   │   ├── GlobalProperty2.js
│   │   │   ├── GlobalProperty3.js
│   │   │   ├── GlobalPropertyGetter.js
│   │   │   ├── GlobalPropertyNotValidIdentifier.js
│   │   │   ├── GlobalPropertyStrict.js
│   │   │   ├── GlobalPropertyStrict2.js
│   │   │   ├── GlobalThing.js
│   │   │   ├── GlobalVar.js
│   │   │   ├── HelloWorld.js
│   │   │   ├── HoistFunctionDeclarations.js
│   │   │   ├── IncrementalMemoization.js
│   │   │   ├── Integral.js
│   │   │   ├── IntrinsicPutValue.js
│   │   │   ├── IntrinsicSerialization.js
│   │   │   ├── Issue2555RegressionTest.js
│   │   │   ├── Issue2555RegressionTest2.js
│   │   │   ├── IteratorPrototype.js
│   │   │   ├── JSCCollections.js
│   │   │   ├── KeysAsNumbers.js
│   │   │   ├── LargeDelayedValue.js
│   │   │   ├── LetGlobal.js
│   │   │   ├── ManyFunctionInstantiations.js
│   │   │   ├── Map.js
│   │   │   ├── Map2.js
│   │   │   ├── MapIteratorPrototype.js
│   │   │   ├── MapNotDeadMember.js
│   │   │   ├── MemoizeGlobalPropertiesRegExp.js
│   │   │   ├── MissingInitialElement.js
│   │   │   ├── NestedFunctions1.js
│   │   │   ├── NestedFunctions2.js
│   │   │   ├── NestedFunctions3.js
│   │   │   ├── NestedFunctions4.js
│   │   │   ├── NestedFunctions5.js
│   │   │   ├── NonObjectPrototypes.js
│   │   │   ├── NonOrdinarySetPrototypeOf.js
│   │   │   ├── NonStrictComplex.js
│   │   │   ├── NullPrototype.js
│   │   │   ├── ObjectFreeze1.js
│   │   │   ├── ObjectFreeze2.js
│   │   │   ├── ObjectFreeze3.js
│   │   │   ├── ObjectFreeze4.js
│   │   │   ├── ObjectFreeze5.js
│   │   │   ├── ObjectPreventExtensions1.js
│   │   │   ├── ObjectSeal1.js
│   │   │   ├── ObjectSeal2.js
│   │   │   ├── OmitInvariants.js
│   │   │   ├── OmitUnknownScopeSelectorError.js
│   │   │   ├── OverridingFunctionPrototype.js
│   │   │   ├── PathConditionDeadCode.js
│   │   │   ├── PathConditionThrow.js
│   │   │   ├── Promise.js
│   │   │   ├── PropertyAssignment.js
│   │   │   ├── PropertyGetter.js
│   │   │   ├── PropertySetter.js
│   │   │   ├── Prototypes.js
│   │   │   ├── Prototypes2.js
│   │   │   ├── Proxy.js
│   │   │   ├── Recursion.js
│   │   │   ├── Recursion2.js
│   │   │   ├── RecursiveMutatedFunctionIdentifier.js
│   │   │   ├── ReferentializeBug.js
│   │   │   ├── ReferentializeInitializer.js
│   │   │   ├── RegExp.js
│   │   │   ├── ResidualIdentityObservation.js
│   │   │   ├── ResidualIdentityObservation2.js
│   │   │   ├── Set.js
│   │   │   ├── SetNotDeadMember.js
│   │   │   ├── SetTimeout.js
│   │   │   ├── SimpleCircularFunctions.js
│   │   │   ├── SimpleInheritanceChains.js
│   │   │   ├── StrictComplex.js
│   │   │   ├── StrictGlobals.js
│   │   │   ├── StrictSimple.js
│   │   │   ├── StringPrototype.js
│   │   │   ├── Symbols.js
│   │   │   ├── Symbols2.js
│   │   │   ├── Uint8Array.js
│   │   │   ├── Undefined.js
│   │   │   ├── UndefinedAsLocalVariableName.js
│   │   │   ├── UniqueNames.js
│   │   │   ├── UnknownScopeSelectorError.js
│   │   │   ├── Values.js
│   │   │   ├── WeakMap.js
│   │   │   ├── WeakMapDeadMember.js
│   │   │   ├── WeakMapInternalReference.js
│   │   │   ├── WeakSet.js
│   │   │   ├── WeakSetDeadMember.js
│   │   │   ├── __output.js
│   │   │   └── setTimeoutAndInterval.js
│   │   ├── instant-render/
│   │   │   ├── EmptyBuiltInArray.js
│   │   │   ├── EmptyBuiltInArrayLength.js
│   │   │   ├── EmptyBuiltInProps.js
│   │   │   ├── FunctionArgumentModeling.js
│   │   │   └── NotNull.js
│   │   ├── optimizations/
│   │   │   ├── CommonSubExpr.js
│   │   │   ├── CommonSubExpr2.js
│   │   │   ├── CommonSubExpr3.js
│   │   │   ├── DedupeGenerator.js
│   │   │   ├── DelayInitCaptures.js
│   │   │   ├── DelayInitMult.js
│   │   │   ├── collapse_cases.js
│   │   │   ├── eagerlyRequireModuleDependencies.js
│   │   │   ├── getOwnPropertySymbols.js
│   │   │   ├── non_numeric_arg_require.js
│   │   │   ├── proto.js
│   │   │   ├── require_accelerate.js
│   │   │   ├── require_delay.js
│   │   │   ├── require_hoist.js
│   │   │   ├── require_mightHaveBeenDeleted.js
│   │   │   ├── require_opt.js
│   │   │   ├── require_opt_with_dependencies.js
│   │   │   ├── require_removefactoryfunctions.js
│   │   │   ├── require_spec_accelerate_delay.js
│   │   │   ├── require_speculatively.js
│   │   │   ├── require_speculatively_specific.js
│   │   │   ├── require_throws.js
│   │   │   ├── require_throws1.js
│   │   │   ├── require_unsupported.js
│   │   │   ├── residualDeadCode.js
│   │   │   ├── simplify.js
│   │   │   ├── simplify10.js
│   │   │   ├── simplify11.js
│   │   │   ├── simplify12.js
│   │   │   ├── simplify2.js
│   │   │   ├── simplify3.js
│   │   │   ├── simplify4.js
│   │   │   ├── simplify5.js
│   │   │   ├── simplify6.js
│   │   │   ├── simplify7.js
│   │   │   ├── simplify8.js
│   │   │   ├── simplify8a.js
│   │   │   ├── simplify8b.js
│   │   │   ├── simplify8c.js
│   │   │   ├── simplify9.js
│   │   │   ├── simplifyCompNullOrUndefined.js
│   │   │   ├── simplifyCompNullOrUndefined2.js
│   │   │   ├── simplifyCompNullOrUndefined3.js
│   │   │   ├── simplifyEqNull.js
│   │   │   ├── simplifyEqUndefined.js
│   │   │   ├── simplifyMultipleIfs1.js
│   │   │   ├── simplifyMultipleIfs2.js
│   │   │   └── simplifyStrictEq.js
│   │   ├── optimized-functions/
│   │   │   ├── 2248-repro.js
│   │   │   ├── AbstractDate.js
│   │   │   ├── ArgumentProperty.js
│   │   │   ├── ArrayAccess.js
│   │   │   ├── ArrayFrom.js
│   │   │   ├── ArrayFrom10.js
│   │   │   ├── ArrayFrom11.js
│   │   │   ├── ArrayFrom2.js
│   │   │   ├── ArrayFrom3.js
│   │   │   ├── ArrayFrom4.js
│   │   │   ├── ArrayFrom5.js
│   │   │   ├── ArrayFrom6.js
│   │   │   ├── ArrayFrom7.js
│   │   │   ├── ArrayFrom8.js
│   │   │   ├── ArrayFrom9.js
│   │   │   ├── ArrayIndexOf.js
│   │   │   ├── ArrayReverse.js
│   │   │   ├── ArrowFunction.js
│   │   │   ├── ArrowFunction2.js
│   │   │   ├── CallWithThrow.js
│   │   │   ├── CommonParentScopeCapture.js
│   │   │   ├── ComposeJoins.js
│   │   │   ├── ConditionalArray.js
│   │   │   ├── ConditionalArray2.js
│   │   │   ├── ConditionalArray3.js
│   │   │   ├── ConditionalArray4.js
│   │   │   ├── ConditionalArray5.js
│   │   │   ├── ConditionalGet.js
│   │   │   ├── ConditionalGet2.js
│   │   │   ├── ConditionalGet3.js
│   │   │   ├── ConditionalObjectAssign.js
│   │   │   ├── ConditionalObjectAssign2.js
│   │   │   ├── ConditionalObjectAssign3.js
│   │   │   ├── ConditionalObjectAssign4.js
│   │   │   ├── ConditionalObjectAssign5.js
│   │   │   ├── ConditionalReturn.js
│   │   │   ├── ConditionalReturn2.js
│   │   │   ├── ConditionallyLeakedBinding.js
│   │   │   ├── ConditionallyLeakedObject1.js
│   │   │   ├── ConditionallyLeakedObject2.js
│   │   │   ├── ConditionallyOptimizedFunction.js
│   │   │   ├── ConditionallyReachable.js
│   │   │   ├── DeadModifiedBindings.js
│   │   │   ├── DeadObjectAssign.js
│   │   │   ├── DeadObjectAssign10.js
│   │   │   ├── DeadObjectAssign11.js
│   │   │   ├── DeadObjectAssign12.js
│   │   │   ├── DeadObjectAssign13.js
│   │   │   ├── DeadObjectAssign14.js
│   │   │   ├── DeadObjectAssign15.js
│   │   │   ├── DeadObjectAssign16.js
│   │   │   ├── DeadObjectAssign17.js
│   │   │   ├── DeadObjectAssign18.js
│   │   │   ├── DeadObjectAssign19.js
│   │   │   ├── DeadObjectAssign2.js
│   │   │   ├── DeadObjectAssign20.js
│   │   │   ├── DeadObjectAssign21.js
│   │   │   ├── DeadObjectAssign22.js
│   │   │   ├── DeadObjectAssign23.js
│   │   │   ├── DeadObjectAssign24.js
│   │   │   ├── DeadObjectAssign3.js
│   │   │   ├── DeadObjectAssign4.js
│   │   │   ├── DeadObjectAssign5.js
│   │   │   ├── DeadObjectAssign6.js
│   │   │   ├── DeadObjectAssign7.js
│   │   │   ├── DeadObjectAssign8.js
│   │   │   ├── DeadObjectAssign9.js
│   │   │   ├── DefineOptFuncInsideFuncInsideOptFunc.js
│   │   │   ├── Empty.js
│   │   │   ├── ForLoop.js
│   │   │   ├── ForLoop2.js
│   │   │   ├── ForLoop3.js
│   │   │   ├── HavocBindings1.js
│   │   │   ├── HavocBindings10.js
│   │   │   ├── HavocBindings11.js
│   │   │   ├── HavocBindings2.js
│   │   │   ├── HavocBindings3.js
│   │   │   ├── HavocBindings4.js
│   │   │   ├── HavocBindings5.js
│   │   │   ├── HavocBindings7.js
│   │   │   ├── HavocBindings8.js
│   │   │   ├── HavocBindings9.js
│   │   │   ├── HavocBindingsRegression.js
│   │   │   ├── HavocNestedBindings1.js
│   │   │   ├── HavocNestedBindings2.js
│   │   │   ├── HavocObjects1.js
│   │   │   ├── HavocObjects2.js
│   │   │   ├── HavocObjects3.js
│   │   │   ├── HavocObjects4.js
│   │   │   ├── HavocObjects5.js
│   │   │   ├── InstantRenderArrayOps1.js
│   │   │   ├── InstantRenderArrayOps2.js
│   │   │   ├── InstantRenderArrayOpsBenignMutation.js
│   │   │   ├── Issue1640ImplicitThis.js
│   │   │   ├── Issue1856.js
│   │   │   ├── Issue2151.js
│   │   │   ├── Issue2262Regression.js
│   │   │   ├── Issue2266Regression.js
│   │   │   ├── Issue2358-2.js
│   │   │   ├── Issue2358.js
│   │   │   ├── Issue2359-1.js
│   │   │   ├── Issue2359-2.js
│   │   │   ├── Issue2388.js
│   │   │   ├── Issue2392-1.js
│   │   │   ├── Issue2392-2.js
│   │   │   ├── Issue2398.js
│   │   │   ├── Issue2399.js
│   │   │   ├── Issue2422.js
│   │   │   ├── Issue2423.js
│   │   │   ├── LeakObjectWithSetter.js
│   │   │   ├── LeakedCustomObjectInMultipleScopes.js
│   │   │   ├── LeakedObjectCodeDuplication.js
│   │   │   ├── LoopBailout.js
│   │   │   ├── LoopBailout10.js
│   │   │   ├── LoopBailout11.js
│   │   │   ├── LoopBailout12.js
│   │   │   ├── LoopBailout13.js
│   │   │   ├── LoopBailout14.js
│   │   │   ├── LoopBailout15.js
│   │   │   ├── LoopBailout16.js
│   │   │   ├── LoopBailout17.js
│   │   │   ├── LoopBailout18.js
│   │   │   ├── LoopBailout19.js
│   │   │   ├── LoopBailout2.js
│   │   │   ├── LoopBailout3.js
│   │   │   ├── LoopBailout4.js
│   │   │   ├── LoopBailout5.js
│   │   │   ├── LoopBailout6.js
│   │   │   ├── LoopBailout7.js
│   │   │   ├── LoopBailout8.js
│   │   │   ├── LoopBailout9.js
│   │   │   ├── MissingModifiedBinding.js
│   │   │   ├── ModifiedResidualBindings.js
│   │   │   ├── ModifiedResidualBindings2.js
│   │   │   ├── ModifiedResidualBindings3.js
│   │   │   ├── NestedConditions.js
│   │   │   ├── NestedConditionsRedeclare.js
│   │   │   ├── NestedConditionsRightPath.js
│   │   │   ├── NestedOptimizeSameFunction.js
│   │   │   ├── NestedTemporalJoinConditions.js
│   │   │   ├── NullCheck.js
│   │   │   ├── NullThrows.js
│   │   │   ├── ObjectAssign.js
│   │   │   ├── ObjectAssign2.js
│   │   │   ├── ObjectAssign3.js
│   │   │   ├── ObjectAssign4.js
│   │   │   ├── ObjectAssign5.js
│   │   │   ├── ObjectAssign6.js
│   │   │   ├── ObjectAssign7.js
│   │   │   ├── ObjectAssign8.js
│   │   │   ├── ObjectAssign9.js
│   │   │   ├── ObjectAssignProps.js
│   │   │   ├── OptimizeInSpeculativeContext.js
│   │   │   ├── OptimizedConditionalFunction.js
│   │   │   ├── OptimizedResidualOptimized.js
│   │   │   ├── ParentInitializesLocal.js
│   │   │   ├── ParentInitializesLocal2.js
│   │   │   ├── PropertyDeref.js
│   │   │   ├── RegressionTestForIssue1837.js
│   │   │   ├── RegressionTestForIssue1840.js
│   │   │   ├── RegressionTestForIssue1848.js
│   │   │   ├── RegressionTestForIssue1883.js
│   │   │   ├── RegressionTestForIssue2015.js
│   │   │   ├── RegressionTestForIssue2056.js
│   │   │   ├── Switch.js
│   │   │   ├── Switch2.js
│   │   │   ├── Switch3.js
│   │   │   ├── Switch4.js
│   │   │   ├── Switch5.js
│   │   │   ├── Switch6.js
│   │   │   ├── SymbolGet.js
│   │   │   ├── ThrowOrReturn.js
│   │   │   ├── ThrowOrReturn2.js
│   │   │   ├── ThrowOrReturn3.js
│   │   │   ├── ToString.js
│   │   │   ├── ToString2.js
│   │   │   ├── ToString3.js
│   │   │   ├── ToString4.js
│   │   │   ├── TransitiveMaterializationDirect.js
│   │   │   ├── TransitiveMaterializationViaAbstractValue.js
│   │   │   ├── TransitiveMaterializationViaFunctionCall.js
│   │   │   ├── TransitiveMaterializationViaFunctionProperty.js
│   │   │   ├── TransitiveMaterializationViaLeakedBinding.js
│   │   │   ├── TransitiveMaterializationViaObjectProp.js
│   │   │   ├── TransitiveMaterializationViaThisBinding.js
│   │   │   ├── UnknownProperty.js
│   │   │   ├── UnknownProperty2.js
│   │   │   ├── WrongReferentializationScope.js
│   │   │   ├── WrongScopeTripleNested.js
│   │   │   ├── double-call.js
│   │   │   ├── instanceof.js
│   │   │   ├── issue-2252-3.js
│   │   │   └── simple-nesting.js
│   │   ├── pure-functions/
│   │   │   ├── AbstractCall.js
│   │   │   ├── AbstractCallUnknownType.js
│   │   │   ├── AbstractCallUnknownType2.js
│   │   │   ├── AbstractComputedProperty.js
│   │   │   ├── AbstractComputedPropertyAssignment.js
│   │   │   ├── AbstractObject.js
│   │   │   ├── AbstractObject2.js
│   │   │   ├── AbstractObjectOptimizable.js
│   │   │   ├── AbstractPropertyObjectKey.js
│   │   │   ├── AbstractPropertyObjectKeyAssignment.js
│   │   │   ├── AbstractPropertyRead.js
│   │   │   ├── AbstractPropertyRead2.js
│   │   │   ├── AbstractPropertyRead3.js
│   │   │   ├── AbstractPropertyRead4.js
│   │   │   ├── AbstractPropertyRead5.js
│   │   │   ├── AbstractPropertyRead6.js
│   │   │   ├── BinaryExpressions.js
│   │   │   ├── BinaryExpressions2.js
│   │   │   ├── BinaryExpressions3.js
│   │   │   ├── CastStringOnUnknown.js
│   │   │   ├── ConditionalHavocedGet.js
│   │   │   ├── ConditionalHavocedGetPartial.js
│   │   │   ├── ConditionalHavocedSet.js
│   │   │   ├── ConditionalHavocedSetPartial.js
│   │   │   ├── ConditionalObjectPartialKey.js
│   │   │   ├── FatalErrorAfterJoins.js
│   │   │   ├── FatalErrorAfterModifiedBinding.js
│   │   │   ├── ForInBailout.js
│   │   │   ├── GetterOnAbstractPrototype.js
│   │   │   ├── GetterOnAbstractPrototype2.js
│   │   │   ├── HavocBinding.js
│   │   │   ├── HavocBindingImmutable.js
│   │   │   ├── Invariants.js
│   │   │   ├── Invariants2.js
│   │   │   ├── Invariants3.js
│   │   │   ├── Issue2418.js
│   │   │   ├── NewExpression.js
│   │   │   ├── ObjectAssign.js
│   │   │   ├── ObjectAssign2.js
│   │   │   ├── PutValueOnAbstract.js
│   │   │   ├── PutValueOnAbstract2.js
│   │   │   ├── SetterOnHavocedPrototype.js
│   │   │   ├── StackOverflow.js
│   │   │   ├── ToObject.js
│   │   │   ├── UnaryExpressions.js
│   │   │   ├── UnknownGetter.js
│   │   │   ├── UnknownSetter.js
│   │   │   ├── hasOwnProperty.js
│   │   │   └── hasOwnProperty2.js
│   │   ├── react/
│   │   │   └── jsx/
│   │   │       ├── default-props.js
│   │   │       ├── element-simple.js
│   │   │       ├── jsx-simple.js
│   │   │       ├── jsx-spread.js
│   │   │       └── key-children.js
│   │   └── trivial/
│   │       ├── Console.js
│   │       ├── Empty.js
│   │       ├── FunctionExpressionApplication.js
│   │       ├── GlobalVariable.js
│   │       ├── GlobalVariable2.js
│   │       ├── If.js
│   │       ├── LocalVariable.js
│   │       └── ObjectCreation.js
│   ├── source-maps/
│   │   └── Stacktrace.js
│   └── std-in/
│       └── StdIn.js
├── webpack.config.js
└── website/
    ├── .gitignore
    ├── CNAME
    ├── README.md
    ├── circle.yml
    ├── css/
    │   ├── prism.css
    │   └── style.css
    ├── frequently-asked-questions.html
    ├── getting-started.html
    ├── index.html
    ├── js/
    │   ├── prism.js
    │   ├── repl-worker.js
    │   ├── repl.js
    │   └── toggle_menu.js
    ├── package.json
    ├── repl.html
    └── scripts/
        └── prettier/
            └── index.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .circleci/config.yml
================================================
workflows:
  version: 2
  main:
    jobs:
      - build
      - run-tests-1:
          requires:
            - build
      - run-tests-2:
          requires:
            - build
      - run-checks:
          requires:
            - build

version: 2
jobs:
  build:
    docker:
      - image: circleci/node:8.9.4
    steps:
      - checkout
      - run:
          name: "Checkout Submodules & Prep"
          command: |
            git submodule sync
            git submodule update --init # use submodules
            echo "export PATH=${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin" >> $BASH_ENV
      - restore_cache:
          keys:
            - yarn-v1--{{ .Branch }}--{{ checksum "yarn.lock" }}
      - run:
          name: "Install Dependencies"
          command: yarn install --frozen-lockfile # make sure that lockfile is up-to-date
      - save_cache:
          key: yarn-v1--{{ .Branch }}--{{ checksum "yarn.lock" }}
          paths:
            - ~/.cache/yarn
      - run:
          name: "Build Assets"
          command: |
            yarn build
            yarn build-scripts
      - persist_to_workspace:
          root: /home/circleci
          paths:
            - project

  run-tests-1:
    docker:
      - image: circleci/node:8.9.4
    steps:
      - attach_workspace:
          at: /home/circleci
      - run:
          name: "Run Tests"
          command: |
            mkdir ~/artifacts
            yarn test-react
            yarn test-sourcemaps
            yarn test-std-in
            yarn test-test262 --expectedCounts 11944,5641,0 --statusFile ~/artifacts/test262-status.txt --timeout 140 --cpuScale 0.25 --verbose
            #yarn test-test262-new --statusFile ~/artifacts/test262-new-status.txt --timeout 120 --verbose
      - store_artifacts:
          path: ~/artifacts/

  run-tests-2:
    docker:
      - image: circleci/node:8.9.4
    steps:
      - attach_workspace:
          at: /home/circleci
      - run:
          name: "Run Tests"
          command: |
            mkdir ~/artifacts
            yarn test-serializer-with-coverage
            mv coverage/lcov-report ~/artifacts/coverage-report
            mv coverage-sourcemapped ~/artifacts/coverage-report-sourcemapped
      - store_artifacts:
          path: ~/artifacts/

  run-checks:
    docker:
      - image: circleci/node:8.9.4
    steps:
      - attach_workspace:
          at: /home/circleci
      - run:
          name: "Run Checks"
          command: |
            yarn prettier-ci
            yarn lint
            yarn flow-ci
            yarn depcheck


================================================
FILE: .eslintignore
================================================
test262
lib
/fb-www
underscore-with-tests.js
flow-typed
test/**/*.js
babel.config.js


================================================
FILE: .eslintrc
================================================
// Adapted from React Native .eslintrc.
// However, at this time, some rules have been disabled to ease the transition

{
  "parser": "babel-eslint",

  "plugins": [
    "flowtype",
    "header",
    "flow-header",
    "prettier"
  ],

  "env": {
    "es6": true,
    "jasmine": true,
  },

  "globals": {
    "console": false,
    "process": false,
    "require": false,
    "setTimeout": false,
    "setInterval": false,
    "clearTimeout": false,
    "clearInterval": false,
    "__dirname": false,
    "Set": false,
    "gc": false
  },

  "rules": {
    "comma-dangle": 0,               // disallow trailing commas in object literals
    "no-cond-assign": 2,             // disallow assignment in conditional expressions
    "no-console": 0,                 // disallow use of console (off by default in the node environment)
    "no-const-assign": 2,            // disallow assignment to const-declared variables
    "no-constant-condition": 0,      // disallow use of constant expressions in conditions
    "no-control-regex": 2,           // disallow control characters in regular expressions
    "no-debugger": 2,                // disallow use of debugger
    "no-dupe-keys": 2,               // disallow duplicate keys when creating object literals
    "no-empty": 0,                   // disallow empty statements
    "no-ex-assign": 2,               // disallow assigning to the exception in a catch block
    "no-extra-boolean-cast": 2,      // disallow double-negation boolean casts in a boolean context
    "no-extra-parens": 0,            // disallow unnecessary parentheses (off by default)
    "no-extra-semi": 2,              // disallow unnecessary semicolons
    "no-func-assign": 2,             // disallow overwriting functions written as function declarations
    "no-inner-declarations": 0,      // disallow function or variable declarations in nested blocks
    "no-invalid-regexp": 2,          // disallow invalid regular expression strings in the RegExp constructor
    "no-negated-in-lhs": 2,          // disallow negation of the left operand of an in expression
    "no-obj-calls": 2,               // disallow the use of object properties of the global object (Math and JSON) as functions
    "no-regex-spaces": 2,            // disallow multiple spaces in a regular expression literal
    "no-reserved-keys": 0,           // disallow reserved words being used as object literal keys (off by default)
    "no-sparse-arrays": 2,           // disallow sparse arrays
    // "no-unreachable": 1,             // disallow unreachable statements after a return, throw, continue, or break statement
    "use-isnan": 2,                  // disallow comparisons with the value NaN
    "valid-jsdoc": 0,                // Ensure JSDoc comments are valid (off by default)
    "valid-typeof": 2,               // Ensure that the results of typeof are compared against a valid string
    "no-var": 2,

  // Best Practices
  // These are rules designed to prevent you from making mistakes. They either prescribe a better way of doing something or help you avoid footguns.

    "block-scoped-var": 0,           // treat var statements as if they were block scoped (off by default)
    "complexity": 0,                 // specify the maximum cyclomatic complexity allowed in a program (off by default)
    "consistent-return": 0,          // require return statements to either always or never specify values
    // "curly": 1,                      // specify curly brace conventions for all control statements
    "default-case": 2,               // require default case in switch statements (off by default)
    "dot-notation": 2,               // encourages use of dot notation whenever possible
    "eqeqeq": [2, "allow-null"],     // require the use of === and !==
    "guard-for-in": 0,               // make sure for-in loops have an if statement (off by default)
    "no-alert": 2,                   // disallow the use of alert, confirm, and prompt
    "no-caller": 2,                  // disallow use of arguments.caller or arguments.callee
    "no-div-regex": 2,               // disallow division operators explicitly at beginning of regular expression (off by default)
    "no-else-return": 0,             // disallow else after a return in an if (off by default)
    "no-eq-null": 0,                 // disallow comparisons to null without a type-checking operator (off by default)
    "no-eval": 2,                    // disallow use of eval()
    "no-extend-native": 2,           // disallow adding to native types
    "no-extra-bind": 2,              // disallow unnecessary function binding
    "no-fallthrough": 2,             // disallow fallthrough of case statements
    "no-floating-decimal": 2,        // disallow the use of leading or trailing decimal points in numeric literals (off by default)
    "no-implicit-globals": 2,
    "no-implied-eval": 2,            // disallow use of eval()-like methods
    "no-invalid-this": 2,
    "no-labels": 0,                  // disallow use of labeled statements
    "no-iterator": 2,                // disallow usage of __iterator__ property
    "no-lone-blocks": 2,             // disallow unnecessary nested blocks
    "no-loop-func": 0,               // disallow creation of functions within loops
    "no-multi-str": 0,               // disallow use of multiline strings
    "no-native-reassign": 0,         // disallow reassignments of native objects
    "no-new": 2,                     // disallow use of new operator when not part of the assignment or comparison
    "no-new-func": 2,                // disallow use of new operator for Function object
    "no-new-wrappers": 2,            // disallows creating new instances of String,Number, and Boolean
    "no-octal": 2,                   // disallow use of octal literals
    "no-octal-escape": 2,            // disallow use of octal escape sequences in string literals, such as var foo = "Copyright \251";
    "no-proto": 2,                   // disallow usage of __proto__ property
    "no-redeclare": 2,               // disallow declaring the same variable more then once
    "no-return-assign": 2,           // disallow use of assignment in return statement
    "no-script-url": 2,              // disallow use of javascript: urls.
    "no-self-assign": 2,
    "no-self-compare": 2,            // disallow comparisons where both sides are exactly the same (off by default)
    "no-sequences": 2,               // disallow use of comma operator
    "no-throw-literal": 2,
    "no-unused-expressions": 0,      // disallow usage of expressions in statement position
    "no-void": 2,                    // disallow use of void operator (off by default)
    "no-warning-comments": 0,        // disallow usage of configurable warning terms in comments": 1,                        // e.g. TODO or FIXME (off by default)
    "no-with": 2,                    // disallow use of the with statement
    "radix": 2,                      // require use of the second argument for parseInt() (off by default)
    "semi-spacing": 2,               // require a space after a semi-colon
    "vars-on-top": 0,                // requires to declare all vars on top of their containing scope (off by default)
    "wrap-iife": 0,                  // require immediate function invocation to be wrapped in parentheses (off by default)
    "yoda": 2,                       // require or disallow Yoda conditions

  // Variables
  // These rules have to do with variable declarations.

    "no-catch-shadow": 2,            // disallow the catch clause parameter name being the same as a variable in the outer scope (off by default in the node environment)
    "no-delete-var": 2,              // disallow deletion of variables
    "no-label-var": 2,               // disallow labels that share a name with a variable
    "no-shadow": 2,                  // disallow declaration of variables already declared in the outer scope
    "no-shadow-restricted-names": 2, // disallow shadowing of names such as arguments
    "no-undef": 2,                   // disallow use of undeclared variables unless mentioned in a /*global */ block
    "no-undefined": 0,               // disallow use of undefined variable (off by default)
    "no-undef-init": 2,              // disallow use of undefined when initializing variables
    "no-unused-vars": [2, {"vars": "all", "args": "none"}], // disallow declaration of variables that are not used in the code
    "no-use-before-define": 0,       // disallow use of variables before they are defined

  // Node.js
  // These rules are specific to JavaScript running on Node.js.

    "handle-callback-err": 2,        // enforces error handling in callbacks (off by default) (on by default in the node environment)
    "no-mixed-requires": 2,          // disallow mixing regular variable and require declarations (off by default) (on by default in the node environment)
    "no-new-require": 2,             // disallow use of new operator with the require function (off by default) (on by default in the node environment)
    "no-path-concat": 2,             // disallow string concatenation with __dirname and __filename (off by default) (on by default in the node environment)
    "no-process-exit": 0,            // disallow process.exit() (on by default in the node environment)
    "no-restricted-modules": 2,      // restrict usage of specified node modules (off by default)
    "no-sync": 0,                    // disallow use of synchronous methods (off by default)

  // Stylistic Issues
  // These rules are purely matters of style and are quite subjective.

    "key-spacing": 2,
    "keyword-spacing": 2,            // enforce spacing before and after keywords
    "jsx-quotes": [2, "prefer-double"],
    "comma-spacing": 2,
    "comma-style": 2,
    "no-multi-spaces": 0,
    "brace-style": 2,                // enforce one true brace style (off by default)
    "camelcase": 0,                  // require camel case names
    "consistent-this": [0, "self"],            // enforces consistent naming when capturing the current execution context (off by default)
    "eol-last": 2,                   // enforce newline at the end of file, with no multiple empty lines
    "func-names": 0,                 // require function expressions to have a name (off by default)
    "func-name-matching": 2,
    "func-call-spacing": 2,
    "func-style": 0,                 // enforces use of function declarations or expressions (off by default)
    "new-cap": [2, { "capIsNew": false }],                    // require a capital letter for constructors
    "new-parens": 2,                 // disallow the omission of parentheses when invoking a constructor with no arguments
    "no-nested-ternary": 0,          // disallow nested ternary expressions (off by default)
    "no-array-constructor": 2,       // disallow use of the Array constructor
    "no-lonely-if": 0,               // disallow if as the only statement in an else block (off by default)
    "no-new-object": 2,              // disallow use of the Object constructor
    "no-spaced-func": 2,             // disallow space between function identifier and application
    "no-tabs": 2,
    "no-ternary": 0,                 // disallow the use of ternary operators (off by default)
    "no-trailing-spaces": 2,         // disallow trailing whitespace at the end of lines
    "no-underscore-dangle": 0,       // disallow dangling underscores in identifiers
    "no-mixed-spaces-and-tabs": 2,   // disallow mixed spaces and tabs for indentation
    // "quotes": [1, "single", "avoid-escape"], // specify whether double or single quotes should be used
    "quote-props": 0,                // require quotes around object literal property names (off by default)
    "semi": 2,                       // require or disallow use of semicolons instead of ASI
    "sort-vars": 0,                  // sort variables within the same declaration block (off by default)
    "object-curly-spacing": [2, "always"],
    "array-bracket-spacing": 2,
    "computed-property-spacing": 2,
    "space-in-parens": 2,            // require or disallow spaces inside parentheses (off by default)
    "space-infix-ops": 2,            // require spaces around operators
    "space-unary-ops": [2, { "words": true, "nonwords": false }], // require or disallow spaces before/after unary operators (words on by default, nonwords off by default)
    "max-nested-callbacks": 0,       // specify the maximum depth callbacks can be nested (off by default)
    "one-var": 0,                    // allow just one var statement per function (off by default)
    "wrap-regex": 0,                 // require regex literals to be wrapped in parentheses (off by default)

  // Legacy
  // The following rules are included for compatibility with JSHint and JSLint. While the names of the rules may not match up with the JSHint/JSLint counterpart, the functionality is the same.

    "max-depth": 0,                  // specify the maximum depth that blocks can be nested (off by default)
    "max-len": 0,                    // specify the maximum length of a line in your program (off by default)
    "max-params": 0,                 // limits the number of parameters that can be used in the function declaration. (off by default)
    "max-statements": 0,             // specify the maximum number of statement allowed in a function (off by default)
    "no-bitwise": 0,                 // disallow use of bitwise operators (off by default)
    "no-plusplus": 0,                // disallow use of unary operators, ++ and -- (off by default)

  // Flow
    "flowtype/boolean-style": [2, "boolean"], // a problem is raised when using bool instead of boolean
    "flowtype/define-flow-type": 2,
    "flowtype/generic-spacing": 0,
    "flowtype/space-before-type-colon": [2, "never"],
    "flowtype/space-before-generic-bracket": [2, "never"],
    "flowtype/space-after-type-colon": 0,
    "flowtype/no-dupe-keys": 2,
    "flowtype/union-intersection-spacing": [2, "always"],
    "flowtype/no-weak-types": [2, {"any": false, "Object": true, "Function": false}],
    "flow-header/flow-header": 2,

  // Headers
    "header/header": [2, "block", [
      "*",
      " * Copyright (c) 2017-present, Facebook, Inc.",
      " * All rights reserved.",
      " *",
      " * This source code is licensed under the BSD-style license found in the",
      " * LICENSE file in the root directory of this source tree. An additional grant",
      " * of patent rights can be found in the PATENTS file in the same directory.",
      " ",
      ]
    ],

  // Prettier
    "prettier/prettier": ["error", {
      "parser": "flow",
      "trailingComma": "es5",
      "printWidth": 120,
    }],

  // Reject imports from lib/*
    "no-restricted-imports": ["error", {
      "patterns": ["**/../lib/**"]
    }]
  }
}


================================================
FILE: .flowconfig
================================================
[ignore]
.*/node_modules/@babel/.*
.*/test262/.*
.*/node_modules/.*\.json
.*/lib/.*
.*/fb-www/input*.js
.*/fb-www/output*.js
.*/test/serializer/.*
.*/scripts/prettier.js
.*/tmp_website_build/.*
babel.config.js

[include]

[libs]
flow-libs

[options]
merge_timeout=0
suppress_comment= \\(.\\|\n\\)*\\$FlowFixMe
esproposal.class_static_fields=enable
esproposal.class_instance_fields=enable
module.name_mapper='/lib/' -> '/src/'

[strict]
nonstrict-import
unclear-type
unsafe-getters-setters
untyped-import
untyped-type-import
sketchy-null

[version]
^0.83.0


================================================
FILE: .gitignore
================================================
.*.haste_cache.*
*~
**/node_modules/
/lib
npm-debug.log
yarn-error.log
.DS_Store
build/
.idea/
tmp_website_build/
coverage*/
.vscode
/fb-www
facebook/test
facebook/test-react
facebook/tutorial
prepack.min.js


================================================
FILE: .gitmodules
================================================
[submodule "test/test262"]
	path = test/test262
	url = https://github.com/tc39/test262
ignore = all

================================================
FILE: .prettierrc
================================================
{
  "trailingComma": "es5",
  "parser": "babylon",
  "printWidth": 120
}

================================================
FILE: .watchmanconfig
================================================


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Code of Conduct

Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please [read the full text](https://code.fb.com/codeofconduct/) so that you can understand what actions will and will not be tolerated.


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing to Prepack
We want to make contributing to this project as easy and transparent as
possible.

To read more about the project, check out this [suggested reading wiki](https://github.com/facebook/prepack/wiki/Suggested-reading)

## Code of Conduct

Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please [read the full text](https://code.fb.com/codeofconduct/) so that you can understand what actions will and will not be tolerated.

## Our Development Process
The GitHub repository is the source of truth for us and all development takes place here.

## Pull Requests
We actively welcome your pull requests. If you are planning on doing a larger chunk of work, make sure to file an issue first to get feedback on your idea.

1. Fork the repo and create your branch from `master`.
2. If you've added code that should be tested, add tests.
3. If you've changed APIs, update the documentation.
4. Ensure the test suite passes, your code lints and typechecks. Your pull request might not get the attention it deserves if it fails in our automated continuous integration system.
5. If you haven't already, complete the Contributor License Agreement ("CLA").
6. Consider quashing your commits (`git rebase -i`). One intent alongside one commit makes it clearer for people to review and easier to understand your intention.
7. The main comment of a pull request must start with a sentence to be used in release notes prefixed with "Release Note: ". If the change is negligible, say "Release Note: none".

## Copyright Notice for files

Copy and paste this to the top of your new file(s):

```
/**
 * Copyright (c) 2017-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */
```

## Contributor License Agreement ("CLA")
In order to accept your pull request, we need you to submit a CLA. You only need
to do this once to work on any of Facebook's open source projects.

Complete your CLA here: <https://code.facebook.com/cla>

## Issues
We use GitHub issues to track public bugs. Please ensure your description is
clear and has sufficient instructions to be able to reproduce the issue.

Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe
disclosure of security bugs. In those cases, please go through the process
outlined on that page and do not file a public issue.

## Coding Style
*Most important: Look around.* Match the style you see used in the rest of the project. This includes formatting, naming things in code, naming things in documentation.

Our basic code formatting rules are encoded in `.eslintrc` and are enforced by the linter.
When encoding functionality described in the JavaScript spec (http://www.ecma-international.org/ecma-262/7.0/), 
ensure that you copy+paste the relevant section number and individual steps.

## License
By contributing to Prepack, you agree that your contributions will be licensed
under the LICENSE file in the root directory of this source tree.


================================================
FILE: LICENSE
================================================
BSD License

For Prepack software

Copyright (c) 2017-present, Facebook, Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

 * Neither the name Facebook nor the names of its contributors may be used to
   endorse or promote products derived from this software without specific
   prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


================================================
FILE: PATENTS
================================================
Additional Grant of Patent Rights Version 2

"Software" means the Prepack software contributed by Facebook, Inc.

Facebook, Inc. ("Facebook") hereby grants to each recipient of the Software
("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable
(subject to the termination provision below) license under any Necessary
Claims, to make, have made, use, sell, offer to sell, import, and otherwise
transfer the Software. For avoidance of doubt, no license is granted under
Facebook’s rights in any patent claims that are infringed by (i) modifications
to the Software made by you or any third party or (ii) the Software in
combination with any software or other technology.

The license granted hereunder will terminate, automatically and without notice,
if you (or any of your subsidiaries, corporate affiliates or agents) initiate
directly or indirectly, or take a direct financial interest in, any Patent
Assertion: (i) against Facebook or any of its subsidiaries or corporate
affiliates, (ii) against any party if such Patent Assertion arises in whole or
in part from any software, technology, product or service of Facebook or any of
its subsidiaries or corporate affiliates, or (iii) against any party relating
to the Software. Notwithstanding the foregoing, if Facebook or any of its
subsidiaries or corporate affiliates files a lawsuit alleging patent
infringement against you in the first instance, and you respond by filing a
patent infringement counterclaim in that lawsuit against that party that is
unrelated to the Software, the license granted hereunder will not terminate
under section (i) of this paragraph due to such counterclaim.

A "Necessary Claim" is a claim of a patent owned by Facebook that is
necessarily infringed by the Software standing alone.

A "Patent Assertion" is any lawsuit or other action alleging direct, indirect,
or contributory infringement or inducement to infringe any patent, including a
cross-claim or counterclaim.


================================================
FILE: README.md
================================================
# Prepack [![Circle CI](https://circleci.com/gh/facebook/prepack.png?style=shield&circle-token=1109197a81e634fd06e162c25d309a420585acd5)](https://circleci.com/gh/facebook/prepack)

<img src="assets/PrepackLogo.png" width=150 align=right>

Prepack is a partial evaluator for JavaScript. Prepack rewrites a JavaScript bundle, resulting in JavaScript code that executes more efficiently.
For initialization-heavy code, Prepack works best in an environment where JavaScript parsing is effectively cached.

See the official [prepack.io](https://prepack.io) website for an introduction and an [interactive REPL playground](https://prepack.io/repl.html).

## Status

**We, the Prepack team at Facebook, have temporarily set down work on Prepack including the React compiler project. You won't see many Prepack PRs while we are currently prioritizing some other projects.**

## How to use Prepack

Install the CLI via npm,

```bash
$ npm install -g prepack
```

Or if you prefer yarn, make sure you get yarn first,
```bash
$ npm install -g yarn
```
and then install the Prepack CLI via yarn:

```bash
$ yarn global add prepack
```
You may need to `prepend` (pun intended!) the command with `sudo` in some cases.

### Let the party begin

To compile a file and print the output to the console:

```bash
$ prepack script.js
```

If you want to compile a file and output to another file:

```bash
$ prepack script.js --out script-processed.js
```

Detailed instructions and the API can be found at [Prepack CLI: Getting Started](https://prepack.io/getting-started.html)

### Plugins to other tools
The following are a few plugins to other tools. They have been created and are maintained separately from Prepack itself. If you run into any issues with those plugins, please ask the plugin maintainers for support.

- [A Rollup plugin for Prepack](https://www.npmjs.com/package/rollup-plugin-prepack)
- [A Webpack plugin for Prepack](https://www.npmjs.com/package/prepack-webpack-plugin)
- [A Parcel plugin for Prepack](https://www.npmjs.com/package/parcel-plugin-prepack)
- [A Visual Studio code plugin for Prepack](https://marketplace.visualstudio.com/items?itemName=RobinMalfait.prepack-vscode)
- [A babel plugin which transforms Flow annotations into prepack model declarations](https://www.npmjs.com/package/babel-plugin-flow-prepack).

## Test Results and Code Coverage

- [test262 status on master branch](https://circleci.com/api/v1/project/facebook/prepack/latest/artifacts/0/$CIRCLE_ARTIFACTS/test262-status.txt?branch=master)
- [code coverage report for serialization tests](https://circleci.com/api/v1/project/facebook/prepack/latest/artifacts/0/$CIRCLE_ARTIFACTS/coverage-report-sourcemapped/index.html?branch=master)
- To see the status for a pull request, look for the message *All checks have passed* or *All checks have failed*. Click on *Show all checks*, *Details*, *Artifacts*, and then *test262-status.txt* or *coverage-report-sourcemapped/index.html*.

## How to get the code

0. Clone repository and make it your current directory.
1. `git submodule init`
2. `git submodule update --init`
3. Get yarn and node, then do
   `yarn`

Note: For development work you really need `yarn`, as many scripts require it.

### How to build, lint, type check

0. Get the code
1. `yarn build`  
   You can later run `yarn watch` in the background to just compile changed files on the fly.
2. `yarn lint`
3. `yarn flow`

### How to run tests

0. Get the code
1. Make sure the code is built, either by running `yarn build` or `yarn watch`
2. `yarn test`

You can run individual test suites as follows:
- `yarn test-serializer`  
  This tests the interpreter and serializer. All tests should pass.
- `yarn test-test262`  
  This tests conformance against the test262 suite. Not all will pass, increasing conformance is work in progress.

## How to run the interpreter

0. Get the code
1. Make sure the code is built, either by running `yarn build` or `yarn watch`
2. `yarn repl`  
   This starts an interactive interpreter session.

## How to run Prepack

0. Get the code
1. Make sure the code is built, either by running `yarn build` or `yarn watch`.
2. Have a JavaScript file handy that you want to prepack, for example:  
   `echo "function hello() { return 'hello'; } function world() { return 'world'; } s = hello() + ' ' + world();" >/tmp/sample.js`

3. `cat /tmp/sample.js | yarn prepack-cli`  
   Try `--help` for more options.

## How to validate changes

Instead of building, linting, type checking, testing separately, the following does everything together:  
`yarn validate`

## How to edit the website

The content for [prepack.io](https://prepack.io) resides in the [website directory](https://github.com/facebook/prepack/tree/master/website) of this repository. To make changes, submit a pull request, just like for any code changes.

In order to run the website locally at [localhost:8000](http://localhost:8000):
1. Build prepack into the website: `yarn build && mv prepack.min.js website/js`
2. Run `python -m SimpleHTTPServer` (Python 2) or `python -m http.server` (Python 3) from the `website/` directory

## How to contribute

To read more about the project, check out this [suggested reading wiki](https://github.com/facebook/prepack/wiki/Suggested-reading)

For more information about contributing pull requests and issues, see our [Contribution Guidelines](./CONTRIBUTING.md).

## License

Prepack is BSD-licensed. We also provide an additional patent grant.


================================================
FILE: babel.config.js
================================================
/**
 * Copyright (c) 2017-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

module.exports = function(api) {
  api.cache(true);

  const plugins = [
    "@babel/plugin-syntax-flow",
    "@babel/plugin-syntax-jsx",
    "@babel/plugin-transform-flow-strip-types",
    "@babel/plugin-transform-react-jsx",
    "@babel/plugin-transform-react-display-name",
    "@babel/plugin-proposal-class-properties",
    "@babel/plugin-proposal-object-rest-spread",
  ];

  // Webpack bundle
  if (process.env.NODE_ENV === "production") {
    return {
      presets: [
        [
          "@babel/env",
          {
            targets: {
              ie: "10",
            },
            forceAllTransforms: true,
          },
        ],
        "@babel/preset-flow",
      ],
      plugins,
    };
  }
  // Default
  return {
    presets: [
      [
        "@babel/env",
        {
          targets: {
            node: "6.10",
          },
        },
      ],
      "@babel/preset-flow",
    ],
    plugins,
    // `lib` files are already compiled with Babel. Don't try to compile them again.
    ignore: ["lib/**/*.js"],
  };
};


================================================
FILE: bin/prepack-repl.js
================================================
#!/usr/bin/env node

require("../lib/repl-cli");


================================================
FILE: bin/prepack.js
================================================
#!/usr/bin/env node

require("../lib/prepack-cli");


================================================
FILE: flow-libs/vscode-debugadapter.js.flow
================================================
/**
 * Copyright (c) 2017-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

/* @flow */

// Generated using flowgen from vscode-debugadapter npm package and modified

import DebugProtocol from 'vscode-debugprotocol'
import * as ee from 'events';
declare module 'vscode-debugadapter' {

  declare export class Message mixins DebugProtocol.ProtocolMessage {
      seq: number;
      type: string;
      constructor(type: string): this
  }
  declare export class Response mixins Message, DebugProtocol.Response {
      request_seq: number;
      success: boolean;
      command: string;
      constructor(request: DebugProtocol.Request, message?: string): this
  }
  declare export class Event mixins Message, DebugProtocol.Event {
      event: string;
      constructor(event: string, body?: any): this
  }
  declare export class StoppedEvent mixins Event, DebugProtocol.StoppedEvent {
      body: {
          reason: string,
          threadId: number
      };
      constructor(reason: string, threadId: number, exception_text?: string): this
  }
  declare export class InitializedEvent mixins Event, DebugProtocol.InitializedEvent {
      constructor(): this
  }
  declare export class TerminatedEvent mixins Event, DebugProtocol.TerminatedEvent {
    /** Protocol: A debug adapter may set 'restart' to true (or to an arbitrary object) to request that the front end restarts the session.
      The value is not interpreted by the client and passed unmodified as an attribute '__restart' to the launchRequest.
      */
      constructor(restart?: any): this
  }
  declare export class OutputEvent mixins Event, DebugProtocol.OutputEvent {
      body: {
          category: string,
          output: string,
          // Protocol: this can be any optional data to report
          data?: any
      };
      constructor(output: string, category?: string, data?: any): this
  }
  declare export class ProtocolServer mixins ee.EventEmitter {
      constructor(): this;
      start(inStream: ee.EventEmitter.ReadableStream, outStream: ee.EventEmitter.WritableStream): void;
      stop(): void;
      sendEvent(event: DebugProtocol.Event): void;
      sendResponse(response: DebugProtocol.Response): void;
      sendRequest(
          command: string,
          args: any,
          timeout: number,
          cb: (response: DebugProtocol.Response) => void): void;
      dispatchRequest(request: DebugProtocol.Request): void
  }
  declare export type ErrorDestination = {
    User: 1,
    Telemetry: 2,
  }
  declare export class DebugSession mixins ProtocolServer {
      _isServer: boolean;
      constructor(obsolete_debuggerLinesAndColumnsStartAt1?: boolean, obsolete_isServer?: boolean): this;
      setDebuggerPathFormat(format: string): void;
      setDebuggerLinesStartAt1(enable: boolean): void;
      setDebuggerColumnsStartAt1(enable: boolean): void;
      setRunAsServer(enable: boolean): void;

      /**
       * A virtual constructor...
       */
      static run(debugSession: typeof DebugSession): void;
      shutdown(): void;
      sendErrorResponse(
          response: DebugProtocol.Response,
          codeOrMessage: number | DebugProtocol.Message,
          format?: string,
          variables?: any,
          dest?: ErrorDestination): void;
      runInTerminalRequest(
          args: DebugProtocol.RunInTerminalRequestArguments,
          timeout: number,
          cb: (response: DebugProtocol.RunInTerminalResponse) => void): void;
      dispatchRequest(request: DebugProtocol.Request): void;
      initializeRequest(
          response: DebugProtocol.InitializeResponse,
          args: DebugProtocol.InitializeRequestArguments): void;
      disconnectRequest(
          response: DebugProtocol.DisconnectResponse,
          args: DebugProtocol.DisconnectArguments): void;
      launchRequest(
          response: DebugProtocol.LaunchResponse,
          args: DebugProtocol.LaunchRequestArguments): void;
      attachRequest(
          response: DebugProtocol.AttachResponse,
          args: DebugProtocol.AttachRequestArguments): void;
      restartRequest(
          response: DebugProtocol.RestartResponse,
          args: DebugProtocol.RestartArguments): void;
      setBreakPointsRequest(
          response: DebugProtocol.SetBreakpointsResponse,
          args: DebugProtocol.SetBreakpointsArguments): void;
      setFunctionBreakPointsRequest(
          response: DebugProtocol.SetFunctionBreakpointsResponse,
          args: DebugProtocol.SetFunctionBreakpointsArguments): void;
      setExceptionBreakPointsRequest(
          response: DebugProtocol.SetExceptionBreakpointsResponse,
          args: DebugProtocol.SetExceptionBreakpointsArguments): void;
      configurationDoneRequest(
          response: DebugProtocol.ConfigurationDoneResponse,
          args: DebugProtocol.ConfigurationDoneArguments): void;
      continueRequest(
          response: DebugProtocol.ContinueResponse,
          args: DebugProtocol.ContinueArguments): void;
      nextRequest(response: DebugProtocol.NextResponse, args: DebugProtocol.NextArguments): void;
      stepInRequest(
          response: DebugProtocol.StepInResponse,
          args: DebugProtocol.StepInArguments): void;
      stepOutRequest(
          response: DebugProtocol.StepOutResponse,
          args: DebugProtocol.StepOutArguments): void;
      stepBackRequest(
          response: DebugProtocol.StepBackResponse,
          args: DebugProtocol.StepBackArguments): void;
      reverseContinueRequest(
          response: DebugProtocol.ReverseContinueResponse,
          args: DebugProtocol.ReverseContinueArguments): void;
      restartFrameRequest(
          response: DebugProtocol.RestartFrameResponse,
          args: DebugProtocol.RestartFrameArguments): void;
      gotoRequest(response: DebugProtocol.GotoResponse, args: DebugProtocol.GotoArguments): void;
      pauseRequest(
          response: DebugProtocol.PauseResponse,
          args: DebugProtocol.PauseArguments): void;
      sourceRequest(
          response: DebugProtocol.SourceResponse,
          args: DebugProtocol.SourceArguments): void;
      threadsRequest(response: DebugProtocol.ThreadsResponse): void;
      stackTraceRequest(
          response: DebugProtocol.StackTraceResponse,
          args: DebugProtocol.StackTraceArguments): void;
      scopesRequest(
          response: DebugProtocol.ScopesResponse,
          args: DebugProtocol.ScopesArguments): void;
      variablesRequest(
          response: DebugProtocol.VariablesResponse,
          args: DebugProtocol.VariablesArguments): void;
      setVariableRequest(
          response: DebugProtocol.SetVariableResponse,
          args: DebugProtocol.SetVariableArguments): void;
      evaluateRequest(
          response: DebugProtocol.EvaluateResponse,
          args: DebugProtocol.EvaluateArguments): void;
      stepInTargetsRequest(
          response: DebugProtocol.StepInTargetsResponse,
          args: DebugProtocol.StepInTargetsArguments): void;
      gotoTargetsRequest(
          response: DebugProtocol.GotoTargetsResponse,
          args: DebugProtocol.GotoTargetsArguments): void;
      completionsRequest(
          response: DebugProtocol.CompletionsResponse,
          args: DebugProtocol.CompletionsArguments): void;
      exceptionInfoRequest(
          response: DebugProtocol.ExceptionInfoResponse,
          args: DebugProtocol.ExceptionInfoArguments): void;
      loadedSourcesRequest(
          response: DebugProtocol.LoadedSourcesResponse,
          args: DebugProtocol.LoadedSourcesArguments): void;

      /**
       * Override this hook to implement custom requests.
       */
      customRequest(command: string, response: DebugProtocol.Response, args: any): void;
      convertClientLineToDebugger(line: number): number;
      convertDebuggerLineToClient(line: number): number;
      convertClientColumnToDebugger(column: number): number;
      convertDebuggerColumnToClient(column: number): number;
      convertClientPathToDebugger(clientPath: string): string;
      convertDebuggerPathToClient(debuggerPath: string): string
  }
  declare export class LoggingDebugSession mixins DebugSession {
      constructor(_logFilePath: string, obsolete_debuggerLinesAndColumnsStartAt1?: boolean, obsolete_isServer?: boolean): this;
      start(inStream: ee.EventEmitter.ReadableStream, outStream: ee.EventEmitter.WritableStream): void;

      /**
       * Overload sendEvent to log
       */
      sendEvent(event: DebugProtocol.Event): void;

      /**
       * Overload sendRequest to log
       */
      sendRequest(
          command: string,
          args: any,
          timeout: number,
          cb: (response: DebugProtocol.Response) => void): void;

      /**
       * Overload sendResponse to log
       */
      sendResponse(response: DebugProtocol.Response): void;
      dispatchRequest(request: DebugProtocol.Request): void
  }
}


================================================
FILE: flow-libs/vscode-debugprotocol.js.flow
================================================
/**
 * Copyright (c) 2017-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

/* @flow */

// Ported from https://github.com/Microsoft/vscode-debugadapter-node/blob/master/protocol/src/debugProtocol.ts

declare module 'vscode-debugprotocol' {
  declare interface base$ProtocolMessage {
    /** Sequence number. */
    seq: number,
    /** One of 'request', 'response', or 'event'. */
    +type: 'request' | 'response' | 'event',
  }

  declare type ProtocolMessage = Request | Event | Response;

  declare interface base$Request extends base$ProtocolMessage {
    type: 'request',
    /** The command to execute. */
    +command: string,
    /** Object containing arguments for the command. */
    +arguments?: any,
  }

  /** Server-initiated event. */
  declare interface base$Event extends base$ProtocolMessage {
    type: 'event',
    /** Type of event. */
    +event: string,
    /** Event-specific information. */
    +body?: any,
  }

  /** Response to a request. */
  declare interface base$Response extends base$ProtocolMessage {
    type: 'response',
    /** Sequence number of the corresponding request. */
    request_seq: number,
    /** Outcome of the request. */
    success: boolean,
    /** The command requested. */
    command: string,
    /** Contains error message if success == false. */
    message?: string,
    /** Contains request result if success is true and optional error details if success is false. */
    +body?: any,
  }

  declare interface InitializedEvent extends base$Event {
    event: 'initialized',
  }

  declare interface StoppedEvent extends base$Event {
    event: 'stopped',
    body: {
      /** The reason for the event (such as: 'step', 'breakpoint', 'exception', 'pause', 'entry').
        For backward compatibility this string is shown in the UI if the 'description' attribute is missing (but it must not be translated).
      */
      reason: string,
      /** The full reason for the event, e.g. 'Paused on exception'. This string is shown in the UI as is. */
      description?: string,
      /** The thread which was stopped. */
      threadId?: number,
      /** Additional information. E.g. if reason is 'exception', text contains the exception name. This string is shown in the UI. */
      text?: string,
      /** If allThreadsStopped is true, a debug adapter can announce that all threads have stopped.
        *  The client should use this information to enable that all threads can be expanded to access their stacktraces.
        *  If the attribute is missing or false, only the thread with the given threadId can be expanded.
      */
      allThreadsStopped?: boolean,
    },
  }

  declare interface ContinuedEvent extends base$Event {
    event: 'continued',
    body: {
      /** The thread which was continued. */
      threadId: number,
      /** If allThreadsContinued is true, a debug adapter can announce that all threads have continued. */
      allThreadsContinued?: boolean,
    },
  }

  /** Event message for 'exited' event type.
    The event indicates that the debuggee has exited.
  */
  declare interface ExitedEvent extends base$Event {
    event: 'exited',
    body: {
      /** The exit code returned from the debuggee. */
      exitCode: number,
    },
  }

  /** Event message for 'terminated' event types.
    The event indicates that debugging of the debuggee has terminated.
  */
  declare interface TerminatedEvent extends base$Event {
    event: 'terminated',
    body?: {
      /** A debug adapter may set 'restart' to true to request that the front end restarts the session. */
      restart?: boolean,
    },
  }

  /** Event message for 'thread' event type.
    The event indicates that a thread has started or exited.
  */
  declare interface ThreadEvent extends base$Event {
    event: 'thread',
    body: {
      /** The reason for the event (such as: 'started', 'exited'). */
      reason: string,
      /** The identifier of the thread. */
      threadId: number,
    },
  }

  /** Event message for 'output' event type.
    The event indicates that the target has produced some output.
  */
  declare interface OutputEvent extends base$Event {
    event: 'output',
    body: {
      /** The category of output (such as: 'console', 'stdout', 'stderr', 'telemetry'). If not specified, 'console' is assumed. */
      category?: string,
      /** The output to report. */
      output: string,
      /** If an attribute 'variablesReference' exists and its value is > 0, the output contains objects which can be retrieved by passing variablesReference to the VariablesRequest. */
      variablesReference?: number,
      /** Optional data to report. For the 'telemetry' category the data will be sent to telemetry, for the other categories the data is shown in JSON format. */
      data?: any,
    },
  }

  /** Event message for 'breakpoint' event type.
    The event indicates that some information about a breakpoint has changed.
  */
  declare interface BreakpointEvent extends base$Event {
    event: 'breakpoint',
    body: {
      /** The reason for the event (such as: 'changed', 'new'). */
      reason: string,
      /** The breakpoint. */
      breakpoint: Breakpoint,
    },
  }

  /** Event message for 'module' event type.
    The event indicates that some information about a module has changed.
  */
  declare interface ModuleEvent extends base$Event {
    event: 'module',
    body: {
      /** The reason for the event. */
      reason: 'new' | 'changed' | 'removed',
      /** The new, changed, or removed module. In case of 'removed' only the module id is used. */
      module: Module,
    },
  }

  /** runInTerminal request; value of command field is 'runInTerminal'.
    With this request a debug adapter can run a command in a terminal.
  */
  declare interface RunInTerminalRequest extends base$Request {
    command: 'runInTerminal',
    arguments: RunInTerminalRequestArguments,
  }

  /** Arguments for 'runInTerminal' request. */
  declare type RunInTerminalRequestArguments = {
    /** What kind of terminal to launch. */
    kind?: 'integrated' | 'external',
    /** Optional title of the terminal. */
    title?: string,
    /** Working directory of the command. */
    cwd: string,
    /** List of arguments. The first argument is the command to run. */
    args: string[],
    /** Environment key-value pairs that are added to the default environment. */
    env?: {[key: string]: string},
  };

  /** Response to Initialize request. */
  declare interface RunInTerminalResponse extends base$Response {
    body: {
      /** The process ID. */
      processId?: number,
    },
  }

  /** On error that is whenever 'success' is false, the body can provide more details. */
  declare interface ErrorResponse extends base$Response {
    body: {
      /** An optional, structured error message. */
      error?: Message,
    },
  }

  /** Initialize request; value of command field is 'initialize'. */
  declare interface InitializeRequest extends base$Request {
    command: 'initialize',
    arguments: InitializeRequestArguments,
  }

  /** Arguments for 'initialize' request. */
  declare type InitializeRequestArguments = {
    /** The ID of the (frontend) client using this adapter. */
    clientID?: string,
    /** The ID of the debug adapter. */
    adapterID: string,
    /** If true all line numbers are 1-based (default). */
    linesStartAt1?: boolean,
    /** If true all column numbers are 1-based (default). */
    columnsStartAt1?: boolean,
    /** Determines in what format paths are specified. Possible values are 'path' or 'uri'. The default is 'path', which is the native format. */
    pathFormat?: string,
    /** Client supports the optional type attribute for variables. */
    supportsVariableType?: boolean,
    /** Client supports the paging of variables. */
    supportsVariablePaging?: boolean,
    /** Client supports the runInTerminal request. */
    supportsRunInTerminalRequest?: boolean,
  };

  /** Response to 'initialize' request. */
  declare interface InitializeResponse extends base$Response {
    /** The capabilities of this debug adapter. */
    body?: Capabilities,
  }

  /** ConfigurationDone request; value of command field is 'configurationDone'.
    The client of the debug protocol must send this request at the end of the sequence of configuration requests (which was started by the InitializedEvent).
  */
  declare interface ConfigurationDoneRequest extends base$Request {
    command: 'configurationDone',
    arguments?: ConfigurationDoneArguments,
  }

  /** Arguments for 'configurationDone' request.
    The configurationDone request has no standardized attributes.
  */
  declare type ConfigurationDoneArguments = {};

  /** Response to 'configurationDone' request. This is just an acknowledgement, so no body field is required. */
  declare interface ConfigurationDoneResponse extends base$Response {}

  /** Launch request; value of command field is 'launch'. */
  declare interface LaunchRequest extends base$Request {
    command: 'launch',
    arguments: LaunchRequestArguments,
  }

  /** Arguments for 'launch' request. */
  declare type LaunchRequestArguments = {
    /** If noDebug is true the launch request should launch the program without enabling debugging. */
    noDebug?: boolean,
  };

  /** Response to 'launch' request. This is just an acknowledgement, so no body field is required. */
  declare interface LaunchResponse extends base$Response {}

  /** Attach request; value of command field is 'attach'. */
  declare interface AttachRequest extends base$Request {
    command: 'attach',
    arguments: AttachRequestArguments,
  }

  /** Arguments for 'attach' request.
    The attach request has no standardized attributes.
  */
  declare type AttachRequestArguments = {};

  /** Response to 'attach' request. This is just an acknowledgement, so no body field is required. */
  declare interface AttachResponse extends base$Response {}

  /** Restart request; value of command field is 'restart'.
    Restarts a debug session. If the capability 'supportsRestartRequest' is missing or has the value false,
    the client will implement 'restart' by terminating the debug adapter first and then launching it anew.
    A debug adapter can override this default behaviour by implementing a restart request
    and setting the capability 'supportsRestartRequest' to true.
  */
  declare interface RestartRequest extends base$Request {
    command: 'restart',
    arguments?: RestartArguments,
  }

  /** Arguments for 'restart' request.
    The restart request has no standardized attributes.
  */
  declare type RestartArguments = {};

  /** Response to 'restart' request. This is just an acknowledgement, so no body field is required. */
  declare interface RestartResponse extends base$Response {}

  /** Disconnect request; value of command field is 'disconnect'. */
  declare interface DisconnectRequest extends base$Request {
    command: 'disconnect',
    arguments?: DisconnectArguments,
  }

  /** Arguments for 'disconnect' request. */
  declare type DisconnectArguments = {
    /** Indicates whether the debuggee should be terminated when the debugger is disconnected.
      If unspecified, the debug adapter is free to do whatever it thinks is best.
      A client can only rely on this attribute being properly honored if a debug adapter returns true for the 'supportTerminateDebuggee' capability.
    */
    terminateDebuggee?: boolean,
  };

  /** Response to 'disconnect' request. This is just an acknowledgement, so no body field is required. */
  declare interface DisconnectResponse extends base$Response {}

  /** SetBreakpoints request; value of command field is 'setBreakpoints'.
    Sets multiple breakpoints for a single source and clears all previous breakpoints in that source.
    To clear all breakpoint for a source, specify an empty array.
    When a breakpoint is hit, a StoppedEvent (event type 'breakpoint') is generated.
  */
  declare interface SetBreakpointsRequest extends base$Request {
    command: 'setBreakpoints',
    arguments: SetBreakpointsArguments,
  }

  /** Arguments for 'setBreakpoints' request. */
  declare type SetBreakpointsArguments = {
    /** The source location of the breakpoints; either source.path or source.reference must be specified. */
    source: Source,
    /** The code locations of the breakpoints. */
    breakpoints?: SourceBreakpoint[],
    /** Deprecated: The code locations of the breakpoints. */
    lines?: number[],
    /** A value of true indicates that the underlying source has been modified which results in new breakpoint locations. */
    sourceModified?: boolean,
  };

  /** Response to 'setBreakpoints' request.
    Returned is information about each breakpoint created by this request.
    This includes the actual code location and whether the breakpoint could be verified.
    The breakpoints returned are in the same order as the elements of the 'breakpoints'
    (or the deprecated 'lines') in the SetBreakpointsArguments.
  */
  declare interface SetBreakpointsResponse extends base$Response {
    body: {
      /** Information about the breakpoints. The array elements are in the same order as the elements of the 'breakpoints' (or the deprecated 'lines') in the SetBreakpointsArguments. */
      breakpoints: Breakpoint[],
    },
  }

  /** SetFunctionBreakpoints request; value of command field is 'setFunctionBreakpoints'.
    Sets multiple function breakpoints and clears all previous function breakpoints.
    To clear all function breakpoint, specify an empty array.
    When a function breakpoint is hit, a StoppedEvent (event type 'function breakpoint') is generated.
  */
  declare interface SetFunctionBreakpointsRequest extends base$Request {
    command: 'setFunctionBreakpoints',
    arguments: SetFunctionBreakpointsArguments,
  }

  /** Arguments for 'setFunctionBreakpoints' request. */
  declare type SetFunctionBreakpointsArguments = {
    /** The function names of the breakpoints. */
    breakpoints: FunctionBreakpoint[],
  };

  /** Response to 'setFunctionBreakpoints' request.
    Returned is information about each breakpoint created by this request.
  */
  declare interface SetFunctionBreakpointsResponse extends base$Response {
    body: {
      /** Information about the breakpoints. The array elements correspond to the elements of the 'breakpoints' array. */
      breakpoints: Breakpoint[],
    },
  }

  /** SetExceptionBreakpoints request; value of command field is 'setExceptionBreakpoints'.
    The request configures the debuggers response to thrown exceptions. If an exception is configured to break, a StoppedEvent is fired (event type 'exception').
  */
  declare interface SetExceptionBreakpointsRequest extends base$Request {
    command: 'setExceptionBreakpoints',
    arguments: SetExceptionBreakpointsArguments,
  }

  /** Arguments for 'setExceptionBreakpoints' request. */
  declare type SetExceptionBreakpointsArguments = {
    /** IDs of checked exception options. The set of IDs is returned via the 'exceptionBreakpointFilters' capability. */
    filters: string[],
    /** Configuration options for selected exceptions. */
    exceptionOptions?: ExceptionOptions[],
  };

  /** Response to 'setExceptionBreakpoints' request. This is just an acknowledgement, so no body field is required. */
  declare interface SetExceptionBreakpointsResponse extends base$Response {}

  /** Continue request; value of command field is 'continue'.
    The request starts the debuggee to run again.
  */
  declare interface ContinueRequest extends base$Request {
    command: 'continue',
    arguments: ContinueArguments,
  }

  /** Arguments for 'continue' request. */
  declare type ContinueArguments = {
    /** Continue execution for the specified thread (if possible). If the backend cannot continue on a single thread but will continue on all threads, it should set the allThreadsContinued attribute in the response to true. */
    threadId: number,
  };

  /** Response to 'continue' request. */
  declare interface ContinueResponse extends base$Response {
    body: {
      /** If true, the continue request has ignored the specified thread and continued all threads instead. If this attribute is missing a value of 'true' is assumed for backward compatibility. */
      allThreadsContinued?: boolean,
    },
  }

  declare interface nuclide_ContinueToLocationRequest extends base$Request {
    command: 'nuclide_continueToLocation',
    arguments: nuclide_ContinueToLocationArguments,
  }

  /** Arguments for 'nuclide_continueToLocation' request. */
  declare interface nuclide_ContinueToLocationArguments {
    /** The source location for which the goto targets are determined. */
    source: Source,
    /** The line location for which the goto targets are determined. */
    line: number,
    /** An optional column location for which the goto targets are determined. */
    column?: number,
  }

  /** Response to 'nuclide_continueToLocation' request. */
  declare interface nuclide_ContinueToLocationResponse extends base$Response {}

  /** Next request; value of command field is 'next'.
    The request starts the debuggee to run again for one step.
    The debug adapter first sends the NextResponse and then a StoppedEvent (event type 'step') after the step has completed.
  */
  declare interface NextRequest extends base$Request {
    command: 'next',
    arguments: NextArguments,
  }

  /** Arguments for 'next' request. */
  declare type NextArguments = {
    /** Execute 'next' for this thread. */
    threadId: number,
  };

  /** Response to 'next' request. This is just an acknowledgement, so no body field is required. */
  declare interface NextResponse extends base$Response {}

  /** StepIn request; value of command field is 'stepIn'.
    The request starts the debuggee to step into a function/method if possible.
    If it cannot step into a target, 'stepIn' behaves like 'next'.
    The debug adapter first sends the StepInResponse and then a StoppedEvent (event type 'step') after the step has completed.
    If there are multiple function/method calls (or other targets) on the source line,
    the optional argument 'targetId' can be used to control into which target the 'stepIn' should occur.
    The list of possible targets for a given source line can be retrieved via the 'stepInTargets' request.
  */
  declare interface StepInRequest extends base$Request {
    command: 'stepIn',
    arguments: StepInArguments,
  }

  /** Arguments for 'stepIn' request. */
  declare type StepInArguments = {
    /** Execute 'stepIn' for this thread. */
    threadId: number,
    /** Optional id of the target to step into. */
    targetId?: number,
  };

  /** Response to 'stepIn' request. This is just an acknowledgement, so no body field is required. */
  declare interface StepInResponse extends base$Response {}

  /** StepOut request; value of command field is 'stepOut'.
    The request starts the debuggee to run again for one step.
    The debug adapter first sends the StepOutResponse and then a StoppedEvent (event type 'step') after the step has completed.
  */
  declare interface StepOutRequest extends base$Request {
    command: 'stepOut',
    arguments: StepOutArguments,
  }

  /** Arguments for 'stepOut' request. */
  declare type StepOutArguments = {
    /** Execute 'stepOut' for this thread. */
    threadId: number,
  };

  /** Response to 'stepOut' request. This is just an acknowledgement, so no body field is required. */
  declare interface StepOutResponse extends base$Response {}

  /** StepBack request; value of command field is 'stepBack'.
    The request starts the debuggee to run one step backwards.
    The debug adapter first sends the StepBackResponse and then a StoppedEvent (event type 'step') after the step has completed. Clients should only call this request if the capability supportsStepBack is true.
  */
  declare interface StepBackRequest extends base$Request {
    command: 'stepBack',
    arguments: StepBackArguments,
  }

  /** Arguments for 'stepBack' request. */
  declare type StepBackArguments = {
    /** Exceute 'stepBack' for this thread. */
    threadId: number,
  };

  /** Response to 'stepBack' request. This is just an acknowledgement, so no body field is required. */
  declare interface StepBackResponse extends base$Response {}

  /** ReverseContinue request; value of command field is 'reverseContinue'.
    The request starts the debuggee to run backward. Clients should only call this request if the capability supportsStepBack is true.
  */
  declare interface ReverseContinueRequest extends base$Request {
    command: 'reverseContinue',
    arguments: ReverseContinueArguments,
  }

  /** Arguments for 'reverseContinue' request. */
  declare type ReverseContinueArguments = {
    /** Exceute 'reverseContinue' for this thread. */
    threadId: number,
  };

  /** Response to 'reverseContinue' request. This is just an acknowledgement, so no body field is required. */
  declare interface ReverseContinueResponse extends base$Response {}

  /** RestartFrame request; value of command field is 'restartFrame'.
    The request restarts execution of the specified stackframe.
    The debug adapter first sends the RestartFrameResponse and then a StoppedEvent (event type 'restart') after the restart has completed.
  */
  declare interface RestartFrameRequest extends base$Request {
    command: 'restartFrame',
    arguments: RestartFrameArguments,
  }

  /** Arguments for 'restartFrame' request. */
  declare type RestartFrameArguments = {
    /** Restart this stackframe. */
    frameId: number,
  };

  /** Response to 'restartFrame' request. This is just an acknowledgement, so no body field is required. */
  declare interface RestartFrameResponse extends base$Response {}

  /** Goto request; value of command field is 'goto'.
    The request sets the location where the debuggee will continue to run.
    This makes it possible to skip the execution of code or to executed code again.
    The code between the current location and the goto target is not executed but skipped.
    The debug adapter first sends the GotoResponse and then a StoppedEvent (event type 'goto').
  */
  declare interface GotoRequest extends base$Request {
    command: 'goto',
    arguments: GotoArguments,
  }

  /** Arguments for 'goto' request. */
  declare type GotoArguments = {
    /** Set the goto target for this thread. */
    threadId: number,
    /** The location where the debuggee will continue to run. */
    targetId: number,
  };

  /** Response to 'goto' request. This is just an acknowledgement, so no body field is required. */
  declare interface GotoResponse extends base$Response {}

  /** Pause request; value of command field is 'pause'.
    The request suspenses the debuggee.
    The debug adapter first sends the PauseResponse and then a StoppedEvent (event type 'pause') after the thread has been paused successfully.
  */
  declare interface PauseRequest extends base$Request {
    command: 'pause',
    arguments: PauseArguments,
  }

  /** Arguments for 'pause' request. */
  declare type PauseArguments = {
    /** Pause execution for this thread. */
    threadId: number,
  };

  /** Response to 'pause' request. This is just an acknowledgement, so no body field is required. */
  declare interface PauseResponse extends base$Response {}

  /** StackTrace request; value of command field is 'stackTrace'. The request returns a stacktrace from the current execution state. */
  declare interface StackTraceRequest extends base$Request {
    command: 'stackTrace',
    arguments: StackTraceArguments,
  }

  /** Arguments for 'stackTrace' request. */
  declare type StackTraceArguments = {
    /** Retrieve the stacktrace for this thread. */
    threadId: number,
    /** The index of the first frame to return; if omitted frames start at 0. */
    startFrame?: number,
    /** The maximum number of frames to return. If levels is not specified or 0, all frames are returned. */
    levels?: number,
    /** Specifies details on how to format the stack frames. */
    format?: StackFrameFormat,
  };

  /** Response to 'stackTrace' request. */
  declare interface StackTraceResponse extends base$Response {
    body: {
      /** The frames of the stackframe. If the array has length zero, there are no stackframes available.
        This means that there is no location information available.
      */
      stackFrames: StackFrame[],
      /** The total number of frames available. */
      totalFrames?: number,
    },
  }

  /** Scopes request; value of command field is 'scopes'.
    The request returns the variable scopes for a given stackframe ID.
  */
  declare interface ScopesRequest extends base$Request {
    command: 'scopes',
    arguments: ScopesArguments,
  }

  /** Arguments for 'scopes' request. */
  declare type ScopesArguments = {
    /** Retrieve the scopes for this stackframe. */
    frameId: number,
  };

  /** Response to 'scopes' request. */
  declare interface ScopesResponse extends base$Response {
    body: {
      /** The scopes of the stackframe. If the array has length zero, there are no scopes available. */
      scopes: Scope[],
    },
  }

  /** Variables request; value of command field is 'variables'.
    Retrieves all child variables for the given variable reference.
    An optional filter can be used to limit the fetched children to either named or indexed children.
  */
  declare interface VariablesRequest extends base$Request {
    command: 'variables',
    arguments: VariablesArguments,
  }

  /** Arguments for 'variables' request. */
  declare type VariablesArguments = {
    /** The Variable reference. */
    variablesReference: number,
    /** Optional filter to limit the child variables to either named or indexed. If omitted, both types are fetched. */
    filter?: 'indexed' | 'named',
    /** The index of the first variable to return; if omitted children start at 0. */
    start?: number,
    /** The number of variables to return. If count is missing or 0, all variables are returned. */
    count?: number,
    /** Specifies details on how to format the Variable values. */
    format?: ValueFormat,
  };

  /** Response to 'variables' request. */
  declare interface VariablesResponse extends base$Response {
    body: {
      /** All (or a range) of variables for the given variable reference. */
      variables: Variable[],
    },
  }

  /** setVariable request; value of command field is 'setVariable'.
    Set the variable with the given name in the variable container to a new value.
  */
  declare interface SetVariableRequest extends base$Request {
    command: 'setVariable',
    arguments: SetVariableArguments,
  }

  /** Arguments for 'setVariable' request. */
  declare type SetVariableArguments = {
    /** The reference of the variable container. */
    variablesReference: number,
    /** The name of the variable. */
    name: string,
    /** The value of the variable. */
    value: string,
    /** Specifies details on how to format the response value. */
    format?: ValueFormat,
  };

  /** Response to 'setVariable' request. */
  declare interface SetVariableResponse extends base$Response {
    body: {
      /** The new value of the variable. */
      value: string,
      /** The type of the new value. Typically shown in the UI when hovering over the value. */
      type?: string,
      /** If variablesReference is > 0, the new value is structured and its children can be retrieved by passing variablesReference to the VariablesRequest. */
      variablesReference?: number,
      /** The number of named child variables.
        The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
      */
      namedVariables?: number,
      /** The number of indexed child variables.
        The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
      */
      indexedVariables?: number,
    },
  }

  /** Source request; value of command field is 'source'.
    The request retrieves the source code for a given source reference.
  */
  declare interface SourceRequest extends base$Request {
    command: 'source',
    arguments: SourceArguments,
  }

  /** Arguments for 'source' request. */
  declare type SourceArguments = {
    /** Specifies the source content to load. Either source.path or source.sourceReference must be specified. */
    source?: Source,
    /** The reference to the source. This is the same as source.sourceReference. This is provided for backward compatibility since old backends do not understand the 'source' attribute. */
    sourceReference: number,
  };

  /** Response to 'source' request. */
  declare interface SourceResponse extends base$Response {
    body: {
      /** Content of the source reference. */
      content: string,
      /** Optional content type (mime type) of the source. */
      mimeType?: string,
    },
  }

  /** Thread request; value of command field is 'threads'.
    The request retrieves a list of all threads.
  */
  declare interface ThreadsRequest extends base$Request {
    command: 'threads',
  }

  /** Response to 'threads' request. */
  declare interface ThreadsResponse extends base$Response {
    body: {
      /** All threads. */
      threads: Thread[],
    },
  }

  /** Modules can be retrieved from the debug adapter with the ModulesRequest which can either return all modules or a range of modules to support paging. */
  declare interface ModulesRequest extends base$Request {
    command: 'modules',
    arguments: ModulesArguments,
  }

  /** Arguments for 'modules' request. */
  declare type ModulesArguments = {
    /** The index of the first module to return; if omitted modules start at 0. */
    startModule?: number,
    /** The number of modules to return. If moduleCount is not specified or 0, all modules are returned. */
    moduleCount?: number,
  };

  /** Response to 'modules' request. */
  declare interface ModulesResponse extends base$Response {
    body: {
      /** All modules or range of modules. */
      modules: Module[],
      /** The total number of modules available. */
      totalModules?: number,
    },
  }

  /** Evaluate request; value of command field is 'evaluate'.
    Evaluates the given expression in the context of the top most stack frame.
    The expression has access to any variables and arguments that are in scope.
  */
  declare interface EvaluateRequest extends base$Request {
    command: 'evaluate',
    arguments: EvaluateArguments,
  }

  /** Arguments for 'evaluate' request. */
  declare type EvaluateArguments = {
    /** The expression to evaluate. */
    expression: string,
    /** Evaluate the expression in the scope of this stack frame. If not specified, the expression is evaluated in the global scope. */
    frameId?: number,
    /** The context in which the evaluate request is run. Possible values are 'watch' if evaluate is run in a watch, 'repl' if run from the REPL console, or 'hover' if run from a data hover. */
    context?: string,
    /** Specifies details on how to format the Evaluate result. */
    format?: ValueFormat,
  };

  /** Response to 'evaluate' request. */
  declare interface EvaluateResponse extends base$Response {
    body: {
      /** The result of the evaluate request. */
      result: string,
      /** The optional type of the evaluate result. */
      type?: string,
      /** If variablesReference is > 0, the evaluate result is structured and its children can be retrieved by passing variablesReference to the VariablesRequest. */
      variablesReference: number,
      /** The number of named child variables.
        The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
      */
      namedVariables?: number,
      /** The number of indexed child variables.
        The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
      */
      indexedVariables?: number,
    },
  }

  /** StepInTargets request; value of command field is 'stepInTargets'.
    This request retrieves the possible stepIn targets for the specified stack frame.
    These targets can be used in the 'stepIn' request.
    The StepInTargets may only be called if the 'supportsStepInTargetsRequest' capability exists and is true.
  */
  declare interface StepInTargetsRequest extends base$Request {
    command: 'stepInTargets',
    arguments: StepInTargetsArguments,
  }

  /** Arguments for 'stepInTargets' request. */
  declare type StepInTargetsArguments = {
    /** The stack frame for which to retrieve the possible stepIn targets. */
    frameId: number,
  };

  /** Response to 'stepInTargets' request. */
  declare interface StepInTargetsResponse extends base$Response {
    body: {
      /** The possible stepIn targets of the specified source location. */
      targets: StepInTarget[],
    },
  }

  /** GotoTargets request; value of command field is 'gotoTargets'.
    This request retrieves the possible goto targets for the specified source location.
    These targets can be used in the 'goto' request.
    The GotoTargets request may only be called if the 'supportsGotoTargetsRequest' capability exists and is true.
  */
  declare interface GotoTargetsRequest extends base$Request {
    command: 'gotoTargets',
    arguments: GotoTargetsArguments,
  }

  /** Arguments for 'gotoTargets' request. */
  declare type GotoTargetsArguments = {
    /** The source location for which the goto targets are determined. */
    source: Source,
    /** The line location for which the goto targets are determined. */
    line: number,
    /** An optional column location for which the goto targets are determined. */
    column?: number,
  };

  /** Response to 'gotoTargets' request. */
  declare interface GotoTargetsResponse extends base$Response {
    body: {
      /** The possible goto targets of the specified location. */
      targets: GotoTarget[],
    },
  }

  /** CompletionsRequest request; value of command field is 'completions'.
    Returns a list of possible completions for a given caret position and text.
    The CompletionsRequest may only be called if the 'supportsCompletionsRequest' capability exists and is true.
  */
  declare interface CompletionsRequest extends base$Request {
    command: 'completions',
    arguments: CompletionsArguments,
  }

  /** Arguments for 'completions' request. */
  declare type CompletionsArguments = {
    /** Returns completions in the scope of this stack frame. If not specified, the completions are returned for the global scope. */
    frameId?: number,
    /** One or more source lines. Typically this is the text a user has typed into the debug console before he asked for completion. */
    text: string,
    /** The character position for which to determine the completion proposals. */
    column: number,
    /** An optional line for which to determine the completion proposals. If missing the first line of the text is assumed. */
    line?: number,
  };

  /** Response to 'completions' request. */
  declare interface CompletionsResponse extends base$Response {
    body: {
      /** The possible completions for . */
      targets: CompletionItem[],
    },
  }

  /** ExceptionInfoRequest request; value of command field is 'exceptionInfo'.
    Retrieves the details of the exception that caused the StoppedEvent to be raised.
  */
  declare interface ExceptionInfoRequest extends base$Request {
    command: 'exceptionInfo',
    arguments: ExceptionInfoArguments,
  }

  /** Arguments for 'exceptionInfo' request. */
  declare interface ExceptionInfoArguments {
    /** Thread for which exception information should be retrieved. */
    threadId: number,
  }

  /** Response to 'exceptionInfo' request. */
  declare interface ExceptionInfoResponse extends base$Response {
    body: {
      /** ID of the exception that was thrown. */
      exceptionId: string,
      /** Descriptive text for the exception provided by the debug adapter. */
      description?: string,
      /** Mode that caused the exception notification to be raised. */
      breakMode: ExceptionBreakMode,
      /** Detailed information about the exception. */
      details?: ExceptionDetails,
    },
  }

  declare interface CustomRequest extends base$Request {}
  declare interface CustomResponse extends base$Response {}

  declare type Request =
    | RunInTerminalRequest
    | InitializeRequest
    | ConfigurationDoneRequest
    | LaunchRequest
    | AttachRequest
    | RestartRequest
    | DisconnectRequest
    | SetBreakpointsRequest
    | SetFunctionBreakpointsRequest
    | SetExceptionBreakpointsRequest
    | ContinueRequest
    | NextRequest
    | StepInRequest
    | StepOutRequest
    | StepBackRequest
    | ReverseContinueRequest
    | RestartFrameRequest
    | GotoRequest
    | PauseRequest
    | StackTraceRequest
    | ScopesRequest
    | VariablesRequest
    | SetVariableRequest
    | SourceRequest
    | ThreadsRequest
    | ModulesRequest
    | EvaluateRequest
    | StepInTargetsRequest
    | GotoTargetsRequest
    | CompletionsRequest
    | ExceptionInfoRequest
    | nuclide_ContinueToLocationRequest
    | CustomRequest;
  declare type Response =
    | RunInTerminalResponse
    | InitializeResponse
    | ConfigurationDoneResponse
    | LaunchResponse
    | AttachResponse
    | RestartResponse
    | DisconnectResponse
    | SetBreakpointsResponse
    | SetFunctionBreakpointsResponse
    | SetExceptionBreakpointsResponse
    | ContinueResponse
    | NextResponse
    | StepInResponse
    | StepOutResponse
    | StepBackResponse
    | ReverseContinueResponse
    | RestartFrameResponse
    | GotoResponse
    | PauseResponse
    | StackTraceResponse
    | ScopesResponse
    | VariablesResponse
    | SetVariableResponse
    | SourceResponse
    | ThreadsResponse
    | ModulesResponse
    | EvaluateResponse
    | StepInTargetsResponse
    | GotoTargetsResponse
    | CompletionsResponse
    | ExceptionInfoResponse
    | nuclide_ContinueToLocationResponse
    | CustomResponse;
  declare type Event =
    | InitializedEvent
    | StoppedEvent
    | ContinuedEvent
    | ExitedEvent
    | TerminatedEvent
    | ThreadEvent
    | OutputEvent
    | BreakpointEvent
    | ModuleEvent;

  declare type Capabilities = {
    /** The debug adapter supports the configurationDoneRequest. */
    supportsConfigurationDoneRequest?: boolean,
    /** The debug adapter supports function breakpoints. */
    supportsFunctionBreakpoints?: boolean,
    /** The debug adapter supports conditional breakpoints. */
    supportsConditionalBreakpoints?: boolean,
    /** The debug adapter supports breakpoints that break execution after a specified number of hits. */
    supportsHitConditionalBreakpoints?: boolean,
    /** The debug adapter supports a (side effect free) evaluate request for data hovers. */
    supportsEvaluateForHovers?: boolean,
    /** Available filters or options for the setExceptionBreakpoints request. */
    exceptionBreakpointFilters?: ExceptionBreakpointsFilter[],
    /** The debug adapter supports stepping back via the stepBack and reverseContinue requests. */
    supportsStepBack?: boolean,
    /** The debug adapter supports setting a variable to a value. */
    supportsSetVariable?: boolean,
    /** The debug adapter supports restarting a frame. */
    supportsRestartFrame?: boolean,
    /** The debug adapter supports the gotoTargetsRequest. */
    supportsGotoTargetsRequest?: boolean,
    /** The debug adapter supports the stepInTargetsRequest. */
    supportsStepInTargetsRequest?: boolean,
    /** The debug adapter supports the completionsRequest. */
    supportsCompletionsRequest?: boolean,
    /** The debug adapter supports the modules request. */
    supportsModulesRequest?: boolean,
    /** The set of additional module information exposed by the debug adapter. */
    // additionalModuleColumns?: ColumnDescriptor[];
    /** Checksum algorithms supported by the debug adapter. */
    // supportedChecksumAlgorithms?: ChecksumAlgorithm[];
    /** The debug adapter supports the RestartRequest. In this case a client should not implement 'restart' by terminating and relaunching the adapter but by calling the RestartRequest. */
    supportsRestartRequest?: boolean,
    /** The debug adapter supports 'exceptionOptions' on the setExceptionBreakpoints request. */
    supportsExceptionOptions?: boolean,
    /** The debug adapter supports a 'format' attribute on the stackTraceRequest, variablesRequest, and evaluateRequest. */
    supportsValueFormattingOptions?: boolean,
    /** The debug adapter supports the exceptionInfo request. */
    supportsExceptionInfoRequest?: boolean,
    /** The debug adapter supports the 'terminateDebuggee' attribute on the 'disconnect' request. */
    supportTerminateDebuggee?: boolean,
  };

  /** An ExceptionBreakpointsFilter is shown in the UI as an option for configuring how exceptions are dealt with. */
  declare type ExceptionBreakpointsFilter = {
    /** The internal ID of the filter. This value is passed to the setExceptionBreakpoints request. */
    filter: string,
    /** The name of the filter. This will be shown in the UI. */
    label: string,
    /** Initial value of the filter. If not specified a value 'false' is assumed. */
    default?: boolean,
  };

  /** A structured message object. Used to return errors from requests. */
  declare type Message = {
    /** Unique identifier for the message. */
    id: number,
    /** A format string for the message. Embedded variables have the form '{name}'.
      If variable name starts with an underscore character, the variable does not contain user data (PII) and can be safely used for telemetry purposes.
    */
    format: string,
    /** An object used as a dictionary for looking up the variables in the format string. */
    variables?: {[key: string]: string},
    /** If true send to telemetry. */
    sendTelemetry?: boolean,
    /** If true show user. */
    showUser?: boolean,
    /** An optional url where additional information about this message can be found. */
    url?: string,
    /** An optional label that is presented to the user as the UI for opening the url. */
    urlLabel?: string,
  };

  /** A Module object represents a row in the modules view.
    Two attributes are mandatory: an id identifies a module in the modules view and is used in a ModuleEvent for identifying a module for adding, updating or deleting.
    The name is used to minimally render the module in the UI.

    Additional attributes can be added to the module. They will show up in the module View if they have a corresponding ColumnDescriptor.

    To avoid an unnecessary proliferation of additional attributes with similar semantics but different names
    we recommend to re-use attributes from the 'recommended' list below first, and only introduce new attributes if nothing appropriate could be found.
  */
  declare type Module = {
    /** Unique identifier for the module. */
    id: number | string,
    /** A name of the module. */
    name: string,
    /** optional but recommended attributes.
      always try to use these first before introducing additional attributes.

      Logical full path to the module. The exact definition is implementation defined, but usually this would be a full path to the on-disk file for the module.
    */
    path?: string,
    /** True if the module is optimized. */
    isOptimized?: boolean,
    /** True if the module is considered 'user code' by a debugger that supports 'Just My Code'. */
    isUserCode?: boolean,
    /** Version of Module. */
    version?: string,
    /** User understandable description of if symbols were found for the module (ex: 'Symbols Loaded', 'Symbols not found', etc. */
    symbolStatus?: string,
    /** Logical full path to the symbol file. The exact definition is implementation defined. */
    symbolFilePath?: string,
    /** Module created or modified. */
    dateTimeStamp?: string,
    /** Address range covered by this module. */
    addressRange?: string,
  };

  /** A ColumnDescriptor specifies what module attribute to show in a column of the ModulesView, how to format it, and what the column's label should be.
    It is only used if the underlying UI actually supports this level of customization.
  */
  declare type ColumnDescriptor = {
    /** Name of the attribute rendered in this column. */
    attributeName: string,
    /** Header UI label of column. */
    label: string,
    /** Format to use for the rendered values in this column. TBD how the format strings looks like. */
    format?: string,
    /** Datatype of values in this column.  Defaults to 'string' if not specified. */
    type?: 'string' | 'number' | 'boolean' | 'unixTimestampUTC',
    /** Width of this column in characters (hint only). */
    width?: number,
  };

  /** The ModulesViewDescriptor is the container for all declarative configuration options of a ModuleView.
    For now it only specifies the columns to be shown in the modules view.
  */
  declare type ModulesViewDescriptor = {
    columns: ColumnDescriptor[],
  };

  /** A Thread */
  declare type Thread = {
    /** Unique identifier for the thread. */
    id: number,
    /** A name of the thread. */
    name: string,
  };

  /** A Source is a descriptor for source code. It is returned from the debug adapter as part of a StackFrame and it is used by clients when specifying breakpoints. */
  declare type Source = {
    /** The short name of the source. Every source returned from the debug adapter has a name. When sending a source to the debug adapter this name is optional. */
    name?: string,
    /** The path of the source to be shown in the UI. It is only used to locate and load the content of the source if no sourceReference is specified (or its vaule is 0). */
    path?: string,
    /** If sourceReference > 0 the contents of the source must be retrieved through the SourceRequest (even if a path is specified). A sourceReference is only valid for a session, so it must not be used to persist a source. */
    sourceReference?: number,
    /** An optional hint for how to present the source in the UI. A value of 'deemphasize' can be used to indicate that the source is not available or that it is skipped on stepping. */
    presentationHint?: 'emphasize' | 'deemphasize',
    /** The (optional) origin of this source: possible values 'internal module', 'inlined content from source map', etc. */
    origin?: string,
    /** Optional data that a debug adapter might want to loop through the client. The client should leave the data intact and persist it across sessions. The client should not interpret the data. */
    adapterData?: any,
    /** The checksums associated with this file. */
    checksums?: Checksum[],
  };

  /** A Stackframe contains the source location. */
  declare type StackFrame = {
    /** An identifier for the stack frame. It must be unique across all threads. This id can be used to retrieve the scopes of the frame with the 'scopesRequest' or to restart the execution of a stackframe. */
    id: number,
    /** The name of the stack frame, typically a method name. */
    name: string,
    /** The optional source of the frame. */
    source?: Source,
    /** The line within the file of the frame. If source is null or doesn't exist, line is 0 and must be ignored. */
    line: number,
    /** The column within the line. If source is null or doesn't exist, column is 0 and must be ignored. */
    column: number,
    /** An optional end line of the range covered by the stack frame. */
    endLine?: number,
    /** An optional end column of the range covered by the stack frame. */
    endColumn?: number,
    /** The module associated with this frame, if any. */
    moduleId?: number | string,
    /** An optional hint for how to present this frame in the UI. A value of 'label' can be used to indicate that the frame is an artificial frame that is used as a visual label or separator. */
    presentationHint?: 'normal' | 'label',
  };

  /** A Scope is a named container for variables. Optionally a scope can map to a source or a range within a source. */
  declare type Scope = {
    /** Name of the scope such as 'Arguments', 'Locals'. */
    name: string,
    /** The variables of this scope can be retrieved by passing the value of variablesReference to the VariablesRequest. */
    variablesReference: number,
    /** The number of named variables in this scope.
      The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
    */
    namedVariables?: number,
    /** The number of indexed variables in this scope.
      The client can use this optional information to present the variables in a paged UI and fetch them in chunks.
    */
    indexedVariables?: number,
    /** If true, the number of variables in this scope is large or expensive to retrieve. */
    expensive: boolean,
    /** Optional source for this scope. */
    source?: Source,
    /** Optional start line of the range covered by this scope. */
    line?: number,
    /** Optional start column of the range covered by this scope. */
    column?: number,
    /** Optional end line of the range covered by this scope. */
    endLine?: number,
    /** Optional end column of the range covered by this scope. */
    endColumn?: number,
  };

  /** A Variable is a name/value pair.
    Optionally a variable can have a 'type' that is shown if space permits or when hovering over the variable's name.
    An optional 'kind' is used to render additional properties of the variable, e.g. different icons can be used to indicate that a variable is public or private.
    If the value is structured (has children), a handle is provided to retrieve the children with the VariablesRequest.
    If the number of named or indexed children is large, the numbers should be returned via the optional 'namedVariables' and 'indexedVariables' attributes.
    The client can use this optional information to present the children in a paged UI and fetch them in chunks.
  */
  declare type Variable = {
    /** The variable's name. */
    name: string,
    /** The variable's value. This can be a multi-line text, e.g. for a function the body of a function. */
    value: string,
    /** The type of the variable's value. Typically shown in the UI when hovering over the value. */
    type?: string,
    /** Properties of a variable that can be used to determine how to render the variable in the UI. Format of the string value: TBD. */
    kind?: string,
    /** Optional evaluatable name of this variable which can be passed to the 'EvaluateRequest' to fetch the variable's value. */
    evaluateName?: string,
    /** If variablesReference is > 0, the variable is structured and its children can be retrieved by passing variablesReference to the VariablesRequest. */
    variablesReference: number,
    /** The number of named child variables.
      The client can use this optional information to present the children in a paged UI and fetch them in chunks.
    */
    namedVariables?: number,
    /** The number of indexed child variables.
      The client can use this optional information to present the children in a paged UI and fetch them in chunks.
    */
    indexedVariables?: number,
  };

  /** Properties of a breakpoint passed to the setBreakpoints request. */
  declare type SourceBreakpoint = {
    /** The source line of the breakpoint. */
    line: number,
    /** An optional source column of the breakpoint. */
    column?: number,
    /** An optional expression for conditional breakpoints. */
    condition?: string,
    /** An optional expression that controls how many hits of the breakpoint are ignored. The backend is expected to interpret the expression as needed. */
    hitCondition?: string,
  };

  /** Properties of a breakpoint passed to the setFunctionBreakpoints request. */
  declare type FunctionBreakpoint = {
    /** The name of the function. */
    name: string,
    /** An optional expression for conditional breakpoints. */
    condition?: string,
    /** An optional expression that controls how many hits of the breakpoint are ignored. The backend is expected to interpret the expression as needed. */
    hitCondition?: string,
  };

  /** Information about a Breakpoint created in setBreakpoints or setFunctionBreakpoints. */
  declare type Breakpoint = {
    /** An optional unique identifier for the breakpoint. */
    id?: number,
    /** If true breakpoint could be set (but not necessarily at the desired location). */
    verified: boolean,
    /** An optional message about the state of the breakpoint. This is shown to the user and can be used to explain why a breakpoint could not be verified. */
    message?: string,
    /** The source where the breakpoint is located. */
    source?: Source,
    /** The start line of the actual range covered by the breakpoint. */
    line?: number,
    /** An optional start column of the actual range covered by the breakpoint. */
    column?: number,
    /** An optional end line of the actual range covered by the breakpoint. */
    endLine?: number,
    /** An optional end column of the actual range covered by the breakpoint. If no end line is given, then the end column is assumed to be in the start line. */
    endColumn?: number,

    /** Nuclide custom extensions **/
    nuclide_hitCount?: number,
  };

  /** A StepInTarget can be used in the 'stepIn' request and determines into which single target the stepIn request should step. */
  declare type StepInTarget = {
    /** Unique identifier for a stepIn target. */
    id: number,
    /** The name of the stepIn target (shown in the UI). */
    label: string,
  };

  /** A GotoTarget describes a code location that can be used as a target in the 'goto' request.
    The possible goto targets can be determined via the 'gotoTargets' request.
  */
  declare type GotoTarget = {
    /** Unique identifier for a goto target. This is used in the goto request. */
    id: number,
    /** The name of the goto target (shown in the UI). */
    label: string,
    /** The line of the goto target. */
    line: number,
    /** An optional column of the goto target. */
    column?: number,
    /** An optional end line of the range covered by the goto target. */
    endLine?: number,
    /** An optional end column of the range covered by the goto target. */
    endColumn?: number,
  };

  /** CompletionItems are the suggestions returned from the CompletionsRequest. */
  declare type CompletionItem = {
    /** The label of this completion item. By default this is also the text that is inserted when selecting this completion. */
    label: string,
    /** If text is not falsy then it is inserted instead of the label. */
    text?: string,
    /** The item's type. Typically the client uses this information to render the item in the UI with an icon. */
    type?: CompletionItemType,
    /** This value determines the location (in the CompletionsRequest's 'text' attribute) where the completion text is added.
      If missing the text is added at the location specified by the CompletionsRequest's 'column' attribute.
    */
    start?: number,
    /** This value determines how many characters are overwritten by the completion text.
      If missing the value 0 is assumed which results in the completion text being inserted.
    */
    length?: number,
  };

  /** Some predefined types for the CompletionItem. Please note that not all clients have specific icons for all of them. */
  declare type CompletionItemType =
    | 'method'
    | 'function'
    | 'constructor'
    | 'field'
    | 'variable'
    | 'class'
    | 'interface'
    | 'module'
    | 'property'
    | 'unit'
    | 'value'
    | 'enum'
    | 'keyword'
    | 'snippet'
    | 'text'
    | 'color'
    | 'file'
    | 'reference'
    | 'customcolor';

  /** Names of checksum algorithms that may be supported by a debug adapter. */
  declare type ChecksumAlgorithm = 'MD5' | 'SHA1' | 'SHA256' | 'timestamp';

  /** The checksum of an item calculated by the specified algorithm. */
  declare type Checksum = {
    /** The algorithm used to calculate this checksum. */
    algorithm: ChecksumAlgorithm,
    /** Value of the checksum. */
    checksum: string,
  };

  /** Provides formatting information for a value. */
  declare type ValueFormat = {
    /** Display the value in hex. */
    hex?: boolean,
  };

  /** Provides formatting information for a stack frame. */
  declare type StackFrameFormat = ValueFormat & {
    /** Displays parameters for the stack frame. */
    parameters?: boolean,
    /** Displays the types of parameters for the stack frame. */
    parameterTypes?: boolean,
    /** Displays the names of parameters for the stack frame. */
    parameterNames?: boolean,
    /** Displays the values of parameters for the stack frame. */
    parameterValues?: boolean,
    /** Displays the line number of the stack frame. */
    line?: boolean,
    /** Displays the module of the stack frame. */
    module?: boolean,
  };

  /** An ExceptionOptions assigns configuration options to a set of exceptions. */
  declare type ExceptionOptions = {
    /** A path that selects a single or multiple exceptions in a tree. If 'path' is missing, the whole tree is selected. By convention the first segment of the path is a category that is used to group exceptions in the UI. */
    path?: ExceptionPathSegment[],
    /** Condition when a thrown exception should result in a break. */
    breakMode: ExceptionBreakMode,
  };

  /** This enumeration defines all possible conditions when a thrown exception should result in a break.
    never: never breaks,
    always: always breaks,
    unhandled: breaks when excpetion unhandled,
    userUnhandled: breaks if the exception is not handled by user code.
  */
  declare type ExceptionBreakMode =
    | 'never'
    | 'always'
    | 'unhandled'
    | 'userUnhandled';

  /** An ExceptionPathSegment represents a segment in a path that is used to match leafs or nodes in a tree of exceptions. If a segment consists of more than one name, it matches the names provided if 'negate' is false or missing or it matches anything except the names provided if 'negate' is true. */
  declare type ExceptionPathSegment = {
    /** If false or missing this segment matches the names provided, otherwise it matches anything except the names provided. */
    negate?: boolean,
    /** Depending on the value of 'negate' the names that should match or not match. */
    names: string[],
  };

  /** Detailed information about an exception that has occurred. */
  declare type ExceptionDetails = {
    /** Message contained in the exception. */
    message?: string,
    /** Short type name of the exception object. */
    typeName?: string,
    /** Fully-qualified type name of the exception object. */
    fullTypeName?: string,
    /** Optional expression that can be evaluated in the current scope to obtain the exception object. */
    evaluateName?: string,
    /** Stack trace at the time the exception was thrown. */
    stackTrace?: string,
    /** Details of the exception contained by this exception, if any. */
    innerException?: ExceptionDetails[],
  };
}


================================================
FILE: flow-typed/npm/@babel/cli_vx.x.x.js
================================================
// flow-typed signature: 88e150a250102d8b47b86c4a28175644
// flow-typed version: <<STUB>>/@babel/cli_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/cli'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/cli' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/cli/bin/babel-external-helpers' {
  declare module.exports: any;
}

declare module '@babel/cli/bin/babel' {
  declare module.exports: any;
}

declare module '@babel/cli/lib/babel-external-helpers' {
  declare module.exports: any;
}

declare module '@babel/cli/lib/babel/dir' {
  declare module.exports: any;
}

declare module '@babel/cli/lib/babel/file' {
  declare module.exports: any;
}

declare module '@babel/cli/lib/babel/index' {
  declare module.exports: any;
}

declare module '@babel/cli/lib/babel/options' {
  declare module.exports: any;
}

declare module '@babel/cli/lib/babel/util' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/cli/bin/babel-external-helpers.js' {
  declare module.exports: $Exports<'@babel/cli/bin/babel-external-helpers'>;
}
declare module '@babel/cli/bin/babel.js' {
  declare module.exports: $Exports<'@babel/cli/bin/babel'>;
}
declare module '@babel/cli/index' {
  declare module.exports: $Exports<'@babel/cli'>;
}
declare module '@babel/cli/index.js' {
  declare module.exports: $Exports<'@babel/cli'>;
}
declare module '@babel/cli/lib/babel-external-helpers.js' {
  declare module.exports: $Exports<'@babel/cli/lib/babel-external-helpers'>;
}
declare module '@babel/cli/lib/babel/dir.js' {
  declare module.exports: $Exports<'@babel/cli/lib/babel/dir'>;
}
declare module '@babel/cli/lib/babel/file.js' {
  declare module.exports: $Exports<'@babel/cli/lib/babel/file'>;
}
declare module '@babel/cli/lib/babel/index.js' {
  declare module.exports: $Exports<'@babel/cli/lib/babel/index'>;
}
declare module '@babel/cli/lib/babel/options.js' {
  declare module.exports: $Exports<'@babel/cli/lib/babel/options'>;
}
declare module '@babel/cli/lib/babel/util.js' {
  declare module.exports: $Exports<'@babel/cli/lib/babel/util'>;
}


================================================
FILE: flow-typed/npm/@babel/core_vx.x.x.js
================================================
// flow-typed signature: 452003906fe2b34678ff70b013729409
// flow-typed version: <<STUB>>/@babel/core_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/core'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/core' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/core/lib/config/caching' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/config-chain' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/config-descriptors' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/files/configuration' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/files/index-browser' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/files/index' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/files/package' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/files/plugins' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/files/types' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/files/utils' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/full' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/helpers/config-api' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/helpers/environment' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/index' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/item' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/partial' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/plugin' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/util' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/validation/option-assertions' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/validation/options' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/validation/plugins' {
  declare module.exports: any;
}

declare module '@babel/core/lib/config/validation/removed' {
  declare module.exports: any;
}

declare module '@babel/core/lib/index' {
  declare module.exports: any;
}

declare module '@babel/core/lib/parse' {
  declare module.exports: any;
}

declare module '@babel/core/lib/tools/build-external-helpers' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transform-ast' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transform-file-browser' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transform-file-sync-browser' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transform-file' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transform' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transformation/block-hoist-plugin' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transformation/file/file' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transformation/file/generate' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transformation/file/merge-map' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transformation/index' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transformation/normalize-file' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transformation/normalize-opts' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transformation/plugin-pass' {
  declare module.exports: any;
}

declare module '@babel/core/lib/transformation/util/missing-plugin-helper' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/core/lib/config/caching.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/caching'>;
}
declare module '@babel/core/lib/config/config-chain.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/config-chain'>;
}
declare module '@babel/core/lib/config/config-descriptors.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/config-descriptors'>;
}
declare module '@babel/core/lib/config/files/configuration.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/files/configuration'>;
}
declare module '@babel/core/lib/config/files/index-browser.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/files/index-browser'>;
}
declare module '@babel/core/lib/config/files/index.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/files/index'>;
}
declare module '@babel/core/lib/config/files/package.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/files/package'>;
}
declare module '@babel/core/lib/config/files/plugins.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/files/plugins'>;
}
declare module '@babel/core/lib/config/files/types.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/files/types'>;
}
declare module '@babel/core/lib/config/files/utils.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/files/utils'>;
}
declare module '@babel/core/lib/config/full.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/full'>;
}
declare module '@babel/core/lib/config/helpers/config-api.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/helpers/config-api'>;
}
declare module '@babel/core/lib/config/helpers/environment.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/helpers/environment'>;
}
declare module '@babel/core/lib/config/index.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/index'>;
}
declare module '@babel/core/lib/config/item.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/item'>;
}
declare module '@babel/core/lib/config/partial.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/partial'>;
}
declare module '@babel/core/lib/config/plugin.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/plugin'>;
}
declare module '@babel/core/lib/config/util.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/util'>;
}
declare module '@babel/core/lib/config/validation/option-assertions.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/validation/option-assertions'>;
}
declare module '@babel/core/lib/config/validation/options.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/validation/options'>;
}
declare module '@babel/core/lib/config/validation/plugins.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/validation/plugins'>;
}
declare module '@babel/core/lib/config/validation/removed.js' {
  declare module.exports: $Exports<'@babel/core/lib/config/validation/removed'>;
}
declare module '@babel/core/lib/index.js' {
  declare module.exports: $Exports<'@babel/core/lib/index'>;
}
declare module '@babel/core/lib/parse.js' {
  declare module.exports: $Exports<'@babel/core/lib/parse'>;
}
declare module '@babel/core/lib/tools/build-external-helpers.js' {
  declare module.exports: $Exports<'@babel/core/lib/tools/build-external-helpers'>;
}
declare module '@babel/core/lib/transform-ast.js' {
  declare module.exports: $Exports<'@babel/core/lib/transform-ast'>;
}
declare module '@babel/core/lib/transform-file-browser.js' {
  declare module.exports: $Exports<'@babel/core/lib/transform-file-browser'>;
}
declare module '@babel/core/lib/transform-file-sync-browser.js' {
  declare module.exports: $Exports<'@babel/core/lib/transform-file-sync-browser'>;
}
declare module '@babel/core/lib/transform-file.js' {
  declare module.exports: $Exports<'@babel/core/lib/transform-file'>;
}
declare module '@babel/core/lib/transform.js' {
  declare module.exports: $Exports<'@babel/core/lib/transform'>;
}
declare module '@babel/core/lib/transformation/block-hoist-plugin.js' {
  declare module.exports: $Exports<'@babel/core/lib/transformation/block-hoist-plugin'>;
}
declare module '@babel/core/lib/transformation/file/file.js' {
  declare module.exports: $Exports<'@babel/core/lib/transformation/file/file'>;
}
declare module '@babel/core/lib/transformation/file/generate.js' {
  declare module.exports: $Exports<'@babel/core/lib/transformation/file/generate'>;
}
declare module '@babel/core/lib/transformation/file/merge-map.js' {
  declare module.exports: $Exports<'@babel/core/lib/transformation/file/merge-map'>;
}
declare module '@babel/core/lib/transformation/index.js' {
  declare module.exports: $Exports<'@babel/core/lib/transformation/index'>;
}
declare module '@babel/core/lib/transformation/normalize-file.js' {
  declare module.exports: $Exports<'@babel/core/lib/transformation/normalize-file'>;
}
declare module '@babel/core/lib/transformation/normalize-opts.js' {
  declare module.exports: $Exports<'@babel/core/lib/transformation/normalize-opts'>;
}
declare module '@babel/core/lib/transformation/plugin-pass.js' {
  declare module.exports: $Exports<'@babel/core/lib/transformation/plugin-pass'>;
}
declare module '@babel/core/lib/transformation/util/missing-plugin-helper.js' {
  declare module.exports: $Exports<'@babel/core/lib/transformation/util/missing-plugin-helper'>;
}


================================================
FILE: flow-typed/npm/@babel/generator_vx.x.x.js
================================================
// flow-typed signature: 14710e733fa392245cb84e68ee4c89a0
// flow-typed version: <<STUB>>/@babel/generator_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/generator'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/generator' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/generator/lib/buffer' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/base' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/classes' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/expressions' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/flow' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/index' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/jsx' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/methods' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/modules' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/statements' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/template-literals' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/types' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/generators/typescript' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/index' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/node/index' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/node/parentheses' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/node/whitespace' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/printer' {
  declare module.exports: any;
}

declare module '@babel/generator/lib/source-map' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/generator/lib/buffer.js' {
  declare module.exports: $Exports<'@babel/generator/lib/buffer'>;
}
declare module '@babel/generator/lib/generators/base.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/base'>;
}
declare module '@babel/generator/lib/generators/classes.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/classes'>;
}
declare module '@babel/generator/lib/generators/expressions.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/expressions'>;
}
declare module '@babel/generator/lib/generators/flow.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/flow'>;
}
declare module '@babel/generator/lib/generators/index.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/index'>;
}
declare module '@babel/generator/lib/generators/jsx.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/jsx'>;
}
declare module '@babel/generator/lib/generators/methods.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/methods'>;
}
declare module '@babel/generator/lib/generators/modules.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/modules'>;
}
declare module '@babel/generator/lib/generators/statements.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/statements'>;
}
declare module '@babel/generator/lib/generators/template-literals.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/template-literals'>;
}
declare module '@babel/generator/lib/generators/types.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/types'>;
}
declare module '@babel/generator/lib/generators/typescript.js' {
  declare module.exports: $Exports<'@babel/generator/lib/generators/typescript'>;
}
declare module '@babel/generator/lib/index.js' {
  declare module.exports: $Exports<'@babel/generator/lib/index'>;
}
declare module '@babel/generator/lib/node/index.js' {
  declare module.exports: $Exports<'@babel/generator/lib/node/index'>;
}
declare module '@babel/generator/lib/node/parentheses.js' {
  declare module.exports: $Exports<'@babel/generator/lib/node/parentheses'>;
}
declare module '@babel/generator/lib/node/whitespace.js' {
  declare module.exports: $Exports<'@babel/generator/lib/node/whitespace'>;
}
declare module '@babel/generator/lib/printer.js' {
  declare module.exports: $Exports<'@babel/generator/lib/printer'>;
}
declare module '@babel/generator/lib/source-map.js' {
  declare module.exports: $Exports<'@babel/generator/lib/source-map'>;
}


================================================
FILE: flow-typed/npm/@babel/node_vx.x.x.js
================================================
// flow-typed signature: e6bc151ed1aadbc8df76d137336ee3dd
// flow-typed version: <<STUB>>/@babel/node_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/node'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/node' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/node/bin/babel-node' {
  declare module.exports: any;
}

declare module '@babel/node/lib/_babel-node' {
  declare module.exports: any;
}

declare module '@babel/node/lib/babel-node' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/node/bin/babel-node.js' {
  declare module.exports: $Exports<'@babel/node/bin/babel-node'>;
}
declare module '@babel/node/lib/_babel-node.js' {
  declare module.exports: $Exports<'@babel/node/lib/_babel-node'>;
}
declare module '@babel/node/lib/babel-node.js' {
  declare module.exports: $Exports<'@babel/node/lib/babel-node'>;
}


================================================
FILE: flow-typed/npm/@babel/parser_vx.x.x.js
================================================
// flow-typed signature: 1f224679c72df69bc1a83214bdcd84b3
// flow-typed version: <<STUB>>/@babel/parser_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/parser'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/parser' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/parser/bin/babel-parser' {
  declare module.exports: any;
}

declare module '@babel/parser/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/parser/bin/babel-parser.js' {
  declare module.exports: $Exports<'@babel/parser/bin/babel-parser'>;
}
declare module '@babel/parser/lib/index.js' {
  declare module.exports: $Exports<'@babel/parser/lib/index'>;
}


================================================
FILE: flow-typed/npm/@babel/plugin-proposal-class-properties_vx.x.x.js
================================================
// flow-typed signature: 83df03cc398d7b8e8b44e95e7ee8b5f3
// flow-typed version: <<STUB>>/@babel/plugin-proposal-class-properties_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/plugin-proposal-class-properties'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/plugin-proposal-class-properties' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/plugin-proposal-class-properties/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/plugin-proposal-class-properties/lib/index.js' {
  declare module.exports: $Exports<'@babel/plugin-proposal-class-properties/lib/index'>;
}


================================================
FILE: flow-typed/npm/@babel/plugin-proposal-export-default-from_vx.x.x.js
================================================
// flow-typed signature: c0525799a7f3fe4fa2f7f8222226590d
// flow-typed version: <<STUB>>/@babel/plugin-proposal-export-default-from_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/plugin-proposal-export-default-from'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/plugin-proposal-export-default-from' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/plugin-proposal-export-default-from/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/plugin-proposal-export-default-from/lib/index.js' {
  declare module.exports: $Exports<'@babel/plugin-proposal-export-default-from/lib/index'>;
}


================================================
FILE: flow-typed/npm/@babel/plugin-proposal-object-rest-spread_vx.x.x.js
================================================
// flow-typed signature: b11d576ca33e869b67e87d3031edbda2
// flow-typed version: <<STUB>>/@babel/plugin-proposal-object-rest-spread_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/plugin-proposal-object-rest-spread'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/plugin-proposal-object-rest-spread' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/plugin-proposal-object-rest-spread/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/plugin-proposal-object-rest-spread/lib/index.js' {
  declare module.exports: $Exports<'@babel/plugin-proposal-object-rest-spread/lib/index'>;
}


================================================
FILE: flow-typed/npm/@babel/plugin-syntax-flow_vx.x.x.js
================================================
// flow-typed signature: 5dfb0ad96c92f4f384c9529bd39e0188
// flow-typed version: <<STUB>>/@babel/plugin-syntax-flow_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/plugin-syntax-flow'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/plugin-syntax-flow' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/plugin-syntax-flow/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/plugin-syntax-flow/lib/index.js' {
  declare module.exports: $Exports<'@babel/plugin-syntax-flow/lib/index'>;
}


================================================
FILE: flow-typed/npm/@babel/plugin-transform-flow-strip-types_vx.x.x.js
================================================
// flow-typed signature: b92f6ddfb42052b92d5e5360291b06f3
// flow-typed version: <<STUB>>/@babel/plugin-transform-flow-strip-types_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/plugin-transform-flow-strip-types'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/plugin-transform-flow-strip-types' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/plugin-transform-flow-strip-types/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/plugin-transform-flow-strip-types/lib/index.js' {
  declare module.exports: $Exports<'@babel/plugin-transform-flow-strip-types/lib/index'>;
}


================================================
FILE: flow-typed/npm/@babel/plugin-transform-modules-commonjs_vx.x.x.js
================================================
// flow-typed signature: c23dd6d679255581300a2c6a1da17b2c
// flow-typed version: <<STUB>>/@babel/plugin-transform-modules-commonjs_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/plugin-transform-modules-commonjs'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/plugin-transform-modules-commonjs' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/plugin-transform-modules-commonjs/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/plugin-transform-modules-commonjs/lib/index.js' {
  declare module.exports: $Exports<'@babel/plugin-transform-modules-commonjs/lib/index'>;
}


================================================
FILE: flow-typed/npm/@babel/plugin-transform-react-jsx_vx.x.x.js
================================================
// flow-typed signature: 38f417a8d521428256be3fcbcea40031
// flow-typed version: <<STUB>>/@babel/plugin-transform-react-jsx_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/plugin-transform-react-jsx'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/plugin-transform-react-jsx' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/plugin-transform-react-jsx/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/plugin-transform-react-jsx/lib/index.js' {
  declare module.exports: $Exports<'@babel/plugin-transform-react-jsx/lib/index'>;
}


================================================
FILE: flow-typed/npm/@babel/preset-env_vx.x.x.js
================================================
// flow-typed signature: 1d1f10974da327836a8a8761e7c4ed01
// flow-typed version: <<STUB>>/@babel/preset-env_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/preset-env'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/preset-env' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/preset-env/data/built-in-features' {
  declare module.exports: any;
}

declare module '@babel/preset-env/data/plugin-features' {
  declare module.exports: any;
}

declare module '@babel/preset-env/data/shipped-proposals' {
  declare module.exports: any;
}

declare module '@babel/preset-env/data/unreleased-labels' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/available-plugins' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/built-in-definitions' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/debug' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/default-includes' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/defaults' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/index' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/module-transformations' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/normalize-options' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/options' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/targets-parser' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/use-built-ins-entry-plugin' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/use-built-ins-plugin' {
  declare module.exports: any;
}

declare module '@babel/preset-env/lib/utils' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/preset-env/data/built-in-features.js' {
  declare module.exports: $Exports<'@babel/preset-env/data/built-in-features'>;
}
declare module '@babel/preset-env/data/plugin-features.js' {
  declare module.exports: $Exports<'@babel/preset-env/data/plugin-features'>;
}
declare module '@babel/preset-env/data/shipped-proposals.js' {
  declare module.exports: $Exports<'@babel/preset-env/data/shipped-proposals'>;
}
declare module '@babel/preset-env/data/unreleased-labels.js' {
  declare module.exports: $Exports<'@babel/preset-env/data/unreleased-labels'>;
}
declare module '@babel/preset-env/lib/available-plugins.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/available-plugins'>;
}
declare module '@babel/preset-env/lib/built-in-definitions.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/built-in-definitions'>;
}
declare module '@babel/preset-env/lib/debug.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/debug'>;
}
declare module '@babel/preset-env/lib/default-includes.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/default-includes'>;
}
declare module '@babel/preset-env/lib/defaults.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/defaults'>;
}
declare module '@babel/preset-env/lib/index.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/index'>;
}
declare module '@babel/preset-env/lib/module-transformations.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/module-transformations'>;
}
declare module '@babel/preset-env/lib/normalize-options.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/normalize-options'>;
}
declare module '@babel/preset-env/lib/options.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/options'>;
}
declare module '@babel/preset-env/lib/targets-parser.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/targets-parser'>;
}
declare module '@babel/preset-env/lib/use-built-ins-entry-plugin.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/use-built-ins-entry-plugin'>;
}
declare module '@babel/preset-env/lib/use-built-ins-plugin.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/use-built-ins-plugin'>;
}
declare module '@babel/preset-env/lib/utils.js' {
  declare module.exports: $Exports<'@babel/preset-env/lib/utils'>;
}


================================================
FILE: flow-typed/npm/@babel/preset-flow_vx.x.x.js
================================================
// flow-typed signature: 2257b5d93c569a2365772ed531a8a9a7
// flow-typed version: <<STUB>>/@babel/preset-flow_v7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/preset-flow'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/preset-flow' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/preset-flow/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/preset-flow/lib/index.js' {
  declare module.exports: $Exports<'@babel/preset-flow/lib/index'>;
}


================================================
FILE: flow-typed/npm/@babel/preset-react_vx.x.x.js
================================================
// flow-typed signature: c7881c92495e1a8d652c9443241d6abe
// flow-typed version: <<STUB>>/@babel/preset-react_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/preset-react'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/preset-react' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/preset-react/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/preset-react/lib/index.js' {
  declare module.exports: $Exports<'@babel/preset-react/lib/index'>;
}


================================================
FILE: flow-typed/npm/@babel/register_vx.x.x.js
================================================
// flow-typed signature: 0588d3f96fe247210bcba05ea43f8d5d
// flow-typed version: <<STUB>>/@babel/register_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/register'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/register' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/register/lib/browser' {
  declare module.exports: any;
}

declare module '@babel/register/lib/cache' {
  declare module.exports: any;
}

declare module '@babel/register/lib/index' {
  declare module.exports: any;
}

declare module '@babel/register/lib/node' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/register/lib/browser.js' {
  declare module.exports: $Exports<'@babel/register/lib/browser'>;
}
declare module '@babel/register/lib/cache.js' {
  declare module.exports: $Exports<'@babel/register/lib/cache'>;
}
declare module '@babel/register/lib/index.js' {
  declare module.exports: $Exports<'@babel/register/lib/index'>;
}
declare module '@babel/register/lib/node.js' {
  declare module.exports: $Exports<'@babel/register/lib/node'>;
}


================================================
FILE: flow-typed/npm/@babel/template_vx.x.x.js
================================================
// flow-typed signature: b5676378d55f7376bc725520ab242644
// flow-typed version: <<STUB>>/@babel/template_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/template'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/template' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/template/lib/builder' {
  declare module.exports: any;
}

declare module '@babel/template/lib/formatters' {
  declare module.exports: any;
}

declare module '@babel/template/lib/index' {
  declare module.exports: any;
}

declare module '@babel/template/lib/literal' {
  declare module.exports: any;
}

declare module '@babel/template/lib/options' {
  declare module.exports: any;
}

declare module '@babel/template/lib/parse' {
  declare module.exports: any;
}

declare module '@babel/template/lib/populate' {
  declare module.exports: any;
}

declare module '@babel/template/lib/string' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/template/lib/builder.js' {
  declare module.exports: $Exports<'@babel/template/lib/builder'>;
}
declare module '@babel/template/lib/formatters.js' {
  declare module.exports: $Exports<'@babel/template/lib/formatters'>;
}
declare module '@babel/template/lib/index.js' {
  declare module.exports: $Exports<'@babel/template/lib/index'>;
}
declare module '@babel/template/lib/literal.js' {
  declare module.exports: $Exports<'@babel/template/lib/literal'>;
}
declare module '@babel/template/lib/options.js' {
  declare module.exports: $Exports<'@babel/template/lib/options'>;
}
declare module '@babel/template/lib/parse.js' {
  declare module.exports: $Exports<'@babel/template/lib/parse'>;
}
declare module '@babel/template/lib/populate.js' {
  declare module.exports: $Exports<'@babel/template/lib/populate'>;
}
declare module '@babel/template/lib/string.js' {
  declare module.exports: $Exports<'@babel/template/lib/string'>;
}


================================================
FILE: flow-typed/npm/@babel/traverse_vx.x.x.js
================================================
// flow-typed signature: 81d29dd140776ffb4e2075ed0b37f16e
// flow-typed version: <<STUB>>/@babel/traverse_v^7.0.0-beta.53/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   '@babel/traverse'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module '@babel/traverse' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module '@babel/traverse/lib/cache' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/context' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/hub' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/index' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/ancestry' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/comments' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/context' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/conversion' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/evaluation' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/family' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/index' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/inference/index' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/inference/inferer-reference' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/inference/inferers' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/introspection' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/lib/hoister' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/lib/removal-hooks' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/lib/virtual-types' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/modification' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/removal' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/path/replacement' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/scope/binding' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/scope/index' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/scope/lib/renamer' {
  declare module.exports: any;
}

declare module '@babel/traverse/lib/visitors' {
  declare module.exports: any;
}

// Filename aliases
declare module '@babel/traverse/lib/cache.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/cache'>;
}
declare module '@babel/traverse/lib/context.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/context'>;
}
declare module '@babel/traverse/lib/hub.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/hub'>;
}
declare module '@babel/traverse/lib/index.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/index'>;
}
declare module '@babel/traverse/lib/path/ancestry.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/ancestry'>;
}
declare module '@babel/traverse/lib/path/comments.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/comments'>;
}
declare module '@babel/traverse/lib/path/context.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/context'>;
}
declare module '@babel/traverse/lib/path/conversion.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/conversion'>;
}
declare module '@babel/traverse/lib/path/evaluation.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/evaluation'>;
}
declare module '@babel/traverse/lib/path/family.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/family'>;
}
declare module '@babel/traverse/lib/path/index.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/index'>;
}
declare module '@babel/traverse/lib/path/inference/index.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/inference/index'>;
}
declare module '@babel/traverse/lib/path/inference/inferer-reference.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/inference/inferer-reference'>;
}
declare module '@babel/traverse/lib/path/inference/inferers.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/inference/inferers'>;
}
declare module '@babel/traverse/lib/path/introspection.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/introspection'>;
}
declare module '@babel/traverse/lib/path/lib/hoister.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/lib/hoister'>;
}
declare module '@babel/traverse/lib/path/lib/removal-hooks.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/lib/removal-hooks'>;
}
declare module '@babel/traverse/lib/path/lib/virtual-types.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/lib/virtual-types'>;
}
declare module '@babel/traverse/lib/path/modification.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/modification'>;
}
declare module '@babel/traverse/lib/path/removal.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/removal'>;
}
declare module '@babel/traverse/lib/path/replacement.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/path/replacement'>;
}
declare module '@babel/traverse/lib/scope/binding.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/scope/binding'>;
}
declare module '@babel/traverse/lib/scope/index.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/scope/index'>;
}
declare module '@babel/traverse/lib/scope/lib/renamer.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/scope/lib/renamer'>;
}
declare module '@babel/traverse/lib/visitors.js' {
  declare module.exports: $Exports<'@babel/traverse/lib/visitors'>;
}


================================================
FILE: flow-typed/npm/babel-cli_vx.x.x.js
================================================
// flow-typed signature: 4435fbf02a5bad6d14e094416a80e996
// flow-typed version: <<STUB>>/babel-cli_v^6.18.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-cli'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the 
 * community by sending a pull request to: 
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-cli' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-cli/bin/babel-doctor' {
  declare module.exports: any;
}

declare module 'babel-cli/bin/babel-external-helpers' {
  declare module.exports: any;
}

declare module 'babel-cli/bin/babel-node' {
  declare module.exports: any;
}

declare module 'babel-cli/bin/babel' {
  declare module.exports: any;
}

declare module 'babel-cli/lib/_babel-node' {
  declare module.exports: any;
}

declare module 'babel-cli/lib/babel-external-helpers' {
  declare module.exports: any;
}

declare module 'babel-cli/lib/babel-node' {
  declare module.exports: any;
}

declare module 'babel-cli/lib/babel/dir' {
  declare module.exports: any;
}

declare module 'babel-cli/lib/babel/file' {
  declare module.exports: any;
}

declare module 'babel-cli/lib/babel/index' {
  declare module.exports: any;
}

declare module 'babel-cli/lib/babel/util' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-cli/bin/babel-doctor.js' {
  declare module.exports: $Exports<'babel-cli/bin/babel-doctor'>;
}
declare module 'babel-cli/bin/babel-external-helpers.js' {
  declare module.exports: $Exports<'babel-cli/bin/babel-external-helpers'>;
}
declare module 'babel-cli/bin/babel-node.js' {
  declare module.exports: $Exports<'babel-cli/bin/babel-node'>;
}
declare module 'babel-cli/bin/babel.js' {
  declare module.exports: $Exports<'babel-cli/bin/babel'>;
}
declare module 'babel-cli/index' {
  declare module.exports: $Exports<'babel-cli'>;
}
declare module 'babel-cli/index.js' {
  declare module.exports: $Exports<'babel-cli'>;
}
declare module 'babel-cli/lib/_babel-node.js' {
  declare module.exports: $Exports<'babel-cli/lib/_babel-node'>;
}
declare module 'babel-cli/lib/babel-external-helpers.js' {
  declare module.exports: $Exports<'babel-cli/lib/babel-external-helpers'>;
}
declare module 'babel-cli/lib/babel-node.js' {
  declare module.exports: $Exports<'babel-cli/lib/babel-node'>;
}
declare module 'babel-cli/lib/babel/dir.js' {
  declare module.exports: $Exports<'babel-cli/lib/babel/dir'>;
}
declare module 'babel-cli/lib/babel/file.js' {
  declare module.exports: $Exports<'babel-cli/lib/babel/file'>;
}
declare module 'babel-cli/lib/babel/index.js' {
  declare module.exports: $Exports<'babel-cli/lib/babel/index'>;
}
declare module 'babel-cli/lib/babel/util.js' {
  declare module.exports: $Exports<'babel-cli/lib/babel/util'>;
}


================================================
FILE: flow-typed/npm/babel-core_vx.x.x.js
================================================
// flow-typed signature: 7540130584c1e9577ca2798f7b6328d6
// flow-typed version: <<STUB>>/babel-core_v7.0.0-bridge.0/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-core'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-core' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */


// Filename aliases
declare module 'babel-core/index' {
  declare module.exports: $Exports<'babel-core'>;
}
declare module 'babel-core/index.js' {
  declare module.exports: $Exports<'babel-core'>;
}


================================================
FILE: flow-typed/npm/babel-eslint_vx.x.x.js
================================================
// flow-typed signature: 898fc9205f942f10e1958989fc3958fb
// flow-typed version: <<STUB>>/babel-eslint_v^7.1.1/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-eslint'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the 
 * community by sending a pull request to: 
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-eslint' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-eslint/babylon-to-espree/attachComments' {
  declare module.exports: any;
}

declare module 'babel-eslint/babylon-to-espree/convertTemplateType' {
  declare module.exports: any;
}

declare module 'babel-eslint/babylon-to-espree/index' {
  declare module.exports: any;
}

declare module 'babel-eslint/babylon-to-espree/toAST' {
  declare module.exports: any;
}

declare module 'babel-eslint/babylon-to-espree/toToken' {
  declare module.exports: any;
}

declare module 'babel-eslint/babylon-to-espree/toTokens' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-eslint/babylon-to-espree/attachComments.js' {
  declare module.exports: $Exports<'babel-eslint/babylon-to-espree/attachComments'>;
}
declare module 'babel-eslint/babylon-to-espree/convertTemplateType.js' {
  declare module.exports: $Exports<'babel-eslint/babylon-to-espree/convertTemplateType'>;
}
declare module 'babel-eslint/babylon-to-espree/index.js' {
  declare module.exports: $Exports<'babel-eslint/babylon-to-espree/index'>;
}
declare module 'babel-eslint/babylon-to-espree/toAST.js' {
  declare module.exports: $Exports<'babel-eslint/babylon-to-espree/toAST'>;
}
declare module 'babel-eslint/babylon-to-espree/toToken.js' {
  declare module.exports: $Exports<'babel-eslint/babylon-to-espree/toToken'>;
}
declare module 'babel-eslint/babylon-to-espree/toTokens.js' {
  declare module.exports: $Exports<'babel-eslint/babylon-to-espree/toTokens'>;
}
declare module 'babel-eslint/index' {
  declare module.exports: $Exports<'babel-eslint'>;
}
declare module 'babel-eslint/index.js' {
  declare module.exports: $Exports<'babel-eslint'>;
}


================================================
FILE: flow-typed/npm/babel-generator_vx.x.x.js
================================================
// flow-typed signature: 6cdfff6fe7ed58305bf9148269d1186d
// flow-typed version: <<STUB>>/babel-generator_v^6.8.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-generator'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

import { BabelNode } from "@babel/types";

type SourceMap = {
  sources: Array<string>,
  names: Array<string>,
  mappings: string,
  sourcesContent: Array<string>
};

declare module 'babel-generator' {
  declare module.exports: (ast: BabelNode, opts: Object, code: string) => { code: string, map?: SourceMap };
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-generator/lib/buffer' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/generators/base' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/generators/classes' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/generators/expressions' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/generators/flow' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/generators/jsx' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/generators/methods' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/generators/modules' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/generators/statements' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/generators/template-literals' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/generators/types' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/index' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/node/index' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/node/parentheses' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/node/whitespace' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/printer' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/source-map' {
  declare module.exports: any;
}

declare module 'babel-generator/lib/whitespace' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-generator/lib/buffer.js' {
  declare module.exports: $Exports<'babel-generator/lib/buffer'>;
}
declare module 'babel-generator/lib/generators/base.js' {
  declare module.exports: $Exports<'babel-generator/lib/generators/base'>;
}
declare module 'babel-generator/lib/generators/classes.js' {
  declare module.exports: $Exports<'babel-generator/lib/generators/classes'>;
}
declare module 'babel-generator/lib/generators/expressions.js' {
  declare module.exports: $Exports<'babel-generator/lib/generators/expressions'>;
}
declare module 'babel-generator/lib/generators/flow.js' {
  declare module.exports: $Exports<'babel-generator/lib/generators/flow'>;
}
declare module 'babel-generator/lib/generators/jsx.js' {
  declare module.exports: $Exports<'babel-generator/lib/generators/jsx'>;
}
declare module 'babel-generator/lib/generators/methods.js' {
  declare module.exports: $Exports<'babel-generator/lib/generators/methods'>;
}
declare module 'babel-generator/lib/generators/modules.js' {
  declare module.exports: $Exports<'babel-generator/lib/generators/modules'>;
}
declare module 'babel-generator/lib/generators/statements.js' {
  declare module.exports: $Exports<'babel-generator/lib/generators/statements'>;
}
declare module 'babel-generator/lib/generators/template-literals.js' {
  declare module.exports: $Exports<'babel-generator/lib/generators/template-literals'>;
}
declare module 'babel-generator/lib/generators/types.js' {
  declare module.exports: $Exports<'babel-generator/lib/generators/types'>;
}
declare module 'babel-generator/lib/index.js' {
  declare module.exports: $Exports<'babel-generator/lib/index'>;
}
declare module 'babel-generator/lib/node/index.js' {
  declare module.exports: $Exports<'babel-generator/lib/node/index'>;
}
declare module 'babel-generator/lib/node/parentheses.js' {
  declare module.exports: $Exports<'babel-generator/lib/node/parentheses'>;
}
declare module 'babel-generator/lib/node/whitespace.js' {
  declare module.exports: $Exports<'babel-generator/lib/node/whitespace'>;
}
declare module 'babel-generator/lib/printer.js' {
  declare module.exports: $Exports<'babel-generator/lib/printer'>;
}
declare module 'babel-generator/lib/source-map.js' {
  declare module.exports: $Exports<'babel-generator/lib/source-map'>;
}
declare module 'babel-generator/lib/whitespace.js' {
  declare module.exports: $Exports<'babel-generator/lib/whitespace'>;
}


================================================
FILE: flow-typed/npm/babel-helper-function-name_vx.x.x.js
================================================
// flow-typed signature: 00b8ab338c10ac6b548eacb2b78c1d81
// flow-typed version: <<STUB>>/babel-helper-function-name_v^6.8.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-helper-function-name'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the 
 * community by sending a pull request to: 
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-helper-function-name' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-helper-function-name/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-helper-function-name/lib/index.js' {
  declare module.exports: $Exports<'babel-helper-function-name/lib/index'>;
}


================================================
FILE: flow-typed/npm/babel-helper-get-function-arity_vx.x.x.js
================================================
// flow-typed signature: 91253616435274658664be70a5673e3c
// flow-typed version: <<STUB>>/babel-helper-get-function-arity_v^6.8.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-helper-get-function-arity'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the 
 * community by sending a pull request to: 
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-helper-get-function-arity' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-helper-get-function-arity/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-helper-get-function-arity/lib/index.js' {
  declare module.exports: $Exports<'babel-helper-get-function-arity/lib/index'>;
}


================================================
FILE: flow-typed/npm/babel-jest_vx.x.x.js
================================================
// flow-typed signature: fd955224b4ff20689118b3df4ec748c1
// flow-typed version: <<STUB>>/babel-jest_v^23.4.0/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-jest'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-jest' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-jest/build/index' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-jest/build/index.js' {
  declare module.exports: $Exports<'babel-jest/build/index'>;
}


================================================
FILE: flow-typed/npm/babel-plugin-jest-hoist_vx.x.x.js
================================================
// flow-typed signature: fe7e54a98300f409fd3c32a79a2e317f
// flow-typed version: <<STUB>>/babel-plugin-jest-hoist_v^23.2.0/flow_v0.76.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-plugin-jest-hoist'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-plugin-jest-hoist' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-plugin-jest-hoist/build/index' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-plugin-jest-hoist/build/index.js' {
  declare module.exports: $Exports<'babel-plugin-jest-hoist/build/index'>;
}


================================================
FILE: flow-typed/npm/babel-plugin-transform-class-properties_vx.x.x.js
================================================
// flow-typed signature: d319b6e3a99c5e22f50a21448401b4bb
// flow-typed version: <<STUB>>/babel-plugin-transform-class-properties_v^6.6.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-plugin-transform-class-properties'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the 
 * community by sending a pull request to: 
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-plugin-transform-class-properties' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-plugin-transform-class-properties/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-plugin-transform-class-properties/lib/index.js' {
  declare module.exports: $Exports<'babel-plugin-transform-class-properties/lib/index'>;
}


================================================
FILE: flow-typed/npm/babel-plugin-transform-object-rest-spread_vx.x.x.js
================================================
// flow-typed signature: a3f1c558566ae53820e9a04cdba6c6ba
// flow-typed version: <<STUB>>/babel-plugin-transform-object-rest-spread_v^6.8.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-plugin-transform-object-rest-spread'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the 
 * community by sending a pull request to: 
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-plugin-transform-object-rest-spread' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-plugin-transform-object-rest-spread/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-plugin-transform-object-rest-spread/lib/index.js' {
  declare module.exports: $Exports<'babel-plugin-transform-object-rest-spread/lib/index'>;
}


================================================
FILE: flow-typed/npm/babel-preset-es2015_vx.x.x.js
================================================
// flow-typed signature: 9336b10ac614a30819f5a15db1fd5758
// flow-typed version: <<STUB>>/babel-preset-es2015_v^6.5.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-preset-es2015'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the 
 * community by sending a pull request to: 
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-preset-es2015' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-preset-es2015/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-preset-es2015/lib/index.js' {
  declare module.exports: $Exports<'babel-preset-es2015/lib/index'>;
}


================================================
FILE: flow-typed/npm/babel-preset-react_vx.x.x.js
================================================
// flow-typed signature: ed358ef4a88d50ce624eb3dd4847f82a
// flow-typed version: <<STUB>>/babel-preset-react_v^6.5.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-preset-react'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the 
 * community by sending a pull request to: 
 * https://github.com/flowtype/flow-typed
 */

declare module 'babel-preset-react' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-preset-react/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-preset-react/lib/index.js' {
  declare module.exports: $Exports<'babel-preset-react/lib/index'>;
}


================================================
FILE: flow-typed/npm/babel-template_vx.x.x.js
================================================
// flow-typed signature: ff9ff3b60b305a3308b20c3420f15c37
// flow-typed version: <<STUB>>/babel-template_v^6.9.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-template'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

 import { BabelNodeStatement } from "@babel/types";

declare module 'babel-template' {
  declare module.exports: (code: string, opts?: Object) => Object => BabelNodeStatement;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-template/lib/index' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-template/lib/index.js' {
  declare module.exports: $Exports<'babel-template/lib/index'>;
}


================================================
FILE: flow-typed/npm/babel-traverse_vx.x.x.js
================================================
// flow-typed signature: e044f91300344c6b466bbb8596699612
// flow-typed version: <<STUB>>/babel-traverse_v^6.9.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-traverse'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */

import type { BabelNode, BabelNodeIdentifier } from "@babel/types";

declare module 'babel-traverse' {
  declare export class BabelTraversePath {
    getBindingIdentifierPaths(): { [key: string]: BabelTraversePath };
    getBindingIdentifiers(): { [key: string]: BabelNodeIdentifier };
    replaceWith(node: BabelNode): void;
    remove(): void;
    scope: BabelTraverseScope;
    node: BabelNode;
    parent: BabelNode;
    parentPath: BabelTraversePath;
  }

  declare export class BabelTraverseScope {
    hasBinding(name: string, noGlobals: boolean): boolean;
  }

  declare export default (
    parent?: BabelNode | Array<BabelNode>,
    opts?: Object,
    scope: ?BabelTraverseScope,
    state: Object,
    parentPath?: BabelTraversePath,
  ) => void;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'babel-traverse/lib/cache' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/context' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/hub' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/index' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/ancestry' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/comments' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/context' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/conversion' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/evaluation' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/family' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/index' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/inference/index' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/inference/inferer-reference' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/inference/inferers' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/introspection' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/lib/hoister' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/lib/removal-hooks' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/lib/virtual-types' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/modification' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/removal' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/path/replacement' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/scope/binding' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/scope/index' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/scope/lib/renamer' {
  declare module.exports: any;
}

declare module 'babel-traverse/lib/visitors' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-traverse/lib/cache.js' {
  declare module.exports: $Exports<'babel-traverse/lib/cache'>;
}
declare module 'babel-traverse/lib/context.js' {
  declare module.exports: $Exports<'babel-traverse/lib/context'>;
}
declare module 'babel-traverse/lib/hub.js' {
  declare module.exports: $Exports<'babel-traverse/lib/hub'>;
}
declare module 'babel-traverse/lib/index.js' {
  declare module.exports: $Exports<'babel-traverse/lib/index'>;
}
declare module 'babel-traverse/lib/path/ancestry.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/ancestry'>;
}
declare module 'babel-traverse/lib/path/comments.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/comments'>;
}
declare module 'babel-traverse/lib/path/context.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/context'>;
}
declare module 'babel-traverse/lib/path/conversion.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/conversion'>;
}
declare module 'babel-traverse/lib/path/evaluation.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/evaluation'>;
}
declare module 'babel-traverse/lib/path/family.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/family'>;
}
declare module 'babel-traverse/lib/path/index.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/index'>;
}
declare module 'babel-traverse/lib/path/inference/index.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/inference/index'>;
}
declare module 'babel-traverse/lib/path/inference/inferer-reference.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/inference/inferer-reference'>;
}
declare module 'babel-traverse/lib/path/inference/inferers.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/inference/inferers'>;
}
declare module 'babel-traverse/lib/path/introspection.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/introspection'>;
}
declare module 'babel-traverse/lib/path/lib/hoister.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/lib/hoister'>;
}
declare module 'babel-traverse/lib/path/lib/removal-hooks.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/lib/removal-hooks'>;
}
declare module 'babel-traverse/lib/path/lib/virtual-types.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/lib/virtual-types'>;
}
declare module 'babel-traverse/lib/path/modification.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/modification'>;
}
declare module 'babel-traverse/lib/path/removal.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/removal'>;
}
declare module 'babel-traverse/lib/path/replacement.js' {
  declare module.exports: $Exports<'babel-traverse/lib/path/replacement'>;
}
declare module 'babel-traverse/lib/scope/binding.js' {
  declare module.exports: $Exports<'babel-traverse/lib/scope/binding'>;
}
declare module 'babel-traverse/lib/scope/index.js' {
  declare module.exports: $Exports<'babel-traverse/lib/scope/index'>;
}
declare module 'babel-traverse/lib/scope/lib/renamer.js' {
  declare module.exports: $Exports<'babel-traverse/lib/scope/lib/renamer'>;
}
declare module 'babel-traverse/lib/visitors.js' {
  declare module.exports: $Exports<'babel-traverse/lib/visitors'>;
}


================================================
FILE: flow-typed/npm/babel-types_vx.x.x.js
================================================
// flow-typed signature: e65b014cd6fc2636d93a98c55ee45a1a
// flow-typed version: <<STUB>>/babel-types_v^6.9.0/flow_v0.38.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-types'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the
 * community by sending a pull request to:
 * https://github.com/flowtype/flow-typed
 */
// NOTE: This file is autogenerated. Do not modify.
// See [babel GIT root]/scripts/generate-interfaces.js for script used.


declare module "@babel/types" {
  declare type BabelObjectMethodKind = "get" | "set" | "method";
  declare type BabelLogicalOperator = "||" | "&&";
  declare type BabelAssignmentOperator = "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=";
  declare type BabelBinaryOperator = "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=";
  declare type BabelUnaryOperator = "void" | "delete" | "!" | "+" | "-" | "++" | "--" | "~" | "typeof";
  declare type BabelUpdateOperator = "++" | "--";
  declare type BabelVariableKind = "var" | "let" | "const";

  declare class BabelNodeComment {
    +type: "BlockComment" | "LineComment";
    value: string;
    start: number;
    end: number;
    loc: BabelNodeSourceLocation;
  }

  declare class BabelNodeBlockComment extends BabelNodeComment {
    type: "BlockComment";
  }

  declare class BabelNodeLineComment extends BabelNodeComment {
    type: "LineComment";
  }

  declare class BabelNodePosition {
    line: number;
    column: number;
  }

  declare class BabelNodeSourceLocation {
    source: string | null;
    start: BabelNodePosition;
    end: BabelNodePosition;
  }

  declare class BabelNode {
    +type: "ArrayExpression" |
      "AssignmentExpression" |
      "BinaryExpression" |
      "Directive" |
      "DirectiveLiteral" |
      "BlockStatement" |
      "BreakStatement" |
      "CallExpression" |
      "CatchClause" |
      "ConditionalExpression" |
      "ContinueStatement" |
      "DebuggerStatement" |
      "DoWhileStatement" |
      "EmptyStatement" |
      "ExpressionStatement" |
      "File" |
      "ForInStatement" |
      "ForStatement" |
      "FunctionDeclaration" |
      "FunctionExpression" |
      "Identifier" |
      "IfStatement" |
      "LabeledStatement" |
      "StringLiteral" |
      "NumericLiteral" |
      "NullLiteral" |
      "BooleanLiteral" |
      "RegExpLiteral" |
      "LogicalExpression" |
      "MemberExpression" |
      "NewExpression" |
      "Program" |
      "ObjectExpression" |
      "ObjectMethod" |
      "ObjectProperty" |
      "RestElement" |
      "ReturnStatement" |
      "SequenceExpression" |
      "SwitchCase" |
      "SwitchStatement" |
      "ThisExpression" |
      "ThrowStatement" |
      "TryStatement" |
      "UnaryExpression" |
      "UpdateExpression" |
      "VariableDeclaration" |
      "VariableDeclarator" |
      "WhileStatement" |
      "WithStatement" |
      "AssignmentPattern" |
      "ArrayPattern" |
      "ArrowFunctionExpression" |
      "ClassBody" |
      "ClassDeclaration" |
      "ClassExpression" |
      "ExportAllDeclaration" |
      "ExportDefaultDeclaration" |
      "ExportNamedDeclaration" |
      "ExportSpecifier" |
      "ForOfStatement" |
      "ImportDeclaration" |
      "ImportDefaultSpecifier" |
      "ImportNamespaceSpecifier" |
      "ImportSpecifier" |
      "MetaProperty" |
      "ClassMethod" |
      "ObjectPattern" |
      "SpreadElement" |
      "Super" |
      "TaggedTemplateExpression" |
      "TemplateElement" |
      "TemplateLiteral" |
      "YieldExpression" |
      "AnyTypeAnnotation" |
      "ArrayTypeAnnotation" |
      "BooleanTypeAnnotation" |
      "BooleanLiteralTypeAnnotation" |
      "NullLiteralTypeAnnotation" |
      "ClassImplements" |
      "ClassProperty" |
      "DeclareClass" |
      "DeclareFunction" |
      "DeclareInterface" |
      "DeclareModule" |
      "DeclareModuleExports" |
      "DeclareTypeAlias" |
      "DeclareVariable" |
      "ExistentialTypeParam" |
      "FunctionTypeAnnotation" |
      "FunctionTypeParam" |
      "GenericTypeAnnotation" |
      "InterfaceExtends" |
      "InterfaceDeclaration" |
      "IntersectionTypeAnnotation" |
      "MixedTypeAnnotation" |
      "EmptyTypeAnnotation" |
      "NullableTypeAnnotation" |
      "NumericLiteralTypeAnnotation" |
      "NumberTypeAnnotation" |
      "StringLiteralTypeAnnotation" |
      "StringTypeAnnotation" |
      "ThisTypeAnnotation" |
      "TupleTypeAnnotation" |
      "TypeofTypeAnnotation" |
      "TypeAlias" |
      "TypeAnnotation" |
      "TypeCastExpression" |
      "TypeParameter" |
      "TypeParameterDeclaration" |
      "TypeParameterInstantiation" |
      "ObjectTypeAnnotation" |
      "ObjectTypeCallProperty" |
      "ObjectTypeIndexer" |
      "ObjectTypeProperty" |
      "QualifiedTypeIdentifier" |
      "UnionTypeAnnotation" |
      "VoidTypeAnnotation" |
      "JSXAttribute" |
      "JSXClosingElement" |
      "JSXElement" |
      "JSXEmptyExpression" |
      "JSXExpressionContainer" |
      "JSXIdentifier" |
      "JSXMemberExpression" |
      "JSXNamespacedName" |
      "JSXOpeningElement" |
      "JSXSpreadAttribute" |
      "JSXText" |
      "Noop" |
      "ParenthesizedExpression" |
      "AwaitExpression" |
      "ForAwaitStatement" |
      "BindExpression" |
      "Decorator" |
      "DoExpression" |
      "ExportDefaultSpecifier" |
      "ExportNamespaceSpecifier" |
      "RestProperty" ;
    leadingComments: ?Array<BabelNodeComment>;
    innerComments: ?Array<BabelNodeComment>;
    trailingComments: ?Array<BabelNodeComment>;
    start: ?number;
    end: ?number;
    loc: ?BabelNodeSourceLocation;
  }

  declare class BabelNodeArrayExpression extends BabelNode {
    type: "ArrayExpression";
    elements: Array<void | BabelNodeExpression | BabelNodeSpreadElement>;
  }

  declare class BabelNodeAssignmentExpression extends BabelNode {
    type: "AssignmentExpression";
    operator: BabelAssignmentOperator;
    left: BabelNodeLVal;
    right: BabelNodeExpression;
  }

  declare class BabelNodeBinaryExpression extends BabelNode {
    type: "BinaryExpression";
    operator: BabelBinaryOperator;
    left: BabelNodeExpression;
    right: BabelNodeExpression;
  }

  declare class BabelNodeDirective extends BabelNode {
    type: "Directive";
    value: BabelNodeDirectiveLiteral;
  }

  declare class BabelNodeDirectiveLiteral extends BabelNode {
    type: "DirectiveLiteral";
    value: string;
  }

  declare class BabelNodeBlockStatement extends BabelNode {
    type: "BlockStatement";
    directives?: Array<BabelNodeDirective>;
    body: Array<BabelNodeStatement>;
  }

  declare class BabelNodeBreakStatement extends BabelNode {
    type: "BreakStatement";
    label?: ?BabelNodeIdentifier;
  }

  declare class BabelNodeCallExpression extends BabelNode {
    type: "CallExpression";
    callee: BabelNodeExpression;
    arguments: Array<BabelNodeExpression | BabelNodeSpreadElement>;
  }

  declare class BabelNodeCatchClause extends BabelNode {
    type: "CatchClause";
    param: BabelNodePattern;
    body: BabelNodeBlockStatement;
  }

  declare class BabelNodeConditionalExpression extends BabelNode {
    type: "ConditionalExpression";
    test: BabelNodeExpression;
    consequent: BabelNodeExpression;
    alternate: BabelNodeExpression;
  }

  declare class BabelNodeContinueStatement extends BabelNode {
    type: "ContinueStatement";
    label?: ?BabelNodeIdentifier;
  }

  declare class BabelNodeDebuggerStatement extends BabelNode {
    type: "DebuggerStatement";
  }

  declare class BabelNodeDoWhileStatement extends BabelNode {
    type: "DoWhileStatement";
    test: BabelNodeExpression;
    body: BabelNodeStatement;
  }

  declare class BabelNodeEmptyStatement extends BabelNode {
    type: "EmptyStatement";
  }

  declare class BabelNodeExpressionStatement extends BabelNode {
    type: "ExpressionStatement";
    expression: BabelNodeExpression;
  }

  declare class BabelNodeFile extends BabelNode {
    type: "File";
    program: BabelNodeProgram;
    comments: any;
    tokens: any;
  }

  declare class BabelNodeForInStatement extends BabelNode {
    type: "ForInStatement";
    left: BabelNodeVariableDeclaration | BabelNodeLVal;
    right: BabelNodeExpression;
    body: BabelNodeStatement;
  }

  declare class BabelNodeForStatement extends BabelNode {
    type: "ForStatement";
    init?: ?BabelNodeVariableDeclaration | BabelNodeExpression;
    test?: ?BabelNodeExpression;
    update?: ?BabelNodeExpression;
    body: BabelNodeStatement;
  }

  declare class BabelNodeFunctionDeclaration extends BabelNode {
    type: "FunctionDeclaration";
    id: BabelNodeIdentifier;
    params: Array<BabelNodeLVal>;
    body: BabelNodeBlockStatement;
    generator: boolean;
    async: boolean;
    returnType?: any;
    typeParameters?: any;
  }

  declare class BabelNodeFunctionExpression extends BabelNode {
    type: "FunctionExpression";
    id?: ?BabelNodeIdentifier;
    params: Array<BabelNodeLVal>;
    body: BabelNodeBlockStatement;
    generator?: boolean;
    async?: boolean;
    returnType?: any;
    typeParameters?: any;
  }

  declare class BabelNodeIdentifier extends BabelNode {
    type: "Identifier";
    name: string;
    decorators?: any;
    typeAnnotation?: any;
  }

  declare class BabelNodeIfStatement extends BabelNode {
    type: "IfStatement";
    test: BabelNodeExpression;
    consequent: BabelNodeStatement;
    alternate?: ?BabelNodeStatement;
  }

  declare class BabelNodeLabeledStatement extends BabelNode {
    type: "LabeledStatement";
    label: BabelNodeIdentifier;
    body: BabelNodeStatement;
  }

  declare class BabelNodeStringLiteral extends BabelNode {
    type: "StringLiteral";
    value: string;
  }

  declare class BabelNodeNumericLiteral extends BabelNode {
    type: "NumericLiteral";
    value: number;
  }

  declare class BabelNodeNullLiteral extends BabelNode {
    type: "NullLiteral";
  }

  declare class BabelNodeBooleanLiteral extends BabelNode {
    type: "BooleanLiteral";
    value: boolean;
  }

  declare class BabelNodeRegExpLiteral extends BabelNode {
    type: "RegExpLiteral";
    pattern: string;
    flags?: string;
  }

  declare class BabelNodeLogicalExpression extends BabelNode {
    type: "LogicalExpression";
    operator: BabelLogicalOperator;
    left: BabelNodeExpression;
    right: BabelNodeExpression;
  }

  declare class BabelNodeMemberExpression extends BabelNode {
    type: "MemberExpression";
    object: BabelNodeExpression;
    property: any;
    computed?: boolean;
  }

  declare class BabelNodeNewExpression extends BabelNode {
    type: "NewExpression";
    callee: BabelNodeExpression;
    arguments: Array<BabelNode>;
  }

  declare class BabelNodeProgram extends BabelNode {
    type: "Program";
    sourceType: "script" | "module";
    directives?: Array<BabelNodeDirective>;
    body: Array<BabelNodeStatement | BabelNodeModuleDeclaration>;
  }

  declare class BabelNodeObjectExpression extends BabelNode {
    type: "ObjectExpression";
    properties: Array<BabelNodeObjectProperty>;
  }

  declare class BabelNodeObjectMethod extends BabelNode {
    type: "ObjectMethod";
    kind: BabelObjectMethodKind;
    computed: boolean;
    key: BabelNodeExpression;
    decorators: Array<BabelNodeDecorator>;
    value: BabelNodeExpression;
    id?: ?BabelNodeIdentifier;
    params: Array<BabelNodeLVal>;
    body: BabelNodeBlockStatement;
    generator?: boolean;
    async: boolean;
  }

  declare class BabelNodeObjectProperty extends BabelNode {
    type: "ObjectProperty";
    computed: boolean;
    key: BabelNodeExpression;
    decorators: Array<BabelNodeDecorator>;
    value: BabelNodeExpression;
  }

  declare class BabelNodeRestElement extends BabelNode {
    type: "RestElement";
    argument: BabelNodePattern;
    decorators?: any;
    typeAnnotation: any;
  }

  declare class BabelNodeReturnStatement extends BabelNode {
    type: "ReturnStatement";
    argument?: ?BabelNodeExpression;
  }

  declare class BabelNodeSequenceExpression extends BabelNode {
    type: "SequenceExpression";
    expressions: Array<BabelNodeExpression>;
  }

  declare class BabelNodeSwitchCase extends BabelNode {
    type: "SwitchCase";
    test?: ?BabelNodeExpression;
    consequent: Array<BabelNodeStatement>;
  }

  declare class BabelNodeSwitchStatement extends BabelNode {
    type: "SwitchStatement";
    discriminant: BabelNodeExpression;
    cases: Array<BabelNodeSwitchCase>;
  }

  declare class BabelNodeThisExpression extends BabelNode {
    type: "ThisExpression";
  }

  declare class BabelNodeThrowStatement extends BabelNode {
    type: "ThrowStatement";
    argument: BabelNodeExpression;
  }

  declare class BabelNodeTryStatement extends BabelNode {
    type: "TryStatement";
    body?: ?BabelNodeBlockStatement;
    handler?: ?BabelNodeCatchClause;
    finalizer?: ?BabelNodeBlockStatement;
    block: BabelNodeBlockStatement;
  }

  declare class BabelNodeUnaryExpression extends BabelNode {
    type: "UnaryExpression";
    prefix?: boolean;
    argument: BabelNodeExpression;
    operator: BabelUnaryOperator;
  }

  declare class BabelNodeUpdateExpression extends BabelNode {
    type: "UpdateExpression";
    prefix?: boolean;
    argument: BabelNodeExpression;
    operator: BabelUpdateOperator;
  }

  declare class BabelNodeVariableDeclaration extends BabelNode {
    type: "VariableDeclaration";
    kind: BabelVariableKind;
    declarations: Array<BabelNodeVariableDeclarator>;
  }

  declare class BabelNodeVariableDeclarator extends BabelNode {
    type: "VariableDeclarator";
    id: BabelNodeLVal;
    init?: ?BabelNodeExpression;
  }

  declare class BabelNodeWhileStatement extends BabelNode {
    type: "WhileStatement";
    test: BabelNodeExpression;
    body: BabelNodeStatement;
  }

  declare class BabelNodeWithStatement extends BabelNode {
    type: "WithStatement";
    object: BabelNodeExpression;
    body: BabelNodeStatement;
  }

  declare class BabelNodeAssignmentPattern extends BabelNode {
    type: "AssignmentPattern";
    left: BabelNodeIdentifier;
    right: BabelNodeExpression;
    decorators?: any;
  }

  declare class BabelNodeArrayPattern extends BabelNode {
    type: "ArrayPattern";
    elements: any;
    decorators?: any;
    typeAnnotation: any;
  }

  declare class BabelNodeArrowFunctionExpression extends BabelNode {
    type: "ArrowFunctionExpression";
    body: BabelNodeBlockStatement | BabelNodeExpression;
    expression: boolean;
    id?: ?BabelNodeIdentifier;
    params: Array<BabelNodeLVal>;
    generator?: boolean;
    async: boolean;
    returnType?: any;
    typeParameters?: any;
  }

  declare class BabelNodeClassBody extends BabelNode {
    type: "ClassBody";
    body: Array<BabelNodeClassMethod | BabelNodeClassProperty>;
  }

  declare class BabelNodeClassDeclaration extends BabelNode {
    type: "ClassDeclaration";
    id: BabelNodeIdentifier;
    body: BabelNodeClassBody;
    superClass?: ?BabelNodeExpression;
    decorators: Array<BabelNodeDecorator>;
    mixins?: any;
    typeParameters?: any;
    superTypeParameters?: any;
  }

  declare class BabelNodeClassExpression extends BabelNode {
    type: "ClassExpression";
    id?: ?BabelNodeIdentifier;
    body: BabelNodeClassBody;
    superClass?: ?BabelNodeExpression;
    decorators: any;
    mixins?: any;
    typeParameters?: any;
    superTypeParameters?: any;
  }

  declare class BabelNodeExportAllDeclaration extends BabelNode {
    type: "ExportAllDeclaration";
    source: BabelNodeStringLiteral;
  }

  declare class BabelNodeExportDefaultDeclaration extends BabelNode {
    type: "ExportDefaultDeclaration";
    declaration: BabelNodeFunctionDeclaration | BabelNodeClassDeclaration | BabelNodeExpression;
  }

  declare class BabelNodeExportNamedDeclaration extends BabelNode {
    type: "ExportNamedDeclaration";
    declaration?: ?BabelNodeDeclaration;
    specifiers: Array<BabelNodeExportSpecifier>;
    source?: ?BabelNodeStringLiteral;
  }

  declare class BabelNodeExportSpecifier extends BabelNode {
    type: "ExportSpecifier";
    local: BabelNodeIdentifier;
    exported: BabelNodeIdentifier;
  }

  declare class BabelNodeForOfStatement extends BabelNode {
    type: "ForOfStatement";
    left: BabelNodeVariableDeclaration | BabelNodeLVal;
    right: BabelNodeExpression;
    body: BabelNodeStatement;
  }

  declare class BabelNodeImportDeclaration extends BabelNode {
    type: "ImportDeclaration";
    specifiers: [BabelNodeImportSpecifier | BabelNodeImportDefaultSpecifier | BabelNodeImportNamespaceSpecifier];
    source: BabelNodeStringLiteral;
  }

  declare class BabelNodeImportDefaultSpecifier extends BabelNode {
    type: "ImportDefaultSpecifier";
    local: BabelNodeIdentifier;
  }

  declare class BabelNodeImportNamespaceSpecifier extends BabelNode {
    type: "ImportNamespaceSpecifier";
    local: BabelNodeIdentifier;
  }

  declare class BabelNodeImportSpecifier extends BabelNode {
    type: "ImportSpecifier";
    local: BabelNodeIdentifier;
    imported: BabelNodeIdentifier;
  }

  declare class BabelNodeMetaProperty extends BabelNode {
    type: "MetaProperty";
    meta: BabelNodeIdentifier;
    property: BabelNodeIdentifier;
  }

  declare class BabelNodeClassMethod extends BabelNode {
    type: "ClassMethod";
    kind?: any;
    computed?: boolean;
    key: any;
    params: Array<BabelNodeLVal>;
    body: BabelNodeBlockStatement;
    generator?: boolean;
    async?: boolean;
    decorators: Array<BabelNodeDecorator>;
    returnType?: any;
    typeParameters?: any;
  }

  declare class BabelNodeObjectPattern extends BabelNode {
    type: "ObjectPattern";
    properties: any;
    decorators?: any;
    typeAnnotation: any;
  }

  declare class BabelNodeSpreadElement extends BabelNode {
    type: "SpreadElement";
    argument: BabelNodeExpression;
  }

  declare class BabelNodeSuper extends BabelNode {
    type: "Super";
  }

  declare class BabelNodeTaggedTemplateExpression extends BabelNode {
    type: "TaggedTemplateExpression";
    tag: BabelNodeExpression;
    quasi: BabelNodeTemplateLiteral;
  }

  declare class BabelNodeTemplateElement extends BabelNode {
    type: "TemplateElement";
    value: { cooked: string, raw: string };
    tail: boolean;
  }

  declare class BabelNodeTemplateLiteral extends BabelNode {
    type: "TemplateLiteral";
    quasis: Array<BabelNodeTemplateElement>;
    expressions: Array<BabelNodeExpression>;
  }

  declare class BabelNodeYieldExpression extends BabelNode {
    type: "YieldExpression";
    delegate: boolean;
    argument?: ?BabelNodeExpression;
  }

  declare class BabelNodeAnyTypeAnnotation extends BabelNode {
    type: "AnyTypeAnnotation";
  }

  declare class BabelNodeArrayTypeAnnotation extends BabelNode {
    type: "ArrayTypeAnnotation";
    elementType: any;
  }

  declare class BabelNodeBooleanTypeAnnotation extends BabelNode {
    type: "BooleanTypeAnnotation";
  }

  declare class BabelNodeBooleanLiteralTypeAnnotation extends BabelNode {
    type: "BooleanLiteralTypeAnnotation";
  }

  declare class BabelNodeNullLiteralTypeAnnotation extends BabelNode {
    type: "NullLiteralTypeAnnotation";
  }

  declare class BabelNodeClassImplements extends BabelNode {
    type: "ClassImplements";
    id: any;
    typeParameters: any;
  }

  declare class BabelNodeClassProperty extends BabelNode {
    type: "ClassProperty";
    computed: boolean;
    key: BabelNodeIdentifier;
    value: BabelNodeExpression;
    typeAnnotation: any;
    decorators: Array<BabelNodeDecorator>;
  }

  declare class BabelNodeDeclareClass extends BabelNode {
    type: "DeclareClass";
    id: any;
    typeParameters: any;
    body: any;
  }

  declare class BabelNodeDeclareFunction extends BabelNode {
    type: "DeclareFunction";
    id: any;
  }

  declare class BabelNodeDeclareInterface extends BabelNode {
    type: "DeclareInterface";
    id: any;
    typeParameters: any;
    body: any;
  }

  declare class BabelNodeDeclareModule extends BabelNode {
    type: "DeclareModule";
    id: any;
    body: any;
  }

  declare class BabelNodeDeclareModuleExports extends BabelNode {
    type: "DeclareModuleExports";
    typeAnnotation: any;
  }

  declare class BabelNodeDeclareTypeAlias extends BabelNode {
    type: "DeclareTypeAlias";
    id: any;
    typeParameters: any;
    right: any;
  }

  declare class BabelNodeDeclareVariable extends BabelNode {
    type: "DeclareVariable";
    id: any;
  }

  declare class BabelNodeExistentialTypeParam extends BabelNode {
    type: "ExistentialTypeParam";
  }

  declare class BabelNodeFunctionTypeAnnotation extends BabelNode {
    type: "FunctionTypeAnnotation";
    typeParameters: any;
    params: any;
    rest: any;
    returnType: any;
  }

  declare class BabelNodeFunctionTypeParam extends BabelNode {
    type: "FunctionTypeParam";
    name: any;
    typeAnnotation: any;
  }

  declare class BabelNodeGenericTypeAnnotation extends BabelNode {
    type: "GenericTypeAnnotation";
    id: any;
    typeParameters: any;
  }

  declare class BabelNodeInterfaceExtends extends BabelNode {
    type: "InterfaceExtends";
    id: any;
    typeParameters: any;
  }

  declare class BabelNodeInterfaceDeclaration extends BabelNode {
    type: "InterfaceDeclaration";
    id: any;
    typeParameters: any;
    body: any;
  }

  declare class BabelNodeIntersectionTypeAnnotation extends BabelNode {
    type: "IntersectionTypeAnnotation";
    types: any;
  }

  declare class BabelNodeMixedTypeAnnotation extends BabelNode {
    type: "MixedTypeAnnotation";
  }

  declare class BabelNodeEmptyTypeAnnotation extends BabelNode {
    type: "EmptyTypeAnnotation";
  }

  declare class BabelNodeNullableTypeAnnotation extends BabelNode {
    type: "NullableTypeAnnotation";
    typeAnnotation: any;
  }

  declare class BabelNodeNumericLiteralTypeAnnotation extends BabelNode {
    type: "NumericLiteralTypeAnnotation";
  }

  declare class BabelNodeNumberTypeAnnotation extends BabelNode {
    type: "Nu
Download .txt
gitextract_kabnlgk2/

├── .circleci/
│   └── config.yml
├── .eslintignore
├── .eslintrc
├── .flowconfig
├── .gitignore
├── .gitmodules
├── .prettierrc
├── .watchmanconfig
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── PATENTS
├── README.md
├── babel.config.js
├── bin/
│   ├── prepack-repl.js
│   └── prepack.js
├── flow-libs/
│   ├── vscode-debugadapter.js.flow
│   └── vscode-debugprotocol.js.flow
├── flow-typed/
│   └── npm/
│       ├── @babel/
│       │   ├── cli_vx.x.x.js
│       │   ├── core_vx.x.x.js
│       │   ├── generator_vx.x.x.js
│       │   ├── node_vx.x.x.js
│       │   ├── parser_vx.x.x.js
│       │   ├── plugin-proposal-class-properties_vx.x.x.js
│       │   ├── plugin-proposal-export-default-from_vx.x.x.js
│       │   ├── plugin-proposal-object-rest-spread_vx.x.x.js
│       │   ├── plugin-syntax-flow_vx.x.x.js
│       │   ├── plugin-transform-flow-strip-types_vx.x.x.js
│       │   ├── plugin-transform-modules-commonjs_vx.x.x.js
│       │   ├── plugin-transform-react-jsx_vx.x.x.js
│       │   ├── preset-env_vx.x.x.js
│       │   ├── preset-flow_vx.x.x.js
│       │   ├── preset-react_vx.x.x.js
│       │   ├── register_vx.x.x.js
│       │   ├── template_vx.x.x.js
│       │   └── traverse_vx.x.x.js
│       ├── babel-cli_vx.x.x.js
│       ├── babel-core_vx.x.x.js
│       ├── babel-eslint_vx.x.x.js
│       ├── babel-generator_vx.x.x.js
│       ├── babel-helper-function-name_vx.x.x.js
│       ├── babel-helper-get-function-arity_vx.x.x.js
│       ├── babel-jest_vx.x.x.js
│       ├── babel-plugin-jest-hoist_vx.x.x.js
│       ├── babel-plugin-transform-class-properties_vx.x.x.js
│       ├── babel-plugin-transform-object-rest-spread_vx.x.x.js
│       ├── babel-preset-es2015_vx.x.x.js
│       ├── babel-preset-react_vx.x.x.js
│       ├── babel-template_vx.x.x.js
│       ├── babel-traverse_vx.x.x.js
│       ├── babel-types_vx.x.x.js
│       ├── babylon_vx.x.x.js
│       ├── chalk_v1.x.x.js
│       ├── eslint-config-kittens_vx.x.x.js
│       ├── eslint-plugin-babel_vx.x.x.js
│       ├── eslint-plugin-flow-header_vx.x.x.js
│       ├── eslint-plugin-flowtype_vx.x.x.js
│       ├── eslint-plugin-header_vx.x.x.js
│       ├── eslint-plugin-prettier_vx.x.x.js
│       ├── eslint_vx.x.x.js
│       ├── flow-typed_vx.x.x.js
│       ├── graceful-fs_v4.1.x.js
│       ├── invariant_v2.x.x.js
│       ├── istanbul_vx.x.x.js
│       ├── jest_v23.x.x.js
│       ├── js-beautify_v1.6.x.js
│       ├── js-yaml_vx.x.x.js
│       ├── jsdom_vx.x.x.js
│       ├── madge_vx.x.x.js
│       ├── minimist_v1.x.x.js
│       ├── node-zip_vx.x.x.js
│       ├── prettier_v1.x.x.js
│       ├── prop-types_v15.x.x.js
│       ├── queue-fifo_vx.x.x.js
│       ├── react-native_vx.x.x.js
│       ├── react-relay_v1.x.x.js
│       ├── regenerator-runtime_vx.x.x.js
│       ├── remap-istanbul_vx.x.x.js
│       ├── repeating_vx.x.x.js
│       ├── seedrandom_vx.x.x.js
│       ├── source-map-support_vx.x.x.js
│       ├── source-map_vx.x.x.js
│       ├── uglify-js_vx.x.x.js
│       ├── v8-profiler-node8_vx.x.x.js
│       ├── vscode-debugadapter_vx.x.x.js
│       ├── vscode-debugprotocol_vx.x.x.js
│       ├── webpack-cli_vx.x.x.js
│       └── webpack_vx.x.x.js
├── fuzzer/
│   ├── .eslintrc
│   ├── .gitignore
│   ├── package.json
│   └── src/
│       ├── execute.js
│       ├── gen.js
│       ├── overnight.js
│       ├── property.js
│       ├── report.js
│       ├── sample.js
│       └── test.js
├── package.json
├── scripts/
│   ├── .eslintrc
│   ├── debug-fb-www.js
│   ├── detect_bad_deps.js
│   ├── generate-sourcemaps-test.js
│   ├── instrumentor.js
│   ├── lint-config.js
│   ├── multi-runner.js
│   ├── prettier.js
│   ├── publish-gh-pages.sh
│   ├── test-error-handler.js
│   ├── test-internal-react.js
│   ├── test-internal.js
│   ├── test-runner.js
│   ├── test-sourcemaps.sh
│   ├── test-std-in.sh
│   ├── test262-filters.yml
│   ├── test262-runner.js
│   └── test262.js
├── src/
│   ├── benchmarker.js
│   ├── completions.js
│   ├── construct_realm.js
│   ├── debugger/
│   │   ├── adapter/
│   │   │   ├── DebugAdapter.js
│   │   │   └── channel/
│   │   │       └── AdapterChannel.js
│   │   ├── common/
│   │   │   ├── DebuggerConstants.js
│   │   │   ├── DebuggerError.js
│   │   │   ├── channel/
│   │   │   │   ├── DebugMessage.js
│   │   │   │   ├── FileIOWrapper.js
│   │   │   │   ├── MessageMarshaller.js
│   │   │   │   └── MessagePackager.js
│   │   │   ├── invariant.js
│   │   │   └── types.js
│   │   ├── mock-ui/
│   │   │   ├── DataHandler.js
│   │   │   ├── UISession.js
│   │   │   └── debugger-cli.js
│   │   └── server/
│   │       ├── Breakpoint.js
│   │       ├── BreakpointManager.js
│   │       ├── Debugger.js
│   │       ├── PerFileBreakpointMap.js
│   │       ├── ReferenceMap.js
│   │       ├── Stepper.js
│   │       ├── SteppingManager.js
│   │       ├── StopEventManager.js
│   │       ├── VariableManager.js
│   │       └── channel/
│   │           └── DebugChannel.js
│   ├── descriptors.js
│   ├── domains/
│   │   ├── TypesDomain.js
│   │   ├── ValuesDomain.js
│   │   └── index.js
│   ├── environment.js
│   ├── errors.js
│   ├── evaluators/
│   │   ├── ArrayExpression.js
│   │   ├── ArrowFunctionExpression.js
│   │   ├── AssignmentExpression.js
│   │   ├── AwaitExpression.js
│   │   ├── BinaryExpression.js
│   │   ├── BlockStatement.js
│   │   ├── BooleanLiteral.js
│   │   ├── BreakStatement.js
│   │   ├── CallExpression.js
│   │   ├── CatchClause.js
│   │   ├── ClassDeclaration.js
│   │   ├── ClassExpression.js
│   │   ├── ConditionalExpression.js
│   │   ├── ContinueStatement.js
│   │   ├── Directive.js
│   │   ├── DirectiveLiteral.js
│   │   ├── DoExpression.js
│   │   ├── DoWhileStatement.js
│   │   ├── EmptyStatement.js
│   │   ├── ExpressionStatement.js
│   │   ├── File.js
│   │   ├── ForInStatement.js
│   │   ├── ForOfStatement.js
│   │   ├── ForStatement.js
│   │   ├── FunctionDeclaration.js
│   │   ├── FunctionExpression.js
│   │   ├── Identifier.js
│   │   ├── IfStatement.js
│   │   ├── JSXElement.js
│   │   ├── LabeledStatement.js
│   │   ├── LogicalExpression.js
│   │   ├── MemberExpression.js
│   │   ├── MetaProperty.js
│   │   ├── NewExpression.js
│   │   ├── NullLiteral.js
│   │   ├── NumericLiteral.js
│   │   ├── ObjectExpression.js
│   │   ├── Program.js
│   │   ├── RegExpLiteral.js
│   │   ├── ReturnStatement.js
│   │   ├── SequenceExpression.js
│   │   ├── StringLiteral.js
│   │   ├── SuperCall.js
│   │   ├── SuperProperty.js
│   │   ├── SwitchStatement.js
│   │   ├── TaggedTemplateExpression.js
│   │   ├── TemplateLiteral.js
│   │   ├── ThisExpression.js
│   │   ├── ThrowStatement.js
│   │   ├── TryStatement.js
│   │   ├── UnaryExpression.js
│   │   ├── UpdateExpression.js
│   │   ├── VariableDeclaration.js
│   │   ├── WhileStatement.js
│   │   ├── WithStatement.js
│   │   ├── YieldExpression.js
│   │   └── index.js
│   ├── globals.js
│   ├── initialize-singletons.js
│   ├── intrinsics/
│   │   ├── common/
│   │   │   └── console.js
│   │   ├── dom/
│   │   │   ├── document.js
│   │   │   ├── global.js
│   │   │   ├── setInterval.js
│   │   │   └── setTimeout.js
│   │   ├── ecma262/
│   │   │   ├── Array.js
│   │   │   ├── ArrayBuffer.js
│   │   │   ├── ArrayBufferPrototype.js
│   │   │   ├── ArrayIteratorPrototype.js
│   │   │   ├── ArrayProto_toString.js
│   │   │   ├── ArrayProto_values.js
│   │   │   ├── ArrayPrototype.js
│   │   │   ├── Boolean.js
│   │   │   ├── BooleanPrototype.js
│   │   │   ├── DataView.js
│   │   │   ├── DataViewPrototype.js
│   │   │   ├── Date.js
│   │   │   ├── DatePrototype.js
│   │   │   ├── Error.js
│   │   │   ├── ErrorPrototype.js
│   │   │   ├── EvalError.js
│   │   │   ├── EvalErrorPrototype.js
│   │   │   ├── Float32Array.js
│   │   │   ├── Float32ArrayPrototype.js
│   │   │   ├── Float64Array.js
│   │   │   ├── Float64ArrayPrototype.js
│   │   │   ├── Function.js
│   │   │   ├── FunctionPrototype.js
│   │   │   ├── Generator.js
│   │   │   ├── GeneratorFunction.js
│   │   │   ├── GeneratorPrototype.js
│   │   │   ├── Int16Array.js
│   │   │   ├── Int16ArrayPrototype.js
│   │   │   ├── Int32Array.js
│   │   │   ├── Int32ArrayPrototype.js
│   │   │   ├── Int8Array.js
│   │   │   ├── Int8ArrayPrototype.js
│   │   │   ├── IteratorPrototype.js
│   │   │   ├── JSON.js
│   │   │   ├── Map.js
│   │   │   ├── MapIteratorPrototype.js
│   │   │   ├── MapPrototype.js
│   │   │   ├── Math.js
│   │   │   ├── Number.js
│   │   │   ├── NumberPrototype.js
│   │   │   ├── Object.js
│   │   │   ├── ObjectProto_toString.js
│   │   │   ├── ObjectPrototype.js
│   │   │   ├── Promise.js
│   │   │   ├── PromisePrototype.js
│   │   │   ├── Proxy.js
│   │   │   ├── RangeError.js
│   │   │   ├── RangeErrorPrototype.js
│   │   │   ├── ReferenceError.js
│   │   │   ├── ReferenceErrorPrototype.js
│   │   │   ├── Reflect.js
│   │   │   ├── RegExp.js
│   │   │   ├── RegExpPrototype.js
│   │   │   ├── Set.js
│   │   │   ├── SetIteratorPrototype.js
│   │   │   ├── SetPrototype.js
│   │   │   ├── String.js
│   │   │   ├── StringIteratorPrototype.js
│   │   │   ├── StringPrototype.js
│   │   │   ├── Symbol.js
│   │   │   ├── SymbolPrototype.js
│   │   │   ├── SyntaxError.js
│   │   │   ├── SyntaxErrorPrototype.js
│   │   │   ├── ThrowTypeError.js
│   │   │   ├── TypeError.js
│   │   │   ├── TypeErrorPrototype.js
│   │   │   ├── TypedArray.js
│   │   │   ├── TypedArrayProto_values.js
│   │   │   ├── TypedArrayPrototype.js
│   │   │   ├── URIError.js
│   │   │   ├── URIErrorPrototype.js
│   │   │   ├── Uint16Array.js
│   │   │   ├── Uint16ArrayPrototype.js
│   │   │   ├── Uint32Array.js
│   │   │   ├── Uint32ArrayPrototype.js
│   │   │   ├── Uint8Array.js
│   │   │   ├── Uint8ArrayPrototype.js
│   │   │   ├── Uint8ClampedArray.js
│   │   │   ├── Uint8ClampedArrayPrototype.js
│   │   │   ├── WeakMap.js
│   │   │   ├── WeakMapPrototype.js
│   │   │   ├── WeakSet.js
│   │   │   ├── WeakSetPrototype.js
│   │   │   ├── decodeURI.js
│   │   │   ├── decodeURIComponent.js
│   │   │   ├── encodeURI.js
│   │   │   ├── encodeURIComponent.js
│   │   │   ├── eval.js
│   │   │   ├── global.js
│   │   │   ├── isFinite.js
│   │   │   ├── isNaN.js
│   │   │   ├── parseFloat.js
│   │   │   └── parseInt.js
│   │   ├── fb-www/
│   │   │   ├── fb-mocks.js
│   │   │   ├── global.js
│   │   │   ├── react-dom-mocks.js
│   │   │   ├── react-mocks.js
│   │   │   ├── react-native-mocks.js
│   │   │   ├── relay-mocks.js
│   │   │   └── utils.js
│   │   ├── index.js
│   │   ├── prepack/
│   │   │   ├── __IntrospectionError.js
│   │   │   ├── __IntrospectionErrorPrototype.js
│   │   │   ├── global.js
│   │   │   └── utils.js
│   │   └── react-native/
│   │       └── global.js
│   ├── invariant.js
│   ├── methods/
│   │   ├── abstract.js
│   │   ├── arraybuffer.js
│   │   ├── call.js
│   │   ├── construct.js
│   │   ├── create.js
│   │   ├── date.js
│   │   ├── destructuring.js
│   │   ├── environment.js
│   │   ├── function.js
│   │   ├── generator.js
│   │   ├── get.js
│   │   ├── has.js
│   │   ├── hash.js
│   │   ├── index.js
│   │   ├── integerindexed.js
│   │   ├── integrity.js
│   │   ├── is.js
│   │   ├── iterator.js
│   │   ├── join.js
│   │   ├── json.js
│   │   ├── own.js
│   │   ├── promise.js
│   │   ├── properties.js
│   │   ├── proxy.js
│   │   ├── regexp.js
│   │   ├── to.js
│   │   ├── typedarray.js
│   │   └── widen.js
│   ├── options.js
│   ├── prepack-cli.js
│   ├── prepack-node.js
│   ├── prepack-options.js
│   ├── prepack-standalone.js
│   ├── react/
│   │   ├── ReactElementSet.js
│   │   ├── ReactEquivalenceSet.js
│   │   ├── ReactPropsSet.js
│   │   ├── branching.js
│   │   ├── components.js
│   │   ├── elements.js
│   │   ├── errors.js
│   │   ├── experimental-server-rendering/
│   │   │   ├── dom-config.js
│   │   │   ├── rendering.js
│   │   │   └── utils.js
│   │   ├── hoisting.js
│   │   ├── jsx.js
│   │   ├── optimizing.js
│   │   ├── reconcilation.js
│   │   └── utils.js
│   ├── realm.js
│   ├── repl-cli.js
│   ├── serializer/
│   │   ├── Emitter.js
│   │   ├── GeneratorTree.js
│   │   ├── LazyObjectsSerializer.js
│   │   ├── LoggingTracer.js
│   │   ├── Referentializer.js
│   │   ├── ResidualFunctionInitializers.js
│   │   ├── ResidualFunctionInstantiator.js
│   │   ├── ResidualFunctions.js
│   │   ├── ResidualHeapGraphGenerator.js
│   │   ├── ResidualHeapRefCounter.js
│   │   ├── ResidualHeapSerializer.js
│   │   ├── ResidualHeapValueIdentifiers.js
│   │   ├── ResidualHeapVisitor.js
│   │   ├── ResidualOperationSerializer.js
│   │   ├── ResidualOptimizedFunctions.js
│   │   ├── ResidualReactElementSerializer.js
│   │   ├── ResidualReactElementVisitor.js
│   │   ├── factorify.js
│   │   ├── functions.js
│   │   ├── index.js
│   │   ├── serializer.js
│   │   ├── statistics.js
│   │   ├── types.js
│   │   ├── utils.js
│   │   └── visitors.js
│   ├── singletons.js
│   ├── statistics.js
│   ├── types.js
│   ├── utils/
│   │   ├── ConcreteModelConverter.js
│   │   ├── DebugReproManager.js
│   │   ├── DebugReproPackager.js
│   │   ├── HeapInspector.js
│   │   ├── JSONTokenizer.js
│   │   ├── NameGenerator.js
│   │   ├── PreludeGenerator.js
│   │   ├── ShapeInformation.js
│   │   ├── SourceMapManager.js
│   │   ├── TextPrinter.js
│   │   ├── babelhelpers.js
│   │   ├── errors.js
│   │   ├── flow.js
│   │   ├── generator.js
│   │   ├── internalizer.js
│   │   ├── json.js
│   │   ├── leak.js
│   │   ├── logger.js
│   │   ├── modules.js
│   │   ├── native-to-interp.js
│   │   ├── parse.js
│   │   ├── paths.js
│   │   ├── reachability.js
│   │   ├── simplifier.js
│   │   ├── strict.js
│   │   └── traverse-fast.js
│   ├── utils.js
│   └── values/
│       ├── AbstractObjectValue.js
│       ├── AbstractValue.js
│       ├── ArgumentsExotic.js
│       ├── ArrayValue.js
│       ├── BooleanValue.js
│       ├── BoundFunctionValue.js
│       ├── ConcreteValue.js
│       ├── ECMAScriptFunctionValue.js
│       ├── ECMAScriptSourceFunctionValue.js
│       ├── EmptyValue.js
│       ├── FunctionValue.js
│       ├── IntegerIndexedExotic.js
│       ├── NativeFunctionValue.js
│       ├── NullValue.js
│       ├── NumberValue.js
│       ├── ObjectValue.js
│       ├── PrimitiveValue.js
│       ├── ProxyValue.js
│       ├── StringExotic.js
│       ├── StringValue.js
│       ├── SymbolValue.js
│       ├── UndefinedValue.js
│       ├── Value.js
│       └── index.js
├── test/
│   ├── error-handler/
│   │   ├── .write-write-conflict.js.swp
│   │   ├── EmptyBuiltInArrayCycle.js
│   │   ├── EmptyBuiltInPropsCycle.js
│   │   ├── FinalObjectCannotBeMutated.js
│   │   ├── InstantRenderArrayOps3.js
│   │   ├── ModifiedObjectPropertyLimitation.js
│   │   ├── PropertyAttributeConflict.js
│   │   ├── Set.js
│   │   ├── abstract-value-check-dup-name-string.js
│   │   ├── bad-functions.js
│   │   ├── binaryExpression.js
│   │   ├── call.js
│   │   ├── call2.js
│   │   ├── class.js
│   │   ├── conditional-return.js
│   │   ├── forInStatement.js
│   │   ├── forOfStatement.js
│   │   ├── in1.js
│   │   ├── in2.js
│   │   ├── instanceof.js
│   │   ├── member.js
│   │   ├── member2.js
│   │   ├── object-assign.js
│   │   ├── objectExpression.js
│   │   ├── objectExpression2.js
│   │   ├── objectpattern.js
│   │   ├── stackOverflow.js
│   │   ├── syntaxError.js
│   │   ├── testErrorHandlerCalled.js
│   │   ├── try-and-access-abstract-property.js
│   │   ├── try-and-call-abstract-function.js
│   │   ├── unaryExpression.js
│   │   ├── updateExpression.js
│   │   ├── with.js
│   │   ├── with2.js
│   │   ├── write-forin-conflict.js
│   │   ├── write-in-conflict.js
│   │   ├── write-reflect-conflict.js
│   │   ├── write-write-conflict.js
│   │   ├── write-write-conflict2.js
│   │   ├── write-write-conflict3.js
│   │   ├── write-write-conflict4.js
│   │   └── write-write-unknown-prop-conflict.js
│   ├── react/
│   │   ├── AssignSpread/
│   │   │   ├── simple-assign.js
│   │   │   ├── simple-assign2.js
│   │   │   ├── simple-assign3.js
│   │   │   ├── simple-assign4.js
│   │   │   ├── simple-assign5.js
│   │   │   ├── simple-with-jsx-spread.js
│   │   │   ├── simple-with-jsx-spread10.js
│   │   │   ├── simple-with-jsx-spread11.js
│   │   │   ├── simple-with-jsx-spread12.js
│   │   │   ├── simple-with-jsx-spread13.js
│   │   │   ├── simple-with-jsx-spread2.js
│   │   │   ├── simple-with-jsx-spread3.js
│   │   │   ├── simple-with-jsx-spread4.js
│   │   │   ├── simple-with-jsx-spread5.js
│   │   │   ├── simple-with-jsx-spread6.js
│   │   │   ├── simple-with-jsx-spread7.js
│   │   │   ├── simple-with-jsx-spread8.js
│   │   │   ├── simple-with-jsx-spread9.js
│   │   │   └── unsafe-spread.js
│   │   ├── AssignSpread-test.js
│   │   ├── ClassComponents/
│   │   │   ├── array-from.js
│   │   │   ├── array-from2.js
│   │   │   ├── classes-with-state.js
│   │   │   ├── complex-class-into-functional-root.js
│   │   │   ├── complex-class-into-functional-root2.js
│   │   │   ├── complex-class-into-functional-root3.js
│   │   │   ├── complex-class-into-functional-root4.js
│   │   │   ├── complex-class-into-functional-root5.js
│   │   │   ├── complex-class-proper-hoisting.js
│   │   │   ├── complex-class-with-equivalent-node.js
│   │   │   ├── inheritance-chain.js
│   │   │   ├── simple-classes-2.js
│   │   │   ├── simple-classes-3.js
│   │   │   ├── simple-classes.js
│   │   │   └── simple.js
│   │   ├── ClassComponents-test.js
│   │   ├── FBMocks/
│   │   │   ├── fb1.js
│   │   │   ├── fb10.js
│   │   │   ├── fb11.js
│   │   │   ├── fb12.js
│   │   │   ├── fb13.js
│   │   │   ├── fb14.js
│   │   │   ├── fb15.js
│   │   │   ├── fb16.js
│   │   │   ├── fb17.js
│   │   │   ├── fb18.js
│   │   │   ├── fb19.js
│   │   │   ├── fb2.js
│   │   │   ├── fb20.js
│   │   │   ├── fb21.js
│   │   │   ├── fb22.js
│   │   │   ├── fb23.js
│   │   │   ├── fb24.js
│   │   │   ├── fb25.js
│   │   │   ├── fb3.js
│   │   │   ├── fb4.js
│   │   │   ├── fb5.js
│   │   │   ├── fb6.js
│   │   │   ├── fb7.js
│   │   │   ├── fb8.js
│   │   │   ├── fb9.js
│   │   │   ├── function-bind.js
│   │   │   ├── hacker-news.js
│   │   │   ├── hacker-news.json
│   │   │   ├── pe-functional-benchmark.js
│   │   │   └── repl-example.js
│   │   ├── FBMocks-test.js
│   │   ├── FactoryComponents/
│   │   │   ├── simple.js
│   │   │   └── simple2.js
│   │   ├── FactoryComponents-test.js
│   │   ├── FirstRenderOnly/
│   │   │   ├── equivalence.js
│   │   │   ├── equivalence2.js
│   │   │   ├── equivalence3.js
│   │   │   ├── equivalence4.js
│   │   │   ├── equivalence5.js
│   │   │   ├── get-derived-state-from-props.js
│   │   │   ├── get-derived-state-from-props2.js
│   │   │   ├── get-derived-state-from-props3.js
│   │   │   ├── get-derived-state-from-props4.js
│   │   │   ├── get-derived-state-from-props5.js
│   │   │   ├── react-context.js
│   │   │   ├── react-context2.js
│   │   │   ├── react-context3.js
│   │   │   ├── react-context4.js
│   │   │   ├── react-context5.js
│   │   │   ├── react-context6.js
│   │   │   ├── replace-this-in-callbacks.js
│   │   │   ├── replace-this-in-callbacks2.js
│   │   │   ├── replace-this-in-callbacks3.js
│   │   │   ├── simple-2.js
│   │   │   ├── simple-3.js
│   │   │   ├── simple-4.js
│   │   │   ├── simple.js
│   │   │   └── will-mount.js
│   │   ├── FirstRenderOnly-test.js
│   │   ├── FunctionalComponents/
│   │   │   ├── additional-function-regression.js
│   │   │   ├── array-from.js
│   │   │   ├── array-map.js
│   │   │   ├── array-map2.js
│   │   │   ├── array-map3.js
│   │   │   ├── array-twice.js
│   │   │   ├── bound-type.js
│   │   │   ├── bound-type2.js
│   │   │   ├── circular-reference.js
│   │   │   ├── class-root-with-instance-vars-2.js
│   │   │   ├── class-root-with-instance-vars.js
│   │   │   ├── class-root-with-props.js
│   │   │   ├── class-root-with-refs.js
│   │   │   ├── class-root-with-render-methods.js
│   │   │   ├── class-root-with-state.js
│   │   │   ├── class-root.js
│   │   │   ├── clone-element.js
│   │   │   ├── clone-element2.js
│   │   │   ├── conditional.js
│   │   │   ├── default-props.js
│   │   │   ├── default-props2.js
│   │   │   ├── delete-element-prop-key.js
│   │   │   ├── do-not-optimize.js
│   │   │   ├── dynamic-context.js
│   │   │   ├── dynamic-props.js
│   │   │   ├── dynamic-type.js
│   │   │   ├── dynamic-type2.js
│   │   │   ├── dynamic-type3.js
│   │   │   ├── dynamic-type4.js
│   │   │   ├── equivalence.js
│   │   │   ├── event-handlers.js
│   │   │   ├── hoist-fragment.js
│   │   │   ├── keyed-non-element.js
│   │   │   ├── keyed-unnecessarily.js
│   │   │   ├── keyed.js
│   │   │   ├── model-props.js
│   │   │   ├── nested-array-children.js
│   │   │   ├── not-safe.js
│   │   │   ├── not-safe2.js
│   │   │   ├── null-or-undefined-props.js
│   │   │   ├── pathological-case.js
│   │   │   ├── react-children-map.js
│   │   │   ├── react-element-havoc.js
│   │   │   ├── refs-typeof.js
│   │   │   ├── refs.js
│   │   │   ├── refs2.js
│   │   │   ├── refs3.js
│   │   │   ├── return-text.js
│   │   │   ├── return-undefined.js
│   │   │   ├── runtime-error.js
│   │   │   ├── safe.js
│   │   │   ├── safe2.js
│   │   │   ├── safe3.js
│   │   │   ├── simple-10.js
│   │   │   ├── simple-11.js
│   │   │   ├── simple-12.js
│   │   │   ├── simple-13.js
│   │   │   ├── simple-14.js
│   │   │   ├── simple-15.js
│   │   │   ├── simple-16.js
│   │   │   ├── simple-17.js
│   │   │   ├── simple-18.js
│   │   │   ├── simple-19.js
│   │   │   ├── simple-2.js
│   │   │   ├── simple-20.js
│   │   │   ├── simple-21.js
│   │   │   ├── simple-22.js
│   │   │   ├── simple-23.js
│   │   │   ├── simple-24.js
│   │   │   ├── simple-25.js
│   │   │   ├── simple-26.js
│   │   │   ├── simple-27.js
│   │   │   ├── simple-28.js
│   │   │   ├── simple-29.js
│   │   │   ├── simple-3.js
│   │   │   ├── simple-4.js
│   │   │   ├── simple-5.js
│   │   │   ├── simple-6.js
│   │   │   ├── simple-7.js
│   │   │   ├── simple-8.js
│   │   │   ├── simple-9.js
│   │   │   ├── simple-children.js
│   │   │   ├── simple-fragments.js
│   │   │   ├── simple-refs.js
│   │   │   ├── simple-with-abstract-props.js
│   │   │   ├── simple-with-new-expression.js
│   │   │   ├── simple-with-unary.js
│   │   │   ├── simple.js
│   │   │   └── two-roots.js
│   │   ├── FunctionalComponents-test.js
│   │   ├── ReactDOM/
│   │   │   └── create-portal.js
│   │   ├── ReactDOM-test.js
│   │   ├── ReactNative/
│   │   │   ├── simple.js
│   │   │   └── simple2.js
│   │   ├── ReactNative-test.js
│   │   ├── Reconciliation/
│   │   │   ├── key-change-fragments.js
│   │   │   ├── key-change.js
│   │   │   ├── key-nesting-2.js
│   │   │   ├── key-nesting-3.js
│   │   │   ├── key-nesting-4.js
│   │   │   ├── key-nesting-5.js
│   │   │   ├── key-nesting-6.js
│   │   │   ├── key-nesting-7.js
│   │   │   ├── key-nesting-8.js
│   │   │   ├── key-nesting-9.js
│   │   │   ├── key-nesting.js
│   │   │   ├── key-not-change-fragments.js
│   │   │   ├── lazy-branched-elements.js
│   │   │   ├── lazy-branched-elements2.js
│   │   │   ├── type-change.js
│   │   │   ├── type-change10.js
│   │   │   ├── type-change11.js
│   │   │   ├── type-change2.js
│   │   │   ├── type-change3.js
│   │   │   ├── type-change4.js
│   │   │   ├── type-change5.js
│   │   │   ├── type-change6.js
│   │   │   ├── type-change7.js
│   │   │   ├── type-change8.js
│   │   │   ├── type-change9.js
│   │   │   └── type-same.js
│   │   ├── Reconciliation-test.js
│   │   ├── RenderProps/
│   │   │   ├── react-context.js
│   │   │   ├── react-context2.js
│   │   │   ├── react-context3.js
│   │   │   ├── react-context4.js
│   │   │   ├── react-context5.js
│   │   │   ├── react-context6.js
│   │   │   ├── react-context7.js
│   │   │   ├── react-root-context.js
│   │   │   ├── react-root-context2.js
│   │   │   ├── react-root-context3.js
│   │   │   ├── react-root-context4.js
│   │   │   ├── relay-query-renderer.js
│   │   │   ├── relay-query-renderer2.js
│   │   │   └── relay-query-renderer3.js
│   │   ├── RenderProps-test.js
│   │   ├── ServerRendering/
│   │   │   ├── hacker-news.js
│   │   │   ├── hacker-news.json
│   │   │   └── pe-functional-benchmark.js
│   │   ├── ServerRendering-test.js
│   │   ├── Throw/
│   │   │   ├── throw-conditional.js
│   │   │   └── throw.js
│   │   ├── Throw-test.js
│   │   ├── __snapshots__/
│   │   │   ├── AssignSpread-test.js.snap
│   │   │   ├── ClassComponents-test.js.snap
│   │   │   ├── FBMocks-test.js.snap
│   │   │   ├── FactoryComponents-test.js.snap
│   │   │   ├── FirstRenderOnly-test.js.snap
│   │   │   ├── FunctionalComponents-test.js.snap
│   │   │   ├── ReactDOM-test.js.snap
│   │   │   ├── ReactNative-test.js.snap
│   │   │   ├── Reconciliation-test.js.snap
│   │   │   ├── RenderProps-test.js.snap
│   │   │   ├── ServerRendering-test.js.snap
│   │   │   └── Throw-test.js.snap
│   │   └── setupReactTests.js
│   ├── serializer/
│   │   ├── abstract/
│   │   │   ├── AbstractFunctionWithResultType.js
│   │   │   ├── AbstractNumericProperty.js
│   │   │   ├── AbstractOrNullOrUndefined.js
│   │   │   ├── AbstractPropertyDelete.js
│   │   │   ├── AbstractPropertyDelete2.js
│   │   │   ├── AbstractPropertyDelete3.js
│   │   │   ├── AbstractPrototype.js
│   │   │   ├── Array.js
│   │   │   ├── ArrayConcat.js
│   │   │   ├── ArrayInitializer.js
│   │   │   ├── ArrayLength.js
│   │   │   ├── ArrayLength2.js
│   │   │   ├── ArrayLength3.js
│   │   │   ├── ArrayMap.js
│   │   │   ├── ArrayMap1.js
│   │   │   ├── ArrayMap2.js
│   │   │   ├── BinaryExpression.js
│   │   │   ├── BinaryExpression2.js
│   │   │   ├── BinaryExpression3.js
│   │   │   ├── Branching.js
│   │   │   ├── BranchingConsoleLog.js
│   │   │   ├── Break.js
│   │   │   ├── Break2.js
│   │   │   ├── Break3.js
│   │   │   ├── Call.js
│   │   │   ├── Call2.js
│   │   │   ├── Call3.js
│   │   │   ├── Call4.js
│   │   │   ├── CantCatchIntrospectionError.js
│   │   │   ├── CantCatchIntrospectionError1.js
│   │   │   ├── CompareObjects.js
│   │   │   ├── Compose.js
│   │   │   ├── ComposedCompletions.js
│   │   │   ├── ConcreteModel1.js
│   │   │   ├── ConcreteModel2.js
│   │   │   ├── Conditional.js
│   │   │   ├── ConditionalAbstractObjectValueDefineProperty.js
│   │   │   ├── ConditionalAbstractObjectValueDefineProperty2.js
│   │   │   ├── ConditionalAbstractObjectValueDelete.js
│   │   │   ├── ConditionalAbstractObjectValueGet.js
│   │   │   ├── ConditionalAbstractObjectValueGetOwnProperty.js
│   │   │   ├── ConditionalAbstractObjectValueGetPartial.js
│   │   │   ├── ConditionalAbstractObjectValueGetWithPrototype.js
│   │   │   ├── ConditionalAbstractObjectValueSet.js
│   │   │   ├── ConditionalAbstractObjectValueSetNewProperty.js
│   │   │   ├── ConditionalAbstractObjectValueSetPartial.js
│   │   │   ├── ConditionalEmptyProperty.js
│   │   │   ├── ConditionalImpliedPropertyAssignment.js
│   │   │   ├── ConstructFunctionReturnsAbstract.js
│   │   │   ├── Continue.js
│   │   │   ├── Continue2.js
│   │   │   ├── DebugValue.js
│   │   │   ├── DefineDeletedProperty.js
│   │   │   ├── Delete.js
│   │   │   ├── Delete1.js
│   │   │   ├── Delete2.js
│   │   │   ├── Delete3.js
│   │   │   ├── Delete4.js
│   │   │   ├── Delete5.js
│   │   │   ├── Delete6.js
│   │   │   ├── Delete7.js
│   │   │   ├── Delete8.js
│   │   │   ├── DeleteArrayProperty.js
│   │   │   ├── DeleteArrayProperty2.js
│   │   │   ├── DeleteFunctionProperty.js
│   │   │   ├── DeleteObjectProperty.js
│   │   │   ├── DeleteOnConditionalObject.js
│   │   │   ├── Distribute.js
│   │   │   ├── DoWhile.js
│   │   │   ├── DoWhile1.js
│   │   │   ├── DoWhile10.js
│   │   │   ├── DoWhile11.js
│   │   │   ├── DoWhile12.js
│   │   │   ├── DoWhile13.js
│   │   │   ├── DoWhile2.js
│   │   │   ├── DoWhile2a.js
│   │   │   ├── DoWhile3.js
│   │   │   ├── DoWhile4.js
│   │   │   ├── DoWhile5.js
│   │   │   ├── DoWhile6.js
│   │   │   ├── DoWhile6a.js
│   │   │   ├── DoWhile6b.js
│   │   │   ├── DoWhile6c.js
│   │   │   ├── DoWhile6d.js
│   │   │   ├── DoWhile7.js
│   │   │   ├── DoWhile8.js
│   │   │   ├── DoWhile8a.js
│   │   │   ├── DoWhile9.js
│   │   │   ├── Error.js
│   │   │   ├── ErrorMessageStringCoercion.js
│   │   │   ├── Fibonacci.js
│   │   │   ├── ForInStatement.js
│   │   │   ├── ForInStatement1.js
│   │   │   ├── ForInStatement10.js
│   │   │   ├── ForInStatement11.js
│   │   │   ├── ForInStatement11a.js
│   │   │   ├── ForInStatement11b.js
│   │   │   ├── ForInStatement12.js
│   │   │   ├── ForInStatement2.js
│   │   │   ├── ForInStatement2a.js
│   │   │   ├── ForInStatement3.js
│   │   │   ├── ForInStatement3a.js
│   │   │   ├── ForInStatement4.js
│   │   │   ├── ForInStatement5.js
│   │   │   ├── ForInStatement6.js
│   │   │   ├── ForInStatement7.js
│   │   │   ├── ForInStatement8.js
│   │   │   ├── ForInStatement9.js
│   │   │   ├── ForLoop.js
│   │   │   ├── ForLoop1.js
│   │   │   ├── ForLoop2.js
│   │   │   ├── ForOfStatement.js
│   │   │   ├── ForOfStatement2.js
│   │   │   ├── Function.js
│   │   │   ├── GeneratorScoping1.js
│   │   │   ├── GeneratorScoping2.js
│   │   │   ├── GeneratorScoping3.js
│   │   │   ├── GeneratorScoping4.js
│   │   │   ├── GetPrototypeOf.js
│   │   │   ├── GetPrototypeOf2.js
│   │   │   ├── GetValue.js
│   │   │   ├── GetValue10.js
│   │   │   ├── GetValue2.js
│   │   │   ├── GetValue3.js
│   │   │   ├── GetValue4.js
│   │   │   ├── GetValue5.js
│   │   │   ├── GetValue6.js
│   │   │   ├── GetValue7.js
│   │   │   ├── GetValue8.js
│   │   │   ├── GetValue9.js
│   │   │   ├── GlobalAbstractName.js
│   │   │   ├── If.js
│   │   │   ├── ImplicitAbstractConversion.js
│   │   │   ├── ImplicitAbstractConversion10.js
│   │   │   ├── ImplicitAbstractConversion11.js
│   │   │   ├── ImplicitAbstractConversion12.js
│   │   │   ├── ImplicitAbstractConversion13.js
│   │   │   ├── ImplicitAbstractConversion14.js
│   │   │   ├── ImplicitAbstractConversion15.js
│   │   │   ├── ImplicitAbstractConversion16.js
│   │   │   ├── ImplicitAbstractConversion17.js
│   │   │   ├── ImplicitAbstractConversion18.js
│   │   │   ├── ImplicitAbstractConversion19.js
│   │   │   ├── ImplicitAbstractConversion2.js
│   │   │   ├── ImplicitAbstractConversion20.js
│   │   │   ├── ImplicitAbstractConversion21.js
│   │   │   ├── ImplicitAbstractConversion22.js
│   │   │   ├── ImplicitAbstractConversion23.js
│   │   │   ├── ImplicitAbstractConversion24.js
│   │   │   ├── ImplicitAbstractConversion25.js
│   │   │   ├── ImplicitAbstractConversion26.js
│   │   │   ├── ImplicitAbstractConversion27.js
│   │   │   ├── ImplicitAbstractConversion28.js
│   │   │   ├── ImplicitAbstractConversion29.js
│   │   │   ├── ImplicitAbstractConversion3.js
│   │   │   ├── ImplicitAbstractConversion30.js
│   │   │   ├── ImplicitAbstractConversion31.js
│   │   │   ├── ImplicitAbstractConversion32.js
│   │   │   ├── ImplicitAbstractConversion33.js
│   │   │   ├── ImplicitAbstractConversion36.js
│   │   │   ├── ImplicitAbstractConversion4.js
│   │   │   ├── ImplicitAbstractConversion5.js
│   │   │   ├── ImplicitAbstractConversion6.js
│   │   │   ├── ImplicitAbstractConversion7.js
│   │   │   ├── ImplicitAbstractConversion8.js
│   │   │   ├── ImplicitAbstractConversion9.js
│   │   │   ├── Implies.js
│   │   │   ├── In.js
│   │   │   ├── In2.js
│   │   │   ├── In3.js
│   │   │   ├── Instanceof1.js
│   │   │   ├── Instanceof2.js
│   │   │   ├── Instanceof3.js
│   │   │   ├── InternalProps.js
│   │   │   ├── IntrinsicObjectCSE.js
│   │   │   ├── IntrinsicUnion.js
│   │   │   ├── IntrinsicUnion2.js
│   │   │   ├── InvariantsForNonAbstractProperties.js
│   │   │   ├── IsPrototypeOf.js
│   │   │   ├── Issue2327InBinop.js
│   │   │   ├── Issue2327InBinopUnconditional.js
│   │   │   ├── Issue2327InstanceOfBinop.js
│   │   │   ├── Issue2327InstanceOfBinopUnconditional.js
│   │   │   ├── Issue2327StringLength.js
│   │   │   ├── Issue2327StringLengthUnconditional.js
│   │   │   ├── Issue2327StringSlice.js
│   │   │   ├── Issue2327StringSliceUnconditional.js
│   │   │   ├── Issue2327StringSplit.js
│   │   │   ├── JSONStringifyOnAbstract2411.js
│   │   │   ├── JSONparse.js
│   │   │   ├── JSONparse2.js
│   │   │   ├── ListOperationsCommentBubble.js
│   │   │   ├── ListOperationsSimple.js
│   │   │   ├── LogicalExpression.js
│   │   │   ├── LogicalExpression2.js
│   │   │   ├── MakeFinal.js
│   │   │   ├── Map.js
│   │   │   ├── MathRound.js
│   │   │   ├── MightBeEmptyAssignment.js
│   │   │   ├── ModelFunction.js
│   │   │   ├── ModifiedBindingsCSE.js
│   │   │   ├── MutatingObjectsFromOuterScope.js
│   │   │   ├── NegateObject.js
│   │   │   ├── NestedAbstractProperties.js
│   │   │   ├── NullPrototypePartialKey.js
│   │   │   ├── Number.js
│   │   │   ├── ObjectAssign.js
│   │   │   ├── ObjectAssign10.js
│   │   │   ├── ObjectAssign11.js
│   │   │   ├── ObjectAssign12.js
│   │   │   ├── ObjectAssign13.js
│   │   │   ├── ObjectAssign14.js
│   │   │   ├── ObjectAssign15.js
│   │   │   ├── ObjectAssign16.js
│   │   │   ├── ObjectAssign17.js
│   │   │   ├── ObjectAssign18.js
│   │   │   ├── ObjectAssign19.js
│   │   │   ├── ObjectAssign2.js
│   │   │   ├── ObjectAssign20.js
│   │   │   ├── ObjectAssign3.js
│   │   │   ├── ObjectAssign4.js
│   │   │   ├── ObjectAssign5.js
│   │   │   ├── ObjectAssign6.js
│   │   │   ├── ObjectAssign7.js
│   │   │   ├── ObjectAssign8.js
│   │   │   ├── ObjectAssign9.js
│   │   │   ├── ObjectCreate.js
│   │   │   ├── ObjectExpression.js
│   │   │   ├── Optional.js
│   │   │   ├── Optional2.js
│   │   │   ├── Optional3.js
│   │   │   ├── Optional4.js
│   │   │   ├── Optional5.js
│   │   │   ├── OrdinaryToPrimitive.js
│   │   │   ├── OwnKeys.js
│   │   │   ├── PathConditions.js
│   │   │   ├── PathConditions2.js
│   │   │   ├── PathConditions3.js
│   │   │   ├── PossibleThrow.js
│   │   │   ├── PropagateFunctionResultType.js
│   │   │   ├── Property.js
│   │   │   ├── Property2.js
│   │   │   ├── Property3.js
│   │   │   ├── Property4.js
│   │   │   ├── Property5.js
│   │   │   ├── PropertyAttributeConflict.js
│   │   │   ├── PutValue.js
│   │   │   ├── PutValue10.js
│   │   │   ├── PutValue11.js
│   │   │   ├── PutValue12.js
│   │   │   ├── PutValue13.js
│   │   │   ├── PutValue2.js
│   │   │   ├── PutValue3.js
│   │   │   ├── PutValue4.js
│   │   │   ├── PutValue5.js
│   │   │   ├── PutValue6.js
│   │   │   ├── PutValue7.js
│   │   │   ├── PutValue8.js
│   │   │   ├── PutValue9.js
│   │   │   ├── QualifiedCall.js
│   │   │   ├── QualifiedCall2.js
│   │   │   ├── QualifiedCall3.js
│   │   │   ├── Refine.js
│   │   │   ├── Refine2.js
│   │   │   ├── Refine3.js
│   │   │   ├── Refine4.js
│   │   │   ├── Refine5.js
│   │   │   ├── Refine6.js
│   │   │   ├── Refine7.js
│   │   │   ├── RegressionTestForNestedGenerators.js
│   │   │   ├── ReplaceFunctionBody.js
│   │   │   ├── Residual.js
│   │   │   ├── ResidualExplicitParameters.js
│   │   │   ├── ResidualExplicitParameters2.js
│   │   │   ├── ResidualInvariant1.js
│   │   │   ├── ResidualInvariant2.js
│   │   │   ├── ResidualInvariant3.js
│   │   │   ├── ResidualInvariant4.js
│   │   │   ├── ResidualInvariantPathCondition.js
│   │   │   ├── ResidualTemplate.js
│   │   │   ├── ResidualVoid.js
│   │   │   ├── Return.js
│   │   │   ├── Return1.js
│   │   │   ├── Return10.js
│   │   │   ├── Return1a.js
│   │   │   ├── Return2.js
│   │   │   ├── Return2a.js
│   │   │   ├── Return3.js
│   │   │   ├── Return3a.js
│   │   │   ├── Return4.js
│   │   │   ├── Return4a.js
│   │   │   ├── Return5.js
│   │   │   ├── Return5a.js
│   │   │   ├── Return6.js
│   │   │   ├── Return6a.js
│   │   │   ├── Return7.js
│   │   │   ├── Return8.js
│   │   │   ├── Return9.js
│   │   │   ├── Set.js
│   │   │   ├── SimpleObject.js
│   │   │   ├── SimpleObject2.js
│   │   │   ├── SimpleObject3.js
│   │   │   ├── SimpleObject4.js
│   │   │   ├── String.js
│   │   │   ├── StringLength.js
│   │   │   ├── Switch.js
│   │   │   ├── Switch2.js
│   │   │   ├── Switch3.js
│   │   │   ├── Switch4.js
│   │   │   ├── SymbolAbstractValueDescription.js
│   │   │   ├── SymbolEqualityRegressionTest.js
│   │   │   ├── Symbols.js
│   │   │   ├── Symbols2.js
│   │   │   ├── Symbols3.js
│   │   │   ├── Symbols4.js
│   │   │   ├── Symbols5.js
│   │   │   ├── Symbols6.js
│   │   │   ├── Symbols7.js
│   │   │   ├── TemporalCSE.js
│   │   │   ├── Throw.js
│   │   │   ├── Throw10.js
│   │   │   ├── Throw2.js
│   │   │   ├── Throw3.js
│   │   │   ├── Throw4.js
│   │   │   ├── Throw5.js
│   │   │   ├── Throw5a.js
│   │   │   ├── Throw5b.js
│   │   │   ├── Throw5c.js
│   │   │   ├── Throw5d.js
│   │   │   ├── Throw6.js
│   │   │   ├── Throw6a.js
│   │   │   ├── Throw6b.js
│   │   │   ├── Throw8.js
│   │   │   ├── Throw9a.js
│   │   │   ├── Throw9b.js
│   │   │   ├── ThrowInConstructor.js
│   │   │   ├── ThrowInConstructor2.js
│   │   │   ├── ThrowInConstructor3.js
│   │   │   ├── ThrowInDoubleCatch.js
│   │   │   ├── ToString.js
│   │   │   ├── ToString2.js
│   │   │   ├── ToString3.js
│   │   │   ├── ToString4.js
│   │   │   ├── TypeDomain4.js
│   │   │   ├── TypeDomain5.js
│   │   │   ├── TypeOf.js
│   │   │   ├── TypesDomain.js
│   │   │   ├── TypesDomain2.js
│   │   │   ├── TypesDomain3.js
│   │   │   ├── UnaryExpression.js
│   │   │   ├── UnaryExpression2.js
│   │   │   ├── UnknownNumericKey.js
│   │   │   ├── UnknownNumericKeyAssignment.js
│   │   │   ├── UnknownObjectKey.js
│   │   │   ├── UnknownObjectKeyAssignment.js
│   │   │   ├── UnknownPropertyOnPrimitive.js
│   │   │   ├── UpdateExpression.js
│   │   │   ├── UpdateExpression2.js
│   │   │   ├── UpdateExpression3.js
│   │   │   ├── UpdateExpression4.js
│   │   │   ├── UseAbstractObjectValueTemplateInIsCall.js
│   │   │   ├── WaitGenerator0.js
│   │   │   ├── WaitGenerator0a.js
│   │   │   ├── WaitGenerator0b.js
│   │   │   ├── WaitGenerator1.js
│   │   │   ├── WaitGenerator2.js
│   │   │   ├── WaitGenerator3.js
│   │   │   ├── WaitGenerator4.js
│   │   │   ├── WaitGenerator5.js
│   │   │   ├── WeakMap.js
│   │   │   ├── WeakSet.js
│   │   │   ├── WhileLoop.js
│   │   │   ├── With.js
│   │   │   ├── defineProperty.js
│   │   │   ├── defineProperty2.js
│   │   │   ├── getOwnPropertyDescriptor.js
│   │   │   ├── getOwnPropertyDescriptor2.js
│   │   │   ├── getOwnPropertyDescriptor3.js
│   │   │   ├── getOwnPropertyDescriptor4.js
│   │   │   ├── getOwnPropertyDescriptor5.js
│   │   │   ├── getOwnPropertyDescriptor6.js
│   │   │   ├── getOwnPropertyDescriptor7.js
│   │   │   ├── getOwnPropertyDescriptor8.js
│   │   │   ├── getOwnPropertyDescriptor9.js
│   │   │   ├── object-assign10.js
│   │   │   ├── object-assign11.js
│   │   │   ├── object-assign12.js
│   │   │   ├── object-assign2.js
│   │   │   ├── object-assign3.js
│   │   │   ├── object-assign4.js
│   │   │   ├── object-assign5.js
│   │   │   ├── object-assign5a.js
│   │   │   ├── object-assign5b.js
│   │   │   ├── object-assign6.js
│   │   │   ├── object-assign7.js
│   │   │   ├── object-assign8.js
│   │   │   ├── object-assign9.js
│   │   │   ├── reflectHas.js
│   │   │   ├── reflectHas1.js
│   │   │   ├── reflectHas2.js
│   │   │   ├── require_tracking.js
│   │   │   ├── require_tracking2.js
│   │   │   └── toLocaleString.js
│   │   ├── additional-functions/
│   │   │   ├── AdditionalFunCapturedScope.js
│   │   │   ├── ArrayConcat.js
│   │   │   ├── Class.js
│   │   │   ├── DeadCodeCheck.js
│   │   │   ├── DeadOuterObject.js
│   │   │   ├── DelayInitializations1.js
│   │   │   ├── DelayInitializations2.js
│   │   │   ├── DelayInitializations3.js
│   │   │   ├── EmitPropertyRegressionTest.js
│   │   │   ├── Example1.js
│   │   │   ├── FunctionApply.js
│   │   │   ├── GlobalLetBinding.js
│   │   │   ├── Issue1821RegressionTest.js
│   │   │   ├── ModifiedBindingWithoutInitialValue.js
│   │   │   ├── ModifiedBindingsCapturedScopesCalls.js
│   │   │   ├── ModifiedObjectProperty.js
│   │   │   ├── ModifiedObjectPropertyWithAbstractKey.js
│   │   │   ├── MutatedObject.js
│   │   │   ├── NestedOptimizedFunction1.js
│   │   │   ├── NestedOptimizedFunction10.js
│   │   │   ├── NestedOptimizedFunction11.js
│   │   │   ├── NestedOptimizedFunction12.js
│   │   │   ├── NestedOptimizedFunction13.js
│   │   │   ├── NestedOptimizedFunction14.js
│   │   │   ├── NestedOptimizedFunction15.js
│   │   │   ├── NestedOptimizedFunction16.js
│   │   │   ├── NestedOptimizedFunction17.js
│   │   │   ├── NestedOptimizedFunction18.js
│   │   │   ├── NestedOptimizedFunction19.js
│   │   │   ├── NestedOptimizedFunction2.js
│   │   │   ├── NestedOptimizedFunction20.js
│   │   │   ├── NestedOptimizedFunction21.js
│   │   │   ├── NestedOptimizedFunction22.js
│   │   │   ├── NestedOptimizedFunction3.js
│   │   │   ├── NestedOptimizedFunction4.js
│   │   │   ├── NestedOptimizedFunction6.js
│   │   │   ├── NestedOptimizedFunction7.js
│   │   │   ├── NestedOptimizedFunction8.js
│   │   │   ├── NestedThrowEffects.js
│   │   │   ├── ObjectCreationGeneratorRegressionTest.js
│   │   │   ├── ObjectLifetime1.js
│   │   │   ├── ObjectLifetime2.js
│   │   │   ├── OptimizedArrayFilterOpAliasing.js
│   │   │   ├── OptimizedArrayFilterOpAliasing2.js
│   │   │   ├── OptimizedArrayFilterOpSpecialization.js
│   │   │   ├── OptimizedArrayOpAliasing.js
│   │   │   ├── OptimizedArrayOpAliasing2.js
│   │   │   ├── OptimizedArrayOpAliasing3.js
│   │   │   ├── OptimizedArrayOpNoDefaultMaterialization.js
│   │   │   ├── OptimizedArrayOpSpecialization.js
│   │   │   ├── OptimizedArrayOpSpecializationBailout.js
│   │   │   ├── OptimizedArrayOpSpecializationBailout2.js
│   │   │   ├── OptimizedResidualOptimized.js
│   │   │   ├── OuterScopeCacheRegressionTest.js
│   │   │   ├── ReadThenDelete.js
│   │   │   ├── ReferentializationRegressionTest.js
│   │   │   ├── RegressionTestForIssue1881.js
│   │   │   ├── RegressionTestForIssue1957.js
│   │   │   ├── RegressionTestForIssue2090.js
│   │   │   ├── ResidualFunctionBindingsMutatedByOptimizedFunctionRegressionTest.js
│   │   │   ├── TargetsWithGenerators.js
│   │   │   ├── ThisArgument.js
│   │   │   ├── ToObject.js
│   │   │   ├── UnknownArray.js
│   │   │   ├── UpdateExpression.js
│   │   │   ├── UpdateExpression2.js
│   │   │   ├── abstract-property-modification.js
│   │   │   ├── arguments.js
│   │   │   ├── arguments2.js
│   │   │   ├── arguments3.js
│   │   │   ├── arguments4.js
│   │   │   ├── bad-functions2.js
│   │   │   ├── capture-local.js
│   │   │   ├── conditions.js
│   │   │   ├── conditions2.js
│   │   │   ├── conditions3.js
│   │   │   ├── create-local.js
│   │   │   ├── createdobject-modifications.js
│   │   │   ├── createdobject.js
│   │   │   ├── dead-functions.js
│   │   │   ├── func-nesting.js
│   │   │   ├── modified-global-let-simple.js
│   │   │   ├── modifiedobjects.js
│   │   │   ├── named-function.js
│   │   │   ├── nested_function.js
│   │   │   ├── nested_function2.js
│   │   │   ├── nested_function3.js
│   │   │   ├── nested_function4.js
│   │   │   ├── nested_modifybinding.js
│   │   │   ├── noconflict-captures.js
│   │   │   ├── noconflict-captures2.js
│   │   │   ├── noconflict-existantobject.js
│   │   │   ├── noopfunc.js
│   │   │   ├── possible_throw_object_assign.js
│   │   │   ├── precise_captures.js
│   │   │   ├── prelude-ordering.js
│   │   │   ├── property-deletion.js
│   │   │   ├── property-modification.js
│   │   │   ├── referentialization.js
│   │   │   ├── referentialization2.js
│   │   │   ├── register_conditionally.js
│   │   │   ├── register_test.js
│   │   │   ├── require_opt.js
│   │   │   ├── return-or-many-throw.js
│   │   │   ├── return-or-multiple-throw.js
│   │   │   ├── return-or-throw-modifybindings.js
│   │   │   ├── return-or-throw-modifybindings2.js
│   │   │   ├── return-or-throw-modifybindings3.js
│   │   │   ├── return-or-throw-modifyproperties.js
│   │   │   ├── return-or-throw-modifyproperties2.js
│   │   │   ├── return-or-throw-simple.js
│   │   │   ├── return-or-throw-simple1.js
│   │   │   ├── return-value-simple.js
│   │   │   ├── self_referential.js
│   │   │   ├── self_referential_simple.js
│   │   │   ├── write-in-conflict.js
│   │   │   └── write-write-noconflict.js
│   │   ├── basic/
│   │   │   ├── Arguments.js
│   │   │   ├── Arguments2.js
│   │   │   ├── ArrayBuffer.js
│   │   │   ├── ArrayIndexedProperty.js
│   │   │   ├── ArrayInitializer2.js
│   │   │   ├── ArrayInitializer3.js
│   │   │   ├── ArrayPrototype.js
│   │   │   ├── ArrayWithProperties.js
│   │   │   ├── AssumeDataProperty.js
│   │   │   ├── AssumeDataProperty2.js
│   │   │   ├── AssumeDataProperty3.js
│   │   │   ├── AssumeDataProperty4.js
│   │   │   ├── AvoidIdLeaks.js
│   │   │   ├── AvoidUnnecessaryWrappedFunctions.js
│   │   │   ├── Bind.js
│   │   │   ├── BoundFunction.js
│   │   │   ├── BoundFunctionCreationOrder.js
│   │   │   ├── BoundFunctionProperties.js
│   │   │   ├── BoundFunctionProperties2.js
│   │   │   ├── CapturedScope.js
│   │   │   ├── CapturedScope10.js
│   │   │   ├── CapturedScope11.js
│   │   │   ├── CapturedScope2.js
│   │   │   ├── CapturedScope3.js
│   │   │   ├── CapturedScope4.js
│   │   │   ├── CapturedScope5.js
│   │   │   ├── CapturedScope6.js
│   │   │   ├── CapturedScope7.js
│   │   │   ├── CapturedScope8.js
│   │   │   ├── CapturedScope9.js
│   │   │   ├── CapturedScopeArrayAccess1.js
│   │   │   ├── CapturedScopeArrayAccess2.js
│   │   │   ├── CapturedScopeParameterOrdering.js
│   │   │   ├── CapturedScopesAndIndexedVars.js
│   │   │   ├── CircularFuncs.js
│   │   │   ├── CircularFunctions.js
│   │   │   ├── ClassExpression.js
│   │   │   ├── ClassExpression2.js
│   │   │   ├── ClassExpression3.js
│   │   │   ├── ClassExpression4.js
│   │   │   ├── ClassExpression5.js
│   │   │   ├── ClassExpression6.js
│   │   │   ├── ClassExpression7.js
│   │   │   ├── Closure.js
│   │   │   ├── Closure2.js
│   │   │   ├── Closure3.js
│   │   │   ├── Closure4.js
│   │   │   ├── ClosureRefReplacement.js
│   │   │   ├── ClosureRefVisitor.js
│   │   │   ├── ClosureRefVisitor2.js
│   │   │   ├── ClosureRefVisitor3.js
│   │   │   ├── ClosureRefVisitor4.js
│   │   │   ├── ConditionalReturn.js
│   │   │   ├── ConditionalReturn2.js
│   │   │   ├── ConditionalReturn3.js
│   │   │   ├── CyclicArray.js
│   │   │   ├── CyclicDependencies.js
│   │   │   ├── Date.js
│   │   │   ├── DefineProperty.js
│   │   │   ├── DefinePropertySameNameDiffDesc.js
│   │   │   ├── DelayInitWithDifferentValues.js
│   │   │   ├── DelayInitializations.js
│   │   │   ├── DelayInitializations2.js
│   │   │   ├── DelayedValuePropertyOrdering.js
│   │   │   ├── DelayedValuePropertyOrdering2.js
│   │   │   ├── DontInlineFunctionsWithCapturedScopes.js
│   │   │   ├── DuplicateFactoryFunctions.js
│   │   │   ├── EfficientPrototypeSetting.js
│   │   │   ├── EmitFunctionExpression.js
│   │   │   ├── EmptyBlocks.js
│   │   │   ├── ErrorPrototypeToString.js
│   │   │   ├── ExceedStackDepth.js
│   │   │   ├── Factories1.js
│   │   │   ├── Factories2.js
│   │   │   ├── FactorifyMixNodeTypes.js
│   │   │   ├── FactorifyVoid0.js
│   │   │   ├── ForInStatement1.js
│   │   │   ├── ForOfStatement1.js
│   │   │   ├── FrozenLazyObject.js
│   │   │   ├── Function.js
│   │   │   ├── FunctionBodyClone1.js
│   │   │   ├── FunctionBodyClone2.js
│   │   │   ├── FunctionOrdering.js
│   │   │   ├── FunctionPrototype.js
│   │   │   ├── FunctionPrototype2.js
│   │   │   ├── FunctionPrototypeAssignmentIsSimple.js
│   │   │   ├── FunctionUndelayOrdering.js
│   │   │   ├── GenerateInvariants.js
│   │   │   ├── GlobalMustBePassedInWhenUsed.js
│   │   │   ├── GlobalProperty.js
│   │   │   ├── GlobalProperty2.js
│   │   │   ├── GlobalProperty3.js
│   │   │   ├── GlobalPropertyGetter.js
│   │   │   ├── GlobalPropertyNotValidIdentifier.js
│   │   │   ├── GlobalPropertyStrict.js
│   │   │   ├── GlobalPropertyStrict2.js
│   │   │   ├── GlobalThing.js
│   │   │   ├── GlobalVar.js
│   │   │   ├── HelloWorld.js
│   │   │   ├── HoistFunctionDeclarations.js
│   │   │   ├── IncrementalMemoization.js
│   │   │   ├── Integral.js
│   │   │   ├── IntrinsicPutValue.js
│   │   │   ├── IntrinsicSerialization.js
│   │   │   ├── Issue2555RegressionTest.js
│   │   │   ├── Issue2555RegressionTest2.js
│   │   │   ├── IteratorPrototype.js
│   │   │   ├── JSCCollections.js
│   │   │   ├── KeysAsNumbers.js
│   │   │   ├── LargeDelayedValue.js
│   │   │   ├── LetGlobal.js
│   │   │   ├── ManyFunctionInstantiations.js
│   │   │   ├── Map.js
│   │   │   ├── Map2.js
│   │   │   ├── MapIteratorPrototype.js
│   │   │   ├── MapNotDeadMember.js
│   │   │   ├── MemoizeGlobalPropertiesRegExp.js
│   │   │   ├── MissingInitialElement.js
│   │   │   ├── NestedFunctions1.js
│   │   │   ├── NestedFunctions2.js
│   │   │   ├── NestedFunctions3.js
│   │   │   ├── NestedFunctions4.js
│   │   │   ├── NestedFunctions5.js
│   │   │   ├── NonObjectPrototypes.js
│   │   │   ├── NonOrdinarySetPrototypeOf.js
│   │   │   ├── NonStrictComplex.js
│   │   │   ├── NullPrototype.js
│   │   │   ├── ObjectFreeze1.js
│   │   │   ├── ObjectFreeze2.js
│   │   │   ├── ObjectFreeze3.js
│   │   │   ├── ObjectFreeze4.js
│   │   │   ├── ObjectFreeze5.js
│   │   │   ├── ObjectPreventExtensions1.js
│   │   │   ├── ObjectSeal1.js
│   │   │   ├── ObjectSeal2.js
│   │   │   ├── OmitInvariants.js
│   │   │   ├── OmitUnknownScopeSelectorError.js
│   │   │   ├── OverridingFunctionPrototype.js
│   │   │   ├── PathConditionDeadCode.js
│   │   │   ├── PathConditionThrow.js
│   │   │   ├── Promise.js
│   │   │   ├── PropertyAssignment.js
│   │   │   ├── PropertyGetter.js
│   │   │   ├── PropertySetter.js
│   │   │   ├── Prototypes.js
│   │   │   ├── Prototypes2.js
│   │   │   ├── Proxy.js
│   │   │   ├── Recursion.js
│   │   │   ├── Recursion2.js
│   │   │   ├── RecursiveMutatedFunctionIdentifier.js
│   │   │   ├── ReferentializeBug.js
│   │   │   ├── ReferentializeInitializer.js
│   │   │   ├── RegExp.js
│   │   │   ├── ResidualIdentityObservation.js
│   │   │   ├── ResidualIdentityObservation2.js
│   │   │   ├── Set.js
│   │   │   ├── SetNotDeadMember.js
│   │   │   ├── SetTimeout.js
│   │   │   ├── SimpleCircularFunctions.js
│   │   │   ├── SimpleInheritanceChains.js
│   │   │   ├── StrictComplex.js
│   │   │   ├── StrictGlobals.js
│   │   │   ├── StrictSimple.js
│   │   │   ├── StringPrototype.js
│   │   │   ├── Symbols.js
│   │   │   ├── Symbols2.js
│   │   │   ├── Uint8Array.js
│   │   │   ├── Undefined.js
│   │   │   ├── UndefinedAsLocalVariableName.js
│   │   │   ├── UniqueNames.js
│   │   │   ├── UnknownScopeSelectorError.js
│   │   │   ├── Values.js
│   │   │   ├── WeakMap.js
│   │   │   ├── WeakMapDeadMember.js
│   │   │   ├── WeakMapInternalReference.js
│   │   │   ├── WeakSet.js
│   │   │   ├── WeakSetDeadMember.js
│   │   │   ├── __output.js
│   │   │   └── setTimeoutAndInterval.js
│   │   ├── instant-render/
│   │   │   ├── EmptyBuiltInArray.js
│   │   │   ├── EmptyBuiltInArrayLength.js
│   │   │   ├── EmptyBuiltInProps.js
│   │   │   ├── FunctionArgumentModeling.js
│   │   │   └── NotNull.js
│   │   ├── optimizations/
│   │   │   ├── CommonSubExpr.js
│   │   │   ├── CommonSubExpr2.js
│   │   │   ├── CommonSubExpr3.js
│   │   │   ├── DedupeGenerator.js
│   │   │   ├── DelayInitCaptures.js
│   │   │   ├── DelayInitMult.js
│   │   │   ├── collapse_cases.js
│   │   │   ├── eagerlyRequireModuleDependencies.js
│   │   │   ├── getOwnPropertySymbols.js
│   │   │   ├── non_numeric_arg_require.js
│   │   │   ├── proto.js
│   │   │   ├── require_accelerate.js
│   │   │   ├── require_delay.js
│   │   │   ├── require_hoist.js
│   │   │   ├── require_mightHaveBeenDeleted.js
│   │   │   ├── require_opt.js
│   │   │   ├── require_opt_with_dependencies.js
│   │   │   ├── require_removefactoryfunctions.js
│   │   │   ├── require_spec_accelerate_delay.js
│   │   │   ├── require_speculatively.js
│   │   │   ├── require_speculatively_specific.js
│   │   │   ├── require_throws.js
│   │   │   ├── require_throws1.js
│   │   │   ├── require_unsupported.js
│   │   │   ├── residualDeadCode.js
│   │   │   ├── simplify.js
│   │   │   ├── simplify10.js
│   │   │   ├── simplify11.js
│   │   │   ├── simplify12.js
│   │   │   ├── simplify2.js
│   │   │   ├── simplify3.js
│   │   │   ├── simplify4.js
│   │   │   ├── simplify5.js
│   │   │   ├── simplify6.js
│   │   │   ├── simplify7.js
│   │   │   ├── simplify8.js
│   │   │   ├── simplify8a.js
│   │   │   ├── simplify8b.js
│   │   │   ├── simplify8c.js
│   │   │   ├── simplify9.js
│   │   │   ├── simplifyCompNullOrUndefined.js
│   │   │   ├── simplifyCompNullOrUndefined2.js
│   │   │   ├── simplifyCompNullOrUndefined3.js
│   │   │   ├── simplifyEqNull.js
│   │   │   ├── simplifyEqUndefined.js
│   │   │   ├── simplifyMultipleIfs1.js
│   │   │   ├── simplifyMultipleIfs2.js
│   │   │   └── simplifyStrictEq.js
│   │   ├── optimized-functions/
│   │   │   ├── 2248-repro.js
│   │   │   ├── AbstractDate.js
│   │   │   ├── ArgumentProperty.js
│   │   │   ├── ArrayAccess.js
│   │   │   ├── ArrayFrom.js
│   │   │   ├── ArrayFrom10.js
│   │   │   ├── ArrayFrom11.js
│   │   │   ├── ArrayFrom2.js
│   │   │   ├── ArrayFrom3.js
│   │   │   ├── ArrayFrom4.js
│   │   │   ├── ArrayFrom5.js
│   │   │   ├── ArrayFrom6.js
│   │   │   ├── ArrayFrom7.js
│   │   │   ├── ArrayFrom8.js
│   │   │   ├── ArrayFrom9.js
│   │   │   ├── ArrayIndexOf.js
│   │   │   ├── ArrayReverse.js
│   │   │   ├── ArrowFunction.js
│   │   │   ├── ArrowFunction2.js
│   │   │   ├── CallWithThrow.js
│   │   │   ├── CommonParentScopeCapture.js
│   │   │   ├── ComposeJoins.js
│   │   │   ├── ConditionalArray.js
│   │   │   ├── ConditionalArray2.js
│   │   │   ├── ConditionalArray3.js
│   │   │   ├── ConditionalArray4.js
│   │   │   ├── ConditionalArray5.js
│   │   │   ├── ConditionalGet.js
│   │   │   ├── ConditionalGet2.js
│   │   │   ├── ConditionalGet3.js
│   │   │   ├── ConditionalObjectAssign.js
│   │   │   ├── ConditionalObjectAssign2.js
│   │   │   ├── ConditionalObjectAssign3.js
│   │   │   ├── ConditionalObjectAssign4.js
│   │   │   ├── ConditionalObjectAssign5.js
│   │   │   ├── ConditionalReturn.js
│   │   │   ├── ConditionalReturn2.js
│   │   │   ├── ConditionallyLeakedBinding.js
│   │   │   ├── ConditionallyLeakedObject1.js
│   │   │   ├── ConditionallyLeakedObject2.js
│   │   │   ├── ConditionallyOptimizedFunction.js
│   │   │   ├── ConditionallyReachable.js
│   │   │   ├── DeadModifiedBindings.js
│   │   │   ├── DeadObjectAssign.js
│   │   │   ├── DeadObjectAssign10.js
│   │   │   ├── DeadObjectAssign11.js
│   │   │   ├── DeadObjectAssign12.js
│   │   │   ├── DeadObjectAssign13.js
│   │   │   ├── DeadObjectAssign14.js
│   │   │   ├── DeadObjectAssign15.js
│   │   │   ├── DeadObjectAssign16.js
│   │   │   ├── DeadObjectAssign17.js
│   │   │   ├── DeadObjectAssign18.js
│   │   │   ├── DeadObjectAssign19.js
│   │   │   ├── DeadObjectAssign2.js
│   │   │   ├── DeadObjectAssign20.js
│   │   │   ├── DeadObjectAssign21.js
│   │   │   ├── DeadObjectAssign22.js
│   │   │   ├── DeadObjectAssign23.js
│   │   │   ├── DeadObjectAssign24.js
│   │   │   ├── DeadObjectAssign3.js
│   │   │   ├── DeadObjectAssign4.js
│   │   │   ├── DeadObjectAssign5.js
│   │   │   ├── DeadObjectAssign6.js
│   │   │   ├── DeadObjectAssign7.js
│   │   │   ├── DeadObjectAssign8.js
│   │   │   ├── DeadObjectAssign9.js
│   │   │   ├── DefineOptFuncInsideFuncInsideOptFunc.js
│   │   │   ├── Empty.js
│   │   │   ├── ForLoop.js
│   │   │   ├── ForLoop2.js
│   │   │   ├── ForLoop3.js
│   │   │   ├── HavocBindings1.js
│   │   │   ├── HavocBindings10.js
│   │   │   ├── HavocBindings11.js
│   │   │   ├── HavocBindings2.js
│   │   │   ├── HavocBindings3.js
│   │   │   ├── HavocBindings4.js
│   │   │   ├── HavocBindings5.js
│   │   │   ├── HavocBindings7.js
│   │   │   ├── HavocBindings8.js
│   │   │   ├── HavocBindings9.js
│   │   │   ├── HavocBindingsRegression.js
│   │   │   ├── HavocNestedBindings1.js
│   │   │   ├── HavocNestedBindings2.js
│   │   │   ├── HavocObjects1.js
│   │   │   ├── HavocObjects2.js
│   │   │   ├── HavocObjects3.js
│   │   │   ├── HavocObjects4.js
│   │   │   ├── HavocObjects5.js
│   │   │   ├── InstantRenderArrayOps1.js
│   │   │   ├── InstantRenderArrayOps2.js
│   │   │   ├── InstantRenderArrayOpsBenignMutation.js
│   │   │   ├── Issue1640ImplicitThis.js
│   │   │   ├── Issue1856.js
│   │   │   ├── Issue2151.js
│   │   │   ├── Issue2262Regression.js
│   │   │   ├── Issue2266Regression.js
│   │   │   ├── Issue2358-2.js
│   │   │   ├── Issue2358.js
│   │   │   ├── Issue2359-1.js
│   │   │   ├── Issue2359-2.js
│   │   │   ├── Issue2388.js
│   │   │   ├── Issue2392-1.js
│   │   │   ├── Issue2392-2.js
│   │   │   ├── Issue2398.js
│   │   │   ├── Issue2399.js
│   │   │   ├── Issue2422.js
│   │   │   ├── Issue2423.js
│   │   │   ├── LeakObjectWithSetter.js
│   │   │   ├── LeakedCustomObjectInMultipleScopes.js
│   │   │   ├── LeakedObjectCodeDuplication.js
│   │   │   ├── LoopBailout.js
│   │   │   ├── LoopBailout10.js
│   │   │   ├── LoopBailout11.js
│   │   │   ├── LoopBailout12.js
│   │   │   ├── LoopBailout13.js
│   │   │   ├── LoopBailout14.js
│   │   │   ├── LoopBailout15.js
│   │   │   ├── LoopBailout16.js
│   │   │   ├── LoopBailout17.js
│   │   │   ├── LoopBailout18.js
│   │   │   ├── LoopBailout19.js
│   │   │   ├── LoopBailout2.js
│   │   │   ├── LoopBailout3.js
│   │   │   ├── LoopBailout4.js
│   │   │   ├── LoopBailout5.js
│   │   │   ├── LoopBailout6.js
│   │   │   ├── LoopBailout7.js
│   │   │   ├── LoopBailout8.js
│   │   │   ├── LoopBailout9.js
│   │   │   ├── MissingModifiedBinding.js
│   │   │   ├── ModifiedResidualBindings.js
│   │   │   ├── ModifiedResidualBindings2.js
│   │   │   ├── ModifiedResidualBindings3.js
│   │   │   ├── NestedConditions.js
│   │   │   ├── NestedConditionsRedeclare.js
│   │   │   ├── NestedConditionsRightPath.js
│   │   │   ├── NestedOptimizeSameFunction.js
│   │   │   ├── NestedTemporalJoinConditions.js
│   │   │   ├── NullCheck.js
│   │   │   ├── NullThrows.js
│   │   │   ├── ObjectAssign.js
│   │   │   ├── ObjectAssign2.js
│   │   │   ├── ObjectAssign3.js
│   │   │   ├── ObjectAssign4.js
│   │   │   ├── ObjectAssign5.js
│   │   │   ├── ObjectAssign6.js
│   │   │   ├── ObjectAssign7.js
│   │   │   ├── ObjectAssign8.js
│   │   │   ├── ObjectAssign9.js
│   │   │   ├── ObjectAssignProps.js
│   │   │   ├── OptimizeInSpeculativeContext.js
│   │   │   ├── OptimizedConditionalFunction.js
│   │   │   ├── OptimizedResidualOptimized.js
│   │   │   ├── ParentInitializesLocal.js
│   │   │   ├── ParentInitializesLocal2.js
│   │   │   ├── PropertyDeref.js
│   │   │   ├── RegressionTestForIssue1837.js
│   │   │   ├── RegressionTestForIssue1840.js
│   │   │   ├── RegressionTestForIssue1848.js
│   │   │   ├── RegressionTestForIssue1883.js
│   │   │   ├── RegressionTestForIssue2015.js
│   │   │   ├── RegressionTestForIssue2056.js
│   │   │   ├── Switch.js
│   │   │   ├── Switch2.js
│   │   │   ├── Switch3.js
│   │   │   ├── Switch4.js
│   │   │   ├── Switch5.js
│   │   │   ├── Switch6.js
│   │   │   ├── SymbolGet.js
│   │   │   ├── ThrowOrReturn.js
│   │   │   ├── ThrowOrReturn2.js
│   │   │   ├── ThrowOrReturn3.js
│   │   │   ├── ToString.js
│   │   │   ├── ToString2.js
│   │   │   ├── ToString3.js
│   │   │   ├── ToString4.js
│   │   │   ├── TransitiveMaterializationDirect.js
│   │   │   ├── TransitiveMaterializationViaAbstractValue.js
│   │   │   ├── TransitiveMaterializationViaFunctionCall.js
│   │   │   ├── TransitiveMaterializationViaFunctionProperty.js
│   │   │   ├── TransitiveMaterializationViaLeakedBinding.js
│   │   │   ├── TransitiveMaterializationViaObjectProp.js
│   │   │   ├── TransitiveMaterializationViaThisBinding.js
│   │   │   ├── UnknownProperty.js
│   │   │   ├── UnknownProperty2.js
│   │   │   ├── WrongReferentializationScope.js
│   │   │   ├── WrongScopeTripleNested.js
│   │   │   ├── double-call.js
│   │   │   ├── instanceof.js
│   │   │   ├── issue-2252-3.js
│   │   │   └── simple-nesting.js
│   │   ├── pure-functions/
│   │   │   ├── AbstractCall.js
│   │   │   ├── AbstractCallUnknownType.js
│   │   │   ├── AbstractCallUnknownType2.js
│   │   │   ├── AbstractComputedProperty.js
│   │   │   ├── AbstractComputedPropertyAssignment.js
│   │   │   ├── AbstractObject.js
│   │   │   ├── AbstractObject2.js
│   │   │   ├── AbstractObjectOptimizable.js
│   │   │   ├── AbstractPropertyObjectKey.js
│   │   │   ├── AbstractPropertyObjectKeyAssignment.js
│   │   │   ├── AbstractPropertyRead.js
│   │   │   ├── AbstractPropertyRead2.js
│   │   │   ├── AbstractPropertyRead3.js
│   │   │   ├── AbstractPropertyRead4.js
│   │   │   ├── AbstractPropertyRead5.js
│   │   │   ├── AbstractPropertyRead6.js
│   │   │   ├── BinaryExpressions.js
│   │   │   ├── BinaryExpressions2.js
│   │   │   ├── BinaryExpressions3.js
│   │   │   ├── CastStringOnUnknown.js
│   │   │   ├── ConditionalHavocedGet.js
│   │   │   ├── ConditionalHavocedGetPartial.js
│   │   │   ├── ConditionalHavocedSet.js
│   │   │   ├── ConditionalHavocedSetPartial.js
│   │   │   ├── ConditionalObjectPartialKey.js
│   │   │   ├── FatalErrorAfterJoins.js
│   │   │   ├── FatalErrorAfterModifiedBinding.js
│   │   │   ├── ForInBailout.js
│   │   │   ├── GetterOnAbstractPrototype.js
│   │   │   ├── GetterOnAbstractPrototype2.js
│   │   │   ├── HavocBinding.js
│   │   │   ├── HavocBindingImmutable.js
│   │   │   ├── Invariants.js
│   │   │   ├── Invariants2.js
│   │   │   ├── Invariants3.js
│   │   │   ├── Issue2418.js
│   │   │   ├── NewExpression.js
│   │   │   ├── ObjectAssign.js
│   │   │   ├── ObjectAssign2.js
│   │   │   ├── PutValueOnAbstract.js
│   │   │   ├── PutValueOnAbstract2.js
│   │   │   ├── SetterOnHavocedPrototype.js
│   │   │   ├── StackOverflow.js
│   │   │   ├── ToObject.js
│   │   │   ├── UnaryExpressions.js
│   │   │   ├── UnknownGetter.js
│   │   │   ├── UnknownSetter.js
│   │   │   ├── hasOwnProperty.js
│   │   │   └── hasOwnProperty2.js
│   │   ├── react/
│   │   │   └── jsx/
│   │   │       ├── default-props.js
│   │   │       ├── element-simple.js
│   │   │       ├── jsx-simple.js
│   │   │       ├── jsx-spread.js
│   │   │       └── key-children.js
│   │   └── trivial/
│   │       ├── Console.js
│   │       ├── Empty.js
│   │       ├── FunctionExpressionApplication.js
│   │       ├── GlobalVariable.js
│   │       ├── GlobalVariable2.js
│   │       ├── If.js
│   │       ├── LocalVariable.js
│   │       └── ObjectCreation.js
│   ├── source-maps/
│   │   └── Stacktrace.js
│   └── std-in/
│       └── StdIn.js
├── webpack.config.js
└── website/
    ├── .gitignore
    ├── CNAME
    ├── README.md
    ├── circle.yml
    ├── css/
    │   ├── prism.css
    │   └── style.css
    ├── frequently-asked-questions.html
    ├── getting-started.html
    ├── index.html
    ├── js/
    │   ├── prism.js
    │   ├── repl-worker.js
    │   ├── repl.js
    │   └── toggle_menu.js
    ├── package.json
    ├── repl.html
    └── scripts/
        └── prettier/
            └── index.js
Download .txt
Showing preview only (227K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2680 symbols across 966 files)

FILE: flow-typed/npm/babel-traverse_vx.x.x.js
  class BabelTraversePath (line 19) | class BabelTraversePath {
    method getBindingIdentifierPaths (line 20) | getBindingIdentifierPaths(): { [key: string]: BabelTraversePath }
    method getBindingIdentifiers (line 21) | getBindingIdentifiers(): { [key: string]: BabelNodeIdentifier }
  class BabelTraverseScope (line 30) | class BabelTraverseScope {

FILE: flow-typed/npm/babel-types_vx.x.x.js
  class BabelNodeComment (line 28) | class BabelNodeComment {
  class BabelNodeBlockComment (line 36) | class BabelNodeBlockComment extends BabelNodeComment {
  class BabelNodeLineComment (line 40) | class BabelNodeLineComment extends BabelNodeComment {
  class BabelNodePosition (line 44) | class BabelNodePosition {
  class BabelNodeSourceLocation (line 49) | class BabelNodeSourceLocation {
  class BabelNode (line 55) | class BabelNode {
  class BabelNodeArrayExpression (line 202) | class BabelNodeArrayExpression extends BabelNode {
  class BabelNodeAssignmentExpression (line 207) | class BabelNodeAssignmentExpression extends BabelNode {
  class BabelNodeBinaryExpression (line 214) | class BabelNodeBinaryExpression extends BabelNode {
  class BabelNodeDirective (line 221) | class BabelNodeDirective extends BabelNode {
  class BabelNodeDirectiveLiteral (line 226) | class BabelNodeDirectiveLiteral extends BabelNode {
  class BabelNodeBlockStatement (line 231) | class BabelNodeBlockStatement extends BabelNode {
  class BabelNodeBreakStatement (line 237) | class BabelNodeBreakStatement extends BabelNode {
  class BabelNodeCallExpression (line 242) | class BabelNodeCallExpression extends BabelNode {
  class BabelNodeCatchClause (line 248) | class BabelNodeCatchClause extends BabelNode {
  class BabelNodeConditionalExpression (line 254) | class BabelNodeConditionalExpression extends BabelNode {
  class BabelNodeContinueStatement (line 261) | class BabelNodeContinueStatement extends BabelNode {
  class BabelNodeDebuggerStatement (line 266) | class BabelNodeDebuggerStatement extends BabelNode {
  class BabelNodeDoWhileStatement (line 270) | class BabelNodeDoWhileStatement extends BabelNode {
  class BabelNodeEmptyStatement (line 276) | class BabelNodeEmptyStatement extends BabelNode {
  class BabelNodeExpressionStatement (line 280) | class BabelNodeExpressionStatement extends BabelNode {
  class BabelNodeFile (line 285) | class BabelNodeFile extends BabelNode {
  class BabelNodeForInStatement (line 292) | class BabelNodeForInStatement extends BabelNode {
  class BabelNodeForStatement (line 299) | class BabelNodeForStatement extends BabelNode {
  class BabelNodeFunctionDeclaration (line 307) | class BabelNodeFunctionDeclaration extends BabelNode {
  class BabelNodeFunctionExpression (line 318) | class BabelNodeFunctionExpression extends BabelNode {
  class BabelNodeIdentifier (line 329) | class BabelNodeIdentifier extends BabelNode {
  class BabelNodeIfStatement (line 336) | class BabelNodeIfStatement extends BabelNode {
  class BabelNodeLabeledStatement (line 343) | class BabelNodeLabeledStatement extends BabelNode {
  class BabelNodeStringLiteral (line 349) | class BabelNodeStringLiteral extends BabelNode {
  class BabelNodeNumericLiteral (line 354) | class BabelNodeNumericLiteral extends BabelNode {
  class BabelNodeNullLiteral (line 359) | class BabelNodeNullLiteral extends BabelNode {
  class BabelNodeBooleanLiteral (line 363) | class BabelNodeBooleanLiteral extends BabelNode {
  class BabelNodeRegExpLiteral (line 368) | class BabelNodeRegExpLiteral extends BabelNode {
  class BabelNodeLogicalExpression (line 374) | class BabelNodeLogicalExpression extends BabelNode {
  class BabelNodeMemberExpression (line 381) | class BabelNodeMemberExpression extends BabelNode {
  class BabelNodeNewExpression (line 388) | class BabelNodeNewExpression extends BabelNode {
  class BabelNodeProgram (line 394) | class BabelNodeProgram extends BabelNode {
  class BabelNodeObjectExpression (line 401) | class BabelNodeObjectExpression extends BabelNode {
  class BabelNodeObjectMethod (line 406) | class BabelNodeObjectMethod extends BabelNode {
  class BabelNodeObjectProperty (line 420) | class BabelNodeObjectProperty extends BabelNode {
  class BabelNodeRestElement (line 428) | class BabelNodeRestElement extends BabelNode {
  class BabelNodeReturnStatement (line 435) | class BabelNodeReturnStatement extends BabelNode {
  class BabelNodeSequenceExpression (line 440) | class BabelNodeSequenceExpression extends BabelNode {
  class BabelNodeSwitchCase (line 445) | class BabelNodeSwitchCase extends BabelNode {
  class BabelNodeSwitchStatement (line 451) | class BabelNodeSwitchStatement extends BabelNode {
  class BabelNodeThisExpression (line 457) | class BabelNodeThisExpression extends BabelNode {
  class BabelNodeThrowStatement (line 461) | class BabelNodeThrowStatement extends BabelNode {
  class BabelNodeTryStatement (line 466) | class BabelNodeTryStatement extends BabelNode {
  class BabelNodeUnaryExpression (line 474) | class BabelNodeUnaryExpression extends BabelNode {
  class BabelNodeUpdateExpression (line 481) | class BabelNodeUpdateExpression extends BabelNode {
  class BabelNodeVariableDeclaration (line 488) | class BabelNodeVariableDeclaration extends BabelNode {
  class BabelNodeVariableDeclarator (line 494) | class BabelNodeVariableDeclarator extends BabelNode {
  class BabelNodeWhileStatement (line 500) | class BabelNodeWhileStatement extends BabelNode {
  class BabelNodeWithStatement (line 506) | class BabelNodeWithStatement extends BabelNode {
  class BabelNodeAssignmentPattern (line 512) | class BabelNodeAssignmentPattern extends BabelNode {
  class BabelNodeArrayPattern (line 519) | class BabelNodeArrayPattern extends BabelNode {
  class BabelNodeArrowFunctionExpression (line 526) | class BabelNodeArrowFunctionExpression extends BabelNode {
  class BabelNodeClassBody (line 538) | class BabelNodeClassBody extends BabelNode {
  class BabelNodeClassDeclaration (line 543) | class BabelNodeClassDeclaration extends BabelNode {
  class BabelNodeClassExpression (line 554) | class BabelNodeClassExpression extends BabelNode {
  class BabelNodeExportAllDeclaration (line 565) | class BabelNodeExportAllDeclaration extends BabelNode {
  class BabelNodeExportDefaultDeclaration (line 570) | class BabelNodeExportDefaultDeclaration extends BabelNode {
  class BabelNodeExportNamedDeclaration (line 575) | class BabelNodeExportNamedDeclaration extends BabelNode {
  class BabelNodeExportSpecifier (line 582) | class BabelNodeExportSpecifier extends BabelNode {
  class BabelNodeForOfStatement (line 588) | class BabelNodeForOfStatement extends BabelNode {
  class BabelNodeImportDeclaration (line 595) | class BabelNodeImportDeclaration extends BabelNode {
  class BabelNodeImportDefaultSpecifier (line 601) | class BabelNodeImportDefaultSpecifier extends BabelNode {
  class BabelNodeImportNamespaceSpecifier (line 606) | class BabelNodeImportNamespaceSpecifier extends BabelNode {
  class BabelNodeImportSpecifier (line 611) | class BabelNodeImportSpecifier extends BabelNode {
  class BabelNodeMetaProperty (line 617) | class BabelNodeMetaProperty extends BabelNode {
  class BabelNodeClassMethod (line 623) | class BabelNodeClassMethod extends BabelNode {
  class BabelNodeObjectPattern (line 637) | class BabelNodeObjectPattern extends BabelNode {
  class BabelNodeSpreadElement (line 644) | class BabelNodeSpreadElement extends BabelNode {
  class BabelNodeSuper (line 649) | class BabelNodeSuper extends BabelNode {
  class BabelNodeTaggedTemplateExpression (line 653) | class BabelNodeTaggedTemplateExpression extends BabelNode {
  class BabelNodeTemplateElement (line 659) | class BabelNodeTemplateElement extends BabelNode {
  class BabelNodeTemplateLiteral (line 665) | class BabelNodeTemplateLiteral extends BabelNode {
  class BabelNodeYieldExpression (line 671) | class BabelNodeYieldExpression extends BabelNode {
  class BabelNodeAnyTypeAnnotation (line 677) | class BabelNodeAnyTypeAnnotation extends BabelNode {
  class BabelNodeArrayTypeAnnotation (line 681) | class BabelNodeArrayTypeAnnotation extends BabelNode {
  class BabelNodeBooleanTypeAnnotation (line 686) | class BabelNodeBooleanTypeAnnotation extends BabelNode {
  class BabelNodeBooleanLiteralTypeAnnotation (line 690) | class BabelNodeBooleanLiteralTypeAnnotation extends BabelNode {
  class BabelNodeNullLiteralTypeAnnotation (line 694) | class BabelNodeNullLiteralTypeAnnotation extends BabelNode {
  class BabelNodeClassImplements (line 698) | class BabelNodeClassImplements extends BabelNode {
  class BabelNodeClassProperty (line 704) | class BabelNodeClassProperty extends BabelNode {
  class BabelNodeDeclareClass (line 713) | class BabelNodeDeclareClass extends BabelNode {
  class BabelNodeDeclareFunction (line 720) | class BabelNodeDeclareFunction extends BabelNode {
  class BabelNodeDeclareInterface (line 725) | class BabelNodeDeclareInterface extends BabelNode {
  class BabelNodeDeclareModule (line 732) | class BabelNodeDeclareModule extends BabelNode {
  class BabelNodeDeclareModuleExports (line 738) | class BabelNodeDeclareModuleExports extends BabelNode {
  class BabelNodeDeclareTypeAlias (line 743) | class BabelNodeDeclareTypeAlias extends BabelNode {
  class BabelNodeDeclareVariable (line 750) | class BabelNodeDeclareVariable extends BabelNode {
  class BabelNodeExistentialTypeParam (line 755) | class BabelNodeExistentialTypeParam extends BabelNode {
  class BabelNodeFunctionTypeAnnotation (line 759) | class BabelNodeFunctionTypeAnnotation extends BabelNode {
  class BabelNodeFunctionTypeParam (line 767) | class BabelNodeFunctionTypeParam extends BabelNode {
  class BabelNodeGenericTypeAnnotation (line 773) | class BabelNodeGenericTypeAnnotation extends BabelNode {
  class BabelNodeInterfaceExtends (line 779) | class BabelNodeInterfaceExtends extends BabelNode {
  class BabelNodeInterfaceDeclaration (line 785) | class BabelNodeInterfaceDeclaration extends BabelNode {
  class BabelNodeIntersectionTypeAnnotation (line 792) | class BabelNodeIntersectionTypeAnnotation extends BabelNode {
  class BabelNodeMixedTypeAnnotation (line 797) | class BabelNodeMixedTypeAnnotation extends BabelNode {
  class BabelNodeEmptyTypeAnnotation (line 801) | class BabelNodeEmptyTypeAnnotation extends BabelNode {
  class BabelNodeNullableTypeAnnotation (line 805) | class BabelNodeNullableTypeAnnotation extends BabelNode {
  class BabelNodeNumericLiteralTypeAnnotation (line 810) | class BabelNodeNumericLiteralTypeAnnotation extends BabelNode {
  class BabelNodeNumberTypeAnnotation (line 814) | class BabelNodeNumberTypeAnnotation extends BabelNode {
  class BabelNodeStringLiteralTypeAnnotation (line 818) | class BabelNodeStringLiteralTypeAnnotation extends BabelNode {
  class BabelNodeStringTypeAnnotation (line 822) | class BabelNodeStringTypeAnnotation extends BabelNode {
  class BabelNodeThisTypeAnnotation (line 826) | class BabelNodeThisTypeAnnotation extends BabelNode {
  class BabelNodeTupleTypeAnnotation (line 830) | class BabelNodeTupleTypeAnnotation extends BabelNode {
  class BabelNodeTypeofTypeAnnotation (line 835) | class BabelNodeTypeofTypeAnnotation extends BabelNode {
  class BabelNodeTypeAlias (line 840) | class BabelNodeTypeAlias extends BabelNode {
  class BabelNodeTypeAnnotation (line 847) | class BabelNodeTypeAnnotation extends BabelNode {
  class BabelNodeTypeCastExpression (line 852) | class BabelNodeTypeCastExpression extends BabelNode {
  class BabelNodeTypeParameter (line 858) | class BabelNodeTypeParameter extends BabelNode {
  class BabelNodeTypeParameterDeclaration (line 863) | class BabelNodeTypeParameterDeclaration extends BabelNode {
  class BabelNodeTypeParameterInstantiation (line 868) | class BabelNodeTypeParameterInstantiation extends BabelNode {
  class BabelNodeObjectTypeAnnotation (line 873) | class BabelNodeObjectTypeAnnotation extends BabelNode {
  class BabelNodeObjectTypeCallProperty (line 880) | class BabelNodeObjectTypeCallProperty extends BabelNode {
  class BabelNodeObjectTypeIndexer (line 885) | class BabelNodeObjectTypeIndexer extends BabelNode {
  class BabelNodeObjectTypeProperty (line 892) | class BabelNodeObjectTypeProperty extends BabelNode {
  class BabelNodeQualifiedTypeIdentifier (line 898) | class BabelNodeQualifiedTypeIdentifier extends BabelNode {
  class BabelNodeUnionTypeAnnotation (line 904) | class BabelNodeUnionTypeAnnotation extends BabelNode {
  class BabelNodeVoidTypeAnnotation (line 909) | class BabelNodeVoidTypeAnnotation extends BabelNode {
  class BabelNodeJSXAttribute (line 913) | class BabelNodeJSXAttribute extends BabelNode {
  class BabelNodeJSXClosingElement (line 919) | class BabelNodeJSXClosingElement extends BabelNode {
  class BabelNodeJSXElement (line 924) | class BabelNodeJSXElement extends BabelNode {
  class BabelNodeJSXEmptyExpression (line 932) | class BabelNodeJSXEmptyExpression extends BabelNode {
  class BabelNodeJSXExpressionContainer (line 936) | class BabelNodeJSXExpressionContainer extends BabelNode {
  class BabelNodeJSXIdentifier (line 941) | class BabelNodeJSXIdentifier extends BabelNode {
  class BabelNodeJSXMemberExpression (line 946) | class BabelNodeJSXMemberExpression extends BabelNode {
  class BabelNodeJSXNamespacedName (line 952) | class BabelNodeJSXNamespacedName extends BabelNode {
  class BabelNodeJSXOpeningElement (line 958) | class BabelNodeJSXOpeningElement extends BabelNode {
  class BabelNodeJSXSpreadAttribute (line 965) | class BabelNodeJSXSpreadAttribute extends BabelNode {
  class BabelNodeJSXText (line 970) | class BabelNodeJSXText extends BabelNode {
  class BabelNodeNoop (line 975) | class BabelNodeNoop extends BabelNode {
  class BabelNodeParenthesizedExpression (line 979) | class BabelNodeParenthesizedExpression extends BabelNode {
  class BabelNodeAwaitExpression (line 984) | class BabelNodeAwaitExpression extends BabelNode {
  class BabelNodeForAwaitStatement (line 989) | class BabelNodeForAwaitStatement extends BabelNode {
  class BabelNodeBindExpression (line 996) | class BabelNodeBindExpression extends BabelNode {
  class BabelNodeDecorator (line 1002) | class BabelNodeDecorator extends BabelNode {
  class BabelNodeDoExpression (line 1007) | class BabelNodeDoExpression extends BabelNode {
  class BabelNodeExportDefaultSpecifier (line 1012) | class BabelNodeExportDefaultSpecifier extends BabelNode {
  class BabelNodeExportNamespaceSpecifier (line 1017) | class BabelNodeExportNamespaceSpecifier extends BabelNode {
  class BabelNodeRestProperty (line 1022) | class BabelNodeRestProperty extends BabelNode {

FILE: flow-typed/npm/graceful-fs_v4.1.x.js
  class Stats (line 11) | class Stats {
  class FSWatcher (line 35) | class FSWatcher extends events$EventEmitter {
  class ReadStream (line 39) | class ReadStream extends stream$Readable {
  class WriteStream (line 43) | class WriteStream extends stream$Writable {

FILE: fuzzer/src/execute.js
  function executeNormal (line 13) | function executeNormal(code) {
  function executePrepack (line 25) | function executePrepack(code) {
  function createVmContext (line 43) | function createVmContext() {

FILE: fuzzer/src/gen.js
  function createGenComputation (line 43) | function createGenComputation() {

FILE: fuzzer/src/overnight.js
  function masterMain (line 37) | function masterMain() {
  function loop (line 99) | function loop() {

FILE: fuzzer/src/report.js
  function reportTestFinish (line 33) | function reportTestFinish(time, status) {

FILE: fuzzer/src/test.js
  function inspect (line 47) | function inspect(value) {

FILE: scripts/debug-fb-www.js
  function printError (line 28) | function printError(error) {
  function compileSource (line 95) | function compileSource(source) {
  function readComponentsList (line 110) | async function readComponentsList() {
  function lintCompiledSource (line 121) | function lintCompiledSource(source) {
  function compileFile (line 133) | async function compileFile() {
  function printReactEvaluationGraph (line 142) | function printReactEvaluationGraph(evaluatedRootNode, depth) {

FILE: scripts/detect_bad_deps.js
  constant MAX_CYCLE_LEN (line 15) | const MAX_CYCLE_LEN = 56;

FILE: scripts/generate-sourcemaps-test.js
  function search (line 20) | function search(dir, relative) {
  function errorHandler (line 43) | function errorHandler(diagnostic: CompilerDiagnostic): ErrorHandlerResult {
  function generateTest (line 50) | function generateTest(name: string, test_path: string, code: string): bo...
  function run (line 102) | function run() {

FILE: scripts/instrumentor.js
  function createLogStatement (line 19) | function createLogStatement(loc: BabelNodeSourceLocation) {
  function instrument (line 27) | function instrument(inputFilename: string, outputFilename: string) {

FILE: scripts/prettier.js
  function exec (line 39) | function exec(command, args, options = {}) {

FILE: scripts/test-error-handler.js
  function search (line 20) | function search(dir, relative) {
  function errorHandler (line 44) | function errorHandler(
  function runTest (line 53) | function runTest(name: string, code: string): boolean {
  function run (line 113) | function run() {

FILE: scripts/test-internal-react.js
  function search (line 18) | function search(dir, relative) {
  function runTest (line 43) | function runTest(name: string, config: any) {
  function run (line 95) | function run() {

FILE: scripts/test-internal.js
  function search (line 20) | function search(dir, relative) {
  function runTest (line 52) | function runTest(name: string, code: string): boolean {
  function run (line 105) | function run() {

FILE: scripts/test-runner.js
  function serialRun (line 18) | function serialRun(promises: Array<() => Promise<void>>, i: number) {
  method log (line 265) | log(...s) {
  method warn (line 268) | warn(...s) {
  method error (line 271) | error(...s) {
  method if (line 422) | if (err instanceof FatalError) {
  method if (line 437) | if (!serialized.code.trim()) {
  method for (line 455) | for (let i = code.indexOf(marker); i >= 0; i = code.indexOf(marker, i + ...
  function setEquals (line 544) | function setEquals(set1, set2) {

FILE: scripts/test262-runner.js
  constant EOL (line 40) | const EOL = os.EOL;
  class TestTask (line 56) | class TestTask {
    method constructor (line 61) | constructor(file: TestFileInfo) {
    method fromObject (line 67) | static fromObject(obj: Object): TestTask {
  class TestFileInfo (line 81) | class TestFileInfo {
    method constructor (line 87) | constructor(location: string, isES6: boolean) {
    method fromObject (line 94) | static fromObject(obj: Object): TestFileInfo {
  class DoneMessage (line 106) | class DoneMessage {
    method constructor (line 112) | constructor(test: TestFileInfo, testResult: TestResult[] = []) {
    method fromObject (line 119) | static fromObject(obj: Object): DoneMessage {
  class ErrorMessage (line 134) | class ErrorMessage {
    method constructor (line 139) | constructor(err: Error) {
    method fromObject (line 145) | static fromObject(obj: Object): ErrorMessage {
  class TestResult (line 159) | class TestResult {
    method constructor (line 164) | constructor(passed: boolean, strict: boolean, err: ?Error = null) {
  class QuitMessage (line 173) | class QuitMessage {
    method constructor (line 177) | constructor() {
    method fromObject (line 181) | static fromObject(obj): QuitMessage {
  class BannerData (line 186) | class BannerData {
    method constructor (line 197) | constructor() {
    method fromObject (line 209) | static fromObject(obj: Object): BannerData {
  class MasterProgramArgs (line 239) | class MasterProgramArgs {
    method constructor (line 253) | constructor(
  class WorkerProgramArgs (line 282) | class WorkerProgramArgs {
    method constructor (line 287) | constructor(relativeTestPath: string, timeout: number, serializer: boo...
  class ArgsParseError (line 296) | class ArgsParseError {
    method constructor (line 299) | constructor(message: string) {
  function main (line 322) | function main(): number {
  function usage (line 344) | function usage(): string {
  function masterArgsParse (line 356) | function masterArgsParse(): MasterProgramArgs {
  function workerArgsParse (line 432) | function workerArgsParse(): WorkerProgramArgs {
  function masterRun (line 454) | function masterRun(args: MasterProgramArgs) {
  function masterRunSingleProcess (line 472) | function masterRunSingleProcess(
  function masterRunMultiProcess (line 514) | function masterRunMultiProcess(
  function handleFinished (line 591) | function handleFinished(args: MasterProgramArgs, groups: GroupsMap, earl...
  function getProgressBar (line 717) | function getProgressBar(currentTestLength: number, originalTestLength: n...
  function handleTestResults (line 727) | function handleTestResults(groups: GroupsMap, test: TestFileInfo, testRe...
  function killWorkers (line 737) | function killWorkers(workers: { [index: string]: cluster.Worker }): void {
  function toPercentage (line 743) | function toPercentage(x: number, total: number): number {
  function create_test_message (line 750) | function create_test_message(name: string, success: boolean, err: ?Error...
  function getHarnesses (line 772) | function getHarnesses(relativeTestPath: string): HarnessMap {
  function workerRun (line 785) | function workerRun(args: WorkerProgramArgs) {
  function handleTestResultsMultiProcess (line 818) | function handleTestResultsMultiProcess(err: ?Error, test: TestFileInfo, ...
  function createAbstractCall (line 1244) | function createAbstractCall(type, actual, { allowDuplicateNames, disable...
  method BooleanLiteral (line 1272) | BooleanLiteral(p) {
  method StringLiteral (line 1279) | StringLiteral(p) {
  method CallExpression (line 1294) | CallExpression(p) {
  method NumericLiteral (line 1303) | NumericLiteral(p) {

FILE: scripts/test262.js
  class TestAttrs (line 30) | class TestAttrs {
  class TestAttrsNegative (line 43) | class TestAttrsNegative {
  class TestFlags (line 48) | class TestFlags {
  class TestObject (line 55) | class TestObject {
  class Result (line 63) | class Result {
    method constructor (line 67) | constructor(pass, error, skip): void {
  class TestResult (line 74) | class TestResult extends TestObject {
  function execute (line 78) | function execute(timeout: number, test: TestObject): Result {
  function createRealm (line 172) | function createRealm(timeout: number): { realm: Realm, $: ObjectValue }
  class ReportResults (line 212) | class ReportResults {
    method constructor (line 218) | constructor(name: string) {
    method report (line 225) | report(pass: boolean, skip: boolean): void {
    method percentage (line 235) | percentage(x: number, total: number): string {
    method info (line 242) | info(title: string, x: number, y: number, force: boolean): string {
    method formatResult (line 250) | formatResult(): string {
    method safeTypeReturn (line 262) | static safeTypeReturn(map: Map<string, ReportResults>, key: string): R...
  function processResults (line 271) | function processResults(verbose: boolean, statusFile: string, results: T...
  class MasterProgramArgs (line 349) | class MasterProgramArgs {
    method constructor (line 356) | constructor(verbose: boolean, timeout: number, statusFile: string, pat...
  function masterArgsParse (line 365) | function masterArgsParse(): MasterProgramArgs {
  function usage (line 395) | function usage(message: string): void {
  function main (line 408) | function main(): void {

FILE: src/benchmarker.js
  function getTime (line 38) | function getTime() {
  function exec (line 43) | function exec(_code: string, compatibility: Compatibility) {
  function line (line 92) | function line(type, code, compatibility: Compatibility, moreOut = {}, co...

FILE: src/completions.js
  class SimpleNormalCompletion (line 124) | class SimpleNormalCompletion extends NormalCompletion {
    method shallowClone (line 125) | shallowClone(): SimpleNormalCompletion {
  class JoinedAbruptCompletions (line 185) | class JoinedAbruptCompletions extends AbruptCompletion {
    method constructor (line 186) | constructor(joinCondition: AbstractValue, consequent: AbruptCompletion...

FILE: src/debugger/adapter/DebugAdapter.js
  class PrepackDebugSession (line 29) | class PrepackDebugSession extends DebugSession {
    method constructor (line 34) | constructor() {
    method _generateDebugFilePath (line 42) | _generateDebugFilePath(direction: "in" | "out") {
    method _registerMessageCallbacks (line 53) | _registerMessageCallbacks() {
    method initializeRequest (line 85) | initializeRequest(response: DebugProtocol.InitializeResponse, args: De...
    method configurationDoneRequest (line 95) | configurationDoneRequest(
    method launchRequest (line 110) | launchRequest(response: DebugProtocol.LaunchResponse, args: LaunchRequ...
    method continueRequest (line 149) | continueRequest(response: DebugProtocol.ContinueResponse, args: DebugP...
    method setBreakPointsRequest (line 159) | setBreakPointsRequest(
    method stackTraceRequest (line 208) | stackTraceRequest(response: DebugProtocol.StackTraceResponse, args: De...
    method threadsRequest (line 237) | threadsRequest(response: DebugProtocol.ThreadsResponse): void {
    method scopesRequest (line 250) | scopesRequest(response: DebugProtocol.ScopesResponse, args: DebugProto...
    method variablesRequest (line 274) | variablesRequest(response: DebugProtocol.VariablesResponse, args: Debu...
    method stepInRequest (line 302) | stepInRequest(response: DebugProtocol.StepInResponse, args: DebugProto...
    method nextRequest (line 311) | nextRequest(response: DebugProtocol.NextResponse, args: DebugProtocol....
    method stepOutRequest (line 320) | stepOutRequest(response: DebugProtocol.StepOutResponse, args: DebugPro...
    method evaluateRequest (line 329) | evaluateRequest(response: DebugProtocol.EvaluateResponse, args: DebugP...
    method _ensureAdapterChannelCreated (line 349) | _ensureAdapterChannelCreated(callingRequest: string) {

FILE: src/debugger/adapter/channel/AdapterChannel.js
  method constructor (line 22) | constructor(inFilePath: string, outFilePath: string) {

FILE: src/debugger/common/DebuggerConstants.js
  class DebuggerConstants (line 12) | class DebuggerConstants {

FILE: src/debugger/common/DebuggerError.js
  class DebuggerError (line 15) | class DebuggerError extends Error {
    method constructor (line 16) | constructor(errorType: DebuggerErrorType, message: string) {

FILE: src/debugger/common/channel/DebugMessage.js
  class DebugMessage (line 13) | class DebugMessage {

FILE: src/debugger/common/channel/FileIOWrapper.js
  method constructor (line 17) | constructor(isAdapter: boolean, inFilePath: string, outFilePath: string) {

FILE: src/debugger/common/channel/MessageMarshaller.js
  method constructor (line 42) | constructor() {
  method marshallBreakpointAcknowledge (line 47) | marshallBreakpointAcknowledge(requestID: number, messageType: string, br...
  method invariant (line 267) | invariant(false, "Unexpected response type");

FILE: src/debugger/common/channel/MessagePackager.js
  constant LENGTH_SEPARATOR (line 14) | const LENGTH_SEPARATOR = "--";
  class MessagePackager (line 17) | class MessagePackager {
    method constructor (line 18) | constructor(isAdapter: boolean) {
    method package (line 24) | package(contents: string): string {
    method unpackage (line 32) | unpackage(contents: string): null | string {

FILE: src/debugger/common/invariant.js
  function invariant (line 12) | function invariant(condition: boolean, format: string): void {

FILE: src/debugger/mock-ui/DataHandler.js
  constant TWO_CRLF (line 13) | const TWO_CRLF = "\r\n\r\n";
  method constructor (line 16) | constructor() {
  method if (line 28) | if (this._contentLength >= 0) {

FILE: src/debugger/mock-ui/UISession.js
  constant TWO_CRLF (line 27) | const TWO_CRLF = "\r\n\r\n";
  class UISession (line 33) | class UISession {
    method constructor (line 34) | constructor(proc: Process, args: DebuggerCLIArguments) {
    method _startAdapter (line 71) | _startAdapter() {
    method _processMessage (line 91) | _processMessage(message: string): void {
    method _processEvent (line 111) | _processEvent(event: DebugProtocol.Event) {
    method _processResponse (line 131) | _processResponse(response: DebugProtocol.Response) {
    method _processScopesResponse (line 150) | _processScopesResponse(response: DebugProtocol.ScopesResponse) {
    method _processInitializeResponse (line 157) | _processInitializeResponse(response: DebugProtocol.InitializeResponse) {
    method _processLaunchResponse (line 166) | _processLaunchResponse(response: DebugProtocol.LaunchResponse) {
    method _processStackTraceResponse (line 176) | _processStackTraceResponse(response: DebugProtocol.StackTraceResponse) {
    method _processThreadsResponse (line 187) | _processThreadsResponse(response: DebugProtocol.ThreadsResponse) {
    method _processVariablesResponse (line 193) | _processVariablesResponse(response: DebugProtocol.VariablesResponse) {
    method _processEvaluateResponse (line 204) | _processEvaluateResponse(response: DebugProtocol.EvaluateResponse) {
    method _executeCommand (line 213) | _executeCommand(input: string): boolean {
    method _dispatch (line 322) | _dispatch(input: string) {
    method _sendInitializeRequest (line 345) | _sendInitializeRequest(args: DebugProtocol.InitializeRequestArguments) {
    method _sendLaunchRequest (line 357) | _sendLaunchRequest(args: DebugProtocol.LaunchRequestArguments) {
    method _sendConfigDoneRequest (line 369) | _sendConfigDoneRequest(args: DebugProtocol.ConfigurationDoneArguments) {
    method _sendContinueRequest (line 381) | _sendContinueRequest(args: DebugProtocol.ContinueArguments) {
    method _sendBreakpointRequest (line 393) | _sendBreakpointRequest(filePath: string, line: number, column: number ...
    method _sendStackFramesRequest (line 415) | _sendStackFramesRequest(args: DebugProtocol.StackTraceArguments) {
    method _sendThreadsRequest (line 426) | _sendThreadsRequest() {
    method _sendScopesRequest (line 436) | _sendScopesRequest(args: DebugProtocol.ScopesArguments) {
    method _sendVariablesRequest (line 447) | _sendVariablesRequest(args: DebugProtocol.VariablesArguments) {
    method _sendStepIntoRequest (line 458) | _sendStepIntoRequest(args: DebugProtocol.StepInArguments) {
    method _sendStepOverRequest (line 469) | _sendStepOverRequest(args: DebugProtocol.NextArguments) {
    method _sendStepOutRequest (line 480) | _sendStepOutRequest(args: DebugProtocol.StepOutArguments) {
    method _sendEvaluateRequest (line 491) | _sendEvaluateRequest(args: DebugProtocol.EvaluateArguments) {
    method _packageAndSend (line 503) | _packageAndSend(message: string) {
    method _uiOutput (line 512) | _uiOutput(message: string) {
    method serve (line 516) | serve() {
    method shutdown (line 537) | shutdown() {

FILE: src/debugger/mock-ui/debugger-cli.js
  function run (line 18) | function run(process, console) {
  function readCLIArguments (line 29) | function readCLIArguments(process, console): DebuggerCLIArguments {

FILE: src/debugger/server/Breakpoint.js
  class Breakpoint (line 12) | class Breakpoint {
    method constructor (line 13) | constructor(filePath: string, line: number, column: number = 0, tempor...

FILE: src/debugger/server/BreakpointManager.js
  method constructor (line 19) | constructor() {
  method if (line 25) | if (ast.loc && ast.loc.source !== null) {
  method for (line 96) | for (let bp of breakpoints) {

FILE: src/debugger/server/Debugger.js
  class DebugServer (line 47) | class DebugServer {
    method constructor (line 48) | constructor(channel: DebugChannel, realm: Realm, configArgs: DebuggerC...
    method if (line 87) | if (this._checkAndUpdateLastExecuted(ast)) {
  method if (line 231) | if (args.frameId < 0 || args.frameId >= this._realm.contextStack.length) {

FILE: src/debugger/server/PerFileBreakpointMap.js
  class PerFileBreakpointMap (line 16) | class PerFileBreakpointMap {
    method constructor (line 17) | constructor(filePath: string) {
    method if (line 34) | if (column !== 0) {

FILE: src/debugger/server/ReferenceMap.js
  method constructor (line 16) | constructor() {

FILE: src/debugger/server/Stepper.js
  class Stepper (line 15) | class Stepper {
    method constructor (line 16) | constructor(filePath: string, line: number, column: number, stackSize:...
    method isComplete (line 26) | isComplete(ast: BabelNode, currentStackSize: number): boolean {
    method isAstLocationChanged (line 33) | isAstLocationChanged(ast: BabelNode): boolean {
  class StepIntoStepper (line 55) | class StepIntoStepper extends Stepper {
    method constructor (line 56) | constructor(filePath: string, line: number, column: number, startStack...
    method isComplete (line 61) | isComplete(ast: BabelNode, currentStackSize: number): boolean {
  class StepOverStepper (line 68) | class StepOverStepper extends Stepper {
    method constructor (line 69) | constructor(filePath: string, line: number, column: number, stackSize:...
    method isComplete (line 73) | isComplete(ast: BabelNode, currentStackSize: number): boolean {
  class StepOutStepper (line 87) | class StepOutStepper extends Stepper {
    method constructor (line 88) | constructor(filePath: string, line: number, column: number, stackSize:...
    method isComplete (line 92) | isComplete(ast: BabelNode, currentStackSize: number): boolean {

FILE: src/debugger/server/VariableManager.js
  class VariableManager (line 43) | class VariableManager {
    method constructor (line 44) | constructor(realm: Realm) {
    method getReferenceForValue (line 57) | getReferenceForValue(value: VariableContainer): number {
    method getVariablesByReference (line 69) | getVariablesByReference(reference: number): Array<Variable> {
    method _getVariablesFromObject (line 83) | _getVariablesFromObject(object: ObjectValue): Array<Variable> {
    method _getAbstractValueContent (line 102) | _getAbstractValueContent(value: AbstractValue): Array<Variable> {
    method _getVariablesFromEnvRecord (line 117) | _getVariablesFromEnvRecord(envRecord: EnvironmentRecord): Array<Variab...
    method _getVariablesFromDeclarativeEnv (line 138) | _getVariablesFromDeclarativeEnv(env: DeclarativeEnvironmentRecord): Ar...
    method _getVariableFromValue (line 151) | _getVariableFromValue(name: string, value: Value): Variable {
    method _getVariableFromAbstractValue (line 161) | _getVariableFromAbstractValue(name: string, value: AbstractValue): Var...
    method _getAbstractValueDisplay (line 170) | _getAbstractValueDisplay(value: AbstractValue): string {
    method _getVariableFromConcreteValue (line 177) | _getVariableFromConcreteValue(name: string, value: ConcreteValue): Var...
    method evaluate (line 197) | evaluate(frameId: void | number, expression: string): EvaluateResult {
    method clean (line 235) | clean() {

FILE: src/debugger/server/channel/DebugChannel.js
  method constructor (line 27) | constructor(ioWrapper: FileIOWrapper) {
  method debuggerIsAttached (line 40) | debuggerIsAttached(): boolean {
  method readIn (line 60) | readIn(): DebuggerRequest {
  method writeOut (line 67) | writeOut(contents: string): void {
  method sendBreakpointsAcknowledge (line 74) | sendBreakpointsAcknowledge(messageType: string, requestID: number, args:...

FILE: src/descriptors.js
  class Descriptor (line 18) | class Descriptor {
    method constructor (line 19) | constructor() {
    method throwIfNotConcrete (line 22) | throwIfNotConcrete(realm: Realm): PropertyDescriptor {
    method mightHaveBeenDeleted (line 32) | mightHaveBeenDeleted(): boolean {
  class PropertyDescriptor (line 49) | class PropertyDescriptor extends Descriptor {
    method constructor (line 61) | constructor(desc: DescriptorInitializer | PropertyDescriptor) {
    method throwIfNotConcrete (line 71) | throwIfNotConcrete(realm: Realm): PropertyDescriptor {
    method mightHaveBeenDeleted (line 74) | mightHaveBeenDeleted(): boolean {
  method if (line 110) | if (!this.descriptor1 || this.descriptor1.mightHaveBeenDeleted()) {

FILE: src/domains/TypesDomain.js
  method constructor (line 32) | constructor(type: void | typeof Value) {
  method isBottom (line 42) | isBottom(): boolean {
  method isTop (line 46) | isTop(): boolean {
  method getType (line 50) | getType(): typeof Value {
  method binaryOp (line 55) | static binaryOp(op: BabelBinaryOperator, left: TypesDomain, right: Types...

FILE: src/domains/ValuesDomain.js
  method constructor (line 47) | constructor(_values: void | Set<ConcreteValue> | ConcreteValue) {
  method contains (line 62) | contains(x: ValuesDomain): boolean {
  method containsValue (line 75) | containsValue(x: Value): boolean {
  method isBottom (line 83) | isBottom(): boolean {
  method isTop (line 87) | isTop(): boolean {
  method getElements (line 91) | getElements(): Set<ConcreteValue> {
  method binaryOp (line 98) | static binaryOp(realm: Realm, op: BabelBinaryOperator, left: ValuesDomai...
  method computeBinary (line 142) | static computeBinary(realm: Realm, op: BabelBinaryOperator, lval: Concre...
  method logicalOp (line 310) | static logicalOp(realm: Realm, op: BabelLogicalOperator, left: ValuesDom...
  method computeLogical (line 343) | static computeLogical(
  method computeUnary (line 363) | static computeUnary(realm: Realm, op: BabelUnaryOperator, value: Concret...
  method unaryOp (line 421) | static unaryOp(realm: Realm, op: BabelUnaryOperator, operandValues: Valu...

FILE: src/environment.js
  function deriveGetBinding (line 53) | function deriveGetBinding(realm: Realm, binding: Binding) {
  function materializeBinding (line 60) | function materializeBinding(realm: Realm, binding: Binding): void {
  function leakBinding (line 66) | function leakBinding(binding: Binding): void {
  class DeclarativeEnvironmentRecord (line 173) | class DeclarativeEnvironmentRecord extends EnvironmentRecord {
    method constructor (line 174) | constructor(realm: Realm) {
  method BindThisValue (line 573) | BindThisValue(
  method executeSources (line 1177) | executeSources(
  method if (line 1361) | if (this.realm.debuggerInstance) {
  method if (line 1365) | if (ast.loc !== undefined && ast.loc !== null && ast.loc.source) {

FILE: src/errors.js
  method constructor (line 60) | constructor() {
  method constructor (line 67) | constructor(message: string) {

FILE: src/evaluators/CallExpression.js
  function getPrimitivePrototypeFromType (line 68) | function getPrimitivePrototypeFromType(realm: Realm, value: AbstractValu...
  function evaluateReference (line 84) | function evaluateReference(
  function evaluateConditionalReferenceBase (line 143) | function evaluateConditionalReferenceBase(
  function callBothFunctionsAndJoinTheirEffects (line 194) | function callBothFunctionsAndJoinTheirEffects(
  function generateRuntimeCall (line 222) | function generateRuntimeCall(
  function tryToEvaluateCallOrLeaveAsAbstract (line 253) | function tryToEvaluateCallOrLeaveAsAbstract(
  function EvaluateCall (line 293) | function EvaluateCall(

FILE: src/evaluators/ClassDeclaration.js
  function EvaluateClassHeritage (line 37) | function EvaluateClassHeritage(
  function ClassDefinitionEvaluation (line 55) | function ClassDefinitionEvaluation(
  function BindingClassDeclarationEvaluation (line 273) | function BindingClassDeclarationEvaluation(

FILE: src/evaluators/ForInStatement.js
  function reportError (line 32) | function reportError(realm: Realm, loc: ?BabelNodeSourceLocation) {
  function emitResidualLoopIfSafe (line 115) | function emitResidualLoopIfSafe(

FILE: src/evaluators/ForOfStatement.js
  method if (line 161) | if (exprValue instanceof NullValue || exprValue instanceof UndefinedValu...
  method if (line 240) | if (!destructuring) {
  method if (line 280) | if (!destructuring) {
  method if (line 378) | if (left.type === "VariableDeclaration") {

FILE: src/evaluators/ForStatement.js
  method if (line 56) | if (perIterationBindings.length > 0) {
  method let (line 106) | let result;
  method possibleInfiniteLoopIterations (line 178) | possibleInfiniteLoopIterations++;
  method if (line 207) | if (path.node.name === "arguments") {
  method if (line 215) | if (path.node.label !== null) {
  method if (line 388) | if (error instanceof FatalError) {
  method if (line 413) | if (realm.isInPureScope() && !realm.instantRender.enabled) {
  method if (line 430) | if (init.kind === "var") {
  method if (line 460) | if (isConst) {

FILE: src/evaluators/IfStatement.js
  function evaluate (line 23) | function evaluate(ast: BabelNodeIfStatement, strictCode: boolean, env: L...

FILE: src/evaluators/JSXElement.js
  function cleanJSXElementLiteralChild (line 46) | function cleanJSXElementLiteralChild(child: string): null | string {
  function evaluateJSXMemberExpression (line 94) | function evaluateJSXMemberExpression(
  function evaluateJSXIdentifier (line 116) | function evaluateJSXIdentifier(ast, strictCode, env, realm): Value {
  function evaluateJSXValue (line 124) | function evaluateJSXValue(value: BabelNode, strictCode: boolean, env: Le...
  function isTagName (line 145) | function isTagName(ast: BabelNode): boolean {
  function evaluateJSXChildren (line 149) | function evaluateJSXChildren(
  function isObjectEmpty (line 198) | function isObjectEmpty(realm: Realm, object: ObjectValue) {
  function evaluateJSXAttributes (line 208) | function evaluateJSXAttributes(

FILE: src/evaluators/LabeledStatement.js
  function LabelledEvaluation (line 26) | function LabelledEvaluation(

FILE: src/evaluators/NewExpression.js
  function tryToEvaluateConstructOrLeaveAsAbstract (line 76) | function tryToEvaluateConstructOrLeaveAsAbstract(
  function createConstruct (line 121) | function createConstruct(constructor: Value, argsList: Array<Value>, rea...

FILE: src/evaluators/ObjectExpression.js
  function EvalPropertyName (line 28) | function EvalPropertyName(
  function EvalPropertyNamePartial (line 43) | function EvalPropertyNamePartial(

FILE: src/evaluators/Program.js
  function GlobalDeclarationInstantiation (line 30) | function GlobalDeclarationInstantiation(
  function emitThrowStatementsIfNeeded (line 265) | function emitThrowStatementsIfNeeded(completion: Completion): void {

FILE: src/evaluators/SuperCall.js
  function GetSuperConstructor (line 21) | function GetSuperConstructor(realm: Realm) {
  function SuperCall (line 47) | function SuperCall(

FILE: src/evaluators/SuperProperty.js
  function MakeSuperPropertyReference (line 22) | function MakeSuperPropertyReference(realm: Realm, propertyKey, strict: b...
  function SuperProperty (line 50) | function SuperProperty(

FILE: src/evaluators/SwitchStatement.js
  function CaseSelectorEvaluation (line 31) | function CaseSelectorEvaluation(
  function AbstractCaseBlockEvaluation (line 44) | function AbstractCaseBlockEvaluation(
  function CaseBlockEvaluation (line 182) | function CaseBlockEvaluation(

FILE: src/evaluators/UnaryExpression.js
  function isInstance (line 37) | function isInstance(proto, Constructor): boolean {
  function tryToEvaluateOperationOrLeaveAsAbstract (line 97) | function tryToEvaluateOperationOrLeaveAsAbstract(
  function evaluateOperation (line 136) | function evaluateOperation(

FILE: src/evaluators/VariableDeclaration.js
  function letAndConst (line 22) | function letAndConst(

FILE: src/intrinsics/ecma262/Array.js
  method if (line 41) | if (argCount === 0) {

FILE: src/intrinsics/ecma262/Date.js
  function NumberValue (line 22) | function(realm: Realm): NativeFunctionValue {

FILE: src/intrinsics/ecma262/Error.js
  function buildStack (line 89) | function buildStack(realm: Realm, context: ObjectValue): Value {

FILE: src/intrinsics/ecma262/ErrorPrototype.js
  function build (line 21) | function build(name: string, realm: Realm, obj: ObjectValue): void {

FILE: src/intrinsics/ecma262/FunctionPrototype.js
  function conditionalFunctionApply (line 65) | function conditionalFunctionApply(
  function functionApply (line 91) | function functionApply(func, thisArg, argArray) {

FILE: src/intrinsics/ecma262/JSON.js
  function SerializeJSONArray (line 42) | function SerializeJSONArray(realm: Realm, value: ObjectValue, context: C...
  function QuoteJSONString (line 117) | function QuoteJSONString(realm: Realm, value: StringValue): string {
  function SerializeJSONObject (line 121) | function SerializeJSONObject(realm: Realm, value: ObjectValue, context: ...
  function SerializeJSONProperty (line 211) | function SerializeJSONProperty(realm: Realm, key: StringValue, holder: O...
  function InternalCloneObject (line 291) | function InternalCloneObject(realm: Realm, val: ObjectValue): ObjectValue {
  function InternalJSONClone (line 315) | function InternalJSONClone(realm: Realm, val: Value): Value {

FILE: src/intrinsics/ecma262/Object.js
  method if (line 50) | if (to.hasStringOrSymbolProperties()) {
  method if (line 62) | if (to instanceof AbstractObjectValue && to.values.isTop()) {
  method snapshotToObjectAndRemoveProperties (line 70) | snapshotToObjectAndRemoveProperties(to, delayedSources);
  method if (line 133) | if (!to.isSimpleObject() || !frm.isSimpleObject()) {
  method if (line 309) | if (realm.isInPureScope() && !realm.instantRender.enabled) {

FILE: src/intrinsics/ecma262/Proxy.js
  function createRevoker (line 54) | function createRevoker() {

FILE: src/intrinsics/ecma262/RegExpPrototype.js
  function InternalHasFlag (line 31) | function InternalHasFlag(realm: Realm, context: Value, flag: string): Va...

FILE: src/intrinsics/ecma262/StringPrototype.js
  function toCase (line 805) | function toCase(type: toCaseTypes, context, locales) {

FILE: src/intrinsics/ecma262/TypedArrayPrototype.js
  function build (line 1818) | function build(realm: Realm, obj: ObjectValue, type: ElementType): void {

FILE: src/intrinsics/ecma262/WeakMap.js
  method if (line 22) | if (!NewTarget) {
  method if (line 92) | if (kCompletion instanceof AbruptCompletion) {
  method if (line 103) | if (vCompletion instanceof AbruptCompletion) {
  method if (line 114) | if (statusCompletion instanceof AbruptCompletion) {

FILE: src/intrinsics/ecma262/parseInt.js
  function ToDigit (line 17) | function ToDigit(ch: string): number | void {
  method if (line 72) | if (S.length >= 2 && S.charAt(0) === "0" && (S.charAt(1) === "x" || S.ch...

FILE: src/intrinsics/fb-www/fb-mocks.js
  function createBabelHelpers (line 51) | function createBabelHelpers(realm: Realm, global: ObjectValue | Abstract...

FILE: src/intrinsics/fb-www/react-dom-mocks.js
  function createMockReactDOM (line 20) | function createMockReactDOM(realm: Realm, reactDomRequireName: string): ...
  function createMockReactDOMServer (line 66) | function createMockReactDOMServer(realm: Realm, requireName: string): Ob...

FILE: src/intrinsics/fb-www/react-mocks.js
  function createMockReact (line 411) | function createMockReact(realm: Realm, reactRequireName: string): Object...

FILE: src/intrinsics/fb-www/react-native-mocks.js
  function createMockReactNative (line 1655) | function createMockReactNative(realm: Realm, reactNativeRequireName: str...

FILE: src/intrinsics/fb-www/relay-mocks.js
  function createReactRelayContainer (line 107) | function createReactRelayContainer(
  function createMockReactRelay (line 141) | function createMockReactRelay(realm: Realm, relayRequireName: string): O...

FILE: src/intrinsics/fb-www/utils.js
  method for (line 25) | for (let property of properties) {

FILE: src/intrinsics/index.js
  function initialize (line 164) | function initialize(i: Intrinsics, realm: Realm): Intrinsics {

FILE: src/intrinsics/prepack/global.js
  method if (line 377) | if (!c.mightBeTrue()) {

FILE: src/intrinsics/prepack/utils.js
  method if (line 72) | if (!realm.useAbstractInterpretation) {
  method if (line 98) | if (!optionsMap.get("allowDuplicateNames") && !realm.isNameStringUnique(...

FILE: src/invariant.js
  function invariant (line 14) | function invariant(condition: boolean, format: string = ""): void {

FILE: src/methods/abstract.js
  method if (line 77) | if (!arg.mightNotBeNull() || !arg.mightNotBeUndefined()) {
  method if (line 81) | if (realm.isInPureScope()) {
  method if (line 85) | if (argLoc) {
  method py (line 117) | py;
  method if (line 135) | if (px instanceof AbstractValue || py instanceof AbstractValue) {
  method if (line 147) | if (px instanceof StringValue && py instanceof StringValue) {
  method if (line 220) | if (HasSameType(x, y)) {
  method if (line 574) | if (completionRecord instanceof ReturnCompletion || completionRecord ins...

FILE: src/methods/arraybuffer.js
  function CreateByteDataBlock (line 23) | function CreateByteDataBlock(realm: Realm, size: number): DataBlock {
  function CopyDataBlockBytes (line 49) | function CopyDataBlockBytes(
  function AllocateArrayBuffer (line 96) | function AllocateArrayBuffer(realm: Realm, constructor: ObjectValue, byt...
  function DetachArrayBuffer (line 120) | function DetachArrayBuffer(realm: Realm, arrayBuffer: ObjectValue): Null...
  function GetViewValue (line 137) | function GetViewValue(
  method if (line 256) | if (elementSize === 1) {
  method if (line 266) | if (elementSize === 1) {
  method if (line 462) | if (n === 1) {
  method if (line 474) | if (n === 1) {

FILE: src/methods/call.js
  method if (line 58) | if (Array.isArray(argNodes)) {
  method if (line 169) | if (Environment.IsPropertyReference(realm, ref)) {
  method if (line 275) | if (HasSomeCompatibleType(thisArgument, NullValue, UndefinedValue)) {
  method if (line 377) | if (f instanceof NativeFunctionValue) {
  method if (line 539) | if (func instanceof AbstractObjectValue && Value.isTypeCompatibleWith(fu...

FILE: src/methods/construct.js
  method let (line 170) | let ClassElement;
  method let (line 220) | let ClassElement;

FILE: src/methods/create.js
  method if (line 213) | if (SameValue(realm, C, realmC.intrinsics.Array)) {

FILE: src/methods/date.js
  function Day (line 29) | function Day(realm: Realm, t: number): number {
  function TimeWithinDay (line 34) | function TimeWithinDay(realm: Realm, t: number): number {
  function DayFromYear (line 49) | function DayFromYear(realm: Realm, y: number): number {
  function TimeFromYear (line 54) | function TimeFromYear(realm: Realm, y: number): number {
  function YearFromTime (line 59) | function YearFromTime(realm: Realm, t: number): number {
  function InLeapYear (line 74) | function InLeapYear(realm: Realm, t: number): number {
  function MonthFromTime (line 82) | function MonthFromTime(realm: Realm, t: number): number {
  function DayWithinYear (line 103) | function DayWithinYear(realm: Realm, t: number): number {
  function DateFromTime (line 108) | function DateFromTime(realm: Realm, t: number): number {
  function WeekDay (line 151) | function WeekDay(realm: Realm, t: number): number {
  function DaylightSavingTA (line 156) | function DaylightSavingTA(realm: Realm, t: number): number {
  function LocalTime (line 162) | function LocalTime(realm: Realm, t: number): number {
  method if (line 304) | if (value instanceof ObjectValue && value.$DateValue !== undefined) {

FILE: src/methods/destructuring.js
  function RestDestructuringAssignmentEvaluation (line 42) | function RestDestructuringAssignmentEvaluation(
  function PropertyDestructuringAssignmentEvaluation (line 81) | function PropertyDestructuringAssignmentEvaluation(
  function DestructuringAssignmentEvaluation (line 191) | function DestructuringAssignmentEvaluation(
  function IteratorDestructuringAssignmentEvaluation (line 281) | function IteratorDestructuringAssignmentEvaluation(
  function KeyedDestructuringAssignmentEvaluation (line 556) | function KeyedDestructuringAssignmentEvaluation(

FILE: src/methods/environment.js
  method if (line 116) | if (properties.length === 0) {
  method if (line 376) | if (!node) {
  method switch (line 379) | switch (node.type) {

FILE: src/methods/function.js
  function InternalCall (line 73) | function InternalCall(
  function map (line 276) | function map(value: Value) {
  method if (line 455) | if (param.type !== "Identifier") {
  method if (line 465) | if (Environment.ContainsExpression(realm, param)) {
  method if (line 500) | if (d.type !== "VariableDeclaration") {
  method if (line 618) | if (instantiatedVarNames.indexOf(n) < 0) {
  method if (line 657) | if (instantiatedVarNames.indexOf(n) < 0) {
  method for (line 712) | for (let dn of Environment.BoundNames(realm, d)) {
  method if (line 1139) | if (e instanceof AbruptCompletion) {
  method if (line 1150) | if (script.directives) {
  method if (line 1217) | if (node.type !== "FunctionDeclaration") {
  method if (line 1322) | if (varEnvRec instanceof GlobalEnvironmentRecord) {
  method if (line 1374) | if (d.type !== "VariableDeclaration") {
  method if (line 1407) | if (d.type === "VariableDeclaration") {
  method if (line 1436) | if (s.type === "VariableDeclaration" && s.kind !== "var") {
  method for (line 1445) | for (let dn of Environment.BoundNames(realm, d)) {

FILE: src/methods/generator.js
  function GeneratorStart (line 20) | function GeneratorStart(
  function GeneratorResume (line 89) | function GeneratorResume(realm: Realm, generator: Value, value: Value): ...
  function GeneratorResumeAbrupt (line 130) | function GeneratorResumeAbrupt(realm: Realm, generator: Value, abruptCom...
  function GeneratorYield (line 153) | function GeneratorYield(realm: Realm, iterNextObj: ObjectValue): Value {

FILE: src/methods/get.js
  function GetFunctionRealm (line 49) | function GetFunctionRealm(realm: Realm, obj: ObjectValue): Realm {

FILE: src/methods/has.js
  function HasName (line 27) | function HasName(realm: Realm, ast: BabelNodeExpression): boolean {

FILE: src/methods/integrity.js
  function OrdinaryPreventExtensions (line 23) | function OrdinaryPreventExtensions(realm: Realm, O: ObjectValue): boolean {
  function SetIntegrityLevel (line 37) | function SetIntegrityLevel(realm: Realm, O: ObjectValue, level: Integrit...
  function TestIntegrityLevel (line 100) | function TestIntegrityLevel(realm: Realm, O: ObjectValue, level: Integri...

FILE: src/methods/is.js
  function IsConcatSpreadable (line 37) | function IsConcatSpreadable(realm: Realm, _O: Value): boolean {
  function IsGenericDescriptorInternal (line 55) | function IsGenericDescriptorInternal(realm: Realm, Desc: ?Descriptor): b...
  function IsAccessorDescriptorInternal (line 67) | function IsAccessorDescriptorInternal(realm: Realm, Desc: ?Descriptor): ...
  function IsDataDescriptorInternal (line 80) | function IsDataDescriptorInternal(realm: Realm, Desc: ?Descriptor): bool...
  function OrdinaryIsExtensible (line 109) | function OrdinaryIsExtensible(realm: Realm, O: ObjectValue): boolean {

FILE: src/methods/iterator.js
  method let (line 79) | let result;
  method if (line 90) | if (!(result instanceof ObjectValue)) {

FILE: src/methods/join.js
  function joinGenerators (line 43) | function joinGenerators(joinCondition: AbstractValue, generator1: Genera...
  method if (line 102) | if (leftCompletion instanceof AbruptCompletion) return leftCompletion;
  method if (line 400) | if (Array.isArray(v1) || Array.isArray(v2)) {
  method if (line 432) | if (d1 === undefined) {

FILE: src/methods/json.js
  function InternalizeJSONProperty (line 23) | function InternalizeJSONProperty(

FILE: src/methods/own.js
  function GetOwnPropertyKeys (line 21) | function GetOwnPropertyKeys(realm: Realm, O: Value, Type: Function): Arr...
  method if (line 98) | if (key instanceof StringValue) {

FILE: src/methods/promise.js
  function EnqueueJob (line 33) | function EnqueueJob(realm: Realm, queueName: string, job: Function, args...
  function PromiseReactionJob (line 429) | function PromiseReactionJob(realm: Realm, reaction: Function, argument: ...
  function createResolveFunction (line 434) | function createResolveFunction(realm) {
  function createRejectFunction (line 505) | function createRejectFunction(realm) {
  function CreateResolvingFunctions (line 538) | function CreateResolvingFunctions(realm: Realm, promise: ObjectValue): R...
  function FulfillPromise (line 565) | function FulfillPromise(realm: Realm, promise: ObjectValue, value: Value...
  function RejectPromise (line 598) | function RejectPromise(realm: Realm, promise: ObjectValue, reason: Value...
  function TriggerPromiseReactions (line 634) | function TriggerPromiseReactions(

FILE: src/methods/properties.js
  function StringKey (line 56) | function StringKey(key: PropertyKeyValue): string {
  function InternalDescriptorPropertyToValue (line 65) | function InternalDescriptorPropertyToValue(realm: Realm, value: void | b...
  function InternalGetPropertiesKey (line 72) | function InternalGetPropertiesKey(P: PropertyKeyValue): string | SymbolV...
  function InternalGetPropertiesMap (line 83) | function InternalGetPropertiesMap(O: ObjectValue, P: PropertyKeyValue): ...
  function InternalSetProperty (line 93) | function InternalSetProperty(realm: Realm, O: ObjectValue, P: PropertyKe...
  method if (line 142) | if (IsDataDescriptor(realm, desc) && desc.configurable && desc.enumerabl...
  method if (line 612) | if (isWidenedValue(P)) {
  method if (line 628) | if (pIsLoopVar && pIsNumeric) {
  method if (line 1037) | if (!current.configurable) {
  method if (line 1108) | if ((Desc: any)[field] !== undefined) {
  method if (line 1136) | if (O.mightNotBeObject()) {
  method if (line 1433) | if (!realm.ignoreLeakLogic && O.mightBeLeakedObject()) {
  method if (line 1464) | if (O.isPartialObject()) {
  method if (line 1544) | if (realm.invariantLevel >= 2 && O.isIntrinsic()) {
  method if (line 1980) | if (

FILE: src/methods/regexp.js
  function RegExpAlloc (line 32) | function RegExpAlloc(realm: Realm, newTarget: ObjectValue): ObjectValue {
  function AdvanceStringIndex (line 342) | function AdvanceStringIndex(realm: Realm, S: string, index: number, unic...
  function EscapeRegExpPattern (line 377) | function EscapeRegExpPattern(realm: Realm, P: string, F: string): string {

FILE: src/methods/to.js
  function modulo (line 52) | function modulo(x: number, y: number): number {
  method constructor (line 57) | constructor() {
  method ToInt32 (line 72) | ToInt32(realm: Realm, argument: numberOrValue): number {
  method ToUint32 (line 90) | ToUint32(realm: Realm, argument: numberOrValue): number {
  method ToInt16 (line 108) | ToInt16(realm: Realm, argument: numberOrValue): number {
  method ToUint16 (line 126) | ToUint16(realm: Realm, argument: numberOrValue): number {
  method ToInt8 (line 144) | ToInt8(realm: Realm, argument: numberOrValue): number {
  method ToUint8 (line 162) | ToUint8(realm: Realm, argument: numberOrValue): number {
  method ToUint8Clamp (line 180) | ToUint8Clamp(realm: Realm, argument: numberOrValue): number {
  method thisBooleanValue (line 210) | thisBooleanValue(realm: Realm, value: Value): BooleanValue {
  method thisNumberValue (line 231) | thisNumberValue(realm: Realm, value: Value): NumberValue {
  method thisStringValue (line 252) | thisStringValue(realm: Realm, value: Value): StringValue {
  method ToPropertyDescriptor (line 273) | ToPropertyDescriptor(realm: Realm, Obj: Value): Descriptor {
  method ToObject (line 381) | ToObject(realm: Realm, arg: Value): ObjectValue | AbstractObjectValue {
  method _WrapAbstractInObject (line 411) | _WrapAbstractInObject(realm: Realm, arg: AbstractValue): ObjectValue | A...
  method ToLength (line 457) | ToLength(realm: Realm, argument: numberOrValue): number {
  method ToInteger (line 472) | ToInteger(realm: Realm, argument: numberOrValue): number {
  method if (line 530) | if (typeof val === "number") {
  method if (line 542) | if (val.value === true) {
  method if (line 580) | if (input instanceof PrimitiveValue) {

FILE: src/methods/typedarray.js
  function IntegerIndexedObjectCreate (line 57) | function IntegerIndexedObjectCreate(
  function IntegerIndexedElementSet (line 149) | function IntegerIndexedElementSet(realm: Realm, O: ObjectValue, index: n...
  function ValidateTypedArray (line 212) | function ValidateTypedArray(realm: Realm, O: Value): ObjectValue {

FILE: src/methods/widen.js
  method if (line 42) | if (v1[0] instanceof Value) {
  method if (line 298) | if (key === "length" && b.object instanceof ArrayValue) {
  method if (line 399) | if (
  method let (line 421) | let v1, v2;
  method if (line 487) | if (key1 instanceof Value && key2 instanceof Value && key1.equals(key2)) {
  method if (line 506) | if (val1 instanceof AbstractValue) {

FILE: src/prepack-cli.js
  function run (line 39) | function run(

FILE: src/prepack-node.js
  function createStatistics (line 30) | function createStatistics(options: PrepackOptions) {
  function prepackStdin (line 44) | function prepackStdin(

FILE: src/react/ReactElementSet.js
  method constructor (line 18) | constructor(realm: Realm, reactEquivalenceSet: ReactEquivalenceSet) {

FILE: src/react/ReactEquivalenceSet.js
  method constructor (line 51) | constructor(realm: Realm, residualReactElementVisitor: ResidualReactElem...
  method _createNode (line 68) | _createNode(): ReactSetNode {
  method if (line 76) | if (!map.has(key)) {
  method if (line 83) | if (val instanceof StringValue || val instanceof NumberValue) {
  method if (line 129) | if (temporalAlias === undefined && this.realm.react.emptyObject !== unde...
  method if (line 142) | if (!this.residualReactElementVisitor.wasTemporalAliasDeclaredInCurrentS...
  method if (line 242) | if (this.realm.react.emptyArray !== undefined) {
  method if (line 273) | if (prop !== equivalentProp && isFinal) {

FILE: src/react/ReactPropsSet.js
  method constructor (line 18) | constructor(realm: Realm, reactEquivalenceSet: ReactEquivalenceSet) {
  method if (line 46) | if (temporalAlias === undefined && this.realm.react.emptyObject !== unde...

FILE: src/react/branching.js
  function getValueWithBranchingLogicApplied (line 54) | function getValueWithBranchingLogicApplied(
  function applyBranchedLogicValue (line 190) | function applyBranchedLogicValue(realm: Realm, value: Value, inBranch: b...
  function wrapReactElementInBranchOrReturnValue (line 245) | function wrapReactElementInBranchOrReturnValue(realm: Realm, value: Valu...

FILE: src/react/components.js
  function getInitialProps (line 56) | function getInitialProps(
  method let (line 105) | let formalParameters;
  method if (line 113) | if (formalParameters.length > 1) {
  method ThisExpression (line 131) | ThisExpression(path) {

FILE: src/react/elements.js
  method if (line 106) | if (name !== "__self" && name !== "__source" && name !== "key" && name !...
  method if (line 184) | if (binding.descriptor !== undefined) {
  method for (line 236) | for (let [propKey, binding] of defaultProps.properties) {
  method for (line 367) | for (let [propKey, binding] of defaultProps.properties) {
  method if (line 397) | if (type instanceof AbstractValue && type.kind === "conditional") {
  method if (line 487) | if (propsValue.isPartialObject()) {

FILE: src/react/errors.js
  class ExpectedBailOut (line 20) | class ExpectedBailOut extends Error {}
  class SimpleClassBailOut (line 25) | class SimpleClassBailOut extends Error {}
  class UnsupportedSideEffect (line 31) | class UnsupportedSideEffect extends Error {}
  class NewComponentTreeBranch (line 35) | class NewComponentTreeBranch extends Error {
    method constructor (line 36) | constructor(evaluatedNode: ReactEvaluatedNode) {
  class DoNotOptimize (line 43) | class DoNotOptimize extends Error {}
  class ReconcilerFatalError (line 48) | class ReconcilerFatalError extends FatalError {
    method constructor (line 49) | constructor(message: string, evaluatedNode: ReactEvaluatedNode) {

FILE: src/react/experimental-server-rendering/dom-config.js
  constant STYLE (line 38) | const STYLE = "style";
  constant ROOT_ATTRIBUTE_NAME (line 113) | const ROOT_ATTRIBUTE_NAME = "data-reactroot";
  constant ATTRIBUTE_NAME_START_CHAR (line 115) | const ATTRIBUTE_NAME_START_CHAR =
  constant ATTRIBUTE_NAME_CHAR (line 117) | const ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\...
  constant VALID_ATTRIBUTE_NAME_REGEX (line 118) | const VALID_ATTRIBUTE_NAME_REGEX = new RegExp(
  function prefixKey (line 122) | function prefixKey(prefix, key) {
  constant RESERVED (line 132) | const RESERVED = 0;
  constant STRING (line 133) | const STRING = 1;
  constant BOOLEANISH_STRING (line 134) | const BOOLEANISH_STRING = 2;
  constant BOOLEAN (line 135) | const BOOLEAN = 3;
  constant OVERLOADED_BOOLEAN (line 136) | const OVERLOADED_BOOLEAN = 4;
  constant NUMERIC (line 137) | const NUMERIC = 5;
  constant POSITIVE_NUMERIC (line 138) | const POSITIVE_NUMERIC = 6;
  function PropertyInfoRecord (line 142) | function PropertyInfoRecord(
  constant CAMELIZE (line 226) | const CAMELIZE = /[\-\:]([a-z])/g;
  function isAttributeNameSafe (line 329) | function isAttributeNameSafe(attributeName: string): boolean {
  function shouldRemoveAttributeWithWarning (line 344) | function shouldRemoveAttributeWithWarning(
  function shouldRemoveAttribute (line 371) | function shouldRemoveAttribute(
  function shouldIgnoreAttribute (line 416) | function shouldIgnoreAttribute(

FILE: src/react/experimental-server-rendering/rendering.js
  function renderValueWithHelper (line 76) | function renderValueWithHelper(realm: Realm, value: Value, helper: ECMAS...
  function dangerousStyleValue (line 88) | function dangerousStyleValue(realm: Realm, name: string, value: Value, i...
  function createMarkupForCustomAttribute (line 114) | function createMarkupForCustomAttribute(realm: Realm, name: string, valu...
  function createMarkupForProperty (line 125) | function createMarkupForProperty(
  function createMarkupForStyles (line 158) | function createMarkupForStyles(realm: Realm, styles: Value): Value {
  function createOpenTagMarkup (line 182) | function createOpenTagMarkup(
  function renderReactNode (line 238) | function renderReactNode(realm: Realm, reactNode: ReactNode): StringValu...
  method constructor (line 273) | constructor(realm: Realm, makeStaticMarkup: boolean) {
  method render (line 286) | render(value: Value, namespace: string = "html", depth: number = 0): Str...
  method if (line 465) | if (newlineEatingTags[tag] && innerMarkup.value.charAt(0) === "\n") {

FILE: src/react/experimental-server-rendering/utils.js
  function createMarkupForRoot (line 34) | function createMarkupForRoot(): string {

FILE: src/react/hoisting.js
  method if (line 38) | if (isReactElement(object)) {
  method if (line 86) | if (realm.react.hoistableFunctions.has(func)) {
  method if (line 148) | if (visitedValues.has(value)) {
  method if (line 178) | if (realm.react.hoistableReactElements.has(reactElement)) {

FILE: src/react/jsx.js
  function convertExpressionToJSXIdentifier (line 24) | function convertExpressionToJSXIdentifier(
  function convertKeyValueToJSXAttribute (line 77) | function convertKeyValueToJSXAttribute(key: string, expr: BabelNodeExpre...

FILE: src/react/optimizing.js
  method if (line 51) | if (valueIsClassComponent(realm, componentType)) {

FILE: src/react/reconcilation.js
  function setContextCurrentValue (line 113) | function setContextCurrentValue(contextObject: ObjectValue | AbstractObj...
  method catch (line 181) | catch (error) {
  method if (line 429) | if (propsValue instanceof ObjectValue && propsValue.properties.has("chil...
  method if (line 522) | if (propsValue instanceof ObjectValue && propsValue.properties.has("rend...
  method catch (line 593) | catch (error) {
  method if (line 721) | if (this.componentTreeConfig.firstRenderOnly) {
  method if (line 1550) | if (e instanceof NestedOptimizedFunctionSideEffect) {

FILE: src/react/utils.js
  function isReactElement (line 56) | function isReactElement(val: Value): boolean {
  function isReactPropsObject (line 90) | function isReactPropsObject(val: Value): boolean {
  function getReactSymbol (line 104) | function getReactSymbol(symbolKey: ReactSymbolTypes, realm: Realm): Symb...
  function isTagName (line 127) | function isTagName(ast: BabelNode): boolean {
  function isReactComponent (line 131) | function isReactComponent(name: string): boolean {
  function valueIsClassComponent (line 135) | function valueIsClassComponent(realm: Realm, value: Value): boolean {
  function valueIsKnownReactAbstraction (line 147) | function valueIsKnownReactAbstraction(realm: Realm, value: Value): boole...
  function valueIsReactLibraryObject (line 152) | function valueIsReactLibraryObject(realm: Realm, value: ObjectValue, log...
  function valueIsLegacyCreateClassComponent (line 185) | function valueIsLegacyCreateClassComponent(realm: Realm, value: Value): ...
  function valueIsFactoryClassComponent (line 197) | function valueIsFactoryClassComponent(realm: Realm, value: Value): boole...
  function addKeyToReactElement (line 204) | function addKeyToReactElement(realm: Realm, reactElement: ObjectValue): ...
  method "Identifier|ThisExpression" (line 373) | "Identifier|ThisExpression"(path) {
  method if (line 431) | if (originalValue instanceof FunctionValue) {
  method let (line 443) | let newValue;
  method if (line 476) | if (propertyName !== "constructor") {
  method if (line 512) | if (!skipFunctionProperties.has(propertyName)) {
  method switch (line 602) | switch (reactHint.propertyName) {
  method if (line 924) | if (error instanceof AbruptCompletion) {

FILE: src/realm.js
  class Effects (line 110) | class Effects {
    method constructor (line 111) | constructor(
    method shallowCloneWithResult (line 139) | shallowCloneWithResult(result: Completion): Effects {
    method toDisplayString (line 150) | toDisplayString(): string {
    method toDisplayJson (line 154) | toDisplayJson(depth: number = 1): DisplayResult {
  method beginEvaluateForEffects (line 161) | beginEvaluateForEffects(state: any): void {}
  method return (line 720) | return f();
  method return (line 738) | return f();
  method catch (line 1074) | catch (e) {
  method catch (line 1081) | catch (e) {
  method if (line 1085) | if (effects1 === undefined || effects2 === undefined) {
  method if (line 1482) | if (this.isReadOnly) {
  method if (line 1486) | if (this.useAbstractInterpretation) {

FILE: src/repl-cli.js
  method eval (line 59) | eval(code, context, filename, callback) {

FILE: src/serializer/Emitter.js
  class Emitter (line 64) | class Emitter {
    method constructor (line 65) | constructor(
  method if (line 349) | if (val.$Description instanceof Value) {
  method if (line 410) | if (delayReason === undefined && this._isGeneratorBody(targetBody)) {
  method if (line 414) | if (delayReason === undefined || delayReason === this._body) {
  method if (line 491) | if (b.declaredValues !== undefined && b.declaredValues.has(value)) {
  method if (line 507) | if (currentBody === targetBody) {

FILE: src/serializer/LazyObjectsSerializer.js
  constant LAZY_OBJECTS_SERIALIZER_BODY_TYPE (line 29) | const LAZY_OBJECTS_SERIALIZER_BODY_TYPE = "LazyObjectInitializer";
  class LazyObjectsSerializer (line 41) | class LazyObjectsSerializer extends ResidualHeapSerializer {
    method constructor (line 42) | constructor(
    method _getValueLazyId (line 88) | _getValueLazyId(obj: ObjectValue): number {

FILE: src/serializer/LoggingTracer.js
  function describeValue (line 32) | function describeValue(realm: Realm, v: Value): string {
  class LoggingTracer (line 43) | class LoggingTracer extends Tracer {
    method constructor (line 44) | constructor(realm: Realm) {
    method log (line 53) | log(message: string): void {
    method beginEvaluateForEffects (line 57) | beginEvaluateForEffects(state: any): void {

FILE: src/serializer/Referentializer.js
  class Referentializer (line 40) | class Referentializer {
    method constructor (line 41) | constructor(
    method getStatistics (line 70) | getStatistics(): SerializerStatistics {
    method _createReferentializationState (line 75) | _createReferentializationState(): ReferentializationState {
    method _getReferentializationState (line 84) | _getReferentializationState(referentializationScope: Referentializatio...
    method createLeakedIds (line 92) | createLeakedIds(referentializationScope: ReferentializationScope): Arr...
    method createCapturedScopesPrelude (line 100) | createCapturedScopesPrelude(referentializationScope: Referentializatio...
    method _createCaptureScopeAccessFunction (line 108) | _createCaptureScopeAccessFunction(referentializationScope: Referential...
    method _getReferentializationScope (line 166) | _getReferentializationScope(residualBinding: ResidualFunctionBinding):...
    method _getSerializedBindingScopeInstance (line 179) | _getSerializedBindingScopeInstance(residualBinding: ResidualFunctionBi...
    method getReferentializedScopeInitialization (line 205) | getReferentializedScopeInitialization(
    method referentializeLeakedBinding (line 224) | referentializeLeakedBinding(residualBinding: ResidualFunctionBinding):...
    method referentializeModifiedBinding (line 235) | referentializeModifiedBinding(residualBinding: ResidualFunctionBinding...
    method cleanInstance (line 289) | cleanInstance(instance: FunctionInstance): void {
    method referentialize (line 310) | referentialize(instance: FunctionInstance): void {
    method _createCapturedScopesArrayInitialization (line 331) | _createCapturedScopesArrayInitialization(referentializationScope: Refe...

FILE: src/serializer/ResidualFunctionInitializers.js
  class ResidualFunctionInitializers (line 26) | class ResidualFunctionInitializers {
    method constructor (line 27) | constructor(locationService: LocationService) {
  method if (line 92) | if (initializationStatements.length === 1 && t.isIfStatement(initializat...
  method if (line 153) | if (initializerInfo.initializerIds.size === 1 || initializer === ownInit...

FILE: src/serializer/ResidualFunctionInstantiator.js
  function canShareFunctionBody (line 42) | function canShareFunctionBody(duplicateFunctionInfo: FactoryFunctionInfo...

FILE: src/serializer/ResidualFunctions.js
  method constructor (line 56) | constructor(
  method getStatistics (line 119) | getStatistics(): SerializerStatistics {
  method addFunctionInstance (line 124) | addFunctionInstance(instance: FunctionInstance): void {
  method setFunctionPrototype (line 131) | setFunctionPrototype(constructor: FunctionValue, prototypeId: BabelNodeI...
  method addFunctionUsage (line 135) | addFunctionUsage(val: FunctionValue, bodyReference: BodyReference): void {
  method if (line 311) | if (t.isFunctionExpression(node) || t.isArrowFunctionExpression(node)) {
  method let (line 713) | let prelude;
  method if (line 769) | if (!this.classes.has(classPrototype)) {

FILE: src/serializer/ResidualHeapGraphGenerator.js
  class ResidualHeapGraphGenerator (line 39) | class ResidualHeapGraphGenerator extends ResidualHeapVisitor {

FILE: src/serializer/ResidualHeapRefCounter.js
  class ResidualHeapRefCounter (line 25) | class ResidualHeapRefCounter extends ResidualHeapVisitor {

FILE: src/serializer/ResidualHeapSerializer.js
  function commentStatement (line 92) | function commentStatement(text: string) {
  class CountingSemaphore (line 98) | class CountingSemaphore {
    method constructor (line 101) | constructor(action: () => void, initialCount: number = 1) {
    method acquireOne (line 106) | acquireOne() {
    method releaseOne (line 109) | releaseOne() {
  class ResidualHeapSerializer (line 115) | class ResidualHeapSerializer {
    method constructor (line 116) | constructor(
  method for (line 310) | for (let [symbol, propertyBinding] of obj.symbols) {
  method if (line 711) | if ((desc: any)[boolKey] !== undefined) {
  method if (line 731) | if ((desc: any)[descKey] !== undefined) {
  method if (line 852) | if (scope instanceof FunctionValue) {
  method if (line 863) | if (

FILE: src/serializer/ResidualHeapValueIdentifiers.js
  class ResidualHeapValueIdentifiers (line 24) | class ResidualHeapValueIdentifiers {
    method constructor (line 25) | constructor(values: Iterator<Value>, preludeGenerator: PreludeGenerato...
    method initPass1 (line 31) | initPass1(): void {
    method initPass2 (line 36) | initPass2(): void {
    method _populateIdentifierMap (line 45) | _populateIdentifierMap(values: Iterator<Value>): void {
    method _setIdentifier (line 57) | _setIdentifier(val: Value, id: BabelNodeIdentifier) {
    method hasIdentifier (line 62) | hasIdentifier(val: Value): boolean {
    method getIdentifier (line 66) | getIdentifier(val: Value): BabelNodeIdentifier {
    method deleteIdentifier (line 72) | deleteIdentifier(val: Value): void {
    method getIdentifierAndIncrementReferenceCount (line 77) | getIdentifierAndIncrementReferenceCount(val: Value): BabelNodeIdentifi...
    method incrementReferenceCount (line 84) | incrementReferenceCount(val: Value): void {
    method needsIdentifier (line 98) | needsIdentifier(val: Value): boolean {

FILE: src/serializer/ResidualHeapVisitor.js
  method if (line 219) | if (g === creationGenerator) {
  method f (line 247) | f();
  method if (line 257) | if (this.residualReactElementVisitor.defaultEquivalenceSet === false) {
  method let (line 526) | let progress;
  method if (line 603) | if (!val.isUnsafeResidual) {
  method for (line 682) | for (let capturingScope of bindingState.capturingScopes) {
  method if (line 786) | if (methodFunc instanceof ECMAScriptSourceFunctionValue) {
  method if (line 823) | if (
  method if (line 1136) | if (this.preProcessValue(val)) this.visitValueSymbol(val);

FILE: src/serializer/ResidualOperationSerializer.js
  method constructor (line 59) | constructor(realm: Realm, preludeGenerator: PreludeGenerator) {
  method getErrorStatement (line 66) | getErrorStatement(message: BabelNodeExpression): BabelNodeStatement {
  method if (line 949) | if (typeof propRef === "string") {

FILE: src/serializer/ResidualOptimizedFunctions.js
  method for (line 37) | for (let maybeParentFunction of maybeParentFunctions) {
  method if (line 94) | if (this._optimizedFunctionsAndEffects.has(functionValue)) {

FILE: src/serializer/ResidualReactElementSerializer.js
  method constructor (line 51) | constructor(
  method _createReactElement (line 71) | _createReactElement(value: ObjectValue): ReactElement {
  method _createReactElementAttribute (line 75) | _createReactElementAttribute(): ReactElementAttribute {
  method _createReactElementChild (line 79) | _createReactElementChild(): ReactElementChild {
  method _emitHoistedReactElement (line 83) | _emitHoistedReactElement(
  method _getReactLibraryValue (line 118) | _getReactLibraryValue(): AbstractObjectValue | ObjectValue {
  method _getReactCreateElementValue (line 127) | _getReactCreateElementValue(): Value {
  method _emitReactElement (line 132) | _emitReactElement(reactElement: ReactElement): BabelNodeExpression {
  method for (line 309) | for (let [propName, binding] of propsValue.properties) {
  method if (line 336) | if (prop === null) {
  method if (line 416) | if (t.isStringLiteral(expr) || t.isNumericLiteral(expr)) {
  method if (line 435) | if (val.$BailOutReason !== undefined) {

FILE: src/serializer/ResidualReactElementVisitor.js
  class ResidualReactElementVisitor (line 45) | class ResidualReactElementVisitor {
    method constructor (line 46) | constructor(realm: Realm, residualHeapVisitor: ResidualHeapVisitor) {
    method visitReactElement (line 64) | visitReactElement(reactElement: ObjectValue): void {

FILE: src/serializer/factorify.js
  function isLiteral (line 16) | function isLiteral(node) {
  function isSameNode (line 30) | function isSameNode(left, right) {
  function getObjectKeys (line 58) | function getObjectKeys(obj: BabelNodeObjectExpression): string | false {
  function factorifyObjects (line 92) | function factorifyObjects(body: Array<BabelNodeStatement>, factoryNameGe...

FILE: src/serializer/functions.js
  class Functions (line 49) | class Functions {
    method constructor (line 50) | constructor(realm: Realm, moduleTracer: ModuleTracer) {
    method _unwrapAbstract (line 66) | _unwrapAbstract(value: AbstractValue): Value {
    method _optimizedFunctionEntryOfValue (line 79) | _optimizedFunctionEntryOfValue(value: Value): AdditionalFunctionEntry ...
    method _generateInitialAdditionalFunctions (line 116) | _generateInitialAdditionalFunctions(globalKey: string): Array<Addition...
    method _generateOptimizedFunctionsFromRealm (line 137) | _generateOptimizedFunctionsFromRealm(): Array<AdditionalFunctionEntry> {
    method optimizeReactComponentTreeRoots (line 159) | optimizeReactComponentTreeRoots(statistics: ReactStatistics): void {
    method getDeclaringOptimizedFunction (line 185) | getDeclaringOptimizedFunction(functionValue: ECMAScriptSourceFunctionV...
    method processCollectedNestedOptimizedFunctions (line 194) | processCollectedNestedOptimizedFunctions(): void {

FILE: src/serializer/serializer.js
  method constructor (line 44) | constructor(realm: Realm, serializerOptions: SerializerOptions = {}) {

FILE: src/serializer/statistics.js
  method constructor (line 15) | constructor(getTime: void | (() => number), getMemory: void | (() => num...
  method resetBeforePass (line 41) | resetBeforePass(): void {
  method getSerializerStatistics (line 74) | getSerializerStatistics() {
  method log (line 108) | log(): void {

FILE: src/serializer/types.js
  function AreSameResidualBinding (line 144) | function AreSameResidualBinding(realm: Realm, x: ResidualFunctionBinding...
  class BodyReference (line 153) | class BodyReference {
    method constructor (line 154) | constructor(body: SerializedBody, index: number) {
    method isNotEarlierThan (line 159) | isNotEarlierThan(other: BodyReference): boolean {
  class ReactStatistics (line 182) | class ReactStatistics {
    method constructor (line 183) | constructor() {

FILE: src/serializer/utils.js
  method if (line 129) | if (descriptor !== undefined) {
  function canIgnoreClassLengthProperty (line 146) | function canIgnoreClassLengthProperty(val: ObjectValue, desc: void | Des...
  function getObjectPrototypeMetadata (line 162) | function getObjectPrototypeMetadata(

FILE: src/serializer/visitors.js
  function visitName (line 28) | function visitName(path, state, node, modified) {
  function ignorePath (line 39) | function ignorePath(path: BabelTraversePath) {
  method if (line 89) | if (state.functionInfo.depth - state.functionInfo.lexicalDepth === 1) {
  method if (line 102) | if (path.node.left !== "VariableDeclaration") {

FILE: src/singletons.js
  function setCreate (line 47) | function setCreate(singleton: CreateType): void {
  function setEnvironment (line 51) | function setEnvironment(singleton: EnvironmentType): void {
  function setFunctions (line 55) | function setFunctions(singleton: FunctionType): void {
  function setLeak (line 59) | function setLeak(singleton: LeakType): void {
  function setMaterialize (line 63) | function setMaterialize(singleton: MaterializeType): void {
  function setReachability (line 67) | function setReachability(singleton: ReachabilityType): void {
  function setJoin (line 70) | function setJoin(singleton: JoinType): void {
  function setPath (line 74) | function setPath(singleton: PathType): void {

FILE: src/statistics.js
  class RealmStatistics (line 14) | class RealmStatistics {
    method constructor (line 15) | constructor(getTime: void | (() => number), getMemory: void | (() => n...
    method getRealmStatistics (line 31) | getRealmStatistics(): any {
    method constructor (line 76) | constructor(getTime: void | (() => number), getMemory: void | (() => n...
    method start (line 83) | start(): void {
    method stop (line 90) | stop(): void {

FILE: src/types.js
  class SourceFileCollection (line 92) | class SourceFileCollection {
    method constructor (line 93) | constructor(sourceFiles: Array<SourceFile>) {
    method toArray (line 97) | toArray(): Array<SourceFile> {
    method destroy (line 101) | destroy(): void {
  class _CallableObjectValue (line 127) | class _CallableObjectValue extends ObjectValue {
  method implies (line 359) | implies(condition: Value, depth?: number): boolean,

FILE: src/utils.js
  method if (line 55) | if (Value.isTypeCompatibleWith(type, FunctionValue)) {
  method switch (line 65) | switch (typeName) {
  function valueOfProp (line 126) | function valueOfProp(prop) {
  method for (line 169) | for (let parameterId of params) {
  method if (line 224) | if (binding.value === undefined || bindingEntry.value === undefined) {
  method if (line 228) | if (binding.strict !== undefined) {
  method if (line 239) | if (env === targetEnv) {

FILE: src/utils/ConcreteModelConverter.js
  function reportCompileError (line 41) | function reportCompileError(realm: Realm, message: string, loc: ?BabelNo...
  function createEmptyFunction (line 46) | function createEmptyFunction(realm: Realm) {
  function concretize (line 55) | function concretize(realm: Realm, val: Value): ConcreteValue {

FILE: src/utils/DebugReproManager.js
  class DebugReproManagerImplementation (line 20) | class DebugReproManagerImplementation {
    method construct (line 21) | construct(configArgs: DebugReproArguments): DebugReproManagerImplement...
    method addSourceFile (line 41) | addSourceFile(fileName: string) {
    method getSourceFilePaths (line 46) | getSourceFilePaths(): Array<{ absolute: string, relative: string }> {

FILE: src/utils/DebugReproPackager.js
  method constructor (line 21) | constructor() {
  method _generateZip (line 28) | _generateZip(
  method catch (line 91) | catch (err) {
  method if (line 102) | if (!reproFileNames.includes(file.relative)) {

FILE: src/utils/HeapInspector.js
  method if (line 37) | if (!desc) {
  method if (line 50) | if (!desc) {
  method constructor (line 63) | constructor(realm: Realm, logger: Logger) {
  method getTargetIntegrityCommand (line 75) | getTargetIntegrityCommand(val: ObjectValue): TargetIntegrityCommand {
  method getTargetIntegrityDescriptor (line 113) | getTargetIntegrityDescriptor(val: ObjectValue): { writable: boolean, con...
  method _canIgnoreProperty (line 164) | _canIgnoreProperty(val: ObjectValue, key: string, desc: Descriptor): boo...
  method getPropertyValue (line 278) | static getPropertyValue(val: ObjectValue, name: string): void | Value {
  method isDefaultPrototype (line 288) | isDefaultPrototype(prototype: ObjectValue): boolean {

FILE: src/utils/NameGenerator.js
  function escapeInvalidIdentifierCharacters (line 14) | function escapeInvalidIdentifierCharacters(s: string): string {
  function base62encode (line 23) | function base62encode(n: number): string {
  method constructor (line 36) | constructor(forbiddenNames: Set<string>, debugNames: boolean, uniqueSuff...

FILE: src/utils/ShapeInformation.js
  class ShapeInformationInterface (line 31) | class ShapeInformation implements ShapeInformationInterface {
    method constructor (line 32) | constructor(
    method getGetter (line 49) | getGetter(): void | SupportedGraphQLGetters {
    method getAbstractType (line 58) | getAbstractType(): typeof Value {
    method getPropertyShape (line 66) | getPropertyShape(key: string): void | ShapeInformation {
    method if (line 96) | if (this._parentDescriptor === undefined) {
    method switch (line 114) | switch (this._descriptor.kind) {
    method switch (line 134) | switch (this._descriptor.kind) {
    method while (line 197) | while (descriptor && descriptor.kind === "link") {
    method let (line 216) | let argModelError;

FILE: src/utils/SourceMapManager.js
  method if (line 33) | if (buckRoot !== undefined) {
  method for (line 45) | for (let map of sourceMaps) {
  method for (line 66) | for (let section of parsed.sections) {
  method switch (line 108) | switch (step) {

FILE: src/utils/TextPrinter.js
  class TextPrinter (line 55) | class TextPrinter implements Printer {
    method switch (line 106) | switch (type) {

FILE: src/utils/babelhelpers.js
  function getAsPropertyNameExpression (line 27) | function getAsPropertyNameExpression(key: string, canBeIdentifier: boole...
  function stringOfLocation (line 67) | function stringOfLocation(location: BabelNodeSourceLocation): string {

FILE: src/utils/flow.js
  function stripFlowTypeAnnotations (line 20) | function stripFlowTypeAnnotations(ast: BabelNode): void {

FILE: src/utils/generator.js
  method constructor (line 244) | constructor(realm: Realm) {
  method print (line 254) | print(printer: Printer): void {
  method visit (line 258) | visit(callbacks: VisitEntryCallbacks, containingGenerator: Generator): b...
  method serialize (line 262) | serialize(context: SerializationContext) {
  method getDependencies (line 266) | getDependencies(): void | Array<Generator> {
  method notEqualToAndDoesNotHappenBefore (line 270) | notEqualToAndDoesNotHappenBefore(entry: GeneratorEntry): boolean {
  method notEqualToAndDoesNotHappenAfter (line 274) | notEqualToAndDoesNotHappenAfter(entry: GeneratorEntry): boolean {
  function attemptToMergeEquivalentObjectAssigns (line 1262) | function attemptToMergeEquivalentObjectAssigns(

FILE: src/utils/json.js
  method if (line 16) | if (visitedNodes === undefined) {
  method if (line 34) | if (concatString !== null) {
  method if (line 40) | if (concatString !== null && concatString !== "") {
  method if (line 55) | if (removeFunctions) {

FILE: src/utils/leak.js
  method if (line 65) | if (generator !== undefined) {
  method if (line 101) | if (realm.instantRender.enabled) {
  method materializeObject (line 175) | materializeObject(realm: Realm, val: ObjectValue): void {

FILE: src/utils/logger.js
  class Logger (line 21) | class Logger {
    method constructor (line 22) | constructor(realm: Realm, internalDebug: boolean) {
    method tryQuery (line 33) | tryQuery<T>(f: () => T, defaultValue: T): T {
    method logCompletion (line 76) | logCompletion(res: Completion): void {
    method logError (line 122) | logError(value: Value, message: string): void {
    method logWarning (line 127) | logWarning(value: Value, message: string): void {
    method logInformation (line 131) | logInformation(message: string): void {
    method _log (line 135) | _log(value: Value, message: string, severity: Severity): void {
    method hasErrors (line 144) | hasErrors(): boolean {

FILE: src/utils/modules.js
  function downgradeErrorsToWarnings (line 46) | function downgradeErrorsToWarnings(realm: Realm, f: () => any) {
  method constructor (line 66) | constructor(modules: Modules, logModules: boolean) {
  method getStatistics (line 85) | getStatistics(): SerializerStatistics {
  method log (line 89) | log(message: string): void {
  method beginEvaluateForEffects (line 93) | beginEvaluateForEffects(state: any): void {
  method if (line 102) | if (state !== this) {
  method if (line 111) | if (this.requireStack.length === 0 || this.requireStack[this.requireStac...
  method constructor (line 224) | constructor(realm: Realm, logger: Logger, logModules: boolean) {
  method getStatistics (line 246) | getStatistics(): SerializerStatistics {
  method resolveInitializedModules (line 251) | resolveInitializedModules(): void {
  method _getGlobalProperty (line 273) | _getGlobalProperty(name: string): Value {
  method getRequireInfo (line 284) | getRequireInfo(): void | RequireInfo {
  method getDefine (line 296) | getDefine(): Value {

FILE: src/utils/native-to-interp.js
  function convert (line 18) | function convert(realm: Realm, val: any): Value {

FILE: src/utils/paths.js
  method if (line 226) | if (assumedCondition.kind === "||") {
  method implies (line 244) | implies(condition: Value, depth: number = 0): boolean {
  method impliesNot (line 252) | impliesNot(condition: Value, depth: number = 0): boolean {
  method if (line 272) | if (e instanceof InfeasiblePathError) {
  method if (line 297) | if (e instanceof InfeasiblePathError) {
  method if (line 408) | if (condition.kind === "!=" || condition.kind === "==") {
  method pushPathCondition (line 424) | pushPathCondition(inverseCondition);

FILE: src/utils/reachability.js
  function visitName (line 46) | function visitName(
  function ignorePath (line 62) | function ignorePath(path: BabelTraversePath): boolean {
  method if (line 70) | if (ignorePath(path)) return;
  method computeFromValue (line 150) | computeFromValue(value);
  method if (line 159) | if (value.kind === "conditional") {
  method if (line 166) | if (value.values.isTop()) {
  method visit (line 184) | visit(value);
  method ifNotVisited (line 188) | ifNotVisited(value, computeFromFunctionValue);
  method if (line 381) | if (!(value instanceof Value) || (filterValue(value) && !visitedValues.h...

FILE: src/utils/simplifier.js
  function simplifyAndRefineAbstractValue (line 23) | function simplifyAndRefineAbstractValue(
  function simplify (line 67) | function simplify(realm, value: Value, isCondition: boolean = false, dep...
  method if (line 337) | if (op === "==" || op === "!=") {
  method if (line 392) | if (op === "==" || op === "!=") {
  method if (line 447) | if (!x.mightNotBeNull()) {

FILE: src/utils/strict.js
  function IsStrict (line 14) | function IsStrict(node: BabelNode): boolean {

FILE: src/utils/traverse-fast.js
  function traverse (line 20) | function traverse(node: BabelNode, enter: BabelNode => boolean) {

FILE: src/values/AbstractObjectValue.js
  method super (line 46) | super(realm, types, values, hashValue, args, operationDescriptor, option...
  method for (line 56) | for (let element of this.values.getElements()) {
  method if (line 69) | if (this.values.isTop()) {
  method for (line 168) | for (let element of this.values.getElements()) {
  method for (line 232) | for (let cv of elements) {
  method createTemporalWithWidenedNumericProperty (line 566) | createTemporalWithWidenedNumericProperty(
  method for (line 869) | for (let cv of elements) {
  method if (line 1048) | if (this.values.isTop()) {
  method for (line 1054) | for (let cv of elements) {

FILE: src/values/AbstractValue.js
  method if (line 155) | if (val.intrinsicName) {
  method if (line 160) | if (val.value.startsWith("__")) {
  method return (line 257) | return c.equals(val);
  method if (line 293) | if (val.kind === "==") {
  method return (line 366) | return c.equals(val);
  method if (line 636) | if (c instanceof JoinedAbruptCompletions || c instanceof JoinedNormalAnd...
  method if (line 644) | if (a instanceof JoinedAbruptCompletions || a instanceof JoinedNormalAnd...
  method let (line 1104) | let value;

FILE: src/values/ArgumentsExotic.js
  class ArgumentsExotic (line 23) | class ArgumentsExotic extends ObjectValue {
    method if (line 80) | if (Desc.value === undefined && Desc.writable === false) {

FILE: src/values/ArrayValue.js
  function evaluatePossibleNestedOptimizedFunctionsAndStoreEffects (line 40) | function evaluatePossibleNestedOptimizedFunctionsAndStoreEffects(
  function modelUnknownPropertyOfSpecializedArray (line 120) | function modelUnknownPropertyOfSpecializedArray(
  method for (line 224) | for (let { func } of possibleNestedOptimizedFunctions) {

FILE: src/values/BooleanValue.js
  class BooleanValue (line 15) | class BooleanValue extends PrimitiveValue {

FILE: src/values/BoundFunctionValue.js
  class BoundFunctionValue (line 17) | class BoundFunctionValue extends FunctionValue {

FILE: src/values/ConcreteValue.js
  class ConcreteValue (line 27) | class ConcreteValue extends Value {

FILE: src/values/ECMAScriptFunctionValue.js
  class ECMAScriptFunctionValue (line 18) | class ECMAScriptFunctionValue extends FunctionValue {

FILE: src/values/EmptyValue.js
  class EmptyValue (line 14) | class EmptyValue extends UndefinedValue {
    method getHash (line 15) | getHash(): number {
    method equals (line 19) | equals(x: Value): boolean {

FILE: src/values/FunctionValue.js
  class FunctionValue (line 19) | class FunctionValue extends ObjectValue {

FILE: src/values/NativeFunctionValue.js
  method constructor (line 38) | constructor(
  method getTrackedPropertyNames (line 100) | getTrackedPropertyNames(): Array<string> {
  method hasDefaultLength (line 104) | hasDefaultLength(): boolean {
  method getName (line 113) | getName(): string {

FILE: src/values/NullValue.js
  class NullValue (line 14) | class NullValue extends PrimitiveValue {
    method _serialize (line 15) | _serialize(): null {
    method equals (line 19) | equals(x: Value): boolean {
    method getHash (line 23) | getHash(): number {
    method mightBeFalse (line 27) | mightBeFalse(): boolean {
    method toDisplayString (line 31) | toDisplayString(): string {

FILE: src/values/NumberValue.js
  class NumberValue (line 15) | class NumberValue extends PrimitiveValue {

FILE: src/values/ObjectValue.js
  method constructor (line 56) | constructor(
  method getTrackedPropertyNames (line 108) | getTrackedPropertyNames(): Array<string> {
  method for (line 113) | for (let propName of propertyNames) {
  method for (line 121) | for (let propName of propertyNames) {

FILE: src/values/PrimitiveValue.js
  class PrimitiveValue (line 16) | class PrimitiveValue extends ConcreteValue {

FILE: src/values/ProxyValue.js
  function FindPropertyKey (line 30) | function FindPropertyKey(realm: Realm, keys: Array<PropertyKeyValue>, ke...
  method constructor (line 43) | constructor(realm: Realm) {
  method getTrackedPropertyNames (line 49) | getTrackedPropertyNames(): Array<string> {
  method isSimpleObject (line 53) | isSimpleObject(): boolean {
  method usesOrdinaryObjectInternalPrototypeMethods (line 57) | usesOrdinaryObjectInternalPrototypeMethods(): boolean {
  method $GetPrototypeOf (line 62) | $GetPrototypeOf(): NullValue | AbstractObjectValue | ObjectValue {
  method if (line 351) | if (!targetDesc || targetDesc.throwIfNotConcrete(realm).configurable) {
  method if (line 578) | if (!(trapResult instanceof UndefinedValue)) {
  method if (line 649) | if (!targetDesc.set || targetDesc.set instanceof UndefinedValue) {

FILE: src/values/StringExotic.js
  class StringExotic (line 20) | class StringExotic extends ObjectValue {

FILE: src/values/StringValue.js
  class StringValue (line 16) | class StringValue extends PrimitiveValue {

FILE: src/values/SymbolValue.js
  class SymbolValue (line 15) | class SymbolValue extends PrimitiveValue {
    method constructor (line 16) | constructor(realm: Realm, desc: void | Value, intrinsicName?: string) {
    method equals (line 25) | equals(x: Value): boolean {
    method getHash (line 29) | getHash(): number {
    method mightBeFalse (line 36) | mightBeFalse(): boolean {
    method throwIfNotConcreteSymbol (line 40) | throwIfNotConcreteSymbol(): SymbolValue {
    method _serialize (line 44) | _serialize(): Symbol {
    method toDisplayString (line 48) | toDisplayString(): string {

FILE: src/values/UndefinedValue.js
  class UndefinedValue (line 14) | class UndefinedValue extends PrimitiveValue {
    method _serialize (line 15) | _serialize() {
    method equals (line 19) | equals(x: Value): boolean {
    method getHash (line 23) | getHash(): number {
    method mightBeFalse (line 27) | mightBeFalse(): boolean {
    method toDisplayString (line 31) | toDisplayString(): string {

FILE: test/error-handler/FinalObjectCannotBeMutated.js
  function f (line 3) | function f() {

FILE: test/error-handler/InstantRenderArrayOps3.js
  function f (line 4) | function f(c) {

FILE: test/error-handler/ModifiedObjectPropertyLimitation.js
  function f (line 5) | function f(c) {

FILE: test/error-handler/bad-functions.js
  function additional1 (line 6) | function additional1() {
  function additional2 (line 11) | function additional2() {

FILE: test/error-handler/call.js
  function foo (line 4) | function foo() {}

FILE: test/error-handler/class.js
  class foo (line 7) | class foo extends absSuper {}
  class bar (line 11) | class bar extends superClass {}

FILE: test/error-handler/conditional-return.js
  function f (line 8) | function f() {
  function g (line 14) | function g() {

FILE: test/error-handler/instanceof.js
  function foo (line 5) | function foo() {}

FILE: test/error-handler/stackOverflow.js
  function f (line 2) | function f() {

FILE: test/error-handler/try-and-access-abstract-property.js
  method foo (line 8) | get foo() {
  function additional1 (line 17) | function additional1() {
  function additional2 (line 25) | function additional2() {

FILE: test/error-handler/try-and-call-abstract-function.js
  function concreteFunction (line 11) | function concreteFunction() {
  function additional1 (line 15) | function additional1() {
  function additional2 (line 27) | function additional2() {

FILE: test/error-handler/write-forin-conflict.js
  function additional1 (line 4) | function additional1() {
  function additional2 (line 8) | function additional2() {

FILE: test/error-handler/write-in-conflict.js
  function additional1 (line 4) | function additional1() {
  function additional2 (line 8) | function additional2() {

FILE: test/error-handler/write-reflect-conflict.js
  function additional1 (line 6) | function additional1() {
  function additional2 (line 10) | function additional2() {

FILE: test/error-handler/write-write-conflict.js
  function additional1 (line 6) | function additional1() {
  function additional2 (line 10) | function additional2() {

FILE: test/error-handler/write-write-conflict2.js
  function additional1 (line 6) | function additional1() {
  function additional2 (line 10) | function additional2() {

FILE: test/error-handler/write-write-conflict3.js
  function additional1 (line 6) | function additional1() {
  function additional2 (line 10) | function additional2() {

FILE: test/error-handler/write-write-conflict4.js
  function additional1 (line 6) | function additional1() {
  function additional2 (line 10) | function additional2() {

FILE: test/error-handler/write-write-unknown-prop-conflict.js
  function additional1 (line 7) | function additional1() {
  function additional2 (line 11) | function additional2() {

FILE: test/react/AssignSpread/simple-assign.js
  function A (line 3) | function A(props) {
  function App (line 7) | function App(props) {

FILE: test/react/AssignSpread/simple-assign2.js
  function A (line 3) | function A(props) {
  function App (line 17) | function App(props) {

FILE: test/react/AssignSpread/simple-assign3.js
  function App (line 3) | function App(props) {

FILE: test/react/AssignSpread/simple-assign4.js
  function App (line 3) | function App(props) {

FILE: test/react/AssignSpread/simple-assign5.js
  function App (line 3) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread.js
  function IWantThisToBeInlined (line 3) | function IWantThisToBeInlined(props) {
  function Button (line 11) | function Button(props) {
  function App (line 19) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread10.js
  function Child2 (line 3) | function Child2(props) {
  function Child (line 7) | function Child(props) {
  function App (line 21) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread11.js
  function Child2 (line 3) | function Child2(props) {
  function Child (line 7) | function Child(props) {
  function App (line 25) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread12.js
  function Button (line 3) | function Button(props) {
  function App (line 16) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread13.js
  function Button (line 3) | function Button(props) {
  function App (line 16) | function App(props) {
  function App2 (line 20) | function App2(_props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread2.js
  function IWantThisToBeInlined (line 3) | function IWantThisToBeInlined(props) {
  function Button (line 11) | function Button(props) {
  function App (line 19) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread3.js
  function Button (line 3) | function Button(props) {
  function App (line 11) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread4.js
  function App (line 3) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread5.js
  function App (line 3) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread6.js
  function App (line 3) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread7.js
  function App (line 3) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread8.js
  function App (line 3) | function App(props) {

FILE: test/react/AssignSpread/simple-with-jsx-spread9.js
  function Child2 (line 3) | function Child2(props) {
  function Child (line 7) | function Child(props) {
  function App (line 16) | function App(props) {

FILE: test/react/AssignSpread/unsafe-spread.js
  class Wat (line 3) | class Wat extends React.Component {
    method render (line 4) | render() {
  function App (line 9) | function App(props) {
  function ref (line 15) | function ref(inst) {

FILE: test/react/ClassComponents/array-from.js
  function A (line 3) | function A(props) {
  class App (line 11) | class App extends React.Component {
    method render (line 12) | render() {

FILE: test/react/ClassComponents/array-from2.js
  function A (line 3) | function A(props) {
  class App (line 11) | class App extends React.Component {
    method render (line 12) | render() {

FILE: test/react/ClassComponents/classes-with-state.js
  class App (line 3) | class App extends React.Component {
    method constructor (line 4) | constructor(props) {
    method render (line 10) | render() {

FILE: test/react/ClassComponents/complex-class-into-functional-root.js
  class Child (line 3) | class Child extends React.Component {
    method constructor (line 4) | constructor() {
    method handleClick (line 8) | handleClick() {
    method render (line 11) | render() {
  function App (line 20) | function App(props) {

FILE: test/react/ClassComponents/complex-class-into-functional-root2.js
  function Child2 (line 3) | function Child2(props) {
  class Child (line 7) | class Child extends React.Component {
    method constructor (line 8) | constructor() {
    method componentWillReceiveProps (line 14) | componentWillReceiveProps() {
    method componentDidMount (line 19) | componentDidMount() {
    method render (line 24) | render() {
  function App (line 33) | function App(props) {

FILE: test/react/ClassComponents/complex-class-into-functional-root3.js
  class Child2 (line 3) | class Child2 extends React.Component {
    method constructor (line 4) | constructor() {
    method render (line 7) | render() {
  class Child (line 12) | class Child extends React.Component {
    method constructor (line 13) | constructor() {
    method componentWillReceiveProps (line 19) | componentWillReceiveProps() {
    method componentDidMount (line 24) | componentDidMount() {
    method render (line 29) | render() {
  function App (line 38) | function App(props) {

FILE: test/react/ClassComponents/complex-class-into-functional-root4.js
  class Child (line 3) | class Child extends React.Component {
    method constructor (line 4) | constructor() {
    method handleClick (line 8) | handleClick() {
    method render (line 11) | render() {
  function App (line 20) | function App(props) {

FILE: test/react/ClassComponents/complex-class-into-functional-root5.js
  function Child2 (line 3) | function Child2(props) {
  class Child (line 7) | class Child extends React.Component {
    method constructor (line 8) | constructor() {
    method componentDidMount (line 11) | componentDidMount() {
    method componentDidUpdate (line 14) | componentDidUpdate() {
    method render (line 17) | render() {
  function App (line 30) | function App(props) {

FILE: test/react/ClassComponents/complex-class-proper-hoisting.js
  function Tau (line 3) | function Tau(props) {
  class Epsilon (line 13) | class Epsilon extends React.Component {
    method constructor (line 14) | constructor(props) {
    method render (line 19) | render() {

FILE: test/react/ClassComponents/complex-class-with-equivalent-node.js
  function Tau (line 3) | function Tau(props) {
  class Epsilon (line 16) | class Epsilon extends React.Component {
    method constructor (line 17) | constructor(props) {
    method render (line 22) | render() {
  function Zeta (line 27) | function Zeta(props) {

FILE: test/react/ClassComponents/inheritance-chain.js
  class Parent (line 3) | class Parent extends React.Component {
    method constructor (line 4) | constructor() {
    method render (line 10) | render() {
  class Child (line 21) | class Child extends Parent {
    method constructor (line 22) | constructor() {
  class App (line 27) | class App extends React.Component {
    method render (line 28) | render() {

FILE: test/react/ClassComponents/simple-classes-2.js
  class App (line 3) | class App extends React.Component {
    method render (line 4) | render() {

FILE: test/react/ClassComponents/simple-classes-3.js
  class Child (line 3) | class Child extends React.Component {
    method constructor (line 4) | constructor() {
    method render (line 10) | render() {
  class App (line 19) | class App extends React.Component {
    method render (line 20) | render() {

FILE: test/react/ClassComponents/simple-classes.js
  function Child (line 4) | function Child() {
  function App (line 21) | function App() {

FILE: test/react/ClassComponents/simple.js
  class MyComponent (line 3) | class MyComponent extends React.Component {
    method render (line 4) | render() {

FILE: test/react/FBMocks/fb1.js
  function App (line 13) | function App({ initialNumComments, someVariables, query, pageSize, onCom...

FILE: test/react/FBMocks/fb10.js
  function A (line 10) | function A(props) {
  function B (line 22) | function B() {
  function C (line 26) | function C() {
  function App (line 30) | function App(props) {

FILE: test/react/FBMocks/fb11.js
  function A (line 10) | function A(props) {
  function B (line 22) | function B() {
  function C (line 26) | function C() {
  function App (line 30) | function App(props) {

FILE: test/react/FBMocks/fb12.js
  function nullthrows (line 10) | function nullthrows(x) {
  function A (line 22) | function A(props) {
  function B (line 34) | function B() {
  function C (line 38) | function C() {
  function App (line 42) | function App(props) {

FILE: test/react/FBMocks/fb13.js
  function func (line 1) | function func(x) {

FILE: test/react/FBMocks/fb14.js
  function Child (line 11) | function Child(props) {
  function App (line 38) | function App(props, context) {
  class RelayMock (line 49) | class RelayMock extends React.Component {
    method getChildContext (line 50) | getChildContext() {
    method render (line 82) | render() {

FILE: test/react/FBMocks/fb15.js
  function memoize (line 10) | function memoize(f) {
  function Inner (line 31) | function Inner() {
  function Outer (line 51) | function Outer(props) {

FILE: test/react/FBMocks/fb16.js
  function _getNumberVariations (line 55) | function _getNumberVariations(number) {
  function ViewCount (line 73) | function ViewCount(props) {

FILE: test/react/FBMocks/fb17.js
  function Inner (line 10) | function Inner(props) {
  function Middle (line 14) | function Middle(props) {
  function Outer (line 22) | function Outer(props) {
  function App (line 34) | function App(props) {

FILE: test/react/FBMocks/fb18.js
  function parse (line 10) | function parse(unused, uri) {
  function URI (line 26) | function URI() {}
  function App (line 28) | function App(props) {

FILE: test/react/FBMocks/fb19.js
  function FbtResult (line 10) | function FbtResult() {}
  function fbt (line 13) | function fbt() {}
  function param (line 14) | function param() {}
  function plural (line 15) | function plural(shouldThrow) {
  function App (line 23) | function App(props) {

FILE: test/react/FBMocks/fb2.js
  function Hello (line 19) | function Hello() {

FILE: test/react/FBMocks/fb20.js
  function URI (line 10) | function URI() {}
  function Child (line 16) | function Child(props) {
  function App (line 20) | function App(props) {

FILE: test/react/FBMocks/fb21.js
  function A (line 4) | function A(props) {
  function B (line 8) | function B() {
  function C (line 12) | function C() {
  function App (line 16) | function App() {

FILE: test/react/FBMocks/fb22.js
  function App (line 12) | function App(props) {

FILE: test/react/FBMocks/fb23.js
  function A (line 4) | function A(props) {
  function B (line 8) | function B() {
  function C (line 12) | function C() {
  function App (line 16) | function App() {

FILE: test/react/FBMocks/fb24.js
  function App (line 3) | function App(props) {

FILE: test/react/FBMocks/fb25.js
  function App (line 3) | function App(props) {

FILE: test/react/FBMocks/fb3.js
  function App (line 8) | function App() {}

FILE: test/react/FBMocks/fb4.js
  function App (line 7) | function App() {}

FILE: test/react/FBMocks/fb5.js
  method loadModules (line 11) | loadModules() {}
  method loadAll (line 15) | loadAll() {}
  function getClassNames (line 26) | function getClassNames() {
  function App (line 44) | function App() {
  function assertMatchesInSource (line 49) | function assertMatchesInSource(fn, regex, expectedCount) {

FILE: test/react/FBMocks/fb6.js
  function App (line 5) | function App(props) {
  function assertMatchesInSource (line 26) | function assertMatchesInSource(fn, regex, expectedCount) {

FILE: test/react/FBMocks/fb7.js
  function App (line 11) | function App(props) {
  class RelayMock (line 43) | class RelayMock extends React.Component {
    method getChildContext (line 44) | getChildContext() {
    method render (line 76) | render() {

FILE: test/react/FBMocks/fb8.js
  function Child (line 11) | function Child(props) {
  function App (line 38) | function App() {
  class RelayMock (line 51) | class RelayMock extends React.Component {
    method getChildContext (line 52) | getChildContext() {
    method render (line 84) | render() {

FILE: test/react/FBMocks/fb9.js
  function A (line 4) | function A(props) {
  function B (line 16) | function B() {
  function C (line 20) | function C() {
  function App (line 24) | function App(props) {

FILE: test/react/FBMocks/function-bind.js
  function Middle (line 6) | function Middle(props) {
  function App (line 19) | function App(props) {

FILE: test/react/FBMocks/hacker-news.js
  function timeAge (line 11) | function timeAge(time) {
  function getHostUrl (line 21) | function getHostUrl(url) {
  function Story (line 28) | function Story({ story, rank }) {
  function StoryList (line 104) | function StoryList({ stories }) {
  function HeaderBar (line 120) | function HeaderBar(props) {
  class AppBody (line 172) | class AppBody extends React.Component {
    method render (line 173) | render() {
  function App (line 188) | function App({ stories }) {

FILE: test/react/FBMocks/pe-functional-benchmark.js
  function Benchmark (line 4752) | function Benchmark(props) {

FILE: test/react/FBMocks/repl-example.js
  function Yar (line 3) | function Yar(props) {
  function Bar (line 11) | function Bar(props) {
  function Foo (line 21) | function Foo(props: { href: string }) {

FILE: test/react/FactoryComponents/simple.js
  function FactoryComponent (line 3) | function FactoryComponent(props) {

FILE: test/react/FactoryComponents/simple2.js
  function FactoryComponent (line 3) | function FactoryComponent(props) {
  function App (line 11) | function App(props) {

FILE: test/react/FirstRenderOnly/equivalence.js
  function App (line 3) | function App(props) {

FILE: test/react/FirstRenderOnly/equivalence2.js
  function App (line 3) | function App(props) {

FILE: test/react/FirstRenderOnly/equivalence3.js
  function App (line 3) | function App(props) {

FILE: test/react/FirstRenderOnly/equivalence4.js
  function App (line 3) | function App(props) {

FILE: test/react/FirstRenderOnly/equivalence5.js
  function App (line 3) | function App(props) {

FILE: test/react/FirstRenderOnly/get-derived-state-from-props.js
  function Child3 (line 3) | function Child3(props) {
  class Child2 (line 7) | class Child2 extends React.Component {
    method constructor (line 8) | constructor() {
    method render (line 14) | render() {
    method componentWillMount (line 22) | componentWillMount() {
  class Child1 (line 27) | class Child1 extends React.Component {
    method constructor (line 28) | constructor() {
    method render (line 37) | render() {
    method getDerivedStateFromProps (line 46) | static getDerivedStateFromProps(nextProps, prevState) {
  function App (line 51) | function App(props) {

FILE: test/react/FirstRenderOnly/get-derived-state-from-props2.js
  function Child3 (line 3) | function Child3(props) {
  class Child2 (line 7) | class Child2 extends React.Component {
    method constructor (line 8) | constructor() {
    method render (line 14) | render() {
    method componentWillMount (line 22) | componentWillMount() {
  class Child1 (line 27) | class Child1 extends React.Component {
    method constructor (line 28) | constructor() {
    method render (line 37) | render() {
    method getDerivedStateFromProps (line 46) | static getDerivedStateFromProps(nextProps, prevState) {
  function App (line 54) | function App(props) {

FILE: test/react/FirstRenderOnly/get-derived-state-from-props3.js
  function Child3 (line 3) | function Child3(props) {
  class Child2 (line 7) | class Child2 extends React.Component {
    method constructor (line 8) | constructor() {
    method render (line 14) | render() {
    method componentWillMount (line 22) | componentWillMount() {
  class Child1 (line 27) | class Child1 extends React.Component {
    method constructor (line 28) | constructor() {
    method render (line 37) | render() {
    method getDerivedStateFromProps (line 46) | static getDerivedStateFromProps(nextProps, prevState) {
  function App (line 51) | function App(props) {

FILE: test/react/FirstRenderOnly/get-derived-state-from-props4.js
  function Child3 (line 3) | function Child3(props) {
  class Child2 (line 7) | class Child2 extends React.Component {
    method constructor (line 8) | constructor() {
    method render (line 14) | render() {
    method componentWillMount (line 22) | componentWillMount() {
  class Child1 (line 27) | class Child1 extends React.Component {
    method constructor (line 28) | constructor() {
    method render (line 37) | render() {
    method getDerivedStateFromProps (line 46) | static getDerivedStateFromProps(nextProps, prevState) {
  function App (line 51) | function App(props) {

FILE: test/react/FirstRenderOnly/get-derived-state-from-props5.js
  function shallowEqual (line 3) | function shallowEqual(objA, objB) {
  function getStateForProps (line 14) | function getStateForProps(props) {
  function MyComponent (line 23) | function MyComponent() {

FILE: test/react/FirstRenderOnly/react-context.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/FirstRenderOnly/react-context2.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/FirstRenderOnly/react-context3.js
  function Child (line 4) | function Child(props) {
  function App (line 16) | function App(props) {

FILE: test/react/FirstRenderOnly/react-context4.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/FirstRenderOnly/react-context5.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/FirstRenderOnly/react-context6.js
  function Child2 (line 5) | function Child2(props) {
  function Child (line 9) | function Child(props) {
  function App (line 25) | function App(props) {

FILE: test/react/FirstRenderOnly/replace-this-in-callbacks.js
  class Child1 (line 3) | class Child1 extends React.Component {
    method constructor (line 4) | constructor() {
    method render (line 10) | render() {
  function App (line 20) | function App(props) {
  function DeOptComponent (line 25) | function DeOptComponent(props) {

FILE: test/react/FirstRenderOnly/replace-this-in-callbacks2.js
  class Child1 (line 3) | class Child1 extends React.Component {
    method constructor (line 4) | constructor() {
    method render (line 11) | render() {
  function App (line 21) | function App(props) {
  function DeOptComponent (line 26) | function DeOptComponent(props) {

FILE: test/react/FirstRenderOnly/replace-this-in-callbacks3.js
  class Child1 (line 3) | class Child1 extends React.Component {
    method constructor (line 4) | constructor() {
    method render (line 10) | render() {
  function App (line 20) | function App(props) {
  function DeOptComponent (line 25) | function DeOptComponent(props) {

FILE: test/react/FirstRenderOnly/simple-2.js
  function A (line 3) | function A(props) {
  function App (line 7) | function App(props) {

FILE: test/react/FirstRenderOnly/simple-3.js
  function App (line 4) | function App(props) {
  function func (line 16) | function func(_val) {

FILE: test/react/FirstRenderOnly/simple-4.js
  function App (line 4) | function App(props) {
  function func (line 24) | function func(_val) {

FILE: test/react/FirstRenderOnly/simple.js
  function Child3 (line 3) | function Child3(props) {
  class Child2 (line 7) | class Child2 extends React.Component {
    method constructor (line 8) | constructor() {
    method render (line 14) | render() {
  class Child1 (line 24) | class Child1 extends React.Component {
    method constructor (line 25) | constructor() {
    method render (line 34) | render() {
  function App (line 44) | function App(props) {

FILE: test/react/FirstRenderOnly/will-mount.js
  function Child3 (line 3) | function Child3(props) {
  class Child2 (line 7) | class Child2 extends React.Component {
    method constructor (line 8) | constructor() {
    method render (line 14) | render() {
    method componentWillMount (line 22) | componentWillMount() {
  class Child1 (line 27) | class Child1 extends React.Component {
    method constructor (line 28) | constructor() {
    method render (line 37) | render() {
    method componentWillMount (line 45) | componentWillMount() {
  function App (line 52) | function App(props) {

FILE: test/react/FunctionalComponents/additional-function-regression.js
  function Component2 (line 3) | function Component2() {
  function App (line 7) | function App() {

FILE: test/react/FunctionalComponents/array-from.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/array-map.js
  function A (line 3) | function A(props) {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/array-map2.js
  function A (line 3) | function A(props) {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/array-map3.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/array-twice.js
  function A (line 3) | function A(props) {
  function App (line 12) | function App() {

FILE: test/react/FunctionalComponents/bound-type.js
  function Child (line 3) | function Child(props) {
  function App (line 15) | function App(props) {

FILE: test/react/FunctionalComponents/bound-type2.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/circular-reference.js
  function App (line 3) | function App() {

FILE: test/react/FunctionalComponents/class-root-with-instance-vars-2.js
  function SubChild (line 3) | function SubChild(props) {
  function Child (line 7) | function Child(props) {
  function App (line 18) | function App(props) {

FILE: test/react/FunctionalComponents/class-root-with-instance-vars.js
  function SubChild (line 4) | function SubChild(props) {
  function Child (line 13) | function Child(props) {
  function App (line 24) | function App(props) {

FILE: test/react/FunctionalComponents/class-root-with-props.js
  function SubChild (line 3) | function SubChild(props) {
  function Child (line 7) | function Child(props) {
  function App (line 18) | function App() {

FILE: test/react/FunctionalComponents/class-root-with-refs.js
  function SubChild (line 3) | function SubChild() {
  function Child (line 7) | function Child() {
  function App (line 18) | function App() {

FILE: test/react/FunctionalComponents/class-root-with-render-methods.js
  function SubChild (line 3) | function SubChild() {
  function Child (line 7) | function Child() {
  function App (line 18) | function App() {

FILE: test/react/FunctionalComponents/class-root-with-state.js
  function SubChild (line 3) | function SubChild(props) {
  function Child (line 7) | function Child(props) {
  class App (line 15) | class App extends React.Component {
    method constructor (line 16) | constructor(props) {
    method render (line 22) | render() {

FILE: test/react/FunctionalComponents/class-root.js
  function SubChild (line 3) | function SubChild() {
  function Child (line 7) | function Child() {
  function App (line 18) | function App() {

FILE: test/react/FunctionalComponents/clone-element.js
  function MaybeShow (line 3) | function MaybeShow(props) {
  function Override (line 10) | function Override(props) {
  function App (line 18) | function App(props) {

FILE: test/react/FunctionalComponents/clone-element2.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/conditional.js
  function MaybeShow (line 3) | function MaybeShow(props) {
  function App (line 10) | function App() {

FILE: test/react/FunctionalComponents/default-props.js
  function Child (line 3) | function Child(props) {
  function App (line 11) | function App(props) {

FILE: test/react/FunctionalComponents/default-props2.js
  function Child (line 3) | function Child(props) {
  function App (line 15) | function App(props) {

FILE: test/react/FunctionalComponents/delete-element-prop-key.js
  function A (line 3) | function A(props) {
  function B (line 7) | function B() {
  function C (line 11) | function C() {
  function App (line 15) | function App() {

FILE: test/react/FunctionalComponents/do-not-optimize.js
  function Child (line 3) | function Child() {
  function App (line 9) | function App() {

FILE: test/react/FunctionalComponents/dynamic-context.js
  function SubChild (line 3) | function SubChild(props, context) {
  function Child (line 7) | function Child(props, context) {
  function StatefulComponent (line 18) | function StatefulComponent() {
  function App (line 42) | function App() {

FILE: test/react/FunctionalComponents/dynamic-props.js
  function Fn (line 3) | function Fn(props) {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/dynamic-type.js
  function Foo (line 3) | function Foo(props) {
  function Bar (line 7) | function Bar(props) {
  function App (line 11) | function App(props) {

FILE: test/react/FunctionalComponents/dynamic-type2.js
  function Foo (line 3) | function Foo(props) {
  function Bar (line 7) | function Bar(props) {
  function App (line 11) | function App(props) {

FILE: test/react/FunctionalComponents/dynamic-type3.js
  function Foo (line 3) | function Foo(props) {
  function Bar (line 11) | function Bar(props) {
  function App (line 19) | function App(props) {

FILE: test/react/FunctionalComponents/dynamic-type4.js
  function Foo (line 3) | function Foo(props) {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/equivalence.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/event-handlers.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/hoist-fragment.js
  function Root (line 3) | function Root(props) {

FILE: test/react/FunctionalComponents/keyed-non-element.js
  function Upsilon (line 3) | function Upsilon(props) {
  function Delta (line 7) | function Delta(props) {

FILE: test/react/FunctionalComponents/keyed-unnecessarily.js
  function Lambda (line 3) | function Lambda(props) {
  function Omega (line 13) | function Omega(props) {

FILE: test/react/FunctionalComponents/keyed.js
  function Lambda (line 3) | function Lambda(props) {
  function Omega (line 7) | function Omega(props) {

FILE: test/react/FunctionalComponents/model-props.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/nested-array-children.js
  function A (line 3) | function A(props) {
  function App (line 7) | function App() {

FILE: test/react/FunctionalComponents/not-safe.js
  function foo (line 3) | function foo() {
  function Bar (line 6) | function Bar() {

FILE: test/react/FunctionalComponents/not-safe2.js
  function foo (line 3) | function foo() {
  function Bar (line 9) | function Bar() {

FILE: test/react/FunctionalComponents/null-or-undefined-props.js
  function App (line 3) | function App() {

FILE: test/react/FunctionalComponents/pathological-case.js
  function Gamma (line 3) | function Gamma(props) {
  function Delta (line 147) | function Delta(props) {
  function Iota (line 185) | function Iota(props) {
  function Lambda (line 265) | function Lambda(props) {
  function Eta (line 277) | function Eta(props) {
  function Epsilon (line 289) | function Epsilon(props) {
  function Pi (line 315) | function Pi(props) {
  function Theta (line 337) | function Theta(props) {
  function Xi (line 341) | function Xi(props) {
  function Zeta (line 371) | function Zeta(props) {
  function Mu (line 423) | function Mu(props) {

FILE: test/react/FunctionalComponents/react-children-map.js
  function Child (line 3) | function Child(props) {
  function App (line 9) | function App() {

FILE: test/react/FunctionalComponents/react-element-havoc.js
  function App (line 3) | function App(props) {
  function someAbstractFunction (line 12) | function someAbstractFunction() {

FILE: test/react/FunctionalComponents/refs-typeof.js
  function Text (line 3) | function Text(props, forwardedRef) {

FILE: test/react/FunctionalComponents/refs.js
  function Child (line 3) | function Child(props) {
  function App (line 11) | function App() {

FILE: test/react/FunctionalComponents/refs2.js
  function Child (line 3) | function Child(props) {
  function App (line 11) | function App(props) {

FILE: test/react/FunctionalComponents/refs3.js
  class ClassComponent (line 3) | class ClassComponent extends React.Component {
    method constructor (line 4) | constructor() {
    method getValue (line 8) | getValue() {
    method render (line 11) | render() {
  function Child (line 16) | function Child(props) {
  function App (line 24) | function App(props) {

FILE: test/react/FunctionalComponents/return-text.js
  function A (line 3) | function A(props) {
  function B (line 7) | function B(props) {
  function App (line 11) | function App() {

FILE: test/react/FunctionalComponents/return-undefined.js
  function A (line 3) | function A() {}
  function App (line 5) | function App() {

FILE: test/react/FunctionalComponents/runtime-error.js
  function App (line 3) | function App() {

FILE: test/react/FunctionalComponents/safe.js
  function foo (line 1) | function foo() {
  function Bar (line 8) | function Bar() {

FILE: test/react/FunctionalComponents/safe2.js
  function foo (line 1) | function foo() {
  function Bar (line 11) | function Bar() {

FILE: test/react/FunctionalComponents/safe3.js
  function Bar (line 1) | function Bar(props) {

FILE: test/react/FunctionalComponents/simple-10.js
  function A (line 5) | function A(props) {
  function App (line 12) | function App() {
  function App2 (line 20) | function App2() {

FILE: test/react/FunctionalComponents/simple-11.js
  function A (line 5) | function A(props) {
  function App (line 12) | function App(props) {
  function App2 (line 23) | function App2(props) {

FILE: test/react/FunctionalComponents/simple-12.js
  function Author (line 3) | function Author(props) {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/simple-13.js
  function URI (line 3) | function URI(other) {
  function App (line 17) | function App(props) {
  function Child (line 25) | function Child(props) {

FILE: test/react/FunctionalComponents/simple-14.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/simple-15.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/simple-16.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/simple-17.js
  function App (line 3) | function App(props) {
  function externalFunc (line 13) | function externalFunc() {

FILE: test/react/FunctionalComponents/simple-18.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/simple-19.js
  function Child (line 3) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/FunctionalComponents/simple-2.js
  function A (line 3) | function A(props) {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/simple-20.js
  function Child (line 3) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/FunctionalComponents/simple-21.js
  function Child (line 3) | function Child(props) {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/simple-22.js
  function Child (line 3) | function Child() {
  function Child2 (line 7) | function Child2() {
  function App (line 11) | function App(props) {

FILE: test/react/FunctionalComponents/simple-23.js
  function Child (line 3) | function Child() {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/simple-24.js
  function App (line 3) | function App(props) {
  function Bad (line 10) | function Bad() {

FILE: test/react/FunctionalComponents/simple-25.js
  function Child (line 3) | function Child() {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/simple-26.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/simple-27.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/simple-28.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/simple-29.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/simple-3.js
  function A (line 3) | function A(props) {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/simple-4.js
  class Child (line 3) | class Child extends React.Component {
    method constructor (line 4) | constructor(props) {
    method render (line 10) | render() {
  function App (line 15) | function App() {

FILE: test/react/FunctionalComponents/simple-5.js
  class Child (line 3) | class Child extends React.Component {
    method constructor (line 4) | constructor() {
    method render (line 10) | render() {
  function App (line 15) | function App() {

FILE: test/react/FunctionalComponents/simple-6.js
  function App (line 3) | function App(props) {

FILE: test/react/FunctionalComponents/simple-7.js
  function App (line 3) | function App(_ref) {

FILE: test/react/FunctionalComponents/simple-8.js
  function A (line 5) | function A(props) {
  function App (line 12) | function App() {

FILE: test/react/FunctionalComponents/simple-9.js
  function A (line 5) | function A(props) {
  function App (line 12) | function App(props) {

FILE: test/react/FunctionalComponents/simple-children.js
  function A (line 3) | function A(props) {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/simple-fragments.js
  function A (line 3) | function A(props) {
  function B (line 7) | function B() {
  function C (line 11) | function C() {
  function App (line 15) | function App() {

FILE: test/react/FunctionalComponents/simple-refs.js
  function A (line 5) | function A(foo) {
  function App (line 14) | function App({ rootRef }) {

FILE: test/react/FunctionalComponents/simple-with-abstract-props.js
  function IWantThisToBeInlined (line 3) | function IWantThisToBeInlined(props) {
  function Button (line 7) | function Button(props) {
  function App (line 11) | function App(props) {

FILE: test/react/FunctionalComponents/simple-with-new-expression.js
  function App (line 12) | function App(props) {

FILE: test/react/FunctionalComponents/simple-with-unary.js
  function Child (line 3) | function Child({ targetNumCommentsToDisplay, pageSize, offset }) {
  function App (line 7) | function App(props) {

FILE: test/react/FunctionalComponents/simple.js
  function A (line 3) | function A(props) {
  function B (line 7) | function B() {
  function C (line 11) | function C() {
  function App (line 15) | function App() {

FILE: test/react/FunctionalComponents/two-roots.js
  function A (line 1) | function A(props) {
  function B (line 5) | function B(props) {

FILE: test/react/ReactDOM/create-portal.js
  function Foo (line 6) | function Foo() {
  function Child (line 10) | function Child(props) {
  function App (line 15) | function App(props) {

FILE: test/react/ReactNative/simple.js
  class App (line 23) | class App extends React.Component {
    method render (line 24) | render() {

FILE: test/react/ReactNative/simple2.js
  class App (line 23) | class App extends React.Component {
    method render (line 24) | render() {

FILE: test/react/Reconciliation/key-change-fragments.js
  function Stateful (line 6) | function Stateful() {
  function App (line 31) | function App(props) {

FILE: test/react/Reconciliation/key-change.js
  function Stateful (line 6) | function Stateful() {
  function App (line 31) | function App(props) {

FILE: test/react/Reconciliation/key-nesting-2.js
  function Child (line 3) | function Child() {
  function App (line 7) | function App() {

FILE: test/react/Reconciliation/key-nesting-3.js
  function Child (line 3) | function Child() {
  function App (line 12) | function App() {

FILE: test/react/Reconciliation/key-nesting-4.js
  function Foo (line 3) | function Foo(props) {
  function Bar (line 7) | function Bar(props) {
  function App (line 11) | function App(props) {
  function callback (line 22) | function callback(node) {

FILE: test/react/Reconciliation/key-nesting-5.js
  function Foo (line 3) | function Foo(props) {
  function Bar (line 7) | function Bar(props) {
  function App (line 11) | function App(props) {
  function callback (line 22) | function callback(node) {

FILE: test/react/Reconciliation/key-nesting-6.js
  function Foo (line 3) | function Foo(props) {
  function Bar (line 7) | function Bar(props) {
  function App (line 11) | function App(props) {
  function callback (line 22) | function callback(node) {

FILE: test/react/Reconciliation/key-nesting-7.js
  function Foo (line 3) | function Foo(props) {
  function Bar (line 7) | function Bar(props) {
  function App (line 11) | function App(props) {
  function callback (line 22) | function callback(node) {

FILE: test/react/Reconciliation/key-nesting-8.js
  function Foo (line 3) | function Foo(props) {
  function Bar (line 7) | function Bar(props) {
  function App (line 11) | function App(props) {
  function callback (line 22) | function callback(node) {

FILE: test/react/Reconciliation/key-nesting-9.js
  function Foo (line 3) | function Foo(props) {
  function Bar (line 7) | function Bar(props) {
  function App (line 11) | function App(props) {
  function callback (line 22) | function callback(node) {

FILE: test/react/Reconciliation/key-nesting.js
  function Stateful (line 6) | function Stateful() {
  function MessagePane (line 26) | function MessagePane(props) {
  function SettingsPane (line 34) | function SettingsPane(props) {
  function App (line 42) | function App(props) {

FILE: test/react/Reconciliation/key-not-change-fragments.js
  function Stateful (line 6) | function Stateful() {
  function App (line 31) | function App(props) {

FILE: test/react/Reconciliation/lazy-branched-elements.js
  function App (line 3) | function App(props) {

FILE: test/react/Reconciliation/lazy-branched-elements2.js
  function Button (line 3) | function Button(props) {
  function App (line 7) | function App(props) {

FILE: test/react/Reconciliation/type-change.js
  function Stateful (line 6) | function Stateful() {
  function MessagePane (line 31) | function MessagePane(props) {
  function SettingsPane (line 35) | function SettingsPane(props) {
  function App (line 39) | function App(props) {

FILE: test/react/Reconciliation/type-change10.js
  function App (line 3) | function App(props) {
  function Foo (line 18) | function Foo(props) {
  function Bar (line 22) | function Bar(props) {
  function callback (line 33) | function callback(node) {

FILE: test/react/Reconciliation/type-change11.js
  function App (line 3) | function App(props) {
  function Foo (line 18) | function Foo(props) {
  function Bar (line 22) | function Bar(props) {
  function callback (line 33) | function callback(node) {

FILE: test/react/Reconciliation/type-change2.js
  function App (line 3) | function App(props) {
  function Foo (line 10) | function Foo(props) {
  function Bar (line 14) | function Bar(props) {
  function callback (line 25) | function callback(node) {

FILE: test/react/Reconciliation/type-change3.js
  function App (line 3) | function App(props) {
  function Foo (line 10) | function Foo(props) {
  function callback (line 21) | function callback(node) {

FILE: test/react/Reconciliation/type-change4.js
  function App (line 3) | function App(props) {
  function Foo (line 20) | function Foo(props) {
  function callback (line 31) | function callback(node) {

FILE: test/react/Reconciliation/type-change5.js
  function App (line 3) | function App(props) {
  function Foo (line 20) | function Foo(props) {
  function Bar (line 24) | function Bar(props) {
  function callback (line 35) | function callback(node) {

FILE: test/react/Reconciliation/type-change6.js
  function App (line 3) | function App(props) {
  function Foo (line 20) | function Foo(props) {
  function callback (line 31) | function callback(node) {

FILE: test/react/Reconciliation/type-change7.js
  function App (line 3) | function App(props) {
  function Foo (line 14) | function Foo(props) {
  function callback (line 25) | function callback(node) {

FILE: test/react/Reconciliation/type-change8.js
  function App (line 3) | function App(props) {
  function Foo (line 14) | function Foo(props) {
  function Bar (line 18) | function Bar(props) {
  function callback (line 29) | function callback(node) {

FILE: test/react/Reconciliation/type-change9.js
  function App (line 3) | function App(props) {
  function Foo (line 18) | function Foo(props) {
  function callback (line 29) | function callback(node) {

FILE: test/react/Reconciliation/type-same.js
  function Foo (line 3) | function Foo() {
  function App (line 7) | function App(props) {

FILE: test/react/RenderProps/react-context.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/RenderProps/react-context2.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/RenderProps/react-context3.js
  function Child (line 4) | function Child(props) {
  function App (line 16) | function App(props) {

FILE: test/react/RenderProps/react-context4.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/RenderProps/react-context5.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/RenderProps/react-context6.js
  function Child (line 5) | function Child(props) {
  function App (line 21) | function App(props) {

FILE: test/react/RenderProps/react-context7.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/RenderProps/react-root-context.js
  function Child (line 5) | function Child(props) {
  function App (line 21) | function App(props) {

FILE: test/react/RenderProps/react-root-context2.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/RenderProps/react-root-context3.js
  function Child (line 5) | function Child(props) {
  function App (line 26) | function App(props) {

FILE: test/react/RenderProps/react-root-context4.js
  function Child (line 5) | function Child(props) {
  function App (line 17) | function App(props) {

FILE: test/react/RenderProps/relay-query-renderer.js
  function App (line 6) | function App(props) {

FILE: test/react/RenderProps/relay-query-renderer2.js
  function App (line 6) | function App(props) {

FILE: test/react/RenderProps/relay-query-renderer3.js
  class SomeClassThatShouldNotMakeRootAClass (line 6) | class SomeClassThatShouldNotMakeRootAClass extends React.Component {
    method constructor (line 7) | constructor() {
    method render (line 13) | render() {
  function App (line 18) | function App(props) {

FILE: test/react/ServerRendering/hacker-news.js
  function timeAge (line 5) | function timeAge(time) {
  function getHostUrl (line 15) | function getHostUrl(url) {
  function Story (line 22) | function Story({ story, rank }) {
  function StoryList (line 98) | function StoryList({ stories }) {
  function HeaderBar (line 114) | function HeaderBar(props) {
  class AppBody (line 166) | class AppBody extends React.Component {
    method render (line 167) | render() {
  function App (line 182) | function App({ stories }) {
  function runCompileVersion (line 205) | function runCompileVersion(renderer, Root, data) {
  function runNonCompiledVersion (line 209) | function runNonCompiledVersion(renderer, Root, data) {
  function getTrialsA (line 213) | function getTrialsA(renderer, Root, data) {
  function getTrialsB (line 220) | function getTrialsB(renderer, Root, data) {

FILE: test/react/ServerRendering/pe-functional-benchmark.js
  function Benchmark (line 4753) | function Benchmark(props) {
  function runCompileVersion (line 4759) | function runCompileVersion(renderer, Root) {
  function runNonCompiledVersion (line 4763) | function runNonCompiledVersion(renderer, Root) {
  function getTrialsA (line 4767) | function getTrialsA(renderer, Root, data) {
  function getTrialsB (line 4774) | function getTrialsB(renderer, Root, data) {

FILE: test/react/Throw/throw-conditional.js
  function MyComponent (line 3) | function MyComponent(props) {

FILE: test/react/Throw/throw.js
  function MyComponent (line 3) | function MyComponent() {

FILE: test/react/setupReactTests.js
  function cxShim (line 48) | function cxShim(...args) {
  function MockURI (line 65) | function MockURI(url) {
  method inherits (line 77) | inherits(subClass, superClass) {
  method objectWithoutProperties (line 86) | objectWithoutProperties(obj, keys) {
  method taggedTemplateLiteralLoose (line 97) | taggedTemplateLiteralLoose(strings, raw) {
  method if (line 252) | if (err.__isReconcilerFatalError && expectReconcilerError) {
  method createNodeMock (line 281) | createNodeMock(x) {
  method if (line 298) | if (expectRuntimeError) {

FILE: test/serializer/abstract/AbstractPropertyDelete.js
  function additional1 (line 15) | function additional1() {
  function additional2 (line 21) | function additional2() {

FILE: test/serializer/abstract/AbstractPropertyDelete2.js
  function additional1 (line 15) | function additional1() {
  function additional2 (line 21) | function additional2() {

FILE: test/serializer/abstract/AbstractPropertyDelete3.js
  function additional1 (line 15) | function additional1() {
  function additional2 (line 21) | function additional2() {

FILE: test/serializer/abstract/AbstractPrototype.js
  function Constructor (line 3) | function Constructor() {}

FILE: test/serializer/abstract/Break2.js
  function foo (line 4) | function foo() {

FILE: test/serializer/abstract/Call2.js
  function f (line 1) | function f() {

FILE: test/serializer/abstract/Call3.js
  function bar (line 3) | function bar(x) {

FILE: test/serializer/abstract/Call4.js
  function f (line 1) | function f(v) {

FILE: test/serializer/abstract/Compose.js
  function bar (line 1) | function bar(y) {
  function fn (line 8) | function fn(x, y) {

FILE: test/serializer/abstract/ComposedCompletions.js
  function f1 (line 3) | function f1() {

FILE: test/serializer/abstract/ConditionalAbstractObjectValueGetOwnProperty.js
  method foo (line 6) | get foo() {

FILE: test/serializer/abstract/ConditionalEmptyProperty.js
  function fn (line 2) | function fn(arg) {

FILE: test/serializer/abstract/ConstructFunctionReturnsAbstract.js
  function F (line 1) | function F() {

FILE: test/serializer/abstract/Delete4.js
  method x (line 6) | get x() {

FILE: test/serializer/abstract/DeleteOnConditionalObject.js
  method x (line 5) | set x(v) {

FILE: test/serializer/abstract/DoWhile13.js
  method x (line 4) | set x(v) {

FILE: test/serializer/abstract/Fibonacci.js
  function fibonacci (line 5) | function fibonacci(x) {

FILE: test/serializer/abstract/ForInStatement9.js
  function f (line 5) | function f() {}

FILE: test/serializer/abstract/ForOfStatement2.js
  function foo (line 4) | function foo() {

FILE: test/serializer/abstract/GetValue10.js
  function Foo (line 5) | function Foo() {}

FILE: test/serializer/abstract/GetValue4.js
  method a (line 6) | get a() {

FILE: test/serializer/abstract/Instanceof1.js
  function foo (line 3) | function foo() {}

FILE: test/serializer/abstract/Instanceof3.js
  function foo (line 3) | function foo() {}

FILE: test/serializer/abstract/ListOperationsCommentBubble.js
  function createAttributedComment (line 1) | function createAttributedComment(props) {
  function getBody (line 35) | function getBody(props) {

FILE: test/serializer/abstract/ListOperationsSimple.js
  function foo (line 1) | function foo(y) {

FILE: test/serializer/abstract/MakeFinal.js
  function fn (line 1) | function fn(abstractFunc) {

FILE: test/serializer/abstract/Map.js
  function makeMap (line 3) | function makeMap(b) {

FILE: test/serializer/abstract/MutatingObjectsFromOuterScope.js
  function f (line 3) | function f(x) {

FILE: test/serializer/abstract/ObjectAssign13.js
  method get (line 13) | get() {

FILE: test/serializer/abstract/ObjectAssign15.js
  method set (line 15) | set() {

FILE: test/serializer/abstract/ObjectAssign17.js
  method set (line 18) | set() {

FILE: test/serializer/abstract/Optional.js
  function f (line 1) | function f() {

FILE: test/serializer/abstract/Optional2.js
  function f (line 1) | function f() {

FILE: test/serializer/abstract/Optional3.js
  function f (line 2) | function f() {

FILE: test/serializer/abstract/Optional5.js
  function getCollectionData (line 5) | function getCollectionData(collection) {

FILE: test/serializer/abstract/OrdinaryToPrimitive.js
  method toString (line 3) | toString() {

FILE: test/serializer/abstract/PathConditions.js
  function f1 (line 4) | function f1() {

FILE: test/serializer/abstract/PathConditions2.js
  function f1 (line 3) | function f1() {

FILE: test/serializer/abstract/PathConditions3.js
  function f1 (line 3) | function f1() {

FILE: test/serializer/abstract/PutValue6.js
  method x (line 4) | set x(v) {}

FILE: test/serializer/abstract/Refine7.js
  function addTimespan (line 23) | function addTimespan(key) {
  function startTimespan (line 27) | function startTimespan(key) {
  function stopTimespan (line 32) | function stopTimespan(key) {

FILE: test/serializer/abstract/ReplaceFunctionBody.js
  function f (line 2) | function f() {
  function g (line 5) | function g() {

FILE: test/serializer/abstract/ResidualInvariant1.js
  function checker (line 1) | function checker() {

FILE: test/serializer/abstract/ResidualInvariant2.js
  function checker (line 1) | function checker() {

FILE: test/serializer/abstract/ResidualInvariant3.js
  function checker (line 1) | function checker() {

FILE: test/serializer/abstract/ResidualInvariant4.js
  function checker (line 1) | function checker() {

FILE: test/serializer/abstract/ResidualInvariantPathCondition.js
  function checker (line 3) | function checker() {

FILE: test/serializer/abstract/Return.js
  function f (line 5) | function f(b) {

FILE: test/serializer/abstract/Return1.js
  function f (line 5) | function f(b) {

FILE: test/serializer/abstract/Return1a.js
  function f (line 5) | function f(b) {

FILE: test/serializer/abstract/Return2.js
  function f (line 5) | function f(b) {

FILE: test/serializer/abstract/Return2a.js
  function f (line 5) | function f(b) {

FILE: test/serializer/abstract/Return3.js
  function f (line 6) | function f(b) {

FILE: test/serializer/abstract/Return3a.js
  function f (line 6) | function f(b) {

FILE: test/serializer/abstract/Return4.js
  function f (line 5) | function f(b) {

FILE: test/serializer/abstract/Return4a.js
  function f (line 5) | function f(b) {

FILE: test/serializer/abstract/Return5.js
  function f (line 5) | function f(b) {

FILE: test/serializer/abstract/Return5a.js
  function f (line 5) | function f(b) {

FILE: test/serializer/abstract/Return6.js
  function f (line 5) | function f(b) {

FILE: test/serializer/abstract/Return6a.js
  function f (line 5) | function f() {

FILE: test/serializer/abstract/Return7.js
  function check1 (line 3) | function check1() {
  function check2 (line 6) | function check2() {
  function call1 (line 9) | function call1() {
  function call2 (line 19) | function call2() {

FILE: test/serializer/abstract/Return8.js
  function f (line 5) | function f(b) {
  function g (line 10) | function g(b) {

FILE: test/serializer/abstract/Return9.js
  function f (line 2) | function f() {}
  function g (line 5) | function g() {

FILE: test/serializer/abstract/Set.js
  function makeSet (line 6) | function makeSet(b) {

FILE: test/serializer/abstract/SimpleObject3.js
  function render (line 2) | function render(_ref3) {

FILE: test/serializer/abstract/SimpleObject4.js
  function render (line 2) | function render(ob) {

FILE: test/serializer/abstract/Throw10.js
  function foo (line 4) | function foo(cond) {

FILE: test/serializer/abstract/Throw5.js
  function foo (line 3) | function foo(b) {

FILE: test/serializer/abstract/Throw6.js
  function foo (line 3) | function foo(b) {

FILE: test/serializer/abstract/Throw6a.js
  function foo (line 4) | function foo() {

FILE: test/serializer/abstract/Throw6b.js
  function foo (line 4) | function foo(b) {

FILE: test/serializer/abstract/Throw8.js
  function call (line 1) | function call(fn) {

FILE: test/serializer/abstract/Throw9a.js
  function foo1 (line 5) | function foo1() {
  function foo2 (line 15) | function foo2() {
  function foo3 (line 25) | function foo3() {
  function foo4 (line 35) | function foo4() {

FILE: test/serializer/abstract/Throw9b.js
  function foo1 (line 5) | function foo1() {
  function foo2 (line 14) | function foo2() {
  function foo3 (line 23) | function foo3() {
  function foo4 (line 32) | function foo4() {

FILE: test/serializer/abstract/ThrowInConstructor.js
  function F (line 1) | function F() {

FILE: test/serializer/abstract/ThrowInConstructor2.js
  function F (line 1) | function F() {

FILE: test/serializer/abstract/ThrowInConstructor3.js
  function F (line 1) | function F() {

FILE: test/serializer/abstract/ToString4.js
  function fn2 (line 1) | function fn2(cond, obj) {
  function fn (line 8) | function fn(cond, obj1, obj2) {

FILE: test/serializer/abstract/UnknownObjectKey.js
  method toString (line 4) | toString() {

FILE: test/serializer/abstract/UnknownObjectKeyAssignment.js
  method toString (line 4) | toString() {

FILE: test/serializer/abstract/UpdateExpression2.js
  method get (line 8) | get() {
  method set (line 11) | set(value) {

FILE: test/serializer/abstract/getOwnPropertyDescriptor6.js
  method a (line 4) | get a() {

FILE: test/serializer/abstract/object-assign11.js
  method set (line 13) | set() {

FILE: test/serializer/abstract/object-assign8.js
  method get (line 10) | get() {

FILE: test/serializer/abstract/object-assign9.js
  method set (line 11) | set() {

FILE: test/serializer/abstract/require_tracking.js
  function require (line 7) | function require(moduleId) {
  function define (line 13) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 33) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 49) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 85) | function unknownModuleError(id) {
  function moduleThrewError (line 90) | function moduleThrewError(id) {

FILE: test/serializer/abstract/require_tracking2.js
  function require (line 6) | function require(moduleId) {
  function define (line 12) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 32) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 48) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 84) | function unknownModuleError(id) {
  function moduleThrewError (line 89) | function moduleThrewError(id) {

FILE: test/serializer/additional-functions/ArrayConcat.js
  function fn (line 1) | function fn(arg) {

FILE: test/serializer/additional-functions/Class.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/DeadCodeCheck.js
  function fn (line 3) | function fn(x) {

FILE: test/serializer/additional-functions/DeadOuterObject.js
  function f (line 5) | function f(x) {

FILE: test/serializer/additional-functions/DelayInitializations1.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/DelayInitializations2.js
  function f (line 2) | function f(c) {

FILE: test/serializer/additional-functions/DelayInitializations3.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/EmitPropertyRegressionTest.js
  function URI (line 3) | function URI(other) {
  function setBarFrom (line 13) | function setBarFrom(uri, bar) {
  function serialize (line 21) | function serialize(obj) {
  function fn (line 26) | function fn(arg) {

FILE: test/serializer/additional-functions/Example1.js
  function hello (line 8) | function hello() {
  function world (line 12) | function world() {
  function fib (line 16) | function fib(x) {
  function additional1 (line 20) | function additional1() {
  function additional2 (line 26) | function additional2() {

FILE: test/serializer/additional-functions/FunctionApply.js
  function inner (line 1) | function inner(a, b, c) {
  function fn (line 9) | function fn(arg) {

FILE: test/serializer/additional-functions/Issue1821RegressionTest.js
  function URI (line 3) | function URI(other) {
  function fn (line 10) | function fn(arg) {

FILE: test/serializer/additional-functions/ModifiedObjectProperty.js
  function f (line 4) | function f(c) {

FILE: test/serializer/additional-functions/ModifiedObjectPropertyWithAbstractKey.js
  function fn (line 4) | function fn(args) {

FILE: test/serializer/additional-functions/MutatedObject.js
  function additional1 (line 1) | function additional1(x, y) {

FILE: test/serializer/additional-functions/NestedOptimizedFunction1.js
  function g (line 3) | function g() {
  function f (line 6) | function f() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction10.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction11.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction12.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction13.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction14.js
  function f (line 4) | function f(x, y, z) {

FILE: test/serializer/additional-functions/NestedOptimizedFunction15.js
  function fn (line 2) | function fn() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction16.js
  function fn (line 7) | function fn() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction17.js
  function fn (line 3) | function fn(props, cond, cond2, cond3) {

FILE: test/serializer/additional-functions/NestedOptimizedFunction18.js
  function Component (line 3) | function Component(x) {
  function foo (line 7) | function foo(a, b, c, d) {
  function func (line 25) | function func(arr) {

FILE: test/serializer/additional-functions/NestedOptimizedFunction19.js
  function fn (line 3) | function fn(items, abstractFunc) {
  function mutateBinding (line 24) | function mutateBinding(caller) {

FILE: test/serializer/additional-functions/NestedOptimizedFunction2.js
  function f (line 3) | function f() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction20.js
  function fn (line 3) | function fn(items, abstractFunc) {
  function mutateBinding (line 29) | function mutateBinding(caller) {

FILE: test/serializer/additional-functions/NestedOptimizedFunction21.js
  function f (line 3) | function f(c) {

FILE: test/serializer/additional-functions/NestedOptimizedFunction22.js
  function fn2 (line 3) | function fn2() {
  function fn (line 13) | function fn(x) {

FILE: test/serializer/additional-functions/NestedOptimizedFunction3.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction4.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction6.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction7.js
  function f (line 4) | function f() {

FILE: test/serializer/additional-functions/NestedOptimizedFunction8.js
  function f (line 3) | function f(x) {

FILE: test/serializer/additional-functions/NestedThrowEffects.js
  function URI (line 3) | function URI() {}
  function parse (line 5) | function parse(alwaysNull, alwaysString) {
  function f (line 21) | function f(arg) {

FILE: test/serializer/additional-functions/ObjectCreationGeneratorRegressionTest.js
  function nullthrows (line 2) | function nullthrows(x) {
  function App (line 9) | function App(props) {

FILE: test/serializer/additional-functions/OptimizedArrayFilterOpAliasing.js
  function f (line 4) | function f(c) {

FILE: test/serializer/additional-functions/OptimizedArrayFilterOpAliasing2.js
  function f (line 4) | function f(c) {

FILE: test/serializer/additional-functions/OptimizedArrayFilterOpSpecialization.js
  function f (line 4) | function f(c, g) {

FILE: test/serializer/additional-functions/OptimizedArrayOpAliasing.js
  function f (line 3) | function f(c) {

FILE: test/serializer/additional-functions/OptimizedArrayOpAliasing2.js
  function f (line 4) | function f(c) {

FILE: test/serializer/additional-functions/OptimizedArrayOpAliasing3.js
  function f (line 4) | function f(c) {

FILE: test/serializer/additional-functions/OptimizedArrayOpNoDefaultMaterialization.js
  function f (line 4) | function f(c) {

FILE: test/serializer/additional-functions/OptimizedArrayOpSpecialization.js
  function f (line 4) | function f(c, g) {

FILE: test/serializer/additional-functions/OptimizedArrayOpSpecializationBailout.js
  function f (line 4) | function f(c) {

FILE: test/serializer/additional-functions/OptimizedArrayOpSpecializationBailout2.js
  function f (line 4) | function f(c) {

FILE: test/serializer/additional-functions/OptimizedResidualOptimized.js
  function f (line 3) | function f() {

FILE: test/serializer/additional-functions/OuterScopeCacheRegressionTest.js
  function additional1 (line 4) | function additional1(x, y) {

FILE: test/serializer/additional-functions/ReadThenDelete.js
  function additional1 (line 8) | function additional1() {
  function additional2 (line 14) | function additional2() {

FILE: test/serializer/additional-functions/ReferentializationRegressionTest.js
  function f (line 3) | function f() {
  function g1 (line 7) | function g1() {
  function g2 (line 10) | function g2() {

FILE: test/serializer/additional-functions/RegressionTestForIssue1881.js
  function f (line 3) | function f(c) {

FILE: test/serializer/additional-functions/RegressionTestForIssue1957.js
  function f (line 2) | function f(c) {

FILE: test/serializer/additional-functions/RegressionTestForIssue2090.js
  function fn (line 2) | function fn(arg) {

FILE: test/serializer/additional-functions/ResidualFunctionBindingsMutatedByOptimizedFunctionRegressionTest.js
  function g (line 4) | function g() {
  function f (line 7) | function f() {

FILE: test/serializer/additional-functions/TargetsWithGenerators.js
  function f (line 2) | function f() {

FILE: test/serializer/additional-functions/ThisArgument.js
  function f (line 2) | function f(z) {

FILE: test/serializer/additional-functions/ToObject.js
  function URIBase (line 2) | function URIBase(uri) {
  function serialize (line 9) | function serialize(obj) {
  function App (line 14) | function App(props) {

FILE: test/serializer/additional-functions/UpdateExpression.js
  function additional1 (line 1) | function additional1(x) {
  function additional2 (line 5) | function additional2(x) {

FILE: test/serializer/additional-functions/UpdateExpression2.js
  function additional1 (line 1) | function additional1(obj) {
  function additional2 (line 7) | function additional2(obj) {

FILE: test/serializer/additional-functions/abstract-property-modification.js
  function additional1 (line 15) | function additional1() {
  function additional2 (line 20) | function additional2() {

FILE: test/serializer/additional-functions/arguments.js
  function additional1 (line 3) | function additional1(argument) {

FILE: test/serializer/additional-functions/arguments2.js
  function additional1 (line 3) | function additional1(argument) {
  function additional2 (line 9) | function additional2(argument) {

FILE: test/serializer/additional-functions/arguments3.js
  function additional1 (line 3) | function additional1(argument, argument) {

FILE: test/serializer/additional-functions/arguments4.js
  function additional1 (line 3) | function additional1(argument1, argument2) {

FILE: test/serializer/additional-functions/bad-functions2.js
  function additional1 (line 6) | function additional1() {
  function additional2 (line 10) | function additional2() {

FILE: test/serializer/additional-functions/capture-local.js
  function additional1 (line 4) | function additional1() {
  function additional2 (line 12) | function additional2() {

FILE: test/serializer/additional-functions/conditions.js
  function getURL (line 1) | function getURL(

FILE: test/serializer/additional-functions/conditions2.js
  method inherits (line 12) | inherits(subClass, superClass) {
  method objectWithoutProperties (line 21) | objectWithoutProperties(obj, keys) {
  method taggedTemplateLiteralLoose (line 32) | taggedTemplateLiteralLoose(strings, raw) {
  function invariant (line 39) | function invariant(condition, message) {
  method addQueryData (line 49) | addQueryData() {}
  function Main (line 101) | function Main(props, state) {
  function Second (line 140) | function Second(props) {
  function checkSomethingB (line 200) | function checkSomethingB(uri) {
  function checkSomethingA (line 215) | function checkSomethingA(uri) {
  function checkSomethingC (line 235) | function checkSomethingC(uri) {
  function isOnionURI (line 239) | function isOnionURI(uri) {
  function checkSomethingD (line 247) | function checkSomethingD(uri) {
  function shouldShim (line 260) | function shouldShim(href) {
  function upgradeUnshimmedLink (line 272) | function upgradeUnshimmedLink(href) {
  function Third (line 293) | function Third(props) {
  function logMetaReferrer (line 366) | function logMetaReferrer(href, shimhash) {
  function Forth (line 411) | function Forth(props) {

FILE: test/serializer/additional-functions/conditions3.js
  function cr (line 1) | function cr(a, b, c) {
  function fn2 (line 6) | function fn2(a) {
  function ShimURI (line 10) | function ShimURI(str) {
  function XXX8 (line 52) | function XXX8(href) {
  function isXXXishURI (line 68) | function isXXXishURI(uri) {
  function shouldShim (line 73) | function shouldShim(href) {
  function parseHref (line 81) | function parseHref(rawHref) {
  function fn1 (line 116) | function fn1(props) {

FILE: test/serializer/additional-functions/create-local.js
  function additional1 (line 4) | function additional1() {
  function additional2 (line 10) | function additional2() {

FILE: test/serializer/additional-functions/createdobject-modifications.js
  function additional1 (line 7) | function additional1() {
  function additional2 (line 16) | function additional2() {

FILE: test/serializer/additional-functions/createdobject.js
  function additional1 (line 5) | function additional1() {
  function additional2 (line 12) | function additional2() {

FILE: test/serializer/additional-functions/dead-functions.js
  function g (line 2) | function g() {
  function f (line 5) | function f() {

FILE: test/serializer/additional-functions/func-nesting.js
  function Foo (line 8) | function Foo() {
  function additional1 (line 25) | function additional1() {
  function additional2 (line 29) | function additional2() {}

FILE: test/serializer/additional-functions/modifiedobjects.js
  function additional1 (line 15) | function additional1() {
  function additional2 (line 25) | function additional2() {

FILE: test/serializer/additional-functions/named-function.js
  function additional1 (line 1) | function additional1() {

FILE: test/serializer/additional-functions/nested_function.js
  function additional1 (line 4) | function additional1() {
  function produceObject (line 12) | function produceObject() {
  function additional2 (line 16) | function additional2() {

FILE: test/serializer/additional-functions/nested_function2.js
  function additional1 (line 4) | function additional1() {
  function additional2 (line 12) | function additional2() {

FILE: test/serializer/additional-functions/nested_function3.js
  function additional1 (line 5) | function additional1() {
  function additional2 (line 13) | function additional2() {

FILE: test/serializer/additional-functions/nested_function4.js
  function additional1 (line 5) | function additional1() {
  function additional2 (line 14) | function additional2() {

FILE: test/serializer/additional-functions/nested_modifybinding.js
  function af1 (line 6) | function af1() {

FILE: test/serializer/additional-functions/noconflict-captures.js
  function additional1 (line 8) | function additional1() {
  function additional2 (line 13) | function additional2() {

FILE: test/serializer/additional-functions/noconflict-captures2.js
  function additional1 (line 8) | function additional1() {
  function additional2 (line 13) | function additional2() {

FILE: test/serializer/additional-functions/noconflict-existantobject.js
  function additional1 (line 6) | function additional1() {
  function additional2 (line 11) | function additional2() {

FILE: test/serializer/additional-functions/noopfunc.js
  function additional1 (line 8) | function additional1() {
  function additional2 (line 12) | function additional2() {

FILE: test/serializer/additional-functions/precise_captures.js
  function Bar (line 2) | function Bar() {
  function Foo (line 6) | function Foo() {

FILE: test/serializer/additional-functions/prelude-ordering.js
  function additional1 (line 1) | function additional1() {
  function additional2 (line 9) | function additional2() {}

FILE: test/serializer/additional-functions/property-deletion.js
  function additional1 (line 7) | function additional1() {
  function additional2 (line 13) | function additional2() {

FILE: test/serializer/additional-functions/property-modification.js
  function additional1 (line 8) | function additional1() {
  function additional2 (line 13) | function additional2() {

FILE: test/serializer/additional-functions/referentialization.js
  function additional (line 2) | function additional() {

FILE: test/serializer/additional-functions/referentialization2.js
  function additional (line 3) | function additional() {

FILE: test/serializer/additional-functions/register_conditionally.js
  function func1 (line 3) | function func1() {
  function func2 (line 9) | function func2() {

FILE: test/serializer/additional-functions/register_test.js
  function func1 (line 3) | function func1() {
  function func2 (line 9) | function func2() {

FILE: test/serializer/additional-functions/require_opt.js
  function require (line 7) | function require(moduleId) {
  function define (line 13) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 33) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 49) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 85) | function unknownModuleError(id) {
  function moduleThrewError (line 90) | function moduleThrewError(id) {
  function additional1 (line 115) | function additional1() {
  function additional2 (line 123) | function additional2() {

FILE: test/serializer/additional-functions/return-or-many-throw.js
  function func1 (line 9) | function func1(doNotThrow) {

FILE: test/serializer/additional-functions/return-or-multiple-throw.js
  function func1 (line 9) | function func1() {

FILE: test/serializer/additional-functions/return-or-throw-modifybindings.js
  function func1 (line 8) | function func1() {

FILE: test/serializer/additional-functions/return-or-throw-modifybindings2.js
  function func1 (line 10) | function func1() {

FILE: test/serializer/additional-functions/return-or-throw-modifybindings3.js
  function func1 (line 10) | function func1() {

FILE: test/serializer/additional-functions/return-or-throw-modifyproperties.js
  function func1 (line 8) | function func1() {

FILE: test/serializer/additional-functions/return-or-throw-modifyproperties2.js
  function func1 (line 8) | function func1() {

FILE: test/serializer/additional-functions/return-or-throw-simple.js
  function func1 (line 9) | function func1() {

FILE: test/serializer/additional-functions/return-or-throw-simple1.js
  function func1 (line 3) | function func1() {

FILE: test/serializer/additional-functions/return-value-simple.js
  function additional1 (line 6) | function additional1() {
  function additional2 (line 12) | function additional2() {

FILE: test/serializer/additional-functions/self_referential.js
  function func1 (line 3) | function func1() {

FILE: test/serializer/additional-functions/self_referential_simple.js
  function func1 (line 3) | function func1() {

FILE: test/serializer/additional-functions/write-in-conflict.js
  function additional1 (line 3) | function additional1() {
  function additional2 (line 7) | function additional2() {

FILE: test/serializer/additional-functions/write-write-noconflict.js
  function additional1 (line 8) | function additional1() {
  function additional2 (line 13) | function additional2() {

FILE: test/serializer/basic/Arguments.js
  function g (line 1) | function g(i) {

FILE: test/serializer/basic/Arguments2.js
  function f (line 1) | function f() {

FILE: test/serializer/basic/Bind.js
  function f (line 3) | function f() {

FILE: test/serializer/basic/BoundFunctionCreationOrder.js
  function wrap (line 2) | function wrap(obj) {

FILE: test/serializer/basic/CapturedScope.js
  function f (line 3) | function f(x) {

FILE: test/serializer/basic/CapturedScope3.js
  function p (line 2) | function p(object, name, desc) {

FILE: test/serializer/basic/CapturedScope4.js
  function f (line 2) | function f(x) {

FILE: test/serializer/basic/CapturedScope5.js
  function f (line 2) | function f(x) {

FILE: test/serializer/basic/CapturedScope6.js
  function f (line 3) | function f(x) {

FILE: test/serializer/basic/CapturedScope7.js
  function f (line 2) | function f() {

FILE: test/serializer/basic/CapturedScopeArrayAccess1.js
  function g (line 6) | function g(i) {

FILE: test/serializer/basic/CapturedScopeArrayAccess2.js
  function g (line 3) | function g(i) {

FILE: test/serializer/basic/CapturedScopeParameterOrdering.js
  function f (line 2) | function f() {

FILE: test/serializer/basic/CircularFuncs.js
  function f (line 2) | function f(x) {

FILE: test/serializer/basic/CircularFunctions.js
  function f (line 2) | function f(x) {

FILE: test/serializer/basic/ClassExpression.js
  method constructor (line 2) | constructor() {
  method method (line 5) | method(y) {

FILE: test/serializer/basic/ClassExpression2.js
  class Foo (line 2) | class Foo {
    method constructor (line 3) | constructor() {
    method method (line 6) | method(y) {
  method constructor (line 13) | constructor() {
  method method (line 17) | method(z) {

FILE: test/serializer/basic/ClassExpression3.js
  class Foo (line 3) | class Foo {
    method constructor (line 4) | constructor() {
    method ["method"] (line 7) | ["method"](y) {
  method [global.method1] (line 13) | [global.method1](z) {
  method y (line 16) | get y() {
  method y (line 19) | set y(x) {

FILE: test/serializer/basic/ClassExpression4.js
  class Foo (line 4) | class Foo {
    method constructor (line 5) | constructor(x) {
    method ["method"] (line 8) | ["method"](y) {
  method constructor (line 14) | constructor() {
  method [global.method1] (line 17) | [global.method1](z) {
  method [global.y] (line 20) | get [global.y]() {
  method [global.y] (line 23) | set [global.y](x) {

FILE: test/serializer/basic/ClassExpression5.js
  class Bar (line 3) | class Bar {
    method constructor (line 4) | constructor(y) {
  class Foo (line 9) | class Foo extends Bar {
    method constructor (line 10) | constructor(y) {

FILE: test/serializer/basic/ClassExpression6.js
  method constructor (line 4) | constructor(y) {
  method render (line 7) | render() {}
  method constructor (line 13) | constructor(y) {

FILE: test/serializer/basic/ClosureRefReplacement.js
  function require (line 6) | function require() {
  function f (line 24) | function f() {
  function _d (line 29) | function _d() {

FILE: test/serializer/basic/ConditionalReturn.js
  function f (line 7) | function f() {

FILE: test/serializer/basic/ConditionalReturn2.js
  function f (line 7) | function f() {

FILE: test/serializer/basic/ConditionalReturn3.js
  function f (line 12) | function f() {
  function g (line 17) | function g() {

FILE: test/serializer/basic/DelayInitWithDifferentValues.js
  function f (line 2) | function f(y) {

FILE: test/serializer/basic/DelayInitializations.js
  function f (line 2) | function f() {
  function g (line 9) | function g() {

FILE: test/serializer/basic/DelayInitializations2.js
  function f (line 3) | function f() {

FILE: test/serializer/basic/DuplicateFactoryFunctions.js
  function f (line 2) | function f() {
  function g (line 9) | function g() {

FILE: test/serializer/basic/EmitFunctionExpression.js
  function f (line 3) | function f() {

FILE: test/serializer/basic/EmptyBlocks.js
  function fib (line 3) | function fib(x) {

FILE: test/serializer/basic/ErrorPrototypeToString.js
  function a (line 1) | function a() {
  function b (line 7) | function b() {
  function c (line 13) | function c() {
  function d (line 19) | function d() {

FILE: test/serializer/basic/ForOfStatement1.js
  function foo (line 2) | function foo() {

FILE: test/serializer/basic/FunctionBodyClone1.js
  function foo (line 2) | function foo() {

FILE: test/serializer/basic/FunctionBodyClone2.js
  function foo (line 2) | function foo() {

FILE: test/serializer/basic/FunctionPrototype.js
  function f (line 2) | function f() {}

FILE: test/serializer/basic/FunctionPrototype2.js
  function f (line 2) | function f() {}

FILE: test/serializer/basic/FunctionPrototypeAssignmentIsSimple.js
  function f (line 3) | function f() {}

FILE: test/serializer/basic/GlobalMustBePassedInWhenUsed.js
  function _0 (line 7) | function _0() {

FILE: test/serializer/basic/GlobalPropertyStrict2.js
  function a (line 3) | function a(x) {

FILE: test/serializer/basic/HelloWorld.js
  function hello (line 1) | function hello() {
  function world (line 4) | function world() {

FILE: test/serializer/basic/HoistFunctionDeclarations.js
  function f (line 2) | function f() {

FILE: test/serializer/basic/Issue2555RegressionTest.js
  function A (line 2) | function A() {
  function B (line 5) | function B() {}

FILE: test/serializer/basic/Issue2555RegressionTest2.js
  function createClass (line 2) | function createClass(ctor, superClass) {
  function mixin (line 9) | function mixin(ctor, methods) {
  function Iterable (line 18) | function Iterable(value) {}
  function Iterator (line 19) | function Iterator(next) {}
  function Seq (line 22) | function Seq(value) {}
  function IndexedSeq (line 25) | function IndexedSeq(value) {}
  function SetSeq (line 28) | function SetSeq(value) {
  function ArraySeq (line 41) | function ArraySeq(array) {}
  function IterableSeq (line 44) | function IterableSeq(iterable) {}
  function IteratorSeq (line 47) | function IteratorSeq(iterator) {}
  function ToIndexedSequence (line 50) | function ToIndexedSequence(iter) {}
  function isSeq (line 60) | function isSeq(maybeSeq) {}
  function indexedSeqFromValue (line 62) | function indexedSeqFromValue(value) {
  function seqFromValue (line 66) | function seqFromValue(value) {
  function maybeIndexedSeqFromValue (line 70) | function maybeIndexedSeqFromValue(value) {

FILE: test/serializer/basic/LetGlobal.js
  function f (line 4) | function f() {

FILE: test/serializer/basic/Map.js
  function Map (line 1) | function Map() {

FILE: test/serializer/basic/NestedFunctions4.js
  function nested (line 3) | function nested() {

FILE: test/serializer/basic/NestedFunctions5.js
  function nested (line 3) | function nested() {

FILE: test/serializer/basic/OmitUnknownScopeSelectorError.js
  function getAnswer (line 6) | function getAnswer() {
  function setX (line 9) | function setX(newX) {

FILE: test/serializer/basic/OverridingFunctionPrototype.js
  function f (line 2) | function f() {}

FILE: test/serializer/basic/PathConditionDeadCode.js
  function f (line 6) | function f() {

FILE: test/serializer/basic/PathConditionThrow.js
  function f (line 6) | function f() {
  function g (line 11) | function g() {

FILE: test/serializer/basic/Promise.js
  function fn (line 1) | function fn(resolve) {

FILE: test/serializer/basic/Prototypes2.js
  function describe (line 11) | function describe(v) {

FILE: test/serializer/basic/RecursiveMutatedFunctionIdentifier.js
  function init (line 3) | function init() {
  function work (line 7) | function work() {

FILE: test/serializer/basic/ReferentializeBug.js
  function f (line 2) | function f() {

FILE: test/serializer/basic/ReferentializeInitializer.js
  function f (line 2) | function f() {

FILE: test/serializer/basic/ResidualIdentityObservation.js
  function f (line 3) | function f() {
  function g (line 6) | function g() {

FILE: test/serializer/basic/ResidualIdentityObservation2.js
  function f (line 3) | function f() {

FILE: test/serializer/basic/SimpleCircularFunctions.js
  function a (line 3) | function a() {
  function b (line 7) | function b() {

FILE: test/serializer/basic/SimpleInheritanceChains.js
  function A (line 2) | function A() {}
  function B (line 3) | function B() {}

FILE: test/serializer/basic/StrictGlobals.js
  function require (line 4) | function require(id) {

FILE: test/serializer/basic/UniqueNames.js
  function bar (line 2) | function bar() {

FILE: test/serializer/basic/UnknownScopeSelectorError.js
  function getAnswer (line 5) | function getAnswer() {
  function setX (line 8) | function setX(newX) {

FILE: test/serializer/basic/Values.js
  function g (line 1) | function g(i) {

FILE: test/serializer/basic/__output.js
  function f (line 2) | function f() {

FILE: test/serializer/instant-render/EmptyBuiltInArray.js
  function f (line 4) | function f(c) {

FILE: test/serializer/instant-render/EmptyBuiltInArrayLength.js
  function f (line 4) | function f(c) {

FILE: test/serializer/instant-render/EmptyBuiltInProps.js
  function f (line 4) | function f(c) {

FILE: test/serializer/instant-render/FunctionArgumentModeling.js
  function gen_getter (line 8) | function gen_getter(valid) {
  function toBeOptimized (line 117) | function toBeOptimized(props) {

FILE: test/serializer/optimizations/CommonSubExpr2.js
  function foo (line 6) | function foo(v) {

FILE: test/serializer/optimizations/CommonSubExpr3.js
  function foo (line 6) | function foo(v) {

FILE: test/serializer/optimizations/DedupeGenerator.js
  function fib (line 3) | function fib(x) {

FILE: test/serializer/optimizations/DelayInitCaptures.js
  function f (line 1) | function f() {

FILE: test/serializer/optimizations/DelayInitMult.js
  function f (line 1) | function f() {

FILE: test/serializer/optimizations/eagerlyRequireModuleDependencies.js
  function __d (line 2) | function __d(f, id, deps) {}
  function __r (line 3) | function __r(id) {

FILE: test/serializer/optimizations/getOwnPropertySymbols.js
  function objectSpread (line 1) | function objectSpread(target) {
  function fn (line 22) | function fn(baseHeaders, contentEncoding, userAgent) {

FILE: test/serializer/optimizations/non_numeric_arg_require.js
  function f1 (line 1) | function f1(arg) {
  function f2 (line 4) | function f2(arg1, arg2) {
  function f (line 11) | function f() {

FILE: test/serializer/optimizations/require_accelerate.js
  function require (line 6) | function require(moduleId) {
  function define (line 12) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 32) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 48) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 84) | function unknownModuleError(id) {
  function moduleThrewError (line 89) | function moduleThrewError(id) {

FILE: test/serializer/optimizations/require_delay.js
  function require (line 6) | function require(moduleId) {
  function define (line 12) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 32) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 48) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 84) | function unknownModuleError(id) {
  function moduleThrewError (line 89) | function moduleThrewError(id) {

FILE: test/serializer/optimizations/require_hoist.js
  function require (line 5) | function require(moduleId) {
  function define (line 11) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 31) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 47) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 83) | function unknownModuleError(id) {
  function moduleThrewError (line 88) | function moduleThrewError(id) {

FILE: test/serializer/optimizations/require_mightHaveBeenDeleted.js
  function require (line 7) | function require(moduleId) {
  function define (line 13) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 33) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 49) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 85) | function unknownModuleError(id) {
  function moduleThrewError (line 90) | function moduleThrewError(id) {

FILE: test/serializer/optimizations/require_opt.js
  function require (line 6) | function require(moduleId) {
  function define (line 12) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 32) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 48) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 84) | function unknownModuleError(id) {
  function moduleThrewError (line 89) | function moduleThrewError(id) {
  function f (line 115) | function f() {

FILE: test/serializer/optimizations/require_opt_with_dependencies.js
  function require (line 7) | function require(moduleId) {
  function define (line 13) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 33) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 49) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 85) | function unknownModuleError(id) {
  function moduleThrewError (line 90) | function moduleThrewError(id) {
  function f (line 116) | function f() {

FILE: test/serializer/optimizations/require_removefactoryfunctions.js
  function require (line 9) | function require(moduleId) {
  function define (line 15) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 35) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 51) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 87) | function unknownModuleError(id) {
  function moduleThrewError (line 92) | function moduleThrewError(id) {
  function defineModules (line 98) | function defineModules() {
  function f (line 124) | function f() {

FILE: test/serializer/optimizations/require_spec_accelerate_delay.js
  function require (line 7) | function require(moduleId) {
  function define (line 13) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 33) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 49) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 85) | function unknownModuleError(id) {
  function moduleThrewError (line 90) | function moduleThrewError(id) {

FILE: test/serializer/optimizations/require_speculatively.js
  function define (line 14) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 34) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 50) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 85) | function unknownModuleError(id) {
  function moduleThrewError (line 90) | function moduleThrewError(id) {

FILE: test/serializer/optimizations/require_speculatively_specific.js
  function define (line 16) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 36) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 52) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 87) | function unknownModuleError(id) {
  function moduleThrewError (line 92) | function moduleThrewError(id) {

FILE: test/serializer/optimizations/require_throws.js
  function require (line 6) | function require(moduleId) {
  function define (line 12) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 32) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 48) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 84) | function unknownModuleError(id) {
  function moduleThrewError (line 89) | function moduleThrewError(id) {

FILE: test/serializer/optimizations/require_throws1.js
  function require (line 6) | function require(moduleId) {
  function define (line 12) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 32) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 48) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 84) | function unknownModuleError(id) {
  function moduleThrewError (line 89) | function moduleThrewError(id) {

FILE: test/serializer/optimizations/require_unsupported.js
  function require (line 6) | function require(moduleId) {
  function define (line 12) | function define(factory, moduleId, dependencyMap) {
  function guardedLoadModule (line 32) | function guardedLoadModule(moduleId, module) {
  function loadModuleImplementation (line 48) | function loadModuleImplementation(moduleId, module) {
  function unknownModuleError (line 84) | function unknownModuleError(id) {
  function moduleThrewError (line 89) | function moduleThrewError(id) {

FILE: test/serializer/optimizations/simplify11.js
  function fn (line 2) | function fn(arg) {

FILE: test/serializer/optimizations/simplifyCompNullOrUndefined3.js
  function f (line 1) | function f(obj) {

FILE: test/serializer/optimizations/simplifyEqNull.js
  function abstract (line 2) | function abstract(t, n) {

FILE: test/serializer/optimizations/simplifyEqUndefined.js
  function abstract (line 2) | function abstract(t, n) {

FILE: test/serializer/optimizations/simplifyStrictEq.js
  function abstract (line 2) | function abstract(t, n) {

FILE: test/serializer/optimized-functions/2248-repro.js
  function fn (line 1) | function fn(str, start) {

FILE: test/serializer/optimized-functions/AbstractDate.js
  function f (line 2) | function f(x) {

FILE: test/serializer/optimized-functions/ArgumentProperty.js
  function fn (line 1) | function fn(arg) {

FILE: test/serializer/optimized-functions/ArrayAccess.js
  function f (line 4) | function f(x) {

FILE: test/serializer/optimized-functions/ArrayFrom.js
  function inner (line 1) | function inner(props) {
  function fn (line 14) | function fn(arg) {

FILE: test/serializer/optimized-functions/ArrayFrom10.js
  function f (line 3) | function f(c) {

FILE: test/serializer/optimized-functions/ArrayFrom11.js
  function fn (line 1) | function fn(x, y) {

FILE: test/serializer/optimized-functions/ArrayFrom2.js
  function fn (line 1) | function fn(arg) {
  method calculate (line 23) | calculate(f) {
  method calculate (line 31) | calculate(f) {

FILE: test/serializer/optimized-functions/ArrayFrom3.js
  function fn (line 3) | function fn(x, y) {

FILE: test/serializer/optimized-functions/ArrayFrom4.js
  function inner (line 1) | function inner(props, x) {
  function fn (line 11) | function fn(arg, x) {

FILE: test/serializer/optimized-functions/ArrayFrom5.js
  function fn (line 1) | function fn(x, y) {

FILE: test/serializer/optimized-functions/ArrayFrom6.js
  function add (line 5) | function add(a, b) {
  function fn (line 10) | function fn(x) {

FILE: test/serializer/optimized-functions/ArrayFrom7.js
  function add (line 10) | function add(a, b) {
  function fn (line 15) | function fn(x) {

FILE: test/serializer/optimized-functions/ArrayFrom8.js
  function add (line 10) | function add(a, b) {
  function fn (line 15) | function fn(x) {

FILE: test/serializer/optimized-functions/ArrayFrom9.js
  function add (line 5) | function add(a, b) {
  function fn (line 10) | function fn(x) {

FILE: test/serializer/optimized-functions/ArrayIndexOf.js
  function inner (line 1) | function inner(props) {
  function fn (line 9) | function fn(arg) {

FILE: test/serializer/optimized-functions/ArrayReverse.js
  function inner (line 1) | function inner(props) {
  function fn (line 9) | function fn(arg) {

FILE: test/serializer/optimized-functions/ArrowFunction2.js
  function foo (line 3) | function foo(x) {

FILE: test/serializer/optimized-functions/CallWithThrow.js
  function URI (line 1) | function URI(uri) {
  function bar (line 11) | function bar(uri) {
  function fn (line 19) | function fn(arg) {

FILE: test/serializer/optimized-functions/CommonParentScopeCapture.js
  function middle (line 2) | function middle(cond) {
  function outer (line 16) | function outer(cond) {

FILE: test/serializer/optimized-functions/ComposeJoins.js
  function fn (line 1) | function fn(_ref) {

FILE: test/serializer/optimized-functions/ConditionalArray.js
  function fn (line 3) | function fn(a) {

FILE: test/serializer/optimized-functions/ConditionalArray2.js
  function fn (line 1) | function fn(a, b) {

FILE: test/serializer/optimized-functions/ConditionalArray3.js
  function fn (line 1) | function fn(a, b) {

FILE: test/serializer/optimized-functions/ConditionalArray4.js
  function fn (line 1) | function fn(a, b) {

FILE: test/serializer/optimized-functions/ConditionalArray5.js
  function fn (line 1) | function fn(a, b) {

FILE: test/serializer/optimized-functions/ConditionalGet.js
  function fn (line 5) | function fn(x, b) {

FILE: test/serializer/optimized-functions/ConditionalGet2.js
  function fn (line 5) | function fn(x) {

FILE: test/serializer/optimized-functions/ConditionalGet3.js
  function fn (line 5) | function fn(x) {

FILE: test/serializer/optimized-functions/ConditionalObjectAssign.js
  function fn (line 1) | function fn(x) {

FILE: test/serializer/optimized-functions/ConditionalObjectAssign2.js
  function fn (line 1) | function fn(x, y) {

FILE: test/serializer/optimized-functions/ConditionalObjectAssign3.js
  function fn (line 1) | function fn(x, y, z) {

FILE: test/serializer/optimized-functions/ConditionalObjectAssign4.js
  function fn (line 1) | function fn(x) {

FILE: test/serializer/optimized-functions/ConditionalObjectAssign5.js
  function fn (line 1) | function fn(x) {

FILE: test/serializer/optimized-functions/ConditionalReturn.js
  function foo (line 2) | function foo(x) {

FILE: test/serializer/optimized-functions/ConditionalReturn2.js
  function bar (line 1) | function bar() {
  function fn (line 5) | function fn(x) {

FILE: test/serializer/optimized-functions/ConditionallyLeakedBinding.js
  function f (line 2) | function f(c, g) {

FILE: test/serializer/optimized-functions/ConditionallyLeakedObject1.js
  function f (line 2) | function f(g, c) {

FILE: test/serializer/optimized-functions/ConditionallyLeakedObject2.js
  function f (line 2) | function f(g, c) {

FILE: test/serializer/optimized-functions/ConditionallyOptimizedFunction.js
  function g (line 3) | function g() {

FILE: test/serializer/optimized-functions/ConditionallyReachable.js
  function f (line 2) | function f(c) {

FILE: test/serializer/optimized-functions/DeadModifiedBindings.js
  function g (line 4) | function g() {
  function f (line 7) | function f() {

FILE: test/serializer/optimized-functions/DeadObjectAssign10.js
  function f (line 8) | function f(foo, bar) {

FILE: test/serializer/optimized-functions/DeadObjectAssign11.js
  function f (line 8) | function f(foo, bar) {

FILE: test/serializer/optimized-functions/DeadObjectAssign12.js
  function f (line 8) | function f(x, foo, bar) {

FILE: test/serializer/optimized-functions/DeadObjectAssign13.js
  function f (line 8) | function f(x, foo) {

FILE: test/serializer/optimized-functions/DeadObjectAssign14.js
  function f (line 8) | function f(x, foo) {

FILE: test/serializer/optimized-functions/DeadObjectAssign15.js
  function f (line 8) | function f(x, foo) {

FILE: test/serializer/optimized-functions/DeadObjectAssign16.js
  function f (line 8) | function f(o) {

FILE: test/serializer/optimized-functions/DeadObjectAssign17.js
  function f (line 8) | function f(o) {

FILE: test/serializer/optimized-functions/DeadObjectAssign18.js
  function f (line 8) | function f(o) {

FILE: test/serializer/optimized-functions/DeadObjectAssign19.js
  function f (line 8) | function f(o) {

FILE: test/serializer/optimized-functions/DeadObjectAssign20.js
  function f (line 8) | function f(o) {

FILE: test/serializer/optimized-functions/DeadObjectAssign21.js
Condensed preview — 1770 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (7,522K chars).
[
  {
    "path": ".circleci/config.yml",
    "chars": 2581,
    "preview": "workflows:\n  version: 2\n  main:\n    jobs:\n      - build\n      - run-tests-1:\n          requires:\n            - build\n   "
  },
  {
    "path": ".eslintignore",
    "chars": 85,
    "preview": "test262\nlib\n/fb-www\nunderscore-with-tests.js\nflow-typed\ntest/**/*.js\nbabel.config.js\n"
  },
  {
    "path": ".eslintrc",
    "chars": 14876,
    "preview": "// Adapted from React Native .eslintrc.\n// However, at this time, some rules have been disabled to ease the transition\n\n"
  },
  {
    "path": ".flowconfig",
    "chars": 556,
    "preview": "[ignore]\n.*/node_modules/@babel/.*\n.*/test262/.*\n.*/node_modules/.*\\.json\n.*/lib/.*\n.*/fb-www/input*.js\n.*/fb-www/output"
  },
  {
    "path": ".gitignore",
    "chars": 208,
    "preview": ".*.haste_cache.*\n*~\n**/node_modules/\n/lib\nnpm-debug.log\nyarn-error.log\n.DS_Store\nbuild/\n.idea/\ntmp_website_build/\ncovera"
  },
  {
    "path": ".gitmodules",
    "chars": 99,
    "preview": "[submodule \"test/test262\"]\n\tpath = test/test262\n\turl = https://github.com/tc39/test262\nignore = all"
  },
  {
    "path": ".prettierrc",
    "chars": 72,
    "preview": "{\n  \"trailingComma\": \"es5\",\n  \"parser\": \"babylon\",\n  \"printWidth\": 120\n}"
  },
  {
    "path": ".watchmanconfig",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 244,
    "preview": "# Code of Conduct\n\nFacebook has adopted a Code of Conduct that we expect project participants to adhere to. Please [read"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 3198,
    "preview": "# Contributing to Prepack\nWe want to make contributing to this project as easy and transparent as\npossible.\n\nTo read mor"
  },
  {
    "path": "LICENSE",
    "chars": 1528,
    "preview": "BSD License\n\nFor Prepack software\n\nCopyright (c) 2017-present, Facebook, Inc. All rights reserved.\n\nRedistribution and u"
  },
  {
    "path": "PATENTS",
    "chars": 1976,
    "preview": "Additional Grant of Patent Rights Version 2\n\n\"Software\" means the Prepack software contributed by Facebook, Inc.\n\nFacebo"
  },
  {
    "path": "README.md",
    "chars": 5477,
    "preview": "# Prepack [![Circle CI](https://circleci.com/gh/facebook/prepack.png?style=shield&circle-token=1109197a81e634fd06e162c25"
  },
  {
    "path": "babel.config.js",
    "chars": 1350,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "bin/prepack-repl.js",
    "chars": 49,
    "preview": "#!/usr/bin/env node\n\nrequire(\"../lib/repl-cli\");\n"
  },
  {
    "path": "bin/prepack.js",
    "chars": 52,
    "preview": "#!/usr/bin/env node\n\nrequire(\"../lib/prepack-cli\");\n"
  },
  {
    "path": "flow-libs/vscode-debugadapter.js.flow",
    "chars": 9127,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "flow-libs/vscode-debugprotocol.js.flow",
    "chars": 59629,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "flow-typed/npm/@babel/cli_vx.x.x.js",
    "chars": 2471,
    "preview": "// flow-typed signature: 88e150a250102d8b47b86c4a28175644\n// flow-typed version: <<STUB>>/@babel/cli_v^7.0.0-beta.53/flo"
  },
  {
    "path": "flow-typed/npm/@babel/core_vx.x.x.js",
    "chars": 9647,
    "preview": "// flow-typed signature: 452003906fe2b34678ff70b013729409\n// flow-typed version: <<STUB>>/@babel/core_v^7.0.0-beta.53/fl"
  },
  {
    "path": "flow-typed/npm/@babel/generator_vx.x.x.js",
    "chars": 5023,
    "preview": "// flow-typed signature: 14710e733fa392245cb84e68ee4c89a0\n// flow-typed version: <<STUB>>/@babel/generator_v^7.0.0-beta."
  },
  {
    "path": "flow-typed/npm/@babel/node_vx.x.x.js",
    "chars": 1271,
    "preview": "// flow-typed signature: e6bc151ed1aadbc8df76d137336ee3dd\n// flow-typed version: <<STUB>>/@babel/node_v^7.0.0-beta.53/fl"
  },
  {
    "path": "flow-typed/npm/@babel/parser_vx.x.x.js",
    "chars": 1080,
    "preview": "// flow-typed signature: 1f224679c72df69bc1a83214bdcd84b3\n// flow-typed version: <<STUB>>/@babel/parser_v^7.0.0-beta.53/"
  },
  {
    "path": "flow-typed/npm/@babel/plugin-proposal-class-properties_vx.x.x.js",
    "chars": 1027,
    "preview": "// flow-typed signature: 83df03cc398d7b8e8b44e95e7ee8b5f3\n// flow-typed version: <<STUB>>/@babel/plugin-proposal-class-p"
  },
  {
    "path": "flow-typed/npm/@babel/plugin-proposal-export-default-from_vx.x.x.js",
    "chars": 1045,
    "preview": "// flow-typed signature: c0525799a7f3fe4fa2f7f8222226590d\n// flow-typed version: <<STUB>>/@babel/plugin-proposal-export-"
  },
  {
    "path": "flow-typed/npm/@babel/plugin-proposal-object-rest-spread_vx.x.x.js",
    "chars": 1039,
    "preview": "// flow-typed signature: b11d576ca33e869b67e87d3031edbda2\n// flow-typed version: <<STUB>>/@babel/plugin-proposal-object-"
  },
  {
    "path": "flow-typed/npm/@babel/plugin-syntax-flow_vx.x.x.js",
    "chars": 943,
    "preview": "// flow-typed signature: 5dfb0ad96c92f4f384c9529bd39e0188\n// flow-typed version: <<STUB>>/@babel/plugin-syntax-flow_v^7."
  },
  {
    "path": "flow-typed/npm/@babel/plugin-transform-flow-strip-types_vx.x.x.js",
    "chars": 1033,
    "preview": "// flow-typed signature: b92f6ddfb42052b92d5e5360291b06f3\n// flow-typed version: <<STUB>>/@babel/plugin-transform-flow-s"
  },
  {
    "path": "flow-typed/npm/@babel/plugin-transform-modules-commonjs_vx.x.x.js",
    "chars": 1033,
    "preview": "// flow-typed signature: c23dd6d679255581300a2c6a1da17b2c\n// flow-typed version: <<STUB>>/@babel/plugin-transform-module"
  },
  {
    "path": "flow-typed/npm/@babel/plugin-transform-react-jsx_vx.x.x.js",
    "chars": 991,
    "preview": "// flow-typed signature: 38f417a8d521428256be3fcbcea40031\n// flow-typed version: <<STUB>>/@babel/plugin-transform-react-"
  },
  {
    "path": "flow-typed/npm/@babel/preset-env_vx.x.x.js",
    "chars": 4596,
    "preview": "// flow-typed signature: 1d1f10974da327836a8a8761e7c4ed01\n// flow-typed version: <<STUB>>/@babel/preset-env_v^7.0.0-beta"
  },
  {
    "path": "flow-typed/npm/@babel/preset-flow_vx.x.x.js",
    "chars": 900,
    "preview": "// flow-typed signature: 2257b5d93c569a2365772ed531a8a9a7\n// flow-typed version: <<STUB>>/@babel/preset-flow_v7.0.0-beta"
  },
  {
    "path": "flow-typed/npm/@babel/preset-react_vx.x.x.js",
    "chars": 907,
    "preview": "// flow-typed signature: c7881c92495e1a8d652c9443241d6abe\n// flow-typed version: <<STUB>>/@babel/preset-react_v^7.0.0-be"
  },
  {
    "path": "flow-typed/npm/@babel/register_vx.x.x.js",
    "chars": 1468,
    "preview": "// flow-typed signature: 0588d3f96fe247210bcba05ea43f8d5d\n// flow-typed version: <<STUB>>/@babel/register_v^7.0.0-beta.5"
  },
  {
    "path": "flow-typed/npm/@babel/template_vx.x.x.js",
    "chars": 2286,
    "preview": "// flow-typed signature: b5676378d55f7376bc725520ab242644\n// flow-typed version: <<STUB>>/@babel/template_v^7.0.0-beta.5"
  },
  {
    "path": "flow-typed/npm/@babel/traverse_vx.x.x.js",
    "chars": 6232,
    "preview": "// flow-typed signature: 81d29dd140776ffb4e2075ed0b37f16e\n// flow-typed version: <<STUB>>/@babel/traverse_v^7.0.0-beta.5"
  },
  {
    "path": "flow-typed/npm/babel-cli_vx.x.x.js",
    "chars": 3008,
    "preview": "// flow-typed signature: 4435fbf02a5bad6d14e094416a80e996\n// flow-typed version: <<STUB>>/babel-cli_v^6.18.0/flow_v0.38."
  },
  {
    "path": "flow-typed/npm/babel-core_vx.x.x.js",
    "chars": 855,
    "preview": "// flow-typed signature: 7540130584c1e9577ca2798f7b6328d6\n// flow-typed version: <<STUB>>/babel-core_v7.0.0-bridge.0/flo"
  },
  {
    "path": "flow-typed/npm/babel-eslint_vx.x.x.js",
    "chars": 2307,
    "preview": "// flow-typed signature: 898fc9205f942f10e1958989fc3958fb\n// flow-typed version: <<STUB>>/babel-eslint_v^7.1.1/flow_v0.3"
  },
  {
    "path": "flow-typed/npm/babel-generator_vx.x.x.js",
    "chars": 4941,
    "preview": "// flow-typed signature: 6cdfff6fe7ed58305bf9148269d1186d\n// flow-typed version: <<STUB>>/babel-generator_v^6.8.0/flow_v"
  },
  {
    "path": "flow-typed/npm/babel-helper-function-name_vx.x.x.js",
    "chars": 943,
    "preview": "// flow-typed signature: 00b8ab338c10ac6b548eacb2b78c1d81\n// flow-typed version: <<STUB>>/babel-helper-function-name_v^6"
  },
  {
    "path": "flow-typed/npm/babel-helper-get-function-arity_vx.x.x.js",
    "chars": 973,
    "preview": "// flow-typed signature: 91253616435274658664be70a5673e3c\n// flow-typed version: <<STUB>>/babel-helper-get-function-arit"
  },
  {
    "path": "flow-typed/npm/babel-jest_vx.x.x.js",
    "chars": 852,
    "preview": "// flow-typed signature: fd955224b4ff20689118b3df4ec748c1\n// flow-typed version: <<STUB>>/babel-jest_v^23.4.0/flow_v0.76"
  },
  {
    "path": "flow-typed/npm/babel-plugin-jest-hoist_vx.x.x.js",
    "chars": 930,
    "preview": "// flow-typed signature: fe7e54a98300f409fd3c32a79a2e317f\n// flow-typed version: <<STUB>>/babel-plugin-jest-hoist_v^23.2"
  },
  {
    "path": "flow-typed/npm/babel-plugin-transform-class-properties_vx.x.x.js",
    "chars": 1021,
    "preview": "// flow-typed signature: d319b6e3a99c5e22f50a21448401b4bb\n// flow-typed version: <<STUB>>/babel-plugin-transform-class-p"
  },
  {
    "path": "flow-typed/npm/babel-plugin-transform-object-rest-spread_vx.x.x.js",
    "chars": 1033,
    "preview": "// flow-typed signature: a3f1c558566ae53820e9a04cdba6c6ba\n// flow-typed version: <<STUB>>/babel-plugin-transform-object-"
  },
  {
    "path": "flow-typed/npm/babel-preset-es2015_vx.x.x.js",
    "chars": 901,
    "preview": "// flow-typed signature: 9336b10ac614a30819f5a15db1fd5758\n// flow-typed version: <<STUB>>/babel-preset-es2015_v^6.5.0/fl"
  },
  {
    "path": "flow-typed/npm/babel-preset-react_vx.x.x.js",
    "chars": 895,
    "preview": "// flow-typed signature: ed358ef4a88d50ce624eb3dd4847f82a\n// flow-typed version: <<STUB>>/babel-preset-react_v^6.5.0/flo"
  },
  {
    "path": "flow-typed/npm/babel-template_vx.x.x.js",
    "chars": 980,
    "preview": "// flow-typed signature: ff9ff3b60b305a3308b20c3420f15c37\n// flow-typed version: <<STUB>>/babel-template_v^6.9.0/flow_v0"
  },
  {
    "path": "flow-typed/npm/babel-traverse_vx.x.x.js",
    "chars": 6839,
    "preview": "// flow-typed signature: e044f91300344c6b466bbb8596699612\n// flow-typed version: <<STUB>>/babel-traverse_v^6.9.0/flow_v0"
  },
  {
    "path": "flow-typed/npm/babel-types_vx.x.x.js",
    "chars": 137509,
    "preview": "// flow-typed signature: e65b014cd6fc2636d93a98c55ee45a1a\n// flow-typed version: <<STUB>>/babel-types_v^6.9.0/flow_v0.38"
  },
  {
    "path": "flow-typed/npm/babylon_vx.x.x.js",
    "chars": 1235,
    "preview": "// flow-typed signature: ce9e068371b15477711e7cc8b3aba7da\n// flow-typed version: <<STUB>>/babylon_v^6.5.2/flow_v0.38.0\n\n"
  },
  {
    "path": "flow-typed/npm/chalk_v1.x.x.js",
    "chars": 3273,
    "preview": "// flow-typed signature: f965116cdb881170be8c42b10554e195\n// flow-typed version: da30fe6876/chalk_v1.x.x/flow_>=v0.25.x\n"
  },
  {
    "path": "flow-typed/npm/eslint-config-kittens_vx.x.x.js",
    "chars": 926,
    "preview": "// flow-typed signature: 4cb0251c6b76a7114e3fcf5df235a05d\n// flow-typed version: <<STUB>>/eslint-config-kittens_v^1.0.5/"
  },
  {
    "path": "flow-typed/npm/eslint-plugin-babel_vx.x.x.js",
    "chars": 5378,
    "preview": "// flow-typed signature: 39d8e3656d5637c82acf64987fba7b5e\n// flow-typed version: <<STUB>>/eslint-plugin-babel_v^3.3.0/fl"
  },
  {
    "path": "flow-typed/npm/eslint-plugin-flow-header_vx.x.x.js",
    "chars": 1473,
    "preview": "// flow-typed signature: 14f33c04f690dde93b4cc43045e81b6b\n// flow-typed version: <<STUB>>/eslint-plugin-flow-header_v^0."
  },
  {
    "path": "flow-typed/npm/eslint-plugin-flowtype_vx.x.x.js",
    "chars": 14995,
    "preview": "// flow-typed signature: fac94262a2bf7f7b11e84411804f8fa6\n// flow-typed version: <<STUB>>/eslint-plugin-flowtype_v^2.40."
  },
  {
    "path": "flow-typed/npm/eslint-plugin-header_vx.x.x.js",
    "chars": 2373,
    "preview": "// flow-typed signature: ae49f73baa6e38423f28cfaa56cde4b6\n// flow-typed version: <<STUB>>/eslint-plugin-header_v^1.0.0/f"
  },
  {
    "path": "flow-typed/npm/eslint-plugin-prettier_vx.x.x.js",
    "chars": 956,
    "preview": "// flow-typed signature: 70634101622a522f3dadf6402bddc6cf\n// flow-typed version: <<STUB>>/eslint-plugin-prettier_v^2.1.2"
  },
  {
    "path": "flow-typed/npm/eslint_vx.x.x.js",
    "chars": 73344,
    "preview": "// flow-typed signature: 5e0ea0fef73f4809eec046a100e9b8dd\n// flow-typed version: <<STUB>>/eslint_v^4.18.2/flow_v0.76.0\n\n"
  },
  {
    "path": "flow-typed/npm/flow-typed_vx.x.x.js",
    "chars": 5763,
    "preview": "// flow-typed signature: ec72cd943af888764fdb66e85aa5c067\n// flow-typed version: <<STUB>>/flow-typed_v^2.3.0/flow_v0.76."
  },
  {
    "path": "flow-typed/npm/graceful-fs_v4.1.x.js",
    "chars": 9503,
    "preview": "// flow-typed signature: dddffa88c6bf519f7077a44e489c05c9\n// flow-typed version: 1b3bf95731/graceful-fs_v4.1.x/flow_>=v0"
  },
  {
    "path": "flow-typed/npm/invariant_v2.x.x.js",
    "chars": 227,
    "preview": "// flow-typed signature: 60de437d85342dea19dcd82c5a50f88a\n// flow-typed version: da30fe6876/invariant_v2.x.x/flow_>=v0.3"
  },
  {
    "path": "flow-typed/npm/istanbul_vx.x.x.js",
    "chars": 10028,
    "preview": "// flow-typed signature: d49f4afb0982435dce495db8f5e8752f\n// flow-typed version: <<STUB>>/istanbul_v^0.4.5/flow_v0.76.0\n"
  },
  {
    "path": "flow-typed/npm/jest_v23.x.x.js",
    "chars": 32855,
    "preview": "// flow-typed signature: ad251f3a3446f6ab4e6691a94e701cad\n// flow-typed version: caa120caaa/jest_v23.x.x/flow_>=v0.39.x\n"
  },
  {
    "path": "flow-typed/npm/js-beautify_v1.6.x.js",
    "chars": 2499,
    "preview": "// flow-typed signature: 3e4bea59bad05fc51a94a6c3d0c65f75\n// flow-typed version: 11460f58fa/js-beautify_v1.6.x/flow_>=v0"
  },
  {
    "path": "flow-typed/npm/js-yaml_vx.x.x.js",
    "chars": 7413,
    "preview": "// flow-typed signature: 835ef6309457d7c95d7291f5c9c71d1f\n// flow-typed version: <<STUB>>/js-yaml_v^3.6.1/flow_v0.76.0\n\n"
  },
  {
    "path": "flow-typed/npm/jsdom_vx.x.x.js",
    "chars": 81908,
    "preview": "// flow-typed signature: a418fd1b3dcf753c803d7c085363569d\n// flow-typed version: <<STUB>>/jsdom_v^9.2.1/flow_v0.76.0\n\n/*"
  },
  {
    "path": "flow-typed/npm/madge_vx.x.x.js",
    "chars": 1784,
    "preview": "// flow-typed signature: 691184973888acc24da609e46f85c0c9\n// flow-typed version: <<STUB>>/madge_v^1.6.0/flow_v0.76.0\n\n/*"
  },
  {
    "path": "flow-typed/npm/minimist_v1.x.x.js",
    "chars": 694,
    "preview": "// flow-typed signature: 50bc453586282fb18e63201750049659\n// flow-typed version: e6f7626e10/minimist_v1.x.x/flow_>=v0.28"
  },
  {
    "path": "flow-typed/npm/node-zip_vx.x.x.js",
    "chars": 1227,
    "preview": "// flow-typed signature: c7a3b2fc0f3ed597543216830a7c5c47\n// flow-typed version: <<STUB>>/node-zip_v^1.1.1/flow_v0.76.0\n"
  },
  {
    "path": "flow-typed/npm/prettier_v1.x.x.js",
    "chars": 4786,
    "preview": "// flow-typed signature: 4eed8da2dc730dc33e7710b465eaa44b\n// flow-typed version: cc7a557b34/prettier_v1.x.x/flow_>=v0.56"
  },
  {
    "path": "flow-typed/npm/prop-types_v15.x.x.js",
    "chars": 1362,
    "preview": "// flow-typed signature: d9a983bb1ac458a256c31c139047bdbb\n// flow-typed version: 927687984d/prop-types_v15.x.x/flow_>=v0"
  },
  {
    "path": "flow-typed/npm/queue-fifo_vx.x.x.js",
    "chars": 1218,
    "preview": "// flow-typed signature: 32d4e4a79ef4ec16683f87120b5178b5\n// flow-typed version: <<STUB>>/queue-fifo_v^0.2.3/flow_v0.76."
  },
  {
    "path": "flow-typed/npm/react-native_vx.x.x.js",
    "chars": 166213,
    "preview": "// flow-typed signature: d06c970656acd3c84b00351852291246\n// flow-typed version: <<STUB>>/react-native_v^0.55.4/flow_v0."
  },
  {
    "path": "flow-typed/npm/react-relay_v1.x.x.js",
    "chars": 55622,
    "preview": "// flow-typed signature: 809a8a23ed790a6069fbd9e9c47f850b\n// flow-typed version: a80240470a/react-relay_v1.x.x/flow_>=v0"
  },
  {
    "path": "flow-typed/npm/regenerator-runtime_vx.x.x.js",
    "chars": 1306,
    "preview": "// flow-typed signature: 0d8469927dab26c92dbb328e948e2d52\n// flow-typed version: <<STUB>>/regenerator-runtime_v^0.12.0/f"
  },
  {
    "path": "flow-typed/npm/remap-istanbul_vx.x.x.js",
    "chars": 7481,
    "preview": "// flow-typed signature: 0c39de8d00cd92cd710b4ccf6c1dbeec\n// flow-typed version: <<STUB>>/remap-istanbul_v^0.9.1/flow_v0"
  },
  {
    "path": "flow-typed/npm/repeating_vx.x.x.js",
    "chars": 842,
    "preview": "// flow-typed signature: 8c6ca2ba2615a25ac1e943c7cffaca9d\n// flow-typed version: <<STUB>>/repeating_v^2.0.0/flow_v0.38.0"
  },
  {
    "path": "flow-typed/npm/seedrandom_vx.x.x.js",
    "chars": 5411,
    "preview": "// flow-typed signature: 9376a5dd476c84a27a9865d751aaf7fa\n// flow-typed version: <<STUB>>/seedrandom_v^2.4.2/flow_v0.76."
  },
  {
    "path": "flow-typed/npm/source-map-support_vx.x.x.js",
    "chars": 1374,
    "preview": "// flow-typed signature: aa22e0c7679ebbb46325d310723b282e\n// flow-typed version: <<STUB>>/source-map-support_v^0.4.6/flo"
  },
  {
    "path": "flow-typed/npm/source-map_vx.x.x.js",
    "chars": 9801,
    "preview": "// flow-typed signature: 36b5a181ae05a516a711d68a54030532\n// flow-typed version: <<STUB>>/source-map_v^0.5.6/flow_v0.76."
  },
  {
    "path": "flow-typed/npm/uglify-js_vx.x.x.js",
    "chars": 3055,
    "preview": "// flow-typed signature: d5499934167edd7e40dad28c40e8d14f\n// flow-typed version: <<STUB>>/uglify-js_v^2.6.2/flow_v0.38.0"
  },
  {
    "path": "flow-typed/npm/v8-profiler-node8_vx.x.x.js",
    "chars": 3389,
    "preview": "// flow-typed signature: 157088d679e8cd26f71af29e6bfa3ccc\n// flow-typed version: <<STUB>>/v8-profiler-node8_v6.0.1/flow_"
  },
  {
    "path": "flow-typed/npm/vscode-debugadapter_vx.x.x.js",
    "chars": 2223,
    "preview": "// flow-typed signature: b0105a82001632c14dcbf5fe23739b80\n// flow-typed version: <<STUB>>/vscode-debugadapter_v^1.24.0/f"
  },
  {
    "path": "flow-typed/npm/vscode-debugprotocol_vx.x.x.js",
    "chars": 930,
    "preview": "// flow-typed signature: c3d699d8e0136301c17d450964419f5f\n// flow-typed version: <<STUB>>/vscode-debugprotocol_v^1.24.0/"
  },
  {
    "path": "flow-typed/npm/webpack-cli_vx.x.x.js",
    "chars": 20145,
    "preview": "// flow-typed signature: 9611b8636a77cb4c887f9f1155bda121\n// flow-typed version: <<STUB>>/webpack-cli_v^2.0.10/flow_v0.7"
  },
  {
    "path": "flow-typed/npm/webpack_vx.x.x.js",
    "chars": 68695,
    "preview": "// flow-typed signature: 859c038107b1758754176a79a98c532e\n// flow-typed version: <<STUB>>/webpack_v^4.1.0/flow_v0.76.0\n\n"
  },
  {
    "path": "fuzzer/.eslintrc",
    "chars": 91,
    "preview": "{\n  \"env\": {\n    \"node\": true\n  },\n  \"rules\": {\n    \"flow-header/flow-header\": \"off\"\n  }\n}\n"
  },
  {
    "path": "fuzzer/.gitignore",
    "chars": 55,
    "preview": "node_modules\n.DS_Store\nyarn-error.log\novernight.sqlite\n"
  },
  {
    "path": "fuzzer/package.json",
    "chars": 501,
    "preview": "{\n  \"private\": true,\n  \"name\": \"prepack-fuzzer\",\n  \"version\": \"0.0.0-unversioned\",\n  \"license\": \"UNLICENSED\",\n  \"scripts"
  },
  {
    "path": "fuzzer/src/execute.js",
    "chars": 1970,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "fuzzer/src/gen.js",
    "chars": 15271,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "fuzzer/src/overnight.js",
    "chars": 3712,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "fuzzer/src/property.js",
    "chars": 1536,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "fuzzer/src/report.js",
    "chars": 1008,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "fuzzer/src/sample.js",
    "chars": 716,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "fuzzer/src/test.js",
    "chars": 1686,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "package.json",
    "chars": 7286,
    "preview": "{\n  \"name\": \"prepack\",\n  \"version\": \"0.2.55-alpha.0\",\n  \"description\": \"Execute a JS bundle, serialize global state and "
  },
  {
    "path": "scripts/.eslintrc",
    "chars": 56,
    "preview": "{\n  \"rules\": {\n    \"no-restricted-imports\": \"off\"\n  }\n}\n"
  },
  {
    "path": "scripts/debug-fb-www.js",
    "chars": 7177,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/detect_bad_deps.js",
    "chars": 3294,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/generate-sourcemaps-test.js",
    "chars": 3497,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/instrumentor.js",
    "chars": 2227,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/lint-config.js",
    "chars": 1792,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/multi-runner.js",
    "chars": 498,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/prettier.js",
    "chars": 2972,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/publish-gh-pages.sh",
    "chars": 3373,
    "preview": "#!/bin/bash\n\nset -e\n\n# Configurations\nORIGIN_URI=$(git config remote.origin.url)\n\nSRC_BRANCH=\"master\"\nSRC_DIR=\"website\"\n"
  },
  {
    "path": "scripts/test-error-handler.js",
    "chars": 3741,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/test-internal-react.js",
    "chars": 3371,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/test-internal.js",
    "chars": 3774,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/test-runner.js",
    "chars": 37323,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/test-sourcemaps.sh",
    "chars": 201,
    "preview": "node Stacktrace.js.new2.js 2>&1 >/dev/null | grep \"Stacktrace.js:2\" > /dev/null\nX=$?\nrm Stacktrace.js.new1.js\nrm Stacktr"
  },
  {
    "path": "scripts/test-std-in.sh",
    "chars": 5074,
    "preview": "# Prepacks a correct stdin input. Checks if the output execution is correct.\ncat ./test/std-in/StdIn.js | node ./bin/pre"
  },
  {
    "path": "scripts/test262-filters.yml",
    "chars": 1546,
    "preview": "features:\n  - async-iteration\n  - tail-call-optimization\n  - generators\n  - default-parameters\n  - Function.prototype.to"
  },
  {
    "path": "scripts/test262-runner.js",
    "chars": 51085,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "scripts/test262.js",
    "chars": 12308,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/benchmarker.js",
    "chars": 8747,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/completions.js",
    "chars": 11589,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/construct_realm.js",
    "chars": 2527,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/adapter/DebugAdapter.js",
    "chars": 14158,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/adapter/channel/AdapterChannel.js",
    "chars": 7707,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/common/DebuggerConstants.js",
    "chars": 902,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/common/DebuggerError.js",
    "chars": 745,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/common/channel/DebugMessage.js",
    "chars": 3315,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/common/channel/FileIOWrapper.js",
    "chars": 2654,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/common/channel/MessageMarshaller.js",
    "chars": 13351,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/common/channel/MessagePackager.js",
    "chars": 1861,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/common/invariant.js",
    "chars": 522,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/common/types.js",
    "chars": 3430,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/mock-ui/DataHandler.js",
    "chars": 2385,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/mock-ui/UISession.js",
    "chars": 17550,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/mock-ui/debugger-cli.js",
    "chars": 2824,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/server/Breakpoint.js",
    "chars": 785,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/server/BreakpointManager.js",
    "chars": 3656,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/server/Debugger.js",
    "chars": 14210,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/server/PerFileBreakpointMap.js",
    "chars": 2332,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/server/ReferenceMap.js",
    "chars": 950,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/server/Stepper.js",
    "chars": 3655,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/server/SteppingManager.js",
    "chars": 2795,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/server/StopEventManager.js",
    "chars": 1729,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/server/VariableManager.js",
    "chars": 8199,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/debugger/server/channel/DebugChannel.js",
    "chars": 3663,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/descriptors.js",
    "chars": 4443,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/domains/TypesDomain.js",
    "chars": 5278,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/domains/ValuesDomain.js",
    "chars": 21713,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/domains/index.js",
    "chars": 456,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/environment.js",
    "chars": 48705,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/errors.js",
    "chars": 3477,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ArrayExpression.js",
    "chars": 3741,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ArrowFunctionExpression.js",
    "chars": 1727,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/AssignmentExpression.js",
    "chars": 4897,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/AwaitExpression.js",
    "chars": 784,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/BinaryExpression.js",
    "chars": 12666,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/BlockStatement.js",
    "chars": 1879,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/BooleanLiteral.js",
    "chars": 781,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/BreakStatement.js",
    "chars": 829,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/CallExpression.js",
    "chars": 15797,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/CatchClause.js",
    "chars": 2494,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ClassDeclaration.js",
    "chars": 12269,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ClassExpression.js",
    "chars": 1800,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ConditionalExpression.js",
    "chars": 1805,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ContinueStatement.js",
    "chars": 841,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/Directive.js",
    "chars": 793,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/DirectiveLiteral.js",
    "chars": 379,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/DoExpression.js",
    "chars": 383,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/DoWhileStatement.js",
    "chars": 3943,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/EmptyStatement.js",
    "chars": 718,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ExpressionStatement.js",
    "chars": 965,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/File.js",
    "chars": 785,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ForInStatement.js",
    "chars": 9823,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ForOfStatement.js",
    "chars": 15372,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ForStatement.js",
    "chars": 20283,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/FunctionDeclaration.js",
    "chars": 3085,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/FunctionExpression.js",
    "chars": 6476,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/Identifier.js",
    "chars": 881,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/IfStatement.js",
    "chars": 3612,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/JSXElement.js",
    "chars": 9979,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/LabeledStatement.js",
    "chars": 3426,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/LogicalExpression.js",
    "chars": 4982,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/MemberExpression.js",
    "chars": 2396,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/MetaProperty.js",
    "chars": 768,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/NewExpression.js",
    "chars": 4666,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/NullLiteral.js",
    "chars": 701,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/NumericLiteral.js",
    "chars": 801,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ObjectExpression.js",
    "chars": 5580,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/Program.js",
    "chars": 10598,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/RegExpLiteral.js",
    "chars": 899,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ReturnStatement.js",
    "chars": 998,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/SequenceExpression.js",
    "chars": 993,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/StringLiteral.js",
    "chars": 777,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/SuperCall.js",
    "chars": 2902,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/SuperProperty.js",
    "chars": 3434,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/SwitchStatement.js",
    "chars": 13523,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/TaggedTemplateExpression.js",
    "chars": 1123,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/TemplateLiteral.js",
    "chars": 1173,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ThisExpression.js",
    "chars": 841,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/ThrowStatement.js",
    "chars": 947,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/TryStatement.js",
    "chars": 4593,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  },
  {
    "path": "src/evaluators/UnaryExpression.js",
    "chars": 10225,
    "preview": "/**\n * Copyright (c) 2017-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the B"
  }
]

// ... and 1570 more files (download for full content)

About this extraction

This page contains the full source code of the facebookarchive/prepack GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1770 files (6.7 MB), approximately 1.9M tokens, and a symbol index with 2680 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!