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
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;
|
|
};
|
|
};
|