You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

127 lines
4.1 KiB

pEpACIDLang {
include pEpACIDLang.yml2
package example {
version 1.0;
license "License text";
copyleft "Copyleft text";
api api1 {
// deftype is used for two things:
// * create a type-alias for any type with optional
// properties to narrow the definition of the type.
// * instantiate a "generic type" into a (concrete) type
deftype deftype1 as size;
deftype deftype2 as string;
deftype stringlist as list<string>;
deftype stringlist2 as stringlist;
enum enum1 {
item item1 doc="item with automatic value";
item item2 23 doc="item with explicit decimal value";
item item3 "0xff"
doc=
"""
hex enum item
-------------
specify value in quotes
""";
};
struct struct1 {
field int int1;
field size size1 doc="short doc";
field string string1
doc="""
Multiline
Doc
""";
};
// Param Passing Modes
// * borrow
// * mborrow
// * claim
// * provide
// 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
""";
};
// 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;
// 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;
};
};
test_types;
};
};