breaking syntax change: orelse keyword instead of ?? (#1096)
use the `zig-fmt-optional-default` branch to have zig fmt automatically do the changes. closes #1023
This commit is contained in:
@@ -50,7 +50,7 @@ static const char *bin_op_str(BinOpType bin_op) {
|
||||
case BinOpTypeAssignBitXor: return "^=";
|
||||
case BinOpTypeAssignBitOr: return "|=";
|
||||
case BinOpTypeAssignMergeErrorSets: return "||=";
|
||||
case BinOpTypeUnwrapOptional: return "??";
|
||||
case BinOpTypeUnwrapOptional: return "orelse";
|
||||
case BinOpTypeArrayCat: return "++";
|
||||
case BinOpTypeArrayMult: return "**";
|
||||
case BinOpTypeErrorUnion: return "!";
|
||||
@@ -67,7 +67,6 @@ static const char *prefix_op_str(PrefixOp prefix_op) {
|
||||
case PrefixOpBoolNot: return "!";
|
||||
case PrefixOpBinNot: return "~";
|
||||
case PrefixOpOptional: return "?";
|
||||
case PrefixOpUnwrapOptional: return "??";
|
||||
case PrefixOpAddrOf: return "&";
|
||||
}
|
||||
zig_unreachable();
|
||||
@@ -222,6 +221,8 @@ static const char *node_type_str(NodeType node_type) {
|
||||
return "FieldAccessExpr";
|
||||
case NodeTypePtrDeref:
|
||||
return "PtrDerefExpr";
|
||||
case NodeTypeUnwrapOptional:
|
||||
return "UnwrapOptional";
|
||||
case NodeTypeContainerDecl:
|
||||
return "ContainerDecl";
|
||||
case NodeTypeStructField:
|
||||
@@ -711,6 +712,13 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
|
||||
fprintf(ar->f, ".*");
|
||||
break;
|
||||
}
|
||||
case NodeTypeUnwrapOptional:
|
||||
{
|
||||
AstNode *lhs = node->data.unwrap_optional.expr;
|
||||
render_node_ungrouped(ar, lhs);
|
||||
fprintf(ar->f, ".?");
|
||||
break;
|
||||
}
|
||||
case NodeTypeUndefinedLiteral:
|
||||
fprintf(ar->f, "undefined");
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user