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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions