From 5a67f4e3833c2acca4a351f5dd613bc08f04bfc0 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sun, 18 Oct 2026 06:11:42 +0000 Subject: feat(operators): document overloads and cover remaining operator forms Add fixed cases for every supported operator, imported global and member operators, CASE comparisons, and declared result type errors. Document syntax, exact matching, access rules and temporary receiver lifetimes. Co-Authored-By: Claude Opus 5.5 --- tests/i/operator-kinds/program.cps | 70 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 tests/i/operator-kinds/program.cps (limited to 'tests/i/operator-kinds/program.cps') diff --git a/tests/i/operator-kinds/program.cps b/tests/i/operator-kinds/program.cps new file mode 100644 index 0000000..b66fa0e --- /dev/null +++ b/tests/i/operator-kinds/program.cps @@ -0,0 +1,70 @@ +TYPE Choice = (First, Second) +OVERLOAD FUNCTION OPERATOR +(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 101 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR -(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 102 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR *(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 103 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR /(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 104 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR DIV(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 105 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR MOD(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 106 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR &(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 107 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR =(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 108 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR <>(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 109 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR <(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 110 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR <=(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 111 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR >(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 112 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR >=(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 113 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR AND(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 114 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR OR(lhs : Choice, rhs : Choice) RETURNS INTEGER +RETURN 115 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR-(value : Choice) RETURNS INTEGER +RETURN 116 +ENDFUNCTION +OVERLOAD FUNCTION OPERATOR NOT(value : Choice) RETURNS INTEGER +RETURN 117 +ENDFUNCTION +OUTPUT First + Second +OUTPUT First - Second +OUTPUT First * Second +OUTPUT First / Second +OUTPUT First DIV Second +OUTPUT First MOD Second +OUTPUT First & Second +OUTPUT First = Second +OUTPUT First <> Second +OUTPUT First < Second +OUTPUT First <= Second +OUTPUT First > Second +OUTPUT First >= Second +OUTPUT First AND Second +OUTPUT First OR Second +OUTPUT -First +OUTPUT NOT Second +OUTPUT OPERATOR AND(First, Second) -- cgit v1.3.1-4-g156e