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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 56535 - (show 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 indexing
2 description: "Actual type for NONE."
3 legal: "See notice at end of class."
4 status: "See notice at end of class."
5 date: "$Date$"
6 revision: "$Revision$"
7
8 class
9 NONE_A
10
11 inherit
12 TYPE_A
13 redefine
14 is_none, dump, type_i, same_as, is_full_named_type
15 end
16
17 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 feature -- Properties
26
27 is_none: BOOLEAN is True
28 -- Is the current type a none type ?
29
30 is_full_named_type: BOOLEAN is True
31 -- Current is a full named type.
32
33 feature -- Access
34
35 same_as (other: TYPE_A): BOOLEAN is
36 -- Is the current type the same as `other' ?
37 do
38 Result := other.is_none
39 end
40
41 associated_class: CLASS_C is
42 do
43 -- No associated class
44 end
45
46 feature -- Output
47
48 dump: STRING is "NONE"
49 -- Dumped trace
50
51 ext_append_to (st: STRUCTURED_TEXT; f: E_FEATURE) is
52 do
53 st.add (ti_none_class)
54 end
55
56 feature {COMPILER_EXPORTER}
57
58 create_info: CREATE_TYPE is
59 -- Byte code information for entity type creation
60 do
61 create Result.make (type_i)
62 end
63
64 type_i: NONE_I is
65 -- Void C type
66 once
67 Result := None_c_type
68 end
69
70 conform_to (other: TYPE_A): BOOLEAN is
71 -- Does Current conform to `other'?
72 local
73 l_type: TYPE_A
74 do
75 -- If `other' is expanded, then it does not conform to NONE.
76 -- But it should not be `VOID_A' since VOID_A is only used as
77 -- return type for procedure
78 l_type := other.conformance_type
79 Result := not l_type.is_expanded and not l_type.is_void
80 end
81
82 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 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