* WIP
* Test no longer crashes, but emit trampoline is incomplete and skips pipeline phases
* Fix lints, use non-generator trampoline in emit (still skips pipeline)
* Final version with emitBinaryExprssion work stack that is only used if possible
* Fix lints
* retarget to es2015 for testing
* Use bespoke state machine trampolines in binder and checker
* Remove now extraneous code in parser
* Adjust fixupParentReferences to use a depth first preorder traversal rather than breadth first
* Reintroduce incremental fast bail in fixupParentReferences
* Revert target to es5
* PR feedback
* Small edit for devops rebuild with updated definition
* Fix comment nits, add internally extraneous check back into transformer
* Move codefix types into services/types.ts
* Also split apart refactorProvider
* Move all meanings of DocumentHighlights into one file
* Use setter for object allocator
* Remove unneeded namespace reference
* Remove some shorthand references to nonlocal namespace variables
* Convert WatchType string enum to a structure that can be merged across modules
* Rename harness to harnessIO
* Move accidental globals into namespace
* Remove unused globals
* Suppress lints - these qualifiers are needed for the migration to go smoothly
* Hide global declaration
* Bind a jsdoc enum as SymbolFlags.TypeAlias and not SymbolFlags.Enum
* Actually include an @enum tag as a declaration
* Add enum tag refs into a couple more syntax kind lists
* accept symbol baseline update
* Enable '--strictNullChecks'
* Fix API baselines
* Make sys.getEnvironmentVariable non-nullable
* make properties optional instead of using `| undefined` in thier type
* reportDiagnostics should be required
* Declare firstAccessor as non-nullable
* Make `some` a type guard
* Fix `getEnvironmentVariable` definition in tests
* Pretend transformFlags are always defined
* Fix one more use of sys.getEnvironmentVariable
* `requiredResponse` accepts undefined, remove assertions
* Mark optional properties as optional instead of using `| undefined`
* Mark optional properties as optional instead of using ` | undefined`
* Remove unnecessary null assertions
* Put the bang on the declaration instead of every use
* Make `createMapFromTemplate` require a parameter
* Mark `EmitResult.emittedFiles` and `EmitResult.sourceMaps` as optional
* Plumb through undefined in emitLsit and EmitExpressionList
* `ElementAccessExpression.argumentExpression` can not be `undefined`
* Add overloads for `writeTokenText`
* Make `shouldWriteSeparatingLineTerminator` argument non-nullable
* Make `synthesizedNodeStartsOnNewLine` argument required
* `PropertyAssignment.initializer` cannot be undefined
* Use one `!` at declaration site instead of on every use site
* Capture host in a constant and avoid null assertions
* Remove few more unused assertions
* Update baselines
* Use parameter defaults
* Update baselines
* Fix lint
* Make Symbol#valueDeclaration and Symbol#declarations non-optional to reduce assertions
* Make Node#symbol and Type#symbol non-optional to reduce assertions
* Make `flags` non-nullable to reduce assertions
* Convert some asserts to type guards
* Make `isNonLocalAlias` a type guard
* Add overload for `getSymbolOfNode` for `Declaration`
* Some more `getSymbolOfNode` changes
* Push undefined suppression into `typeToTypeNodeHelper`
* `NodeBuilderContext.tracker` is never `undefined`
* use `Debug.assertDefined`
* Remove unnecessary tag
* Mark `LiteralType.freshType` and `LiteralTupe.regularType` as required
* Always generate type & symbol baselines
* Accept changed shadowed baselines
* Accept brand new type and symbol baselines
* Allow `getTypeAtLocation` to return undefined in the type writer
* Accept baselines which had missing type information
* Bind container for dynamically names enum members so they may be printed
* Accept type/symbol baselines for enums with computed members
* First pass at reducing typeWriter memory overhead
* Use generators to allow for type and symbol baselines with no cache
* Accept new baselines for tests whose output was fixed by better newline splitting
* Hard cap on number of declarations printed, cache declaration print text
* handle differing newlines better still to handle RWC newlines
* Lower abridging count, accept abridged baselines
* Limit max RWC error output size, limit RWC type and symbol baseline input size
* Move skip logic into type and symbol baseliner to streamline error handling
* Accept removal of empty baselines
* Canonicalize path earlier to handle odd paths in input files
* Do canonicalization earlier still, also ensure parallel perf profiles for different targets do not trample one another
* No need to pathify again
This type represents the expression+type arguments you can get in a class or interface
heritage clause section. For class-implements clauses, or interface-extends clauses,
these expressions can only be identifiers or dotted names. For class extends clauses,
these could be any expressions in the future. However, for now, we only support identifiers
and dotted names.
Now, you can only get the non-diagnostics, pull-type-checker from the Program instance.
If you want diagnostics, you simply ask the Program instance for the diagnostics you want.
This breaks layering. Also, it means the emitter depends on too large a surface area.
Now the emitter declares exactly what it needs, and only gets that.