/** * Logical operator expression emitter (&&, ||, ??) */ import { IrExpression, IrType } from "@tsonic/frontend"; import { EmitterContext } from "../../types.js"; import type { CSharpExpressionAst } from "../../core/format/backend-ast/types.js"; /** * Emit a logical operator expression as CSharpExpressionAst * * In TypeScript, || is used both for: * 1. Boolean OR (when operands are booleans) * 2. Nullish coalescing fallback (when left operand is nullable) * * In C#: * - || only works with booleans * - ?? is used for nullish coalescing * * We check if || is used with non-boolean operands and emit ?? instead. */ export declare const emitLogical: (expr: Extract, context: EmitterContext, expectedType?: IrType) => [CSharpExpressionAst, EmitterContext]; //# sourceMappingURL=logical-emitter.d.ts.map