Skip to content

[feature/refactor] general bugs #165

@jaredlll08

Description

@jaredlll08

I'm going to use this issue to track all the bugs I find while working on the LSP

Error Reporting

  • missing call argument reported incorrectly
    This should be reported as too many call arguments or better 1 parameter expecetd but 2 were given
block.setFriction(1, "");

This happens here

  • call argument error position is incorrect
    The position should be reported in between the ()
    image
  • Unknown variable has a weird reporting message, this can probably be more vague, like cannot find X
  • (opinion) ambigious call is too verbose
var b = a.map<string>(x => "a" + x);

is reporting as

Ambiguous call; multiple headers match:
<U@Arrays.zs:50:12>(projection: function(value: string): string): string[]
<U@arrays_map_2.zc:7:12>(projection: function(value: string): string): string[]

Could be reported as:

Ambiguous call; multiple headers match:
<U@Arrays.zs:50:12>(function(string): string): string[]
<U@arrays_map_2.zc:7:12>(function(string): string): string[]

There could be more cleanup, but I think removing the parameter names are a good start
Java reports this error as:

Ambiguous method call: both 'CompilerErrors.doThing(Function<String, String>)' and 'CompilerErrors.doThing(int[])' match.
  • No operator in type position is incorrect when in call arguments
    The position should be reported on the operator, instead of on the function call
    image

  • Iterator errors are reported in the wrong place
    image

General

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions