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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 92723 - (show annotations)
Fri Jun 21 07:47:04 2013 UTC (6 years, 5 months ago) by jasonw
File size: 2941 byte(s)
<<Merged from trunk#92722.>>
1 note
2 description: "VOID actual type."
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 VOID_A
9
10 inherit
11 TYPE_A
12 redefine
13 is_reference, is_void, same_as, c_type
14 end
15
16 feature -- Visitor
17
18 process (v: TYPE_A_VISITOR)
19 -- Process current element.
20 do
21 v.process_void_a (Current)
22 end
23
24 feature -- Property
25
26 is_void: BOOLEAN = True
27 -- Is the current actual type a void type ?
28
29 is_reference: BOOLEAN = False
30 -- Current type is certainly not a reference since it is nothing.
31
32 feature -- Comparison
33
34 is_equivalent (other: like Current): BOOLEAN
35 -- Is `other' equivalent to the current object ?
36 do
37 Result := True
38 end
39
40 feature -- Access
41
42 hash_code: INTEGER
43 do
44 Result := {SHARED_HASH_CODE}.void_code
45 end
46
47 same_as (other: TYPE_A): BOOLEAN
48 -- Is `other' the same as Current ?
49 do
50 Result := other.is_void
51 end
52
53 base_class: CLASS_C
54 do
55 -- No associated calss
56 end
57
58 feature -- Output
59
60 dump: STRING = "Void"
61 -- Dumped trace
62
63 ext_append_to (a_text_formatter: TEXT_FORMATTER; a_context_class: CLASS_C)
64 -- <Precursor>
65 do
66 a_text_formatter.process_keyword_text ({SHARED_TEXT_ITEMS}.ti_void, Void)
67 end
68
69 feature {COMPILER_EXPORTER}
70
71 c_type: VOID_I
72 -- Void type
73 do
74 Result := void_c_type
75 end
76
77 create_info: CREATE_INFO
78 do
79 -- Do nothing
80 ensure then
81 False
82 end
83
84 feature {TYPE_A} -- Helpers
85
86 internal_conform_to (a_context_class: CLASS_C; other: TYPE_A; a_in_generic: BOOLEAN): BOOLEAN
87 -- <Precursor>
88 do
89 Result := other.conformance_type.is_void
90 end
91
92 note
93 copyright: "Copyright (c) 1984-2013, Eiffel Software"
94 license: "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"
95 licensing_options: "http://www.eiffel.com/licensing"
96 copying: "[
97 This file is part of Eiffel Software's Eiffel Development Environment.
98
99 Eiffel Software's Eiffel Development Environment is free
100 software; you can redistribute it and/or modify it under
101 the terms of the GNU General Public License as published
102 by the Free Software Foundation, version 2 of the License
103 (available at the URL listed under "license" above).
104
105 Eiffel Software's Eiffel Development Environment is
106 distributed in the hope that it will be useful, but
107 WITHOUT ANY WARRANTY; without even the implied warranty
108 of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
109 See the GNU General Public License for more details.
110
111 You should have received a copy of the GNU General Public
112 License along with Eiffel Software's Eiffel Development
113 Environment; if not, write to the Free Software Foundation,
114 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
115 ]"
116 source: "[
117 Eiffel Software
118 5949 Hollister Ave., Goleta, CA 93117 USA
119 Telephone 805-685-1006, Fax 805-685-6869
120 Website http://www.eiffel.com
121 Customer support http://support.eiffel.com
122 ]"
123
124 end -- class VOID_A

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.23