@@ -752,6 +752,12 @@ static const char TLAPLUS_BOUNDED_QUANTIFICATION[] =
752752 "Guard(values) == \\A item \\in values : item = item\n"
753753 "====\n" ;
754754
755+ /* Pkl access expressions double as plain property reads, so the bare fixture
756+ * also proves the un-applied reference is not promoted to a call. */
757+ static const char PKL_INSIDE [] = "function accept(value: Int): Int = value\n"
758+ "function run(watched: Int): Int = accept(watched)\n" ;
759+ static const char PKL_BARE [] = "function run(watched: Int): Int = watched\n" ;
760+
755761static const char APEX_INSIDE [] = "public class Sample {\n"
756762 " private static Integer accept(Integer value) {\n"
757763 " return value;\n"
@@ -988,6 +994,9 @@ static const RoutineArgumentCase LLVM_IR_CASE = ROUTINE_ARGUMENT_CASE(
988994static const RoutineArgumentCase TLAPLUS_CASE = ROUTINE_ARGUMENT_CASE (
989995 "TLAPLUS" , CBM_LANG_TLAPLUS , "Sample.tla" , TLAPLUS_INSIDE , TLAPLUS_BARE , "bound_op" , "Guard" ,
990996 "Accept" , "values" , 1 , 1 , 0 , "TLA+ operator application with a value argument" );
997+ static const RoutineArgumentCase PKL_CASE = ROUTINE_ARGUMENT_CASE (
998+ "PKL" , CBM_LANG_PKL , "sample.pkl" , PKL_INSIDE , PKL_BARE , "unqualifiedAccessExpr" , "run" ,
999+ "accept" , "watched" , 1 , 1 , 0 , "native Pkl method application and property-read vocabulary" );
9911000static const RoutineArgumentCase APEX_CASE = ROUTINE_ARGUMENT_CASE (
9921001 "APEX" , CBM_LANG_APEX , "Sample.cls" , APEX_INSIDE , APEX_BARE , "method_invocation" , "run" ,
9931002 "accept" , "watched" , 1 , 1 , 0 , "native method application" );
@@ -1203,6 +1212,7 @@ DEFINE_ROUTINE_ARGUMENT_TEST(func, FUNC_CASE)
12031212DEFINE_ROUTINE_ARGUMENT_TEST (puppet , PUPPET_CASE )
12041213DEFINE_ROUTINE_ARGUMENT_TEST (slang , SLANG_CASE )
12051214DEFINE_ROUTINE_ARGUMENT_TEST (llvm_ir , LLVM_IR_CASE )
1215+ DEFINE_ROUTINE_ARGUMENT_TEST (pkl , PKL_CASE )
12061216DEFINE_ROUTINE_ARGUMENT_TEST (apex , APEX_CASE )
12071217DEFINE_ROUTINE_ARGUMENT_TEST (pine , PINE_CASE )
12081218DEFINE_ROUTINE_ARGUMENT_TEST (qml , QML_CASE )
@@ -1282,15 +1292,15 @@ TEST(repro_call_argument_matrix_b_domain_bitbake) {
12821292}
12831293
12841294enum {
1285- ROUTINE_ARGUMENT_LANGUAGE_COUNT = 38 ,
1295+ ROUTINE_ARGUMENT_LANGUAGE_COUNT = 39 ,
12861296 MODULE_ARGUMENT_LANGUAGE_COUNT = 4 ,
12871297 DOMAIN_CONTROL_LANGUAGE_COUNT = 6 ,
12881298 MATRIX_LANGUAGE_COUNT = ROUTINE_ARGUMENT_LANGUAGE_COUNT + MODULE_ARGUMENT_LANGUAGE_COUNT +
12891299 DOMAIN_CONTROL_LANGUAGE_COUNT ,
12901300};
12911301
1292- _Static_assert (MATRIX_LANGUAGE_COUNT == 48 ,
1293- "RACKET..CHIALISP call-capable matrix must contain exactly 48 "
1302+ _Static_assert (MATRIX_LANGUAGE_COUNT == 49 ,
1303+ "RACKET..CHIALISP call-capable matrix must contain exactly 49 "
12941304 "language rows" );
12951305
12961306#define MATRIX_B_LANGUAGE_ROWS (X ) \
@@ -1322,6 +1332,7 @@ _Static_assert(MATRIX_LANGUAGE_COUNT == 48,
13221332 X(repro_call_argument_matrix_b_routine_slang, SLANG_CASE.identity.language) \
13231333 X(repro_call_argument_matrix_b_routine_llvm_ir, LLVM_IR_CASE.identity.language) \
13241334 X(repro_call_argument_matrix_b_routine_tlaplus, TLAPLUS_CASE.identity.language) \
1335+ X(repro_call_argument_matrix_b_routine_pkl, PKL_CASE.identity.language) \
13251336 X(repro_call_argument_matrix_b_routine_apex, APEX_CASE.identity.language) \
13261337 X(repro_call_argument_matrix_b_routine_pine, PINE_CASE.identity.language) \
13271338 X(repro_call_argument_matrix_b_routine_qml, QML_CASE.identity.language) \
0 commit comments