-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Track expanded support for more multi-location diagnostic messages #22789
Comments
Here's the current vscode API for this: https://github.com/Microsoft/vscode/blob/32bdb4663258bf34228b007e7858ae6c91e5beb9/src/vs/vscode.d.ts#L3682 / cc @DanielRosenwasser |
<moved the checklist into the OP> |
P.S. is this a duplicate of #10489? |
I've revised the OP of the issue to track which errors we have additional spans for out of @DanielRosenwasser 's big list. @DanielRosenwasser you care to mark any I've missed? |
We now support related information for diagnostic messages. This issue now tracks, in aggregate, which diagnostics we have extra information for. The following errors are candidates:
MVP
_____ used before its declaration.
Property '{0}' is used before being assigned.
Cannot redeclare block-scoped variable '{0}'.
Type '{0}' is not assignable to type '{1}'.
Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated.
Expected {0} arguments, ___________
Others
Cannot find name '{0}'. Did you mean ______
Duplicate declaration '{0}'.
_____ has or is using private name '{1}'
Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'.
'{0}' are specified twice. The attribute named '{0}' will be overwritten.
'get' and 'set' accessor must have the same type.
Accessors must both be abstract or non-abstract.
Overload signatures must all be ______
Overload signature is not compatible with function implementation.
Individual declarations in merged declaration '{0}' must be all exported or all local.
Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'.
Subtyping
Class '{0}' incorrectly extends base class '{1}'.
Class static side '{0}' incorrectly extends base class static side '{1}'.
Class '{0}' incorrectly implements interface '{1}'.
Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor.
Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property.
Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function.
Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function.
Interface '{0}' incorrectly extends interface '{1}'.
Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'.
Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'.
All declarations of '{0}' must have identical type parameters.
In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element.
Namespace merging
A namespace declaration cannot be in a different file from a class or function with which it is merged.
A namespace declaration cannot be located prior to a class or function with which it is merged.
Module '{0}' is hidden by a local declaration with the same name.
Types have separate declarations of a private property '{0}'.
Property '{0}' is protected but type '{1}' is not a class derived from '{2}'.
Property '{0}' is protected in type '{1}' but public in type '{2}'.
An AMD module cannot have multiple name assignments.
Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'
Export declaration conflicts with exported declaration of '{0}'.
Cannot redeclare identifier '{0}' in catch clause.
Module '{0}' uses 'export =' and cannot be used with 'export *'.
Base constructors must all have the same return type.
Overload signatures must all be abstract or non-abstract.
A module cannot have multiple default exports.
Type '{0}' has no properties in common with type '{1}'.
Base class expressions cannot reference class type parameters.
A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.
'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead.
All declarations of '{0}' must have identical modifiers.
Bonus?
A computed property name cannot reference a type parameter from its containing type.
Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'.
Original Post:
x
not assignable to typey
, a reference to where the target symbol's type is definedThe text was updated successfully, but these errors were encountered: