summaryrefslogtreecommitdiff
path: root/doc/manual/methods.xml
blob: b7ac154e5da0531d16bfc49da0394e3fda38c2d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?xml version="1.0"?>
<section id="methods">
	<h>Methods</h>
	<section id="declaration">
		<h>Method declarations</h>
		<p>Methods may be declared in namespaces, classes, interfaces, structs, enums, and error domains</p>
		<blockquote>
method-declaration:
	[ access-modifier ] [ member-modifers ] return-type qualified-identifier ( [ parameter-list ] ) method-contract [ <l>throws</l> error-list ] <l>{</l> statement-list <l>}</l>

member-modifiers:
	member-modifier [ member-modifiers ]

member-modifier:
	<l>abstract</l>
	<l>class</l>
	<l>extern</l>
	<l>inline</l>
	<l>override</l>
	<l>static</l>
	<l>virtual</l>

return-type:
	type
	<l>void</l>

parameter-list:
	[ parameter-direction ] type identifier [ <l>,</l> parameter-list ]

parameter-direction:
	<l>ref</l>
	<l>out</l>

method-contract:
	[ <l>requires</l> <l>(</l> expression <l>)</l> ] [ <l>ensures</l> <l>(</l> expression <l>)</l> ]

error-list:
	error-type [ <l>,</l> error-list ]

</blockquote>
	</section>
</section>