| 1483 | } |
| 1484 | const name = labelSymbolName(expr); |
| 1485 | return name !== null && /^[A-Z]/.test(name); |
| 1486 | } |
| 1487 | |
| 1488 | /** Validate `args` against `signature`, but keep label operands (see |
| 1489 | * `isLabelOperand`) as-is where validation flagged them. */ |
| 1490 | function validateSetArguments( |
| 1491 | ce: ComputeEngine, |
| 1492 | args: ReadonlyArray<Expression>, |
| 1493 | signature: string |
| 1494 | ): ReadonlyArray<Expression> { |
| 1495 | const validated = validateArguments(ce, args, parseType(signature)); |
| 1496 | if (!validated) return args; |
| 1497 | return validated.map((v, i) => |
| 1498 | !v.isValid && isLabelOperand(args[i]) ? args[i] : v |