瀏覽代碼

partial support for #10981

Nicolas Cannasse 2 年之前
父節點
當前提交
04db8f44da
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      std/haxe/EnumFlags.hx

+ 8 - 0
std/haxe/EnumFlags.hx

@@ -40,6 +40,14 @@ abstract EnumFlags<T:EnumValue>(Int) {
 		this = i;
 	}
 
+	@:from static function from<T:EnumValue>(e:T) : EnumFlags<T> {
+		return new EnumFlags(1 << e.getIndex());
+	}
+
+	@:op(a|b) function or(f:haxe.EnumFlags<T>) : haxe.EnumFlags<T>;
+	@:op(a&b) function and(f:haxe.EnumFlags<T>) : haxe.EnumFlags<T>;
+	@:op(a^b) function xor(f:haxe.EnumFlags<T>) : haxe.EnumFlags<T>;
+
 	/**
 		Checks if the index of enum instance `v` is set.