mirror of
https://github.com/polserver/polserver
synced 2026-08-13 08:23:08 -04:00
* Format escript testsuite
* Manual formatting for escript testsuite
- Add format-off to places where formatter does what it should, but we don't like the results
- Manually change places where formatter outputs weird things _without_ format-off, so next format-all would show changes if not fixed
* Update .err files; add update_err.py helper script
Use the format `:line:col: message` for all .err file checks. This
allows us to change the file names without needing to edit the .err
contents.
Note that `in/inc0{1,2}.err` need have error messages between POSIX and
Windows, so their messages are a bit more "generic" than the other errs.
* Format pol testsuite
* Manual formatting for pol testsuite
* Format pol-core modules
* Manual formatting for pol-core modules
* Additional format pol-core modules
Use FormatterLineWidth=10000 since module functions must be on one line
because of the parse_modules target
* Address Discord comments
- Support multi-line module function declarations in parse_modules
* Format on df07831
44 lines
1.1 KiB
Text
44 lines
1.1 KiB
Text
// -----
|
|
// Tests via function expression call `(@(<args>){})(...)` with captures
|
|
// -----
|
|
|
|
if ( "1" ) // make local block
|
|
var cap0 := -1;
|
|
|
|
var sum_functor := @( args ... ) {
|
|
return $"sum of {cap0} + {args}";
|
|
};
|
|
|
|
var sumWithArg_functor := @( arg0, args ... ) {
|
|
var loc0 := 123;
|
|
// capture cap0, arg0, loc0; and args
|
|
return ( @() {
|
|
if ( loc0 != 123 )
|
|
return error{};
|
|
endif
|
|
return $"sum of {cap0} + {arg0} + {args}";
|
|
} )();
|
|
};
|
|
|
|
var sumWithArgs_functor := @( arg0, arg1, args ... ) {
|
|
return $"sum of {cap0} + {arg0} + {arg1} + {args}";
|
|
};
|
|
|
|
// Pass no arg
|
|
print( sum_functor.call() );
|
|
print( sumWithArg_functor.call( 0 ) );
|
|
print( sumWithArgs_functor.call( 0, 1 ) );
|
|
print( "-" );
|
|
|
|
// Pass one arg
|
|
print( sum_functor.call( 0 ) );
|
|
print( sumWithArg_functor.call( 0, 1 ) );
|
|
print( sumWithArgs_functor.call( 0, 1, 2 ) );
|
|
print( "-" );
|
|
|
|
// Pass multiple args
|
|
print( sum_functor.call( 0, 1, 2 ) );
|
|
print( sumWithArg_functor.call( 0, 1, 2, 3 ) );
|
|
print( sumWithArgs_functor.call( 0, 1, 2, 3, 4 ) );
|
|
|
|
endif
|