Skip to content

Issue with interface #15

@lerzeel

Description

@lerzeel

Is it possible to use @await and @async on interfaces? The documentation says interfaces are supported but when I try to compile the following interface I get an error message:

@await interface RandomItemInput2
{
    @async function readPart(): String;
}

The error message is:

D:\haxe\haxe-3.3.0-rc2\lib\tink_await/0,1,7/src/tink/await/AsyncField.hx:34: characters 16-24 : Invalid field access : pos
D:\haxe\haxe-3.3.0-rc2\lib\tink_await/0,1,7/src/tink/await/Await.hx:63: characters 18-35 : Called from
D:\haxe\haxe-3.3.0-rc2\lib\tink_await/0,1,7/src/tink/await/Await.hx:80: characters 35-82 : Called from
D:\haxe\haxe-3.3.0-rc2\lib\tink_await/0,1,7/src/tink/await/Await.hx:47: characters 3-24 : Called from
D:\haxe\haxe-3.3.0-rc2\lib\tink_await/0,1,7/src/tink/await/Await.hx:37: characters 5-15 : Called from
D:\haxe\haxe-3.3.0-rc2\lib\tink_syntaxhub/0,3,6/src/tink/SyntaxHub.hx:43: characters 22-37 : Called from
?:1: characters 2-7 : Called from
Aborted

A quick look at the source code reveals that the members of the interface are being processed. But when the "readPart" function is processed the func.expr value is null. This causes the "expr.pos.makeBlankType()" expression to fail.

Any idea what is causing this problem?

Metadata

Metadata

Assignees

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