65b168b2d67a8b6b95260cb2c4af873a1c227de5
[deliverable/titan.core.git] / help / info / friend.html
1 <!--
2 Copyright (c) 2000-2016 Ericsson Telecom AB
3 All rights reserved. This program and the accompanying materials
4 are made available under the terms of the Eclipse Public License v1.0
5 which accompanies this distribution, and is available at
6 http://www.eclipse.org/legal/epl-v10.html
7
8 Contributors:
9 Baji, Laszlo
10 Balasko, Jeno
11 Szabados, Kristof
12 -->
13 <html>
14 <head>
15 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
16 <meta http-equiv="Content-Language" content="en-us">
17 <title>friend</title>
18 </head>
19 <body bgcolor="#DAD3C5" vlink="#0094D2" link="#003258">
20 <table align="left" border="0" cellspacing="0" cellpadding="0" valign=top>
21 <tr>
22 <td width=105 height=40><a href="https://projects.eclipse.org/projects/tools.titan"><img src="../images/titan_transparent.gif" border=0 width=105 height=40 align="left" alt="Titan"></a></td>
23 </tr>
24 </table>
25 <table border="0" align="right" cellpadding="0" cellspacing="0">
26 <tr>
27 <td><a href="../titan_main.html" alt="contents"><img border="0" src="../images/ao.jpg" width="53" height="40"></a></td>
28 <td><a href="../titan_index.html" alt="index"><img border="0" src="../images/up.jpg" width="53" height="40"></a></td>
29 <td><a href="for.html" alt="previous"><img border="0" src="../images/left.jpg" width="53" height="40"></a></td>
30 <td><a href="from.html" alt="next"><img border="0" src="../images/right.jpg" width="53" height="40"></a></td>
31 </tr>
32 </table>
33 <p><br clear="all">
34 </p>
35 <hr>
36 <h1>friend</h1>
37 <blockquote>
38 <p>1. <a href="#1."> Declaring a definition with friend visibility</a></p>
39 <p>2. <a href="#2."> Declaring a friend module</a></p>
40 </blockquote>
41 <hr align="left" width="75%">
42 <h4><a name="1.">1. Declaring a definition with friend visibility</a></h4>
43 <hr align="left" width="50%">
44 <p>Friend is a visibility modifier, that can be atteched to definitions on module level. Where it means that the definition is visible in every friend module where it is imported to.
45 <div align="center">
46 <center>
47 <table border="0" width="90%" bgcolor="#FFB599" cellpadding="4">
48 <tr>
49 <td width="100%">
50 <h3 align="center"><font face="Courier New" color="#003258" size="5"><b>friend definition;</b></font></h3>
51 </td>
52 </tr>
53 </table>
54 </center>
55 </div>
56 <p><a href="#Ex1">Example</a></p>
57 <hr align="left" width="75%">
58 <h4><a name="1.">2. Declaring a friend module</a></h4>
59 <hr align="left" width="50%">
60 <p>A module can declare his friend modules, for which its friend definition will be visible.
61 <div align="center">
62 <center>
63 <table border="0" width="90%" bgcolor="#FFB599" cellpadding="4">
64 <tr>
65 <td width="100%">
66 <h3 align="center"><font face="Courier New" color="#003258" size="5"><b>friend module identifier_list;</b></font></h3>
67 </td>
68 </tr>
69 </table>
70 </center>
71 </div>
72 <p><a href="#Ex1">Example</a></p>
73 <hr align="left" width="75%">
74 <p>Related keywords:</p>
75 <ul>
76 <li><a href="public.html"><b><font face="Courier New" color="#003258" size="4">public</font></b></a></li>
77 <li><a href="private.html"><b><font face="Courier New" color="#003258" size="4">private</font></b></a></li>
78 </ul>
79 <p><a name="Ex1">Example 1</a>:
80 <p><font face="Courier New">module module1 {<br>
81 import from module2 all;<br>
82 <br>
83 const module2Type c_example1 := 4; //by default public, visible<br>
84 const module2PublieType c_example2 := 4; //public, visible<br>
85 const module2FriendType c_example3 := 4; //this is a friend module, visible<br>
86 const module2PrivateType c_example4 := 4; //ERROR, not visible<br>
87 }</font>
88 <p><font face="Courier New">module module2 {<br>
89 friend module1;<br>
90 <br>
91 type integer module2Type;//by default public, visible in every module<br>
92 public type integer module2PublieType; //public, visible in every module<br>
93 friend type integer module2FriendType; //friend, visible only in friend modules<br>
94 private type module2PrivateType; //private, visible only in this module<br>
95 }</font>
96 <hr align="left" width="25%">
97 <hr align="left" width="25%">
98 </body>
99 </html>
This page took 0.044028 seconds and 5 git commands to generate.