1
0

Fix Value.boolValue

This commit is contained in:
otya128
2016-12-31 10:22:24 +09:00
parent fe9d3ed065
commit b2f5242731
2 changed files with 5 additions and 25 deletions

View File

@@ -825,12 +825,6 @@ class Operate : Code
case TokenType.Or:
vm.push(Value(li | ri));
return;
case TokenType.LogicalAnd:
vm.push(Value(li && ri));
return;
case TokenType.LogicalOr:
vm.push(Value(li || ri));
return;
case TokenType.Xor:
vm.push(Value(li ^ ri));
return;
@@ -902,12 +896,6 @@ class Operate : Code
case TokenType.Or:
vm.push(Value(li | ri));
return;
case TokenType.LogicalAnd:
vm.push(Value(li && ri));
return;
case TokenType.LogicalOr:
vm.push(Value(li || ri));
return;
case TokenType.Xor:
vm.push(Value(li ^ ri));
return;
@@ -2619,15 +2607,7 @@ class ConvertBool : Code
throw new StackUnderFlow();
}
auto top = &vm.stack[vm.stacki - 1];
if (top.type == ValueType.String)
{
top.type = ValueType.Integer;
top.integerValue = 3;
}
else if (top.isNumber)
{
top.type = ValueType.Integer;
top.integerValue = top.boolValue;
}
top.integerValue = top.boolValue;
top.type = ValueType.Integer;
}
}

View File

@@ -147,7 +147,7 @@ struct Value
break;
}
}
bool boolValue()
int boolValue()
{
switch(type)
{
@@ -156,10 +156,10 @@ struct Value
case ValueType.Integer:
return this.integerValue != 0;
case ValueType.String:
return true;//3.1現在では文字列はtrue(ただし!"A"などは動かない)
return 3;//3.1現在では文字列はtrue(ただし!"A"などは動かない)
default:
//配列はtype mismatch
return false;
throw new TypeMismatch();
}
}
bool isArray()