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

View File

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