/[eiffelstudio]/branches/eth/eve/Src/Eiffel/API/evaluated_type/none_a.e
ViewVC logotype

Annotation of /branches/eth/eve/Src/Eiffel/API/evaluated_type/none_a.e

Parent Directory Parent Directory | Revision Log Revision Log


Revision 56535 - (hide annotations)
Tue Jan 17 01:37:10 2006 UTC (14 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/none_a.e
File size: 2906 byte(s)
Added text of the GPL license to all classes of the compiler.

1 dinov 3375 indexing
2 manus 27398 description: "Actual type for NONE."
3 manus 56535 legal: "See notice at end of class."
4     status: "See notice at end of class."
5 manus 9656 date: "$Date$"
6 manus 27398 revision: "$Revision$"
7 dinov 3375
8 manus 9656 class
9     NONE_A
10 grator 18
11     inherit
12 manus 9656 TYPE_A
13 grator 18 redefine
14 manus 44539 is_none, dump, type_i, same_as, is_full_named_type
15 grator 18 end
16    
17 manus 9656 feature -- Comparison
18    
19     is_equivalent (other: like Current): BOOLEAN is
20     -- Is `other' equivalent to the current object ?
21     do
22     Result := True
23     end
24    
25 dinov 3078 feature -- Properties
26 grator 18
27 manus 9656 is_none: BOOLEAN is True
28 grator 18 -- Is the current type a none type ?
29    
30 manus 44539 is_full_named_type: BOOLEAN is True
31     -- Current is a full named type.
32    
33 dinov 3180 feature -- Access
34    
35     same_as (other: TYPE_A): BOOLEAN is
36     -- Is the current type the same as `other' ?
37     do
38 manus 9656 Result := other.is_none
39     end
40 dinov 3180
41 manus 11302 associated_class: CLASS_C is
42     do
43     -- No associated class
44     end
45    
46 dinov 3078 feature -- Output
47    
48 manus 9656 dump: STRING is "NONE"
49 grator 18 -- Dumped trace
50    
51 manus 26913 ext_append_to (st: STRUCTURED_TEXT; f: E_FEATURE) is
52 grator 296 do
53 manus 30166 st.add (ti_none_class)
54 manus 9656 end
55 grator 296
56 dinov 3180 feature {COMPILER_EXPORTER}
57 dinov 3078
58 manus 9656 create_info: CREATE_TYPE is
59     -- Byte code information for entity type creation
60     do
61 manus 30166 create Result.make (type_i)
62 manus 9656 end
63    
64 grator 18 type_i: NONE_I is
65     -- Void C type
66     once
67 manus 11722 Result := None_c_type
68 manus 9656 end
69 grator 18
70 manus 41740 conform_to (other: TYPE_A): BOOLEAN is
71     -- Does Current conform to `other'?
72 manus 48130 local
73     l_type: TYPE_A
74 grator 18 do
75 manus 48079 -- If `other' is expanded, then it does not conform to NONE.
76 manus 48130 -- But it should not be `VOID_A' since VOID_A is only used as
77     -- return type for procedure
78 alexk 55786 l_type := other.conformance_type
79 manus 48130 Result := not l_type.is_expanded and not l_type.is_void
80 manus 9656 end
81 grator 18
82 manus 56535 indexing
83     copyright: "Copyright (c) 1984-2006, Eiffel Software"
84     license: "GPL version 2 see http://www.eiffel.com/licensing/gpl.txt)"
85     licensing_options: "http://www.eiffel.com/licensing"
86     copying: "[
87     This file is part of Eiffel Software's Eiffel Development Environment.
88    
89     Eiffel Software's Eiffel Development Environment is free
90     software; you can redistribute it and/or modify it under
91     the terms of the GNU General Public License as published
92     by the Free Software Foundation, version 2 of the License
93     (available at the URL listed under "license" above).
94    
95     Eiffel Software's Eiffel Development Environment is
96     distributed in the hope that it will be useful, but
97     WITHOUT ANY WARRANTY; without even the implied warranty
98     of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
99     See the GNU General Public License for more details.
100    
101     You should have received a copy of the GNU General Public
102     License along with Eiffel Software's Eiffel Development
103     Environment; if not, write to the Free Software Foundation,
104     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
105     ]"
106     source: "[
107     Eiffel Software
108     356 Storke Road, Goleta, CA 93117 USA
109     Telephone 805-685-1006, Fax 805-685-6869
110     Website http://www.eiffel.com
111     Customer support http://support.eiffel.com
112     ]"
113    
114 dinov 3375 end -- class NONE_A

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.23