I have the following code :
class Test {
static function main() {
trace("Haxe is great!");
var api:Api = new Api();
api.doAdd(1,1);
}
}
class Api {
public function new(){}
public function doAdd( x : Int, y : Int ) {
trace( x + y );
}
public function doAdd( x : Int, y : Int , z : Int) {
trace( x + y + z);
}
}
Here is a link to a try Haxe code
If I try to compile this code, I get an error : ```Duplicate class field declaration : doAdd````
My question is, is there anyway to have two methods with differents signatures in haxe ?
On the Java and C# targets, the following works:
@:overload
public function doAdd(x:Int, y:Int) {
trace(x + y);
}
@:overload
public function doAdd(x:Int, y:Int, z:Int) {
trace(x + y + z);
}
On other targets, the syntax for @:overload
is a bit different and only works for externs as far as I understand it. There's an example in this thread.