angular-docs-cn/packages/language-service/test
ayazhafiz 49804fe017 fix(language-service): determine index types accessed using dot notation (#33884)
Commit 53fc2ed8bf added support for
determining index types accessed using index signatures, but did not
include support for index types accessed using dot notation:

```typescript
const obj<T>: { [key: string]: T };
obj['stringKey']. // gets `T.` completions
obj.stringKey.    // did not peviously get `T.` completions
```

This adds support for determining an index type accessed via dot
notation by rigging an object's symbol table to return the string index
signature type a property access refers to, if that property does not
explicitly exist on the object. This is very similar to @ivanwonder's
work in #29811.

`SymbolWrapper` now takes an additional parameter to explicitly set the
type of the symbol wrapped. This is done because
`SymbolTableWrapper#get` only has access to the symbol of the index
type, _not_ the index signature symbol itself. An attempt to get the
type of the index type will give an error.

Closes #29811
Closes https://github.com/angular/vscode-ng-language-service/issues/126

PR Close #33884
2019-11-26 15:57:07 -08:00
..
project feat(language-service): completions support for indexed types (#33775) 2019-11-15 16:16:06 -08:00
BUILD.bazel refactor(compiler-cli): Move diagnostics files to language service (#33809) 2019-11-14 09:29:07 -08:00
completions_spec.ts fix(language-service): determine index types accessed using dot notation (#33884) 2019-11-26 15:57:07 -08:00
definitions_spec.ts fix(language-service): reset MockHost after every spec instead of creating new LS (#33200) 2019-10-16 17:49:55 -04:00
diagnostics_spec.ts fix(language-service): determine index types accessed using dot notation (#33884) 2019-11-26 15:57:07 -08:00
expression_diagnostics_spec.ts refactor(compiler-cli): Move diagnostics files to language service (#33809) 2019-11-14 09:29:07 -08:00
global_symbols_spec.ts refactor(compiler-cli): Move diagnostics files to language service (#33809) 2019-11-14 09:29:07 -08:00
hover_spec.ts fix(language-service): Add global symbol for $any() (#33245) 2019-10-23 10:02:50 -07:00
html_info_spec.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
language_service_spec.ts fix(language-service): Remove getTemplateReferences() from LanguageService API (#33807) 2019-11-15 10:41:51 -08:00
mocks.ts refactor(compiler-cli): Move diagnostics files to language service (#33809) 2019-11-14 09:29:07 -08:00
reflector_host_spec.ts test(language-service): remove MockData from MockTypescriptHost (#32752) 2019-09-18 15:29:25 -07:00
template_references_spec.ts fix(language-service): Remove getTemplateReferences() from LanguageService API (#33807) 2019-11-15 10:41:51 -08:00
template_spec.ts test(language-service): remove MockData from MockTypescriptHost (#32752) 2019-09-18 15:29:25 -07:00
test_utils.ts fix(language-service): Recompute analyzed modules only when source files change (#33806) 2019-11-15 10:42:09 -08:00
ts_plugin_spec.ts feat(language-service): add support for text replacement (#33091) 2019-10-29 11:47:01 -07:00
typescript_host_spec.ts fix(language-service): Recompute analyzed modules only when source files change (#33806) 2019-11-15 10:42:09 -08:00
typescript_symbols_spec.ts fix(compiler-cli): Refactor getTsTypeFromBuiltinType (#33778) 2019-11-15 10:43:41 -08:00
utils_spec.ts refactor(language-service): Omit typechecking for finding directives (#32156) 2019-08-16 09:58:28 -07:00