waneck / testrepo

0 stars 0 forks source link

Issue 1820 - Add Codegen.Abstract.get_underlying_type to macro Context - haxe #1820

Closed waneck closed 11 years ago

waneck commented 11 years ago

[Google Issue #1820 : http://code.google.com/haxe/issues/detail?id=1820] by waneck, at 2013-05-15T23:31:04.000Z As of now, there's no way to get an Abstract's underlying type, which can be quite handy to expose on the macro Context

waneck commented 11 years ago

[comment from si...@haxe.org, published at 2013-05-16T05:50:39.000Z] typedef AbstractType = BaseType;

Uhm, I'm pretty sure that should have been a TODO to begin with. I might add that for haxe 3. Instead of get_underlying_type we may want to expose apply_type_parameters, which is useful in other cases and is all you need to get the underlying type for non-@:multiType abstracts:

apply_params a.a_types pl a.a_this

waneck commented 11 years ago

[comment from si...@haxe.org, published at 2013-05-16T07:40:34.000Z] The abstract structure is now available in r6645. I also gave exposing apply_params a try, but quickly realized that we run into physical equality issues. This is something we should check for 3.2 independently.

Regarding get_underlying_type, I suppose we can drop a AbstractTypeTools class into TypeTools.hx and expose it there.

waneck commented 11 years ago

[comment from si...@haxe.org, published at 2013-05-16T11:31:19.000Z] Actually I will not make an ad hoc API addition like that so shortly before release. The underlying type can now be accessed directly, and as I said we can look into potential type parameter application issues later.