Skip to content

Strange warning with 'instanceof' #18276

Closed
@aeschli

Description

TypeScipt 2.5.2

Sorry, I wasn't able to extract a simplified example:

  • git clone https://github.com/Microsoft/vscode-css-languageservice.git
  • cd vscode-css-languageservice
  • git checkout 73f8707
  • npm install
  • npm run compile

src/services/cssCompletion.ts(804,47) error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.
link to cssCompletion.ts: 804

image

It's a new error, not reported by a previous version of typescript.
Both nodes.HexColorValue(link) and nodes.Function(link) are classes that extend base class nodes.Node(link). The way I see it, the instanceof test is valid code to test the runtime types of the object.

Adding a brand field _hexColorValue : void; to nodes.HexColorValue fixes the issue, so maybe this is related to #12083.
At the very least the message should be improved, but IMO the error is invalid.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

FixedA PR has been merged for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions