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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 70996 by alexk, Thu Nov 1 18:18:11 2007 UTC revision 72419 by manus, Sat Feb 23 00:45:27 2008 UTC
# Line 11  class Line 11  class
11  inherit  inherit
12          TYPE_A          TYPE_A
13                  redefine                  redefine
14                          is_none, dump, type_i, same_as, is_full_named_type                          is_none, dump, c_type, same_as, is_full_named_type, generated_id,
15                            generate_gen_type_il, make_gen_type_byte_code
16                  end                  end
17    
18  feature -- Visitor  feature -- Visitor
# Line 40  feature -- Properties Line 41  feature -- Properties
41    
42  feature -- Access  feature -- Access
43    
44            hash_code: INTEGER is
45                            -- Hash code for current type
46                    do
47                            Result := {SHARED_HASH_CODE}.none_code
48                    end
49    
50          same_as (other: TYPE_A): BOOLEAN is          same_as (other: TYPE_A): BOOLEAN is
51                          -- Is the current type the same as `other' ?                          -- Is the current type the same as `other' ?
52                  do                  do
# Line 58  feature -- Output Line 65  feature -- Output
65    
66          ext_append_to (st: TEXT_FORMATTER; c: CLASS_C) is          ext_append_to (st: TEXT_FORMATTER; c: CLASS_C) is
67                  do                  do
68                          st.add (ti_none_class)                          st.add ({SHARED_TEXT_ITEMS}.ti_none_class)
69                    end
70    
71    feature -- Generic conformance
72    
73            generated_id (final_mode: BOOLEAN; a_context_type: TYPE_A): NATURAL_16 is
74                            -- Id of a `like xxx'.
75                    do
76                            Result := {SHARED_GEN_CONF_LEVEL}.none_type
77                    end
78    
79            make_gen_type_byte_code (ba: BYTE_ARRAY; use_info : BOOLEAN; a_context_type: TYPE_A) is
80                            -- Put type id's in byte array.
81                            -- `use_info' is true iff we generate code for a
82                            -- creation instruction.
83                    do
84                            ba.append_natural_16 ({SHARED_GEN_CONF_LEVEL}.none_type)
85                    end
86    
87    feature -- IL code generation
88    
89            generate_gen_type_il (il_generator: IL_CODE_GENERATOR; use_info: BOOLEAN) is
90                            -- `use_info' is true iff we generate code for a
91                            -- creation instruction.
92                    do
93                            il_generator.generate_none_type_instance
94                  end                  end
95    
96  feature {COMPILER_EXPORTER}  feature {COMPILER_EXPORTER}
# Line 66  feature {COMPILER_EXPORTER} Line 98  feature {COMPILER_EXPORTER}
98          create_info: CREATE_TYPE is          create_info: CREATE_TYPE is
99                          -- Byte code information for entity type creation                          -- Byte code information for entity type creation
100                  do                  do
101                          create Result.make (type_i)                          create Result.make (Current)
102                  end                  end
103    
104          type_i: NONE_I is          c_type: REFERENCE_I is
105                          -- Void C type                          -- Void C type
106                  once                  do
107                          Result := None_c_type                          Result := reference_c_type
108                  end                  end
109    
110          conform_to (other: TYPE_A): BOOLEAN is          conform_to (other: TYPE_A): BOOLEAN is

Legend:
Removed from v.70996  
changed lines
  Added in v.72419

  ViewVC Help
Powered by ViewVC 1.1.23