ところどころenumを使ったほうがよさそうな箇所がある
Closed this issue · 2 comments
akitsu-sanae commented
@:enum abstract
で纏めれそうだけどどうすればいいのか分からない箇所がいくつかあります.
JavaScript側で定義されている定数を
static var SomeConstVar(default, null): Int;
と宣言していて,これをenumのフィールドの値に使いたい場合はどうすればいいですか?
単に
@:enum abstract Foo(Int) from Int to Int {
var a = SomeConstVar;
}
などとすると SomeConstVar
はコンパイラから見ると定数ではないのでコンパイラに怒られてしまいます.
takashiski commented
このあたりのissueが関係していそうな気がしました。
HaxeFoundation/haxe#4862
そもそもenum abstractは定数しかうけれないようなのでクラスのメンバ呼ぶのは無理そう...?
akitsu-sanae commented
padding
という変数に渡せる値は crypto.Constants.*_PADDING
に制限されていて,さらに文脈によってもっと使えるものが狭くなります.
しかし,ここで enum を使ってその制限を表現するのは難しくて冗長になりそうなので止めておきます.