From 46d84083d05833b65d36f7acb08e3e8443f016c0 Mon Sep 17 00:00:00 2001 From: heck Date: Tue, 20 Jun 2023 18:07:38 +0200 Subject: [PATCH] ig-c99: test - add function param modes test extracted from example1 --- examples/example1/example1.yml2 | 81 +++---------------- lm-c99/tests/test_ig_c99/test_ig_c99.yml2 | 96 +++++++++++++++++++++++ 2 files changed, 108 insertions(+), 69 deletions(-) diff --git a/examples/example1/example1.yml2 b/examples/example1/example1.yml2 index 55f9097..296f6e9 100644 --- a/examples/example1/example1.yml2 +++ b/examples/example1/example1.yml2 @@ -45,78 +45,21 @@ pEpACIDLang { // * claim // * provide - // TEST - // ---- - // Test comma after param + method method1 { + param borrow struct1 param1; + } - method test_one_param { - param borrow size p - doc=""" - Multiline - Doc - """; - }; + method method2 { + param mborrow struct1 param1; + } - method test_two_param { - param borrow size p1 - doc=""" - Multiline - Doc - """; - param borrow size p2 - doc=""" - Multiline - Doc - """; - }; - - - // TEST - // ---- - - method method_test_all { - // primitive basetype - param borrow size borrow_primitive_basetype; - param mborrow size mborrow_primitive_basetype; - //param claim size claim_primitive_basetype; ERROR CASE - //param provide size provide_primitive_basetype; ERROR CASE - - // object basetype - param borrow string borrow_obj_basetype; - param mborrow string mborrow_obj_basetype; - param claim string claim_obj_basetype; - param provide string provide_obj_basetype; + method method3 { + param claim struct1 param1; + } - // enum - param borrow enum1 borrow_enum; - param mborrow enum1 mborrow_enum; - //param claim enum1 claim_enum; ERROR CASE - //param provide enum1 provide_enum; ERROR CASE - - // struct - param borrow struct1 borrow_struct; - param mborrow struct1 mborrow_struct; - param claim struct1 claim_struct; - param provide struct1 provide_struct; - - // deftype of primitive basetype - param borrow deftype1 borrow_spec_primitive_basetype; - param mborrow deftype1 mborrow_spec_primitive_basetype; - //param claim deftype1 claim_spec_primitive_basetype; ERROR CASE - //param provide deftype1 provide_spec_primitive_basetype; ERROR CASE - - // deftype of object basetype object - param borrow deftype2 borrow_spec_obj_basetype; - param mborrow deftype2 mborrow_spec_obj_basetype; - param claim deftype2 claim_spec_obj_basetype; - param provide deftype2 provide_spec_obj_basetype; - - // deftype of list - param borrow stringlist borrow_spec_primitive_basetype; - param mborrow stringlist mborrow_spec_primitive_basetype; - param claim stringlist claim_spec_primitive_basetype; - param provide stringlist provide_spec_primitive_basetype; - }; + method method4 { + param provide struct1 param1; + } }; diff --git a/lm-c99/tests/test_ig_c99/test_ig_c99.yml2 b/lm-c99/tests/test_ig_c99/test_ig_c99.yml2 index 0d0214c..4750341 100644 --- a/lm-c99/tests/test_ig_c99/test_ig_c99.yml2 +++ b/lm-c99/tests/test_ig_c99/test_ig_c99.yml2 @@ -79,6 +79,102 @@ pEpACIDLang { doc with bad formattting """; }; + // TEST + // ---- + // Test comma after param + + method test_one_param { + param borrow size p + doc=""" + Multiline + Doc + """; + }; + + method test_two_param { + param borrow size p1 + doc=""" + Multiline + Doc + """; + param borrow size p2 + doc=""" + Multiline + Doc + """; + }; + + struct struct1 { + field int int1; + field size size1; + field string string1; + }; + + + // TEST + // ---- + deftype deftype1 as int; + deftype deftype2 as string; + deftype stringlist as list; + + enum enum1 { + item item1; + item item2; + item item3; + }; + + struct struct1 { + field int int1; + field size size1; + field string string1; + }; + + + method method_test_all { + // primitive basetype + param borrow int borrow_primitive_basetype; + param mborrow int mborrow_primitive_basetype; + //param claim int claim_primitive_basetype; ERROR CASE + //param provide int provide_primitive_basetype; ERROR CASE + + // object basetype + param borrow string borrow_obj_basetype; + param mborrow string mborrow_obj_basetype; + param claim string claim_obj_basetype; + param provide string provide_obj_basetype; + + // enum + param borrow enum1 borrow_enum; + param mborrow enum1 mborrow_enum; + //param claim enum1 claim_enum; ERROR CASE + //param provide enum1 provide_enum; ERROR CASE + + // struct + param borrow struct1 borrow_struct; + param mborrow struct1 mborrow_struct; + param claim struct1 claim_struct; + param provide struct1 provide_struct; + + // deftype of primitive basetype + param borrow deftype1 borrow_deftype_primitive_basetype; + param mborrow deftype1 mborrow_deftype_primitive_basetype; + //param claim deftype1 claim_deftype_primitive_basetype; ERROR CASE + //param provide deftype1 provide_deftype_primitive_basetype; ERROR CASE + + // deftype of object basetype object + param borrow deftype2 borrow_deftype_obj_basetype; + param mborrow deftype2 mborrow_deftype_obj_basetype; + param claim deftype2 claim_deftype_obj_basetype; + param provide deftype2 provide_deftype_obj_basetype; + + // deftype of generic + param borrow stringlist borrow_deftype_generic; + param mborrow stringlist mborrow_deftype_generic; + param claim stringlist claim_deftype_generic; + param provide stringlist provide_deftype_generic; + }; + + }; }; };