summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Fusik <fox@scene.pl>2022-01-22 08:57:54 +0100
committerPiotr Fusik <fox@scene.pl>2022-01-22 08:57:54 +0100
commit66d1fa77bf89b0fcab7c46a28e139cc38d2c3e6b (patch)
treee44511ccc66bdce27034f8d8fd52f96c1eb7701e
parent90899ed89ad2154722ac824534d1fbb27dc7e9a8 (diff)
[cleanup] Clarify CiEnumFlags usage.
-rw-r--r--CiTree.cs4
-rw-r--r--GenSwift.cs4
2 files changed, 4 insertions, 4 deletions
diff --git a/CiTree.cs b/CiTree.cs
index 711ed95..6204bba 100644
--- a/CiTree.cs
+++ b/CiTree.cs
@@ -473,7 +473,7 @@ public class CiBinaryExpr : CiExpr
case CiToken.And:
case CiToken.Or:
case CiToken.Xor:
- return this.Type is CiEnum && this.Left.IsConstEnum && this.Right.IsConstEnum;
+ return this.Type is CiEnumFlags && this.Left.IsConstEnum && this.Right.IsConstEnum;
default:
return false;
}
@@ -487,7 +487,7 @@ public class CiBinaryExpr : CiExpr
CiToken.And => this.Left.IntValue & this.Right.IntValue,
CiToken.Or => this.Left.IntValue | this.Right.IntValue,
CiToken.Xor => this.Left.IntValue ^ this.Right.IntValue,
- _ => base.IntValue
+ _ => base.IntValue // throw
};
}
}
diff --git a/GenSwift.cs b/GenSwift.cs
index de9d85f..02b9d52 100644
--- a/GenSwift.cs
+++ b/GenSwift.cs
@@ -758,7 +758,7 @@ public class GenSwift : GenPySwift
public override CiExpr Visit(CiPrefixExpr expr, CiPriority parent)
{
- if (expr.Op == CiToken.Tilde && expr.Type is CiEnum) {
+ if (expr.Op == CiToken.Tilde && expr.Type is CiEnumFlags) {
Write(expr.Type.Name);
Write("(rawValue: ~");
expr.Inner.Accept(this, CiPriority.Primary);
@@ -839,7 +839,7 @@ public class GenSwift : GenPySwift
public override CiExpr Visit(CiBinaryExpr expr, CiPriority parent)
{
- if (expr.Type is CiEnum && expr.Type != CiSystem.BoolType) {
+ if (expr.Type is CiEnumFlags) {
switch (expr.Op) {
case CiToken.And:
WriteEnumFlagsAnd(expr, "intersection", "subtracting");