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

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

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

revision 3075 by dewij, Wed Jul 5 16:25:31 1995 UTC revision 3076 by dinov, Mon Oct 30 11:20:12 1995 UTC
# Line 8  inherit Line 8  inherit
8                  redefine                  redefine
9                          actual_type, solved_type, has_like, instantiation_in, is_like,                          actual_type, solved_type, has_like, instantiation_in, is_like,
10                          is_basic, instantiated_in, same_as, is_like_current,                          is_basic, instantiated_in, same_as, is_like_current,
11                          meta_type, is_deep_equal                          meta_type, is_deep_equal, valid_base_type
12                  end                  end
13    
14  feature -- Attributes  feature -- Property
15    
16          actual_type: TYPE_A;          is_like_current: BOOLEAN is
17                          -- Actual type of the type `like Current' in a given class                          -- Is the current type an anchored type on Current ?
   
 feature -- Primitives  
   
         set_actual_type (a: TYPE_A) is  
                         -- Assign `a' to `actual_type'.  
18                  do                  do
19                          actual_type := a;                          Result := True;
20                  end;                  end;
21    
22          is_like: BOOLEAN is          is_like: BOOLEAN is
# Line 30  feature -- Primitives Line 25  feature -- Primitives
25                          Result := True;                          Result := True;
26                  end;                  end;
27    
28          is_like_current: BOOLEAN is  feature -- Access
29                          -- Is the current type an anchored type on Current ?  
30            is_basic: BOOLEAN is
31                            -- Is the current actual type a basic one ?
32                  do                  do
33                          Result := True;                          Result := actual_type.is_basic;
34                    end;
35    
36        valid_base_type: BOOLEAN is
37                -- Is the base type valid
38            do
39                Result := evaluated_type /= Void
40            end;
41    
42            associated_eclass: E_CLASS is
43                            -- Associated class
44                    do
45                            Result := actual_type.associated_eclass;
46                    end;
47    
48    feature -- Output
49    
50            dump: STRING is
51                            -- Dumped trace
52                    local
53                            actual_dump: STRING;
54                    do
55                            actual_dump := actual_type.dump;
56                            !!Result.make (15 + actual_dump.count);
57                            Result.append ("(like Current)");
58                            Result.append (actual_dump);
59                    end;
60    
61            append_clickable_signature (a_clickable: CLICK_WINDOW) is
62                    do
63                            a_clickable.put_string ("(like Current)");
64                            actual_type.append_clickable_signature (a_clickable);
65                    end;
66    
67    feature -- Primitives
68    
69            actual_type: TYPE_A;
70                            -- Actual type of the type `like Current' in a given class
71    
72            set_actual_type (a: TYPE_A) is
73                            -- Assign `a' to `actual_type'.
74                    do
75                            actual_type := a;
76                  end;                  end;
77    
78          solved_type (feat_table: FEATURE_TABLE; f: FEATURE_I): LIKE_CURRENT is          solved_type (feat_table: FEATURE_TABLE; f: FEATURE_I): LIKE_CURRENT is
# Line 75  feature -- Primitives Line 114  feature -- Primitives
114                          Result := actual_type.associated_class;                          Result := actual_type.associated_class;
115                  end;                  end;
116    
         dump: STRING is  
                         -- Dumped trace  
                 local  
                         actual_dump: STRING;  
                 do  
                         actual_dump := actual_type.dump;  
                         !!Result.make (15 + actual_dump.count);  
                         Result.append ("(like Current)");  
                         Result.append (actual_dump);  
                 end;  
   
         append_clickable_signature (a_clickable: CLICK_WINDOW) is  
                 do  
                         a_clickable.put_string ("(like Current)");  
                         actual_type.append_clickable_signature (a_clickable);  
                 end;  
   
117          has_like: BOOLEAN is          has_like: BOOLEAN is
118                          -- Does the type have anchored types in its definition ?                          -- Does the type have anchored types in its definition ?
119                  do                  do
120                          Result := True;                          Result := True;
121                  end;                  end;
122    
123            same_as (other: TYPE_A): BOOLEAN is
124                            -- Is the current type the same as `other' ?
125                    do
126                            Result := other.is_like_current
127                    end;
128    
129          type_i: TYPE_I is          type_i: TYPE_I is
130                          -- Reduced type of `actual_type'                          -- Reduced type of `actual_type'
131                  do                  do
# Line 110  feature -- Primitives Line 138  feature -- Primitives
138                          Result := actual_type.meta_type                          Result := actual_type.meta_type
139                  end;                  end;
140    
         is_basic: BOOLEAN is  
                         -- Is the current actual type a basic one ?  
                 do  
                         Result := actual_type.is_basic;  
                 end;  
   
         same_as (other: TYPE_A): BOOLEAN is  
                         -- Is the current type the same as `other' ?  
                 do  
                         Result := other.is_like_current  
                 end;  
   
141          is_deep_equal (other: TYPE_B): BOOLEAN is          is_deep_equal (other: TYPE_B): BOOLEAN is
142                  local                  local
143                          like_c: LIKE_CURRENT                          like_c: LIKE_CURRENT

Legend:
Removed from v.3075  
changed lines
  Added in v.3076

  ViewVC Help
Powered by ViewVC 1.1.23