/[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 13081 - (hide annotations)
Sun Jan 31 03:57:34 1999 UTC (20 years, 11 months ago) by bouaziz
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/none_a.e
File size: 2022 byte(s)
bug fix in the reverse engineering

1 dinov 3375 indexing
2 manus 9656 description: "Actual type for integer type."
3     date: "$Date$"
4 dinov 3375 revision: "$Revision $"
5    
6 manus 9656 class
7     NONE_A
8 grator 18
9     inherit
10 manus 9656 TYPE_A
11 grator 18 redefine
12 manus 9656 is_none, dump, type_i, same_as,
13 dinov 3180 internal_conform_to, append_to,
14 manus 11302 storage_info, storage_info_with_name
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 dinov 3180 feature -- Access
31    
32     same_as (other: TYPE_A): BOOLEAN is
33     -- Is the current type the same as `other' ?
34     do
35 manus 9656 Result := other.is_none
36     end
37 dinov 3180
38 manus 11302 associated_class: CLASS_C is
39     do
40     -- No associated class
41     end
42    
43 dinov 3078 feature -- Output
44    
45 manus 9656 dump: STRING is "NONE"
46 grator 18 -- Dumped trace
47    
48 guusl 3632 append_to (st: STRUCTURED_TEXT) is
49 grator 296 do
50 manus 9656 st.add_string ("NONE")
51     end
52 grator 296
53 dinov 3180 feature {COMPILER_EXPORTER}
54 dinov 3078
55 manus 9656 create_info: CREATE_TYPE is
56     -- Byte code information for entity type creation
57     do
58 manus 10818 !! Result
59 manus 9656 Result.set_type (type_i)
60     end
61    
62 grator 18 type_i: NONE_I is
63     -- Void C type
64     once
65 manus 11722 Result := None_c_type
66 manus 9656 end
67 grator 18
68 manus 9656 internal_conform_to (other: TYPE_A in_generics: BOOLEAN): BOOLEAN is
69 grator 18 -- Does `other' conform to Current ?
70     do
71 manus 11263 -- If `other' is a basic, a BIT or an expanded type, it is not
72     -- conform to NONE.
73     --| When doing the check for `is_basic', we also check that `other'
74     --| can be a BIT type, so we do not need to add the check `other.is_bits'.
75 manus 11811 -- FIXME: This test needs to be done, but since it's causing to much trouble for now
76     -- we just desactivated it and we are back to the previous implementation
77     -- Result := not (other.is_basic or else other.is_expanded)
78     Result := True
79 manus 9656 end
80 grator 18
81 grator 1166 storage_info, storage_info_with_name (classc: CLASS_C): S_CLASS_TYPE_INFO is
82     -- Storage info for Current type in class `classc'
83     -- and store the name of the class for Current
84 bouaziz 13081 local
85     fake_id: CLASS_ID
86 grator 1166 do
87 bouaziz 13081 !! fake_id.make (0)
88     !! Result.make ("NONE", fake_id)
89 manus 9656 end
90 grator 1166
91 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