getValue method
Implementation
@override
bool getValue(DartBlockArbiter arbiter) {
if (operator != null) {
switch (operator!) {
case DartBlockEqualityOperator.equal:
if (leftChild == null && rightChild == null) {
return true;
} else if (leftChild == null && rightChild != null) {
return false;
} else if (leftChild != null && rightChild == null) {
return false;
} else {
DartBlockValueTreeBooleanGenericNode? leftGeneric;
DartBlockValueTreeBooleanGenericNode? rightGeneric;
if (leftChild! is DartBlockValueTreeBooleanGenericNode) {
leftGeneric = leftChild as DartBlockValueTreeBooleanGenericNode;
}
if (rightChild! is DartBlockValueTreeBooleanGenericNode) {
rightGeneric = rightChild as DartBlockValueTreeBooleanGenericNode;
}
return (leftGeneric?.value.getValue(arbiter) ??
leftChild?.getValue(arbiter)) ==
(rightGeneric?.value.getValue(arbiter) ??
rightChild?.getValue(arbiter));
}
case DartBlockEqualityOperator.notEqual:
if (leftChild == null && rightChild == null) {
return false;
} else if (leftChild == null && rightChild != null) {
return true;
} else if (leftChild != null && rightChild == null) {
return true;
} else {
DartBlockValueTreeBooleanGenericNode? leftGeneric;
DartBlockValueTreeBooleanGenericNode? rightGeneric;
if (leftChild! is DartBlockValueTreeBooleanGenericNode) {
leftGeneric = leftChild as DartBlockValueTreeBooleanGenericNode;
}
if (rightChild! is DartBlockValueTreeBooleanGenericNode) {
rightGeneric = rightChild as DartBlockValueTreeBooleanGenericNode;
}
return (leftGeneric?.value.getValue(arbiter) ??
leftChild?.getValue(arbiter)) !=
(rightGeneric?.value.getValue(arbiter) ??
rightChild?.getValue(arbiter));
}
// return leftChild?.getValue(arbiter) != rightChild?.getValue(arbiter);
}
} else {
throw MalformedBooleanEqualityExpressionException(
null,
null,
null,
"Missing operator (==, !=). ('${toString()}')",
);
}
}