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