/[eiffelstudio]/branches/CAT_mono/Src/Eiffel/eiffel/interface/class_c.e
ViewVC logotype

Log of /branches/CAT_mono/Src/Eiffel/eiffel/interface/class_c.e

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Revision:

Revision 69868 - (view) (annotate) - [select for diffs]
Modified Fri Aug 3 22:28:26 2007 UTC (12 years, 4 months ago) by martins
File length: 113246 byte(s)
Diff to previous 69685
enabled more types to store monomorph information

Revision 69685 - (view) (annotate) - [select for diffs]
Modified Wed Jul 25 18:14:30 2007 UTC (12 years, 4 months ago) by juliant
File length: 113192 byte(s)
Diff to previous 69657
added statistics from CAT_interval_types branch
added feature flags (covariant/formal) from CAT_interval_types branch
added catcall check from CAT_interval_types branch
set resolved type of like Current to be monomorphic


Revision 69657 - (view) (annotate) - [select for diffs]
Modified Tue Jul 24 19:16:42 2007 UTC (12 years, 4 months ago) by juliant
File length: 112709 byte(s)
Diff to previous 69650
changed type mark to bitwise operations

Revision 69650 - (view) (annotate) - [select for diffs]
Modified Tue Jul 24 17:18:14 2007 UTC (12 years, 4 months ago) by juliant
File length: 112706 byte(s)
Diff to previous 69629
Added monomorph mark for class types, either "frozen" or "invariant".
First (simple) conformance check for monomorphic types.

Revision 69629 - (view) (annotate) - [select for diffs]
Modified Mon Jul 23 21:36:18 2007 UTC (12 years, 4 months ago) by manus
File length: 112644 byte(s)
Diff to previous 68998
Creation of CAT_mono branch to implement variant/invariant proposal

Revision 68998 - (view) (annotate) - [select for diffs]
Modified Mon Jun 11 01:41:38 2007 UTC (12 years, 5 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 112644 byte(s)
Diff to previous 68945
vtgc2.e: Error printing improved.
ast_feature_checker_generator.e: Added a protection for NONE types and refactored code. Compare bug#13012 (test#fixed133).
class_c.e and formal_a.e: Bugfix related to bug in ast_feature_checker_generator.e
mc_feature_info.e: added constraint position to output (more information for the user)
renaming_a.e: implemented alias support for multi constraints. Various bugs fixed, see list below.
type_set_a.e: went from is_loose to has_formal as is_loose includes like which is ok.
ast_compiler_factory.e: Added comment about where similar code can be found code.
formal_constraint_as.e: Added code to print erros without using the compiled version of a renaming, as it cannot reproduce the complete information.
rename_clause_as.e: Added two features to support error output generation.

The following bugs are fixed because of better error printing and alias support for multi-constraint formals:
 * bug#12776 with test#multicon044
 * bug#12778 (now there is a proper error message)
 * bug#12877 with test#multicon045
 * bug#12785 with test#multicon047

Revision 68945 - (view) (annotate) - [select for diffs]
Modified Fri Jun 8 14:58:16 2007 UTC (12 years, 6 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 112624 byte(s)
Diff to previous 68861
Renamed `{SYSTEM_I}.set_freeze' and `{SYSTEM_I}.private_freeze' into
`request_freeze' and `is_freeze_requested' respectively to highlight the
fact that freezing happens because of compiler needs rather than due to
project settings or users' request.
Made `{SYSTEM_I}.is_freeze_requested' available for call to allow quick
test if the system is about to be frozen anyway to avoid more complex
checks.
Changed code generation for CECIL table in workbench mode to call wrappers
that convert CECIL types into EIF_UNION and back, so that CECIL interface
is preserved (this fixes code generation issues in test#ccomp063).
Ensured that if visible features are recompiled, the code is frozen so that
CECIL wrappers are generated.
Removed precondition "has_current_class" from `{TYPE_A}.create_info'
because it is not required for the implementation.
Removed byte code generation for CECIL table as it is not used in the
current implementation.


Revision 68861 - (view) (annotate) - [select for diffs]
Modified Mon Jun 4 22:19:57 2007 UTC (12 years, 6 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 112498 byte(s)
Diff to previous 68659
Small bug fix for bug#12984.

Revision 68659 - (view) (annotate) - [select for diffs]
Modified Fri May 25 03:29:17 2007 UTC (12 years, 6 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 112300 byte(s)
Diff to previous 68654
Previous fix for bug#12822 was not entirely correct since the caching in CLASS_C for
  constraint_classes and constrtaint_renaming was done in the same slot for all the formal
  generic parameter, instead of having their own slot (shown by eweasel test#multicon030).
Fixed FORMAL_CONSTRAINT_AS.new_renaming_a which was causing test#multicon042 to fail.
Refactored usage of FORMAL_CONSTRAINT_AS.new_renaming_a to simply callers' code by allowing
  a Void argument.


Revision 68654 - (view) (annotate) - [select for diffs]
Modified Thu May 24 23:27:11 2007 UTC (12 years, 6 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 111012 byte(s)
Diff to previous 68356
Fixed bug#12822 due to the storing of CLASS_C objects as part of the AST, as a consequences
  EIFGENs grew a lot from about 8 to 11MB for a small project, but from 800MB to 6GB for a
  larger one.


Revision 68356 - (view) (annotate) - [select for diffs]
Modified Wed May 16 05:18:52 2007 UTC (12 years, 6 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 109130 byte(s)
Diff to previous 68349
Turned martin's question into comments/warnings.


Revision 68349 - (view) (annotate) - [select for diffs]
Modified Wed May 16 00:29:34 2007 UTC (12 years, 6 months ago) by juliant
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 109104 byte(s)
Diff to previous 68089
added statistics about total cat calls.

Revision 68089 - (view) (annotate) - [select for diffs]
Modified Thu May 3 18:36:31 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 109073 byte(s)
Diff to previous 68062
Refactored RENAMED_TYPE_A to RENAMED_TYPE [G -> TYPE_A]
This change allows us to program type safe if possible.

Revision 68062 - (view) (annotate) - [select for diffs]
Modified Wed May 2 16:38:25 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 109055 byte(s)
Diff to previous 68030
In case a generic derivation is outside of a feature the message printied in an error was simply: "invariant"
In some cases it was wrong as the context has not been cleared.
This fix cleares now the `ast_context.current_feature' before it checks inherited classes and
the error message in feature_error.e has (temporarily) be adapted.


Revision 68030 - (view) (annotate) - [select for diffs]
Modified Mon Apr 30 18:38:45 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 108989 byte(s)
Diff to previous 67957
Main change: I merged many occurences of "constrained_type" like features into `FORMAL_A'
Renamed `is_multi_constrained_formal' into `is_multi_constrained'
type_a.e: I moved some features into FORMAL_A because the usage pattern suggests that they are not needed in TYPE_A (to improve speed).
renamed_type_a.e: added implementation for `conformance_type', this was a bug (not reported)
formal_dec_as.e: fixed a bug in `is_multi_constrained' (not reported)

Revision 67957 - (view) (annotate) - [select for diffs]
Modified Mon Apr 23 21:58:30 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 105411 byte(s)
Diff to previous 67862
* mostly removed my TODOs
* removed wrong usage of `{CLASS_C}.constraint' from ast_breakable_slot_startegy.e
* refactored constraint_fixed back into constraint
* degree_4.e: removed check as assumptions seemed to be correct


Revision 67862 - (view) (annotate) - [select for diffs]
Modified Tue Apr 17 02:11:27 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 105878 byte(s)
Diff to previous 67856
* Fixed minor bug in FORMAL_CONSTRAINT_AS (renaming of single constraint type was not checked)
* Adapted precondition of conformance features in TYPE_SET_A
* Refactored EXTENDED_TYPE_A into RENAMED_TYPE_A.
* Refactored MC_ERROR_REPORT into MC_FEATURE_INFO

Revision 67856 - (view) (annotate) - [select for diffs]
Modified Mon Apr 16 19:22:30 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 105879 byte(s)
Diff to previous 67847
Cosmetics: I replaced double (or more) lines in the source code by single lines automatically. So you might hit anomalies. But I hope they are just a few exceptions.

Revision 67847 - (view) (annotate) - [select for diffs]
Modified Fri Apr 13 22:40:42 2007 UTC (12 years, 7 months ago) by juliant
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 105880 byte(s)
Diff to previous 67846
Added configuration option to activate the catcall check.
Added catcall check for feature calls on non-generics.
Added warning for catcalls.


Revision 67846 - (view) (annotate) - [select for diffs]
Modified Fri Apr 13 21:29:28 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 105726 byte(s)
Diff to previous 67227
cosmetics: proof of concept for removal of double new lines in code


Revision 67227 - (view) (annotate) - [select for diffs]
Modified Tue Mar 13 01:32:16 2007 UTC (12 years, 8 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 105731 byte(s)
Diff to previous 67199
Support for multi constraint generics:
- Central new class is TYPE_SET_A: It provides features for type checking and feature lookup.
  (the TYPE_A interface is not perfectly complete until now)
- Added EXTENDED_TYPE_A: It basically encapsulates a type and a feature renaming.
- Changed parser to accept the new syntax.
- Adapted validity checks for generics to reflect the new rules.
- Changed AST_FEATURE_CHECKER_GENERATOR in particular `process_call' and its siblings
  to select the so called `multi_constrained_static'. This is the actual static type
  of the target. It is done for each access on a multi constraint generic.
- Added error classes VTGC*, VTGD* and VTMC*.
- Changed code which called `constrained_type' feature to make it capable
  of handling multi constraints. This is in most cases achieved through handling these cases
  explicitly: Autocompletion, query language and debugger are not yet adapted and don't work
  properly in the presence of multi constraint formals.
- Changed AST_DECORATED_OUTPUT_STRATEGY and the like to pretty print the multi constraints correctly.

Support for recursive formals:
- I added a second pass AST_FORMAL_GENERICS_PASS2 which handles the registration of suppliers
  and transformation of the types into the right class (formal or class type).

The rest of the changes are targeted to either one of these.


Revision 67199 - (view) (annotate) - [select for diffs]
Modified Mon Mar 12 10:26:03 2007 UTC (12 years, 8 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 102446 byte(s)
Diff to previous 67176
Moved `implemented_type' from CIL_CODE_GENERATOR and CLASS_C to CL_TYPE_I
to simplify the code and avoid potential mistakes when using it.
Supplied context type of the feature source code when generating replicated
features under .NET as otherwise type evaluation might cause a compiler
crash as generic parameters (if any) of the current class type might be
different from those of the source class type (this fixes bug#12219,
test#dotnet050).


Revision 67176 - (view) (annotate) - [select for diffs]
Modified Sat Mar 10 01:10:13 2007 UTC (12 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 103566 byte(s)
Diff to previous 67130
Added `evaluated_type_in_descendant' in TYPE_A to evaluate a type in the context of a descendant class.
  The existing instantiation_in would not do it since it does it in a CL_TYPE_A version of the descandant
  class. Although not yet done, `instantiation_in' could be rewritten in a much simpler fashion by using
  this new routine and the existing `instantiated_in'.
Full class checking:
 - Added `full_class_checking' option in the configuration library and removed the system option
   in SYSTEM_OPTIONS.full_type_checking and the associated settings in the configuration library.
 - Updated code in AST_FEATURE_CHECKER_GENERATOR to perform a correct full class checking.
 - Changed EIFFEL_CLASS_C.pass3 to properly initialize the checker to perform full class checking,
   also melted routine without assertions are checked normally (i.e. `to_melt_in' on DEF_PROC_I
   are now the same as FEATURE_I).
First result of applying catcall checking on the compiler:
 - Fixed a validity error in `is_safe_equivalent' from TYPE_A.
 - Fixed a validity error in CLASS_TYPE.make


Revision 67130 - (view) (annotate) - [select for diffs]
Modified Thu Mar 8 22:01:05 2007 UTC (12 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 103342 byte(s)
Diff to previous 67021
Removed useless precondition for `conformance_table' not beeing Void, since it is created
  in the creation routine and never reset. Therefore added this as an invariant.


Revision 67021 - (view) (annotate) - [select for diffs]
Modified Thu Mar 1 21:28:56 2007 UTC (12 years, 9 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 103455 byte(s)
Diff to previous 66957
Changed initialization of expanded objects under .NET to record generic
type information if necessary.
Changed initialization of arrays of value types in .NET to avoid leaving a
value on the stack while performing unconditional branch instruction as
this violates CLI rules.
Fixed a recompilation issue when a single class type becomes non-single or
vice versa.
Fixed a recompilation issue when a generic parameter changes its
expandedness status so that true generics and meta generics of the generic
class are not compatible anymore.
Avoided enumeration of interfaces of the generic class types that are not
registered in the system. Forced enumeration of all possible conforming
derivations only in precompilation mode.
Corrected .NET code generation to initialize result of an expanded type
as required.
Changed code generation for assignment to attributes under .NET to take
into account the restriction that there should be no value on the stack
when an unconditional branch is performed.
Used the same code to initialize entities of expaned type under .NET that
include locals, result, attributes, array items, default values.


Revision 66957 - (view) (annotate) - [select for diffs]
Modified Tue Feb 27 20:56:04 2007 UTC (12 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 103112 byte(s)
Diff to previous 66895
Renamed `is_deep_equal' into `is_safe_equivalent' since there is `is_deep_equal' from
  ANY when compiling with FreeELKS.


Revision 66895 - (view) (annotate) - [select for diffs]
Modified Sun Feb 25 17:11:57 2007 UTC (12 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 103107 byte(s)
Diff to previous 66530
Support for FreeELKS:
- Added byte code for `floor' and `ceiling' operation on real types.
- Made `c_tagged_out' take an EIF_REFERENCE rather than an EIF_OBJECT, updated
  all C code using it accordingly and ANY/ISE_RUNTIME.
- Added `eif_built_in.h' to keep all macros used for external "built_in' features
  not implemented with Eiffel code.
- Added BUILT_IN_AS node for representing external "built_in' features:
  * when a built_in routine is found, we look in $ISE_EIFFEL/studio/built_ins to
    see if it has a corresponding implementation and the FEATURE_I/STD_BYTE_CODE
	is generated from the implementation. Otherwise we consider it as a special
	C routines.
  * In the formatters, we show the actual code of the implementation and not the
    external body, the same for debugging.
- Partial fix for Precursor call when call is made in an expanded class, the ancestor
  version might have non-expanded arguments and return type (e.g. like Current).
- Changed CLASS_TYPE for basic types so that `type_i' is a CL_TYPE_I and not
  a BASIC_I. It solves issues when you have code defined in basic types which
  would not be properly generated. Since it would be generated as if it was a
  normal expanded type but the types where still EIF_XXX instead of EIF_REFERENCE.
  This was needed for FreeELKS since now we have implementation in the basic types.
  Added some queries to CLASS_TYPE to avoid accessing `type' to get the information
  since sometime we still want to know that we are in basic types. Added `basic_type'
  to be used when it is a basic type. It has mostly an implication with .NET code
  generation.
- Updated debugger so that one can debug all features but attributes, deferred and
  constants.


Revision 66530 - (view) (annotate) - [select for diffs]
Modified Thu Feb 8 09:58:35 2007 UTC (12 years, 9 months ago) by jfiat
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 103157 byte(s)
Diff to previous 66292
- The Objects tool will now display all once routines under the "Once routines" row.
This includes functions and procedure.

Revision 66292 - (view) (annotate) - [select for diffs]
Modified Fri Jan 26 16:36:04 2007 UTC (12 years, 10 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 102603 byte(s)
Diff to previous 65726
Fixed a recompilation issue that caused test#dotnet049 to fail when the external parent of a class is replaced by a non-external or vice versa.

Revision 65726 - (view) (annotate) - [select for diffs]
Modified Sat Dec 23 02:33:35 2006 UTC (12 years, 11 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 102565 byte(s)
Diff to previous 65716
Fixed eweasel test#term146 where check for VTUG(2) was done to late at degree 4 and
  thus we could try conformance between two invalid generic types.


Revision 65716 - (view) (annotate) - [select for diffs]
Modified Fri Dec 22 19:29:48 2006 UTC (12 years, 11 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 102228 byte(s)
Diff to previous 65522
Fixed eweasel test#incr279 by ensuring a regeneration of the byte node for all features
  of a class that is marked `changed4'.


Revision 65522 - (view) (annotate) - [select for diffs]
Modified Wed Dec 13 16:38:59 2006 UTC (12 years, 11 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 102204 byte(s)
Diff to previous 65325
Made changes that should allow generating .NET code where generic
derivations with expanded parameters conform to generic derivations with
reference parameters.
Avoided argument conversion for method implementations that redefine an
argument of one TYPED_POINTER derivation into another one.
Ensured that an attribute setter implementation unboxes its argument if the
attribute type is changed from reference to expanded (e.g., when
implementing the setter of a generic derivation with an reference parameter
in the code of a generic derivation with an expanded parameter).


Revision 65325 - (view) (annotate) - [select for diffs]
Modified Sat Dec 2 00:17:30 2006 UTC (13 years ago) by paulb
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 100332 byte(s)
Diff to previous 64873
Changed made due to bug fix in configuration library.

Revision 64873 - (view) (annotate) - [select for diffs]
Modified Wed Nov 8 00:42:24 2006 UTC (13 years, 1 month ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 100310 byte(s)
Diff to previous 64746
Fixed some possible problems with overrides where we called lace_class instead of original_class


Revision 64746 - (view) (annotate) - [select for diffs]
Modified Wed Nov 1 18:46:54 2006 UTC (13 years, 1 month ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 100298 byte(s)
Diff to previous 64654
Minor optimization by storing `System.root_creation_name' in a local.


Revision 64654 - (view) (annotate) - [select for diffs]
Modified Mon Oct 30 17:55:48 2006 UTC (13 years, 1 month ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 100316 byte(s)
Diff to previous 64635
changed ASSERTION_I to inherit from CONF_ASSERTIONS and always use the factory to create a CONF_ASSERTIONS object so that in the compiler we will get a ASSERTION_I object instead, eliminates creating a ASSERTION_I object in CLASS_I
fixed a bug in the CONF_PRINT_VISITOR that did not print relative external paths correct
removed CLASS_I.name_in_upper as name is never void in the new config system
fixed external_name if there is a renaming specified in the visible clause

Revision 64635 - (view) (annotate) - [select for diffs]
Modified Fri Oct 27 23:43:04 2006 UTC (13 years, 1 month ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 100286 byte(s)
Diff to previous 64537
* removed argument constraints from creation features of the root class which are not specified as the root creation feature
* added support for generic root types
* adapted the error codes according to ecma standard



Revision 64537 - (view) (annotate) - [select for diffs]
Modified Tue Oct 24 13:18:12 2006 UTC (13 years, 1 month ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 99929 byte(s)
Diff to previous 64465
Added a validity error that disallows inheriting different generic derivations of the same class.

Revision 64465 - (view) (annotate) - [select for diffs]
Modified Fri Oct 20 12:53:49 2006 UTC (13 years, 1 month ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 99290 byte(s)
Diff to previous 64415
Supported code generation for basic types, so that they can be attached to
variables of an Eiffel type (e.g., INTEGER_64 to COMPARABLE) preserving
their expanded semantics.
Ensured that a creation information that might come from the code is not
stored in objects for class types that are used for code generation to
avoid problems with using it when not it should not be used.
Corrected code generation for inline agents so that the corresponding
methods are declared before use (it can be important when the agents are
nested, for example).
Added code to store information about local variables that might be
introduced for performing reattachment of an expanded object to a reference
entity in the methods that are generated to support interface of an
inherited class.


Revision 64415 - (view) (annotate) - [select for diffs]
Modified Wed Oct 18 15:23:06 2006 UTC (13 years, 1 month ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98957 byte(s)
Diff to previous 64130
refactored configuration library into two parts, parser that handles parsing and writing configuration files, compiler that does the compiler specific part (degree 6)
moved some classes around and created some new libraries to be able to use the parser and configuration system as a library in the compiler
cleaned up the ec.ecf

Revision 64130 - (view) (annotate) - [select for diffs]
Modified Wed Oct 4 17:16:01 2006 UTC (13 years, 2 months ago) by paulb
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98940 byte(s)
Diff to previous 63757
is_frozen is now determined by an internal state flag and applicability or applying msil application optimizations.

Revision 63757 - (view) (annotate) - [select for diffs]
Modified Thu Sep 21 01:32:55 2006 UTC (13 years, 2 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98649 byte(s)
Diff to previous 63360
Replaced non-existing type FORMAL_ATTRIBUTE_I by TYPE_FEATURE_I which is the new name.
Added missing precondition to `formal_at_position' that states that `generic_features' cannot be Void.


Revision 63360 - (view) (annotate) - [select for diffs]
Modified Thu Sep 7 22:19:31 2006 UTC (13 years, 3 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98602 byte(s)
Diff to previous 62307
No need for `has_externals' query. It was there to force a freeze when `melt_all' was called.
  But now we fixed `melt_all' to trigger a freeze when one of the routine to be melted is
  an external feature.


Revision 62307 - (view) (annotate) - [select for diffs]
Modified Mon Aug 7 21:31:06 2006 UTC (13 years, 4 months ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 99089 byte(s)
Diff to previous 62243
fixed some contracts

Revision 62243 - (view) (annotate) - [select for diffs]
Modified Thu Aug 3 12:50:01 2006 UTC (13 years, 4 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 99054 byte(s)
Diff to previous 62231
Marked feature {ANY}.equal as expected and non-removable because it is used by run-time.

Revision 62231 - (view) (annotate) - [select for diffs]
Modified Wed Aug 2 23:17:50 2006 UTC (13 years, 4 months ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98509 byte(s)
Diff to previous 61581
changed some AST iterators to process inline agents
fixed some problems with inline agents and refactoring
fixed a problem if a class in the root cluster which is not the root class was renamed
made eiffel studio a bit more robust if a file name of a class was externally renamed

Revision 61581 - (view) (annotate) - [select for diffs]
Modified Mon Jul 24 17:03:46 2006 UTC (13 years, 4 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98496 byte(s)
Diff to previous 61575
Use new names for basic classes for queries/commands in BASIC_SYSTEM_I.
Updated callers accordingly.


Revision 61575 - (view) (annotate) - [select for diffs]
Modified Mon Jul 24 12:51:08 2006 UTC (13 years, 4 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98494 byte(s)
Diff to previous 61536
Introduced a new feature to get a reference variant of a given expanded type to avoid creating BASIC_I instances for reference variants of basic types.

Revision 61536 - (view) (annotate) - [select for diffs]
Modified Fri Jul 21 14:45:52 2006 UTC (13 years, 4 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98566 byte(s)
Diff to previous 61532
Used a new feature to get a reference counterpart of the given expanded type.

Revision 61532 - (view) (annotate) - [select for diffs]
Modified Fri Jul 21 01:20:25 2006 UTC (13 years, 4 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98671 byte(s)
Diff to previous 61522
Changed EIFFEL_CLASS_C.parse_ast to be a function call `parsed_ast'. This function is now
  responsible to check that the stored `ast' is up-to-date. If not then we call `build_ast'
  to regenerate one.
  Updated callers of `ast' and `parse_ast' to use new routines `parsed_ast'.
  This also fixes a bug recently introduced that the currently edited class would always be
    recompiled because `parsed_ast' as a side effect of adding to DEGREE_5. This has now been
	removed as the configuration is smart enough to detect which classes have changed and also
	because EiffelStudio does not have the ability to compile only classes edited in EiffelStudio.
Added `file_date' in CLASS_I to query the file date.
Added `date' and `set_date' query in CLASS_AS to store the date of the last parsing (it is used
  by `parsed_ast' to avoid rebuilding the AST too often when it does not need to).
Added `is_warning_generated_argument to EIFFEL_CLASS_C.build_ast so that when we are not parsing
  for the compiler all syntax warnings are disabled by default. This could potentially fix bug#10638
  where warning were always added.


Revision 61522 - (view) (annotate) - [select for diffs]
Modified Thu Jul 20 22:15:25 2006 UTC (13 years, 4 months ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 99444 byte(s)
Diff to previous 61373
improved documentation for CLASS_C lace_class and original_class
improved refresh behavior for properties tool

Revision 61373 - (view) (annotate) - [select for diffs]
Modified Sat Jul 15 17:23:16 2006 UTC (13 years, 4 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 99211 byte(s)
Diff to previous 60888
Added VJRV warning control in configuration.
Added `is_warning_enabled' in CLASS_C and updated AST_FEATURE_CHECKER_GENERATOR accordingly.


Revision 60888 - (view) (annotate) - [select for diffs]
Modified Fri Jun 30 22:26:55 2006 UTC (13 years, 5 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98995 byte(s)
Diff to previous 60616
Fixed bug found after perform a refactoring renaming because we were still using `lace_class'
  rather than `original_class' in `recompute_syntactical_clients'.
Fixed similar issue when comparing with `any_class' and `native_array_class' from SYSTEM_I which
  could yield to a bug if ANY or NATIVE_ARRAY is overriden.


Revision 60616 - (view) (annotate) - [select for diffs]
Modified Tue Jun 27 18:02:28 2006 UTC (13 years, 5 months ago) by konradm
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98983 byte(s)
Diff to previous 59974
- Support for agents on attributes and externals
- Support for inline agents.
- No freeze anymore when creating a new agent.
- Removed bug in Named tuples

Revision 59974 - (view) (annotate) - [select for diffs]
Modified Mon Jun 19 23:34:52 2006 UTC (13 years, 5 months ago) by tedf
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98694 byte(s)
Diff to previous 59773
1. Modified cluster hierarchy text generation.
2. Integrated viewpoint support in text formatter, with which we are able to display various renamed names at different viewpoints.
3. Display correct renamed name in completion list, warnings and errors. Display current class based renamed name in documentation.
4. Integrated optimization for completion list.
5. Fixed page down/up problem in completion list.
6. Moved editor token writer to be shared.


Revision 59773 - (view) (annotate) - [select for diffs]
Modified Wed Jun 14 17:24:48 2006 UTC (13 years, 5 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98701 byte(s)
Diff to previous 59429
Fixed VTCM warning for a class which does not exist.


Revision 59429 - (view) (annotate) - [select for diffs]
Modified Tue Jun 6 14:25:31 2006 UTC (13 years, 6 months ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98719 byte(s)
Diff to previous 58646
fixed a crash if with namespace retrieval if we have overrides

Revision 58646 - (view) (annotate) - [select for diffs]
Modified Tue May 2 19:09:48 2006 UTC (13 years, 7 months ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98715 byte(s)
Diff to previous 58377
fixed bug#10297 where selecting deferred did not unselect generate creation procedure
fixed a bug if a new class was created and then directly removed again
fixed a bug where new classes added in eiffelstudio where not compiled correctly if the were not used
fixed some stone validation bugs

Revision 58377 - (view) (annotate) - [select for diffs]
Modified Fri Apr 21 00:03:54 2006 UTC (13 years, 7 months ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98686 byte(s)
Diff to previous 58359
readded has visible again
removed unused external_name feature

Revision 58359 - (view) (annotate) - [select for diffs]
Modified Thu Apr 20 19:15:15 2006 UTC (13 years, 7 months ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98688 byte(s)
Diff to previous 58325
fixed postcondition
fixed a bug in the configuration system with precompiles

Revision 58325 - (view) (annotate) - [select for diffs]
Modified Thu Apr 20 16:05:16 2006 UTC (13 years, 7 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_c.e
File length: 98658 byte(s)
Diff to previous 58027
Moved trunk/Src/bench/Eiffel to trunk/Src/Eiffel.

Revision 58027 - (view) (annotate) - [select for diffs]
Modified Wed Apr 5 07:08:57 2006 UTC (13 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 98658 byte(s)
Diff to previous 57904
Fixed mixing paranthesis in indexing clause for the licensing.
Added missing license reference in newly created Eiffel classes.


Revision 57904 - (view) (annotate) - [select for diffs]
Modified Thu Mar 30 11:18:12 2006 UTC (13 years, 8 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 98648 byte(s)
Diff to previous 57781
Added a check that class ANY has feature `twin'.

Revision 57781 - (view) (annotate) - [select for diffs]
Modified Mon Mar 27 17:11:27 2006 UTC (13 years, 8 months ago) by patrickr
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 98307 byte(s)
Diff to previous 57776
New compiler with new configuration system
For now only the batch compiler works


Revision 57776 - (view) (annotate) - [select for diffs]
Modified Sun Mar 26 23:51:14 2006 UTC (13 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 143715 byte(s)
Diff to previous 57770
Now FORMAL_CONSTRAINT_AS.constraint_type takes an argument which is the class
  in which FORMAL_CONSTRAINT_AS appears. It frees us from the dependency to
  finding out the current class from SYSTEM_I which can be Void when not compiling.


Revision 57770 - (view) (annotate) - [select for diffs]
Modified Sun Mar 26 01:05:41 2006 UTC (13 years, 8 months ago) by jasonw
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 143719 byte(s)
Diff to previous 57638
Added facility to return short signature of a class, for example, short form of HASH_TABLE [G, H -> HASHABLE] is HASH_TABLE [G, H -> ...]. It is used to save display space for class browser.

Revision 57638 - (view) (annotate) - [select for diffs]
Modified Thu Mar 23 06:31:42 2006 UTC (13 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 142653 byte(s)
Diff to previous 57426
Updated with changes in AST_FEATURE_CHECKER_GENERATOR which prepare
  the code for flat degree 3 checking.


Revision 57426 - (view) (annotate) - [select for diffs]
Modified Fri Mar 10 20:30:45 2006 UTC (13 years, 8 months ago) by tedf
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 142639 byte(s)
Diff to previous 57394
1. Removed all STRUCTURED_TEXT within the compiler.
2. Replaced with TEXT_FORMATTER for editor and documentation output formatting.
 Generally, there are five descendents for the moment.
-OUTPUT_WINDOW: For simple string output. i.e. Command line, file, buffered string etc.
-TEXT_FILTER: For various documentation formatting.
-EB_OUPUT_MANAGER: Mainly for EB_GRAPHICAL_OUTPUT_MANAGER decoration.
-EDITOR_TOKEN_WRITER: Editor tokens are translated here for colorized editor views.
-TEXT_FORMATTER_DECORATOR: A decorator of TEXT_FORMATTERS. Handles context and formatting information. AST visits for outputs are mainly mediated here.
 There are two sets of interface, process_* and add_*. The main one is process_* which is recommended to use. add_* is from STRUCTURED_TEXT which does not exist any more. As it affected vastly, I still keep its interfaces.
3. SHARED_TEXT_ITEMS are all strings now, as items in structured text have been removed.
4. Wrote AST_OUTPUT_STRATEGY which is an AST_VISITOR processing AST to TEXT_FORMATTER. Wrote AST_DECORATED_OUTPUT_STRATEGY a client of TEXT_FORMATTER_DECORATOR. And one AST_DOCUMENTATION_OUTPUT_STRATEGY only for documentation.
5. Removed flat/short views buffering of STRUCTURED_TEXT. It is slightly slower than before, but in my opinion acceptable.
6. Wrote a AST_TYPE_OUTPUT_STRATEGY which visit a type and print its ‘text’ representation output to a TEXT_FORMATTER.
7. Rewrote TOKEN_VISITOR and a descendant EIFFEL_TOKEN_VISITOR for editor tokens in library and in the compiler.
8. Leave printer command prints simple text in current editor. Further work will be done a little later.
9. We gain 22% faster of documentation generation for the moment. Less than we expected, I think, mainly because of additions and accuracy we gain.



Revision 57394 - (view) (annotate) - [select for diffs]
Modified Wed Mar 8 23:59:17 2006 UTC (13 years, 9 months ago) by raphaels
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 142170 byte(s)
Diff to previous 57371
Renamed `has_internal_single_parent' into `has_external_main_parent'. Fixed initialization of `has_external_main_parent' to take into account the case where an Eiffel class inherits from an Eiffel class which iteself inherits from an external class. This is necessary to guarentee that the runtime features will then be properly generated.

Revision 57371 - (view) (annotate) - [select for diffs]
Modified Wed Mar 8 00:05:46 2006 UTC (13 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 142245 byte(s)
Diff to previous 57173
Refactoring which separate TYPE_AS from TYPE_A.
* The TYPE_AS classes specific to the compiler have been removed, we now use the one from the
  parser cluster. Only INTEGER_CONSTANT and FORMAL_CONSTRAINT_AS are compiler specific, but defined
  as descendants of INTEGER_AS and FORMAL_DEC_AS.
* The return type and arguments' type are of type TYPE_A, which help us in removing many calls to
  `actual_type' when the purpose was to get the TYPE_A instance as statically it was a TYPE_AS, but
  dynamically it was TYPE_A.
* Rewritten the way we go from TYPE_AS to TYPE_A. This is now done in two steps.
  1 - convert TYPE_AS into TYPE_A using the AST_TYPE_A_GENERATOR visitor. For Bits symbol and anchors
      we get an UNEVALUATED_XX version.
  2 - evaluate and check validity of TYPE_A we obtained by 1), this is done using TYPE_A_CHECKER.
      TYPE_A_CHECKER is modular in the sense that it can be configured to trigger or not errors.
	  Useful to disable when we are in part of the UI of EiffelStudio who does not care about an
	  error reporting.
* Thanks to the above refactoring, I fixed eweasel tests: test#valid104, test#valid131, test#valid135.
  It was due to a bug that when solving an anchor type, we did not update `feature_id', as a consequence
  a comparison would yield False instead of True, because they were referring to the same anchor.
* In TYPE_A, try to add some preconditions to `associated_class' and fix all incorrect usage of it.
  Use `is_valid' a lot to ensure that we have a valid type (used to check validity of types in
  inheritance clause and constraints).
* Changed formatting so that we see G#x and arg#x (whereas it was Generic #x, Formal #x and arg # x)
  to make things more compact.
* Updated all the other part of EiffelStudio that depended on the above changes.
* New version number 5.7.0806



Revision 57173 - (view) (annotate) - [select for diffs]
Modified Mon Feb 27 05:28:09 2006 UTC (13 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 141681 byte(s)
Diff to previous 57031
Implementation of labeled tuples with a limitation which is that the identifier
  list is reduced to only one element, as it is causing the grammar to be too
  difficult. But the current implementation is fully equipped to handle multiple
  entries as soon as the parser is fixed.


Revision 57031 - (view) (annotate) - [select for diffs]
Modified Thu Feb 16 13:29:25 2006 UTC (13 years, 9 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 141667 byte(s)
Diff to previous 56812
Added a query to tell if a class has an Eiffel parent class that is generated as a single IL class type.

Revision 56812 - (view) (annotate) - [select for diffs]
Modified Wed Feb 1 00:46:55 2006 UTC (13 years, 10 months ago) by patrickr
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 141349 byte(s)
Diff to previous 56781
Changed class_c.ast to always return the most recent ast.


Revision 56781 - (view) (annotate) - [select for diffs]
Modified Fri Jan 27 16:27:42 2006 UTC (13 years, 10 months ago) by patrickr
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 141686 byte(s)
Diff to previous 56738
-add type information to the ast during degree 3
-make a type check of all features, instead of only the changed ones, if a class has been parsed again (need because we have a new ast and we need to readd the type informations)
-changed parser used during degree 5 to light roundtrip parser (roundtrip parser without matchlist generation)
-refactoring tool
-refactored comment code to use the available information from the roundtrip ast
-added a server for matchlists, that generates matchlists on demand, using the fast scanner



Revision 56738 - (view) (annotate) - [select for diffs]
Modified Thu Jan 26 16:59:22 2006 UTC (13 years, 10 months ago) by patrickr
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 141339 byte(s)
Diff to previous 56562
Refactored temporary ast, body and invariant servers into tmp_ast_server and keep information in memory until after degree 2.


Revision 56562 - (view) (annotate) - [select for diffs]
Modified Tue Jan 17 14:52:59 2006 UTC (13 years, 10 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 142673 byte(s)
Diff to previous 56535
Ensured that generic derivations depending on expanded class types are
regenerated when skeleton of those class types changes.
Changed processing of parent filters for expanded class types to take into
account only "like Current" types, not any other types like formal
generics as it does not make sense.


Revision 56535 - (view) (annotate) - [select for diffs]
Modified Tue Jan 17 01:37:10 2006 UTC (13 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 140220 byte(s)
Diff to previous 56509
Added text of the GPL license to all classes of the compiler.


Revision 56509 - (view) (annotate) - [select for diffs]
Modified Thu Jan 12 20:36:11 2006 UTC (13 years, 10 months ago) by jasonw
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 138815 byte(s)
Diff to previous 56503
Fixed a bug related to change of external_class_name from type STRING to STRING_AS, which in case an external name doesn't exist, we may call external_name.value, where external_name is Void.

Revision 56503 - (view) (annotate) - [select for diffs]
Modified Thu Jan 12 18:10:10 2006 UTC (13 years, 10 months ago) by jasonw
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 138712 byte(s)
Diff to previous 56472
Changed type of external_class_name from STRING to STRING_AS.

Revision 56472 - (view) (annotate) - [select for diffs]
Modified Mon Jan 9 23:55:50 2006 UTC (13 years, 10 months ago) by jasonw
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 138706 byte(s)
Diff to previous 56171
1.Added complete_start_location and complete_end_location to give the pricise position of an AST node. And changed start_location/end_location to call the above 2 features.
2. Added text modification facility into AST nodes.


Revision 56171 - (view) (annotate) - [select for diffs]
Modified Thu Dec 15 10:25:49 2005 UTC (13 years, 11 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 138654 byte(s)
Diff to previous 56082
Included parent filters in types update for expanded types to ensure that all required class types are registred for expanded types code generation.

Revision 56082 - (view) (annotate) - [select for diffs]
Modified Fri Dec 9 14:15:43 2005 UTC (13 years, 11 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137790 byte(s)
Diff to previous 56063
Ensured that when a default class type is registered, it is also added to instantiator as otherwise anchored types of the root class may remain uninstantiated.

Revision 56063 - (view) (annotate) - [select for diffs]
Modified Thu Dec 8 13:51:16 2005 UTC (14 years ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137693 byte(s)
Diff to previous 56011
Unified processing of class types between normal classes and tuple class.
Corrected a recently introduced bug in a class type processing that might
cause duplicate class types to be registered.


Revision 56011 - (view) (annotate) - [select for diffs]
Modified Mon Dec 5 17:36:00 2005 UTC (14 years ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136810 byte(s)
Diff to previous 55712
Recorded explicit class type declaration rather than a calculated one to
avoid issues with recompiling classes that change their expandedness
status.
Initialized class types associated with a class using `update_types' to
ensure that all structures (e.g., `derivations') are updated as well.
Used instantiation procedure unconditionally to cover the case of "like
Current" type.
Made a feature `duplicate' available in CL_TYPE_I to avoid using reverse
assignment.
Ensured that parent types are reference.
Created generic attribute descriptor not only for types that depend on
formal generic but also for those depending on anchored type ("like
Current").


Revision 55712 - (view) (annotate) - [select for diffs]
Modified Fri Nov 11 19:11:56 2005 UTC (14 years ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136963 byte(s)
Diff to previous 55648
Removed check whether a type has formal before calling "instantiation_in"
because the latter will also be used for calculating "like Current" type.


Revision 55648 - (view) (annotate) - [select for diffs]
Modified Mon Nov 7 13:51:30 2005 UTC (14 years, 1 month ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137163 byte(s)
Diff to previous 55399
Removed trailing spaces.


Revision 55399 - (view) (annotate) - [select for diffs]
Modified Thu Oct 27 09:22:00 2005 UTC (14 years, 1 month ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137293 byte(s)
Diff to previous 55232
Added a check to prevent inheritance links to external classes from
expanded types.
Used reference class types as parents all the time.
Registered a reference class type for any expanded class.
Changed evaluation of a meta-type for non-generic class to preserve
expandedness status of a supplied class type.


Revision 55232 - (view) (annotate) - [select for diffs]
Modified Wed Oct 19 16:08:22 2005 UTC (14 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135702 byte(s)
Diff to previous 52222
Forgot to set the current_feature of AST_CONTEXT so that we can properly report
  validity errors on custom attribute.


Revision 52222 - (view) (annotate) - [select for diffs]
Modified Thu Jun 16 01:41:01 2005 UTC (14 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135651 byte(s)
Diff to previous 52136
Revisited computation of directory name for code generation. Added `packet_name'
  in SHARED_CODE_FILES so that we have a consistent way accros various classes
  to build that directory name. It avoids hard-coding some knownledge about
  our directory structure.


Revision 52136 - (view) (annotate) - [select for diffs]
Modified Tue Jun 14 21:54:17 2005 UTC (14 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135694 byte(s)
Diff to previous 52035
Fixed precondition violation due to recent changes about creating the right
  type instance of NATIVE_ARRAY [G] with G formal generic parameter.


Revision 52035 - (view) (annotate) - [select for diffs]
Modified Fri Jun 10 23:17:38 2005 UTC (14 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135630 byte(s)
Diff to previous 51870
Instead of using specific routines from CLASS_C to get the E_FEATURE corresponding
  to where the feature is currently written, we use the new E_FEATURE.written_feature
  query. It makes the code more maintainable without having to know too much about
  CLASS_C.
  It also solved a bug with previous integration only using `written_feature_id',
  because I forgot that this attribute is only set in .NET code generation, not
  in classic. Thus E_FEATURE.written_feature takes that into account, and when
  it is not set uses the `body_index'.


Revision 51870 - (view) (annotate) - [select for diffs]
Modified Wed Jun 8 00:57:41 2005 UTC (14 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135237 byte(s)
Diff to previous 51513
Removed `feature_with_body_index' and replaced it by `feature_with_feature_id'
  which will also work for .NET routines which do not have a `body_index'.


Revision 51513 - (view) (annotate) - [select for diffs]
Modified Tue May 31 12:16:43 2005 UTC (14 years, 6 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135154 byte(s)
Diff to previous 51335
Supported lookup for a feature alias in addition to a feature identifier.


Revision 51335 - (view) (annotate) - [select for diffs]
Modified Tue May 24 15:35:20 2005 UTC (14 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 134967 byte(s)
Diff to previous 51140
Removed `extend_anchored_features' which was not used.
Changed `update_anchors' so that attributes whose type is either formal or generic
  have a TYPE_FEATURE_I associated with them, so that we can find out in INTERNAL
  what is their static type.


Revision 51140 - (view) (annotate) - [select for diffs]
Modified Wed May 18 15:45:26 2005 UTC (14 years, 6 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135569 byte(s)
Diff to previous 50370
Adjusted feature name setting to follow changes for alias name support.


Revision 50370 - (view) (annotate) - [select for diffs]
Modified Sat Apr 23 00:47:25 2005 UTC (14 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135566 byte(s)
Diff to previous 50233
Instead of relying on `parents = Void' to call `fill_parents' we now have
  a flag `need_new_parents' to trigger the call. It fixes incr233 and fixed120
  after our bug fix of incr242 done in DEGREE_5.


Revision 50233 - (view) (annotate) - [select for diffs]
Modified Wed Apr 20 15:51:34 2005 UTC (14 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135391 byte(s)
Diff to previous 50183
Use `custom_attributes_type_check_and_code' instead of `process' to validate
  custom attributes.


Revision 50183 - (view) (annotate) - [select for diffs]
Modified Tue Apr 19 04:42:12 2005 UTC (14 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135079 byte(s)
Diff to previous 49791
Use AST_FEATURE_CHECKER_GENERATOR to perform type checking and BYTE_NODE
  generation in `pass3'.
Use AST_PARENT_C_GENERATOR in `fill_parents'.


Revision 49791 - (view) (annotate) - [select for diffs]
Modified Mon Apr 4 06:24:39 2005 UTC (14 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137696 byte(s)
Diff to previous 49430
Properly initialize location information for errors, unfortunately for some
  errors we are not able to do it properly (thus a fixme).
Removed `click_list' which was not used.


Revision 49430 - (view) (annotate) - [select for diffs]
Modified Thu Mar 24 01:46:22 2005 UTC (14 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137472 byte(s)
Diff to previous 49382
Use `associated_class' from `PARENT_AS rather than picking it up from PARENT_AS.type.
Fixed `feature_named' so that it does not violate a precondition when calling `feature_table'.


Revision 49382 - (view) (annotate) - [select for diffs]
Modified Tue Mar 22 02:07:30 2005 UTC (14 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137525 byte(s)
Diff to previous 49033
Fixed incremental bug eweasel `incr241'.


Revision 49033 - (view) (annotate) - [select for diffs]
Modified Wed Mar 9 02:11:07 2005 UTC (14 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137487 byte(s)
Diff to previous 48872
Fixed eweasel tests `incr165', `incr169' and `fake004' because in `fill_parents'
  we were only comparing the parent class and not the parent type. Indeed
  if you inherit from LIST [INTEGER] and switch it to LIST [BOOLEAN] a lot
  of type checking needs to be done, before nothing was done because in
  both cases it was LIST.
  So now instead of using `same_parents' and `removed_parent', I've introduced
  `similar_parents' which returns a TUPLE with two BOOLEAN: one to say if parents
  are similar and the other one to say if parents have been removed. Thus
  making the all thing slightly faster. Unfortunately to do that I need to
  retrieve the old CLASS_INFO instance and this penalize a little bit the
  performance.


Revision 48872 - (view) (annotate) - [select for diffs]
Modified Wed Mar 2 23:51:38 2005 UTC (14 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136510 byte(s)
Diff to previous 48556
Fixed eweasel test incr233, by recording all VTCT errors during degree 5
  and then making sure that all potential errors are actually errors (because
  a clause is really needed, and not because a class was forced a recompilation
  and the class is not actually used anymore in the system).
  This required to move part of `init' which was handling `parents' into
  `fill_parents' which is now called after all VTCT errors have been
  reported.


Revision 48556 - (view) (annotate) - [select for diffs]
Modified Fri Feb 18 08:24:25 2005 UTC (14 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137027 byte(s)
Diff to previous 48523
Reverted back to version 1.258 as the `fake005' has been fixed through INHERIT_TABLE.


Revision 48523 - (view) (annotate) - [select for diffs]
Modified Wed Feb 16 14:06:51 2005 UTC (14 years, 9 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137089 byte(s)
Diff to previous 48047
Ensured that byte code is not saved in temporary byte servers when an
error is encountered, as this (wrong) byte code would be used without
regenerating it if a project is recompiled (e.g., this happens in eweasel test
"fake005").


Revision 48047 - (view) (annotate) - [select for diffs]
Modified Fri Jan 28 04:33:16 2005 UTC (14 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137027 byte(s)
Diff to previous 48002
Fixed an issue in classic where because we set `is_external' to True for basic
  classes, then a finalization using a precompiled library will result in unresolved
  C externals corresponding to NATURAL_XX_REF features. This was caused by
  the fact that the code in `record_precompiled_class_in_system' did not
  recursively explore the content of the NATURAL_XX classes and therefore
  considering that NATURAL_XX_REF were not in system, but since they are
  inherited by the NATURAL_XX classes then some code was generated in the
  polymorphic table and thus the unresolved externals.

  To solve this, we did two things:
  1 - we do not mark `is_external' to True in classic mode
  2 - in `record_precompiled_class_in_system', instead of checking for
      `is_external' we actually check for `has_ast'.

Allowed some of the VIFI2 error to be triggered in classic too.
Ensured that changing the status from `frozen' to non-frozen does what it
  is supposed to do in classic.
In `init', in order to mark `System.set_has_expanded' it suffices to check
  if current class is expanded and that it is not a basic class, instead of
  doing a long boolean expression that might be expansive to compute.


Revision 48002 - (view) (annotate) - [select for diffs]
Modified Thu Jan 27 04:31:54 2005 UTC (14 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137920 byte(s)
Diff to previous 47873
Removed requirement of `il_code_generation' when using frozen class.


Revision 47873 - (view) (annotate) - [select for diffs]
Modified Tue Jan 25 06:39:43 2005 UTC (14 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137982 byte(s)
Diff to previous 47862
Make basic class `external' by default, so that we can have version of the
class for .NET and classic.


Revision 47862 - (view) (annotate) - [select for diffs]
Modified Tue Jan 25 03:10:45 2005 UTC (14 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137965 byte(s)
Diff to previous 47550
Before parsing a class make sure `inst_context' is properly set. This is needed
  as now we use `actual_type' while parsing for manifest integers/reals.


Revision 47550 - (view) (annotate) - [select for diffs]
Modified Thu Jan 13 16:44:57 2005 UTC (14 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137926 byte(s)
Diff to previous 47234
Fixed bug where `filters' was not cleared when adding a formal or removing one.
  This was causing eweasel test incr236 to fail. Still the bug fix is not
  perfect (see the fixme entry).


Revision 47234 - (view) (annotate) - [select for diffs]
Modified Sat Dec 25 00:19:09 2004 UTC (14 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137447 byte(s)
Diff to previous 46617
Provided new class names, new feature names to entities representing
  basic types so that they are close to the new basic type names:
    real -> real_32
	double -> double_32
	float -> real_32
	long -> integer
	....


Revision 46617 - (view) (annotate) - [select for diffs]
Modified Tue Nov 23 19:54:43 2004 UTC (15 years ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137443 byte(s)
Diff to previous 46611
Added a feature to set assembly info for classs being (pre)compiled.


Revision 46611 - (view) (annotate) - [select for diffs]
Modified Tue Nov 23 13:34:59 2004 UTC (15 years ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137243 byte(s)
Diff to previous 45839
Supported generation of an IL object type with class-specific data.


Revision 45839 - (view) (annotate) - [select for diffs]
Modified Fri Sep 24 19:01:06 2004 UTC (15 years, 2 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135684 byte(s)
Diff to previous 45583
Supported option-controlled processing for old-style verbatim strings.
Added warning for old-style verbatim strings.


Revision 45583 - (view) (annotate) - [select for diffs]
Modified Mon Sep 13 14:30:49 2004 UTC (15 years, 2 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135520 byte(s)
Diff to previous 45562
Supported once manifest strings.


Revision 45562 - (view) (annotate) - [select for diffs]
Modified Sat Sep 11 23:16:11 2004 UTC (15 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135430 byte(s)
Diff to previous 44449
Fixed errors reported by gelint since our compiler does not do yet system
validity checking (i.e. flat degree 3 checking).


Revision 44449 - (view) (annotate) - [select for diffs]
Modified Wed Jul 21 05:35:08 2004 UTC (15 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135455 byte(s)
Diff to previous 43833
Changed `partial_actual_type' to not take into account if `reference' was
  specified or not, because support for `reference X' has been removed.


Revision 43833 - (view) (annotate) - [select for diffs]
Modified Tue Jun 15 18:25:38 2004 UTC (15 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135638 byte(s)
Diff to previous 43459
Changed `meta_type' signature to take and return a CLASS_TYPE rather than
  a CL_TYPE_I. This was done because it was used in context where we needed
  a CLASS_TYPE and not a CL_TYPE_I. Moreover it enables us to gain some speed
  as most of the type we don't need to do `CL_TYPE_I.associated_class_type'
  which is expensive.
Updated code using `instantiation_in' from TYPE_I since now the parameter has
  to be a CLASS_TYPE and not a GEN_TYPE_I.


Revision 43459 - (view) (annotate) - [select for diffs]
Modified Thu Jun 3 16:27:55 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135453 byte(s)
Diff to previous 43410
New way to remove useless C generated classes. Before it was done when a
  class was removed from the universe, but we were not doing it in the case
  a particular CLASS_TYPE was removed from the universe. So now we have
  added this possibility to CLASS_TYPE, and CLASS_C now uses it when removing
  the C generated files.


Revision 43410 - (view) (annotate) - [select for diffs]
Modified Wed Jun 2 00:07:27 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 138026 byte(s)
Diff to previous 43362
Renamed TYPE into TYPE_AS


Revision 43362 - (view) (annotate) - [select for diffs]
Modified Sat May 29 22:39:42 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 138023 byte(s)
Diff to previous 43213
Incrementality for expanded. When an expanded type has its skeleton changed
we need to recompile all the classes using this expanded type to ensure
that the expanded are created with the proper size (since size is hardcoded
in generated C code).


Revision 43213 - (view) (annotate) - [select for diffs]
Modified Tue May 25 05:07:53 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137498 byte(s)
Diff to previous 43199
Updated signature of `append_signature' from CLASS_C which now
  takes a new argument to tell if it should display a `*' for deferred
  classes or not. It is False except when used when displaying queries
  on the system (e.g. descendants, ancestors,....)


Revision 43199 - (view) (annotate) - [select for diffs]
Modified Mon May 24 18:47:54 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137362 byte(s)
Diff to previous 43161
Added a `*' in the signature of a deferred class. This only appears in
  formatters such as ancestors, clients, suppliers, descendants and in
  some error reporting messages using `append_signature'.


Revision 43161 - (view) (annotate) - [select for diffs]
Modified Fri May 21 23:52:30 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137310 byte(s)
Diff to previous 43086
Removed knowledge of TO_SPECIAL since we don't need it anymore to create
  SPECIAL instances. Instead of create them directly in SPECIAL and through
  CREATION_EXPR_B.
Removed `is_special_array' and use now `is_special' instead since now we
  cannot make the confusion between SPECIAL and TO_SPECIAL.
Made SPECIAL a debuggable class since there is nothing special about this
  class apart creation and access which are inlined.


Revision 43086 - (view) (annotate) - [select for diffs]
Modified Tue May 18 04:21:39 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137548 byte(s)
Diff to previous 42872
Used two words names instead of just one for `put_xx', `read_xx' and `last_xxx' routines.
Used specific `put_xxx_id' routines to generate runtime IDs. This removes those
  very annoying `- 1' in the code because the runtime and the compiler are not
  indexed the same way.


Revision 42872 - (view) (annotate) - [select for diffs]
Modified Thu Apr 29 19:31:09 2004 UTC (15 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137427 byte(s)
Diff to previous 42867
Added assertions about upperness of class names


Revision 42867 - (view) (annotate) - [select for diffs]
Modified Thu Apr 29 19:02:11 2004 UTC (15 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137315 byte(s)
Diff to previous 42641
Removed `generate_cecil_value' and `cecil_value' which are not needed in
  CECIL_CLASS_TABLE because we use the version from TYPE_I instead.


Revision 42641 - (view) (annotate) - [select for diffs]
Modified Fri Apr 9 03:22:01 2004 UTC (15 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137897 byte(s)
Diff to previous 42407
Implemented constraints that are either reference or expanded:
  Renamed `formal_name' to `name' to match new name in FORMAL_AS/FORMAL_DEC_AS.
  Updated to new way of creating a FORMAL_A instance which now needs to know
  whether or not it has the `reference' or `expanded' constraint.


Revision 42407 - (view) (annotate) - [select for diffs]
Modified Fri Mar 26 03:19:49 2004 UTC (15 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137712 byte(s)
Diff to previous 41840
Updated code to take into account that now ANY is the ancestor of all classes
  even .NET classes. Prevent .NET classes to be included in compilation degrees
  if they have been already built.


Revision 41840 - (view) (annotate) - [select for diffs]
Modified Sat Mar 6 03:20:39 2004 UTC (15 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 138878 byte(s)
Diff to previous 41321
Use NAMED_TYPE_A instead of CL_TYPE_A for type used in conversion.
Fixed precondition violation in `copy_file' from `build_ast' because file
  we are reading from was already open.
Added `parents_classes' which is something we use more than `parents', replaced
  most routines using `parents' to use `parents_classes'.
Added `computed_list' as an attribute since PARENT_LIST is not stored in
  CLASS_INFO anymore.
Both `parents' and `computed_parents' are computed at the end of degree 5
  in `fill_parents'. Only `parents_classes' is computed during degree 5.
Removed strange setting of `creation_feature'.
Fixed strange error I got with class names that have only one character, sometime
  the generated C file for 2 classes could be generated in the same C file.
When the expanded status of a class is changed, we removed all its `types'.
Class names are stored in upper, so we need to use upper case version.
Added `partial_actual_type' to generate an instance of TYPE_A for CLASS_TYPE_AS;
  it does about the same job as `actual_type' except that it could generate
  an invalid TYPE_A instance (e.g. it can generate the type for INTEGER [BOOLEAN]
  although this is not valid).
Modified `update_instantiator1' so that the reference version of parent types
  whose base class is expanded are inserted in the `Instantiator'.
Now we insert in `types' the reference and expanded version of a class, meaning
  that `types.count > 1' does not imply that we are handling a generic type.


Revision 41321 - (view) (annotate) - [select for diffs]
Modified Wed Feb 11 01:55:37 2004 UTC (15 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136180 byte(s)
Diff to previous 40970
Fixed `term126' from eweasel where a generic class without `types' (i.e.
marked visible in the Ace file) had its feature table generated. Now we
only do it if there are some types, thus new precondition `has_types'
to `feature_table_file_name', `packet_number' and `feature_table_file_id'.


Revision 40970 - (view) (annotate) - [select for diffs]
Modified Mon Jan 12 00:26:24 2004 UTC (15 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136137 byte(s)
Diff to previous 40833
Removed former SCOOP implementation as it is now obsolete and if any new
implementation there is (through ETH) most likely it will be completely
different from the previous one.
We only keep `separate' at the type checking level, but not for code generation.


Revision 40833 - (view) (annotate) - [select for diffs]
Modified Sun Dec 21 19:30:06 2003 UTC (15 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137343 byte(s)
Diff to previous 40771
Incorrect code to force checking of expanded which was disabled in IL code
generation thus failing to check the VTEC and VLEC validity rules.


Revision 40771 - (view) (annotate) - [select for diffs]
Modified Thu Dec 11 23:36:44 2003 UTC (15 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137114 byte(s)
Diff to previous 40737
Use `twin' instead of `clone' which is now made obsolete.
Use `as_lower' and `as_upper' whenever appropriate instead of cloning and
  then calling `to_lower' or `to_upper'.


Revision 40737 - (view) (annotate) - [select for diffs]
Modified Thu Dec 11 19:57:08 2003 UTC (15 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137163 byte(s)
Diff to previous 40603
Use `as_lower' and `as_upper' whenever appropriate instead of cloning and
  then calling `to_lower' or `to_upper'.


Revision 40603 - (view) (annotate) - [select for diffs]
Modified Thu Dec 4 07:56:44 2003 UTC (16 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137181 byte(s)
Diff to previous 40554
Improved `is_removable' so that it cannot be removed if it is not part
of `classes' from SYSTEM_I, meaning that it has already been removed.


Revision 40554 - (view) (annotate) - [select for diffs]
Modified Mon Dec 1 21:06:47 2003 UTC (16 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137069 byte(s)
Diff to previous 40546
Better usage of `open_read' / `is_open_read' from Gobo to avoid querying
the file system too many times, thus we gain a few precious seconds.


Revision 40546 - (view) (annotate) - [select for diffs]
Modified Mon Dec 1 17:51:43 2003 UTC (16 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137217 byte(s)
Diff to previous 40541
Made sure to update `anchored_features' with new computed `l_anchored_features'
at the end of the loop and not each time. Also we do it even if `l_anchored_features'
is empty, as if we do not do it, then it is possible that we will try to
generate TYPE_FEATURE_I in IL code generation that are invalid (because the
anchor has been removed and its associated class too).


Revision 40541 - (view) (annotate) - [select for diffs]
Modified Sat Nov 29 23:32:19 2003 UTC (16 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137272 byte(s)
Diff to previous 40533
Made SUPPLIER_LIST an ARRAYED_LIST.
Removed `suppliers' from SUPPLIER_LIST, instead we traverse directly the
TWO_WAY_SORTED_SET [DEPEND_UNIT].
Fixed precondition violation `consistency' in `remove_occurrence' because
if you remove `create l.make' and `l' being of type LINKED_LIST [INTEGER] it
would be violated, because we don't skip removed classes from system.


Revision 40533 - (view) (annotate) - [select for diffs]
Modified Fri Nov 28 19:26:18 2003 UTC (16 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137268 byte(s)
Diff to previous 39477
Fixed code so that when we insert a new type we `melt_all' features of
associated class. This fixes eweasel bug `term114':
  After initial compilation, a generic class TEST1 [G] is changed to a
  non-generic class and the class that inherits from TEST1 is changed
  correspondingly. When the system is frozen, the compiler dies in degree -1.


Revision 39477 - (view) (annotate) - [select for diffs]
Modified Thu Oct 9 01:53:57 2003 UTC (16 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 137286 byte(s)
Diff to previous 39387
Make sure we use a fake routine while type checking custom attributes of classes.


Revision 39387 - (view) (annotate) - [select for diffs]
Modified Thu Oct 2 21:19:19 2003 UTC (16 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136817 byte(s)
Diff to previous 39209
Added type_check and byte code generation for `assembly_attribute' indexing
entry.


Revision 39209 - (view) (annotate) - [select for diffs]
Modified Tue Sep 23 00:46:13 2003 UTC (16 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136082 byte(s)
Diff to previous 39005
Fixed minor issues with newly introduced TYPED_POINTER class, but also an existing
issue with POINTER class in IL code generation. It turns out that we were checking
VTEC errors all the time now because we forget to exclude TYPED_POINTER as part of
the classes for which we should not check VTEC. Doing the check is very expensive
(on the compiler code it was freezing the compilation at the end of degree 4
for about 20s).
Now in IL code generation it was always checking because we incorrectly placed
a paranthesis.


Revision 39005 - (view) (annotate) - [select for diffs]
Modified Thu Sep 11 22:40:44 2003 UTC (16 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136015 byte(s)
Diff to previous 38948
To properly check creation expression in an invariant clause, we need to
set AST_CONTEXT to the `invariant_feature' context, otherwise we violate
the precondition in the CREATION_EVALUATOR.evaluated_type call as
AST_CONTEXT.current_feature was Void


Revision 38948 - (view) (annotate) - [select for diffs]
Modified Sun Sep 7 01:58:57 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135958 byte(s)
Diff to previous 38926
Fixed bug where when removing classes in the system was not removing
the generated C files. It was known it was not happening for C++ code,
but I did not realize that the ID was not part of the name of the file
we were trying to remove.


Revision 38926 - (view) (annotate) - [select for diffs]
Modified Sat Sep 6 05:53:53 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135942 byte(s)
Diff to previous 38904
Fixed new implementation of `process_skeleton' as it did not work for .NET
systems where not all classes have a skeleton (eg. external classes).
Added assertion in CLASS_C to reflect that `skeleton' should not be Void.
Updated to new API of GENERATION_BUFFER.


Revision 38904 - (view) (annotate) - [select for diffs]
Modified Fri Sep 5 06:36:22 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135873 byte(s)
Diff to previous 38902
Fixed typo in last integration. We were always freezing when adding a new
generic derivation where it should only be done when class has some external
declaration.


Revision 38902 - (view) (annotate) - [select for diffs]
Modified Fri Sep 5 03:20:35 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135886 byte(s)
Diff to previous 38886
Fixed processing of skeleton for melted mode when handling classes with expanded
attributes (fixes eweasel test melt015). The reason is that if an expanded class
adds or removes attributes its skeleton is modified, but not the one of classes
that are using it as an attribute. Therefore the size of objects is completely
incoherent (it keeps the one from the last freeze).
To ensure it works properly, we need to go through all classes of the system
at each compilation. It is maybe not efficient, but I don't see another solution.
However this impact is only for incremental compilation.


Revision 38886 - (view) (annotate) - [select for diffs]
Modified Thu Sep 4 21:39:40 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136202 byte(s)
Diff to previous 38162
Added `has_externals' so that when a class has an external declaration, it
is set to True. Useful for the compiler to find out if it needs to freeze
or not when creating a new generic derivation of a class.
Fixed issue when an external routine is added to the melted_set where we
need to freeze and this was not done. This fix removes previous fix we
made in `compute_byte_code' from FEATURE_I.


Revision 38162 - (view) (annotate) - [select for diffs]
Modified Wed Jul 23 01:20:19 2003 UTC (16 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135604 byte(s)
Diff to previous 38000
Because we always call externals through their encapsulation now, their is no
  need to create a special type of FEAT_MELTED_INFO.

Part of the following commit session:
Modified Files:
	common/parser/parser/external.l common/parser/parser/external.y
	common/parser/parser/external_parser.e
	common/parser/parser/external_scanner.e common/parser/parser/external_tokens.e
	eiffel/AST/external/c_extension_as.e eiffel/AST/external/cpp_extension_as.e
	eiffel/AST/external/dll_extension_as.e eiffel/AST/external/external_as.e
	eiffel/AST/external/external_extension_as.e eiffel/AST/external/external_lang_as.e
	eiffel/AST/external/il_extension_as.e eiffel/AST/external/inline_extension_as.e
	eiffel/AST/external/macro_extension_as.e eiffel/AST/external/struct_extension_as.e
	eiffel/AST/skeleton/body_as.e eiffel/byte_code/ext_byte_code.e
	eiffel/byte_code/external_bl.e eiffel/byte_code/external_bw.e
	eiffel/compiler/externals.e eiffel/compiler/feature_table.e
	eiffel/compiler/melted_info.e eiffel/compiler/pass2_control.e
	eiffel/generation/rout_table.e eiffel/genericity/type_c.e
	eiffel/inheritance/inherit_table.e 	eiffel/interface/c_extension_i.e
	eiffel/interface/c_macro_extension_i.e eiffel/interface/class_c.e
	eiffel/interface/cpp_extension_i.e eiffel/interface/dll_extension_i.e
	eiffel/interface/external_ext_i.e eiffel/interface/external_i.e
	eiffel/interface/feature_i.e eiffel/interface/il_extension_i.e
	eiffel/interface/inline_extension_i.e eiffel/interface/struct_extension_i.e
	eiffel/interface/system_i.e eiffel/tables/execution_unit.e
Removed Files:
	eiffel/byte_code/c_ext_byte_code.e eiffel/byte_code/cpp_ext_byte_code.e
	eiffel/byte_code/dll_ext_byte_code.e eiffel/byte_code/il_ext_byte_code.e
	eiffel/byte_code/inline_ext_byte_code.e eiffel/byte_code/macro_ext_byte_code.e
	eiffel/byte_code/struct_ext_byte_code.e eiffel/compiler/ext_feat_melted_info.e
	eiffel/compiler/external_info.e eiffel/compiler/il_c_externals.e
	eiffel/generation/extern_entry.e eiffel/shared/shared_externals.e
	eiffel/tables/ext_execution_unit.e


Revision 38000 - (view) (annotate) - [select for diffs]
Modified Thu Jul 10 22:49:15 2003 UTC (16 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135869 byte(s)
Diff to previous 37434
Updated `check_root_class_creators' so that it accepts the following code:
class TEST
create
	make
feature
	make (args: like x) is do end
	x: ARRAY [STRING]
end


Revision 37434 - (view) (annotate) - [select for diffs]
Modified Wed May 28 21:05:21 2003 UTC (16 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135789 byte(s)
Diff to previous 37376
Removed `mark_all_used' since it is not used anymore.
Updated TUPLE_CLASS_B so that there is no special `check_validity' implementation
for TUPLE. Made TUPLE_CLASS_B redefine `is_tuple' accordingly.
Cosmetics.


Revision 37376 - (view) (annotate) - [select for diffs]
Modified Tue May 27 18:06:53 2003 UTC (16 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136466 byte(s)
Diff to previous 37055
Added `is_tuple' to find out if a class is the tuple class. Used only by
debugger so far.


Revision 37055 - (view) (annotate) - [select for diffs]
Modified Wed Apr 30 03:08:32 2003 UTC (16 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136404 byte(s)
Diff to previous 37036
Removed non-used local variable.


Revision 37036 - (view) (annotate) - [select for diffs]
Modified Tue Apr 29 21:53:01 2003 UTC (16 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136424 byte(s)
Diff to previous 36947
Added comments about cloning of `f_suppliers' in pass3 for invariant.


Revision 36947 - (view) (annotate) - [select for diffs]
Modified Thu Apr 24 22:14:05 2003 UTC (16 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 136308 byte(s)
Diff to previous 36868
Added `convert_to' and `convert_from', and their corresponding set_ routines.
  Used for convertibility mechanism.
Added `constraint_actual_type' which is equivalent to `actual_type' except
  that all formals if any are replaced by their constraint type.
Renamed `is_procedure' into `is_routine' per FEATURE_I changes.


Revision 36868 - (view) (annotate) - [select for diffs]
Modified Sat Apr 19 18:18:27 2003 UTC (16 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135075 byte(s)
Diff to previous 36533
New implementation of ROUT_ID_SET which uses less space in memory. We have
saved about 6% in size of COMP directory, and we have also improved performance
by having just one attribute of type INTEGER for the first element of the set,
and if there are 2 or more elements we create the SPECIAL [INTEGER] instance
that holds the remaining items.
Updated callers to `make' as it does not take an argument now.


Revision 36533 - (view) (annotate) - [select for diffs]
Modified Thu Apr 3 18:40:54 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135083 byte(s)
Diff to previous 36532
Updated to new ETL3 syntax.


Revision 36532 - (view) (annotate) - [select for diffs]
Modified Thu Apr 3 18:19:57 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 134914 byte(s)
Diff to previous 36526
Fixed precondition violation in usage of `copy_file' from KL_BINARY_INPUT_FILE.


Revision 36526 - (view) (annotate) - [select for diffs]
Modified Thu Apr 3 07:17:53 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 134914 byte(s)
Diff to previous 36359
Updated to new interface of parsing due to use of Gobo 3.1.


Revision 36359 - (view) (annotate) - [select for diffs]
Modified Sat Mar 15 02:48:00 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135099 byte(s)
Diff to previous 36307
Set `has_syntax_warning' before each parsing with values taken from
  SYSTEM_I to find out if we should create a warning each time we encounter
  an obsolete syntactical construct.


Revision 36307 - (view) (annotate) - [select for diffs]
Modified Wed Mar 12 03:22:23 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135038 byte(s)
Diff to previous 35772
Removed not used anymore `is_generated' since it was not fine enough. We
  are better of using `is_generated' from CLASS_TYPE.


Revision 35772 - (view) (annotate) - [select for diffs]
Modified Wed Feb 5 02:32:35 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135239 byte(s)
Diff to previous 35756
Removed non-needed local


Revision 35756 - (view) (annotate) - [select for diffs]
Modified Tue Feb 4 22:44:32 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 135261 byte(s)
Diff to previous 35730
Added new type of validity error checking: checks VLEC with instantiated
generic parameter inherited from parents. It forbids the following sequence
of code:
 class A [G]
 inherit
 	ARRAY [expanded A [G]]
 end

Added `implemented_type' which given a `class_id' and a `current_type' will
 find the CL_TYPE_I instance associated to `class_id' used by inheritance
 in `current_type'. Needed for `generate_expanded_creation_table' from
 SYSTEM_I, to generate the correct creation feature name, when this feature
 is inherited from a parent class. It fixes eweasel entry
 `finalize-inh-exp-creation-proc ccomp015'.


Revision 35730 - (view) (annotate) - [select for diffs]
Modified Mon Feb 3 23:39:51 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 133666 byte(s)
Diff to previous 35676
Fixed incorrect class name for `check_validity': ANY instead of STRING for
  correct definition of `internal_correct_mismatch'.


Revision 35676 - (view) (annotate) - [select for diffs]
Modified Fri Jan 31 01:23:02 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 133669 byte(s)
Diff to previous 35599
Removed useless local variable.


Revision 35599 - (view) (annotate) - [select for diffs]
Modified Wed Jan 29 07:04:19 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 133689 byte(s)
Diff to previous 35552
Fixed named for required routine for recoverable storable:
  correct_mismatch -> internal_correct_mismatch.
Fixed bug in finalization where `internal_correct_mismatch' needs to be
  kept even if not used.


Revision 35552 - (view) (annotate) - [select for diffs]
Modified Sat Jan 25 00:12:46 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 133671 byte(s)
Diff to previous 35546
Added support for recoverable storable by generating new C variable
`egc_correct_mismatch' which is the pointer to the feature `internal_correct_mismatch'
from ANY.


Revision 35546 - (view) (annotate) - [select for diffs]
Modified Fri Jan 24 22:13:35 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 133207 byte(s)
Diff to previous 35543
Fixed a bug where compiler was crashing when a class has its generics changed,
  because we were not forcing a recomputation of its skeleton through a call
  to `set_changed3a'.
Fixed an issue where compiler was not detecting wrong declaration of a
  class in a local part of a routine which references a class that got its
  generic changed. Fix was to force a complete `type_check' in `pass3'.
  We have added `need_type_check' for this purpose and this is checked
  in `changed3'.


Revision 35543 - (view) (annotate) - [select for diffs]
Modified Fri Jan 24 06:25:51 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 132733 byte(s)
Diff to previous 35500
Fixed bug when changing the `frozen' status of a class, not all dependencies
  were not recompiled and therefore non-verifiable code was generated.
By doing so, it came to mind that when a class has its generics changed,
  we could do the same thing as when the frozen status changed. It will
  removes potential bug due to removal of class which is always a big
  issue in current implemetnation.


Revision 35500 - (view) (annotate) - [select for diffs]
Modified Thu Jan 23 00:47:16 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 132287 byte(s)
Diff to previous 35440
In order to update the debug information associated to the invariant in IL
code generation, we have to do like features, i.e. recheck and regenerate
the byte code with the new AST info.


Revision 35440 - (view) (annotate) - [select for diffs]
Modified Sun Jan 19 02:02:55 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 131834 byte(s)
Diff to previous 35180
Force recompilation of code when `line_generation' is on, or if we are in IL
  code generation.
Fixed bug when calling `types.wipe_out' to clean up associated class types
  of current class. We also need to remove them from `System.class_types'.
  As a consequence, introduced `remove_types' which does the job properly.
  Not cleaning `System.class_types' was causing some info to be generated
  for even dead types (e.g. assertion level info in IL code generation).


Revision 35180 - (view) (annotate) - [select for diffs]
Modified Mon Dec 23 20:15:53 2002 UTC (16 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 131406 byte(s)
Diff to previous 34991
Made current class COMPARABLE instead of PART_COMPARABLE. We still keep the
`is_equal' from ANY because the way CLASS_C instances are created, there is
only one with a given `class_id'. This is useful to sort CLASS_C instances
by their topological order.


Revision 34991 - (view) (annotate) - [select for diffs]
Modified Fri Dec 6 19:35:24 2002 UTC (17 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 131368 byte(s)
Diff to previous 34972
Added call to `checksum' in `check_parents otherwise it will crash the
compiler with following class:
	class CRASH
	inherit
		CHAIN
	feature
		duplicate (n: INTEGER): like Current is do end
	end


Revision 34972 - (view) (annotate) - [select for diffs]
Modified Thu Dec 5 22:02:07 2002 UTC (17 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 131342 byte(s)
Diff to previous 34744
Added comments in invariant part to say that once a CLASS_C is properly
initialized, it should have access to an AST.


Revision 34744 - (view) (annotate) - [select for diffs]
Modified Mon Nov 4 18:15:10 2002 UTC (17 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 131262 byte(s)
Diff to previous 34273
Fixed preconditions violation in `record_suppliers' in the case where
we handle an IL external feature which has no `body_index' (since not defined
in Eiffel).


Revision 34273 - (view) (annotate) - [select for diffs]
Modified Mon Sep 2 00:02:30 2002 UTC (17 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 131009 byte(s)
Diff to previous 33995
Made compuation of `main_parent' only when `il_generation'.


Revision 33995 - (view) (annotate) - [select for diffs]
Modified Sat Aug 24 00:23:01 2002 UTC (17 years, 3 months ago) by neilc
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 130970 byte(s)
Diff to previous 33751
Removed 'valid_body_index' precondition since is violated by certain .NET features
since .NET features may have a body_index of 0/


Revision 33751 - (view) (annotate) - [select for diffs]
Modified Mon Aug 19 05:12:56 2002 UTC (17 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 131000 byte(s)
Diff to previous 33605
Reset `types' of current class when a class has its `is_single' status changed.
Added `main_parent' and `number_of_features' that are used in IL code generation
  to find quickly on which branch we should perform the single inheritance
  code generation.


Revision 33605 - (view) (annotate) - [select for diffs]
Modified Mon Aug 12 18:46:36 2002 UTC (17 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 130071 byte(s)
Diff to previous 33452
Perform type checking of custom attributes at degree 3.


Revision 33452 - (view) (annotate) - [select for diffs]
Modified Tue Aug 6 22:45:00 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 128945 byte(s)
Diff to previous 33427
Fixed an invariant violation that will occur in `AST_CONTEXT.clear2' because
we are cloning the head of `supplier_ids' and possibly add an element to the
list afterward which causes the head still in `AST_CONTEXT' to be corrupted
because the count did not change, but the BI_LINKABLE elements are incorrect.


Revision 33427 - (view) (annotate) - [select for diffs]
Modified Tue Aug 6 03:19:11 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 128784 byte(s)
Diff to previous 33419
Use local variable to perform loop for increased performance.


Revision 33419 - (view) (annotate) - [select for diffs]
Modified Tue Aug 6 00:02:26 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 128435 byte(s)
Diff to previous 33366
Added missing pre and post-conditions.
Cosmetics.


Revision 33366 - (view) (annotate) - [select for diffs]
Modified Fri Aug 2 02:34:01 2002 UTC (17 years, 4 months ago) by neilc
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 126225 byte(s)
Diff to previous 33262
Added attribuet to determine if truly a .NET class.


Revision 33262 - (view) (annotate) - [select for diffs]
Modified Fri Jul 26 19:01:34 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 126095 byte(s)
Diff to previous 33160
Improved precondition of constraint.
Added `feature_of_rout_id' and improved `feature_of_feature_id' in speed.


Revision 33160 - (view) (annotate) - [select for diffs]
Modified Sat Jul 20 04:11:26 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 124956 byte(s)
Diff to previous 33054
Added `is_single' and `is_interface' (see comment for info).
Improved `check_parents':
- so that it tries to report as many errors as possible, i.e. not stopping
  checking, but goes to next parent.
- added new error detection for .NET classes inheritance: we now generate
  both VIFI1 and VIFI2 errors.


Revision 33054 - (view) (annotate) - [select for diffs]
Modified Tue Jul 16 22:03:31 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 123668 byte(s)
Diff to previous 32626
Insert skeleton to perform system validity checking, but at the moment it
does not work very well because we do not handle renaming of feature used
by currently inherited feature.


Revision 32626 - (view) (annotate) - [select for diffs]
Modified Mon Jul 1 17:31:58 2002 UTC (17 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 123266 byte(s)
Diff to previous 32539
Simplify code of `generate_workbench_files', `generate_descriptor_tables'
and `generate_feature_table' so that most code is not duplicated.
Protected `generate_feature_table' so that it is not generated when a class
is precompiled.


Revision 32539 - (view) (annotate) - [select for diffs]
Modified Wed Jun 19 00:40:59 2002 UTC (17 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 124222 byte(s)
Diff to previous 32480
Added `feature_of_feature_id' that in addition of looking in `feature_table'
also look in `anchored_features/ and in `generic_features'.


Revision 32480 - (view) (annotate) - [select for diffs]
Modified Thu Jun 13 21:25:34 2002 UTC (17 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 122961 byte(s)
Diff to previous 32461
Moved `assembly_info' from CLASS_C to CLASS_TYPE as two different generic
derivation of a CLASS_C instance can be generated in two different assemblies.


Revision 32461 - (view) (annotate) - [select for diffs]
Modified Thu Jun 13 02:03:44 2002 UTC (17 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 123268 byte(s)
Diff to previous 32446
Adapted code due to rename of `compiled' into `is_compiled'.
Removed check statement as it was not a valid one as the generic parameter
 can be redefined into something else. Instead improved comments.


Revision 32446 - (view) (annotate) - [select for diffs]
Modified Wed Jun 12 17:09:16 2002 UTC (17 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 123287 byte(s)
Diff to previous 32291
Added `assembly_info' and its corresponding set feature.
Fixed `record_precompiled_class_in_system' so that it correctly handles
external classes.


Revision 32291 - (view) (annotate) - [select for diffs]
Modified Thu May 30 22:54:59 2002 UTC (17 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 122935 byte(s)
Diff to previous 32284
Use `extend' instead of `put_front', and `after' instead of `off' on `types'
 from CLASS_C. This is due because in TYPE_LIST we reduced number of exported
 features.


Revision 32284 - (view) (annotate) - [select for diffs]
Modified Thu May 30 18:57:36 2002 UTC (17 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 122941 byte(s)
Diff to previous 32243
Removed `merge' that was not used anymore since we removed multiple precompiled
 libraries.
Updated creation of `types' since now its implementation is based on an
ARRAYED_LIST instead of a LINKED_LIST.


Revision 32243 - (view) (annotate) - [select for diffs]
Modified Tue May 28 22:55:03 2002 UTC (17 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 124219 byte(s)
Diff to previous 32061
Fixed code generation so that when a class is made `frozen' or has its frozen
keyword removed, we update `types' from CLASS_C correctly in case we are
performing some IL code generation.


Revision 32061 - (view) (annotate) - [select for diffs]
Modified Tue May 14 19:11:52 2002 UTC (17 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 123922 byte(s)
Diff to previous 31884
Changed `feature_table_file_id' so that it works fine when there is no `types'
associated with current class (this happens when you make a generic class
visible in the Ace file and that this class is not part of your system).
In this case we return `class_id' which is not good as if the classes
are added to the system later, the feature table file will not be generated
in the same directory as the code/descriptor files.


Revision 31884 - (view) (annotate) - [select for diffs]
Modified Tue May 7 00:00:16 2002 UTC (17 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 123940 byte(s)
Diff to previous 31826
Removed SUPPLIER_CLASS as only its `supplier: CLASS_C' attribute was used. So
  instead of having `syntactical_suppliers' of type LINKED_LIST [SUPPLIER_CLASS]
  it is now of type ARRAYED_LIST [CLASS_C]. It improves the performance
  and reduces number of classes in system.


Revision 31826 - (view) (annotate) - [select for diffs]
Modified Fri May 3 02:29:46 2002 UTC (17 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 124053 byte(s)
Diff to previous 31261
Changed some LINKED_LIST into ARRAYED_LIST for increased efficiency. Tests
shows that we gain about 60s when finalizing the compiler (we went from
1425s to 1365s).


Revision 31261 - (view) (annotate) - [select for diffs]
Modified Wed Apr 3 19:22:39 2002 UTC (17 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 124043 byte(s)
Diff to previous 31089
Replaced use of `+' by `|' for operation on `sk_exp' as sk constants are mask
and it is more logical to use `|' for this type of operation rather than `+'
eventhough the effect is the same.


Revision 31089 - (view) (annotate) - [select for diffs]
Modified Sun Mar 17 01:24:08 2002 UTC (17 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 124041 byte(s)
Diff to previous 31072
Added first implementation of `is_generated' to show a class that needs to
be generated in IL code generation, i.e. not a precompiled class, nor an
external one. It is the first implementation because in the future we will
have Eiffel classes in other .NET assemblies and we will need to refine
this feature.


Revision 31072 - (view) (annotate) - [select for diffs]
Modified Sat Mar 16 03:15:05 2002 UTC (17 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 123840 byte(s)
Diff to previous 31060
Renamed IL_INHERIT_ERROR into VIFI.


Revision 31060 - (view) (annotate) - [select for diffs]
Modified Fri Mar 15 07:18:52 2002 UTC (17 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 123852 byte(s)
Diff to previous 30822
Removed non-used attributes: pass2_done, hidden, hide_implementation.


Revision 30822 - (view) (annotate) - [select for diffs]
Modified Fri Feb 22 21:17:11 2002 UTC (17 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 124039 byte(s)
Diff to previous 30475
Removed `dispose_feature' as it is not used.


Revision 30475 - (view) (annotate) - [select for diffs]
Modified Wed Jan 30 19:23:18 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 124549 byte(s)
Diff to previous 30425
Name of anchors are now using the system name from where they come from
as it is important in the future to distinguish from different Eiffel assemblies.


Revision 30425 - (view) (annotate) - [select for diffs]
Modified Sun Jan 27 20:22:34 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 124529 byte(s)
Diff to previous 30373
Fixed bugs in new IL code generation of anchored types. We are now using
`type_set' local to Current rather than `SYSTEM_I.type_set' so that we
minimize the code generation by only generating a TYPE_FEATURE_I when
needed in current class, not because some descendant class needed it.
Now names of anchored TYPE_FEATURE_I is `_type_XX' where XX is the routine ID,
there is no need to bound them to the class name as .NET will do an automatic
merge at the level of interfaces providing the same feature with the same
signature.


Revision 30373 - (view) (annotate) - [select for diffs]
Modified Wed Jan 23 04:21:33 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 123930 byte(s)
Diff to previous 30329
Fixed a bug in `formal_at_position' because we were not saving the cursor
position of `generic_features' and we are doing traversal within traversal.
(Found by trying to generate the ACTION_SEQUENCE and because of the recent
addition of proper implementation of `generate_type_feature' in
IL_CODE_GENERATOR when handling generic classes).


Revision 30329 - (view) (annotate) - [select for diffs]
Modified Mon Jan 21 16:27:37 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 123847 byte(s)
Diff to previous 30245
Now use HASH_TABLE as it offers the same functionality as EXTEND_TABLE did.
Removed replication classes as it has never been implemented completely and
  because it is likely that if we implement it, we would do it differently.
Reimplemented `default_rescue_feature' in a more efficient way.
Renamed local variable of `pass3' to simplify code comprehension.
Cosmetics
Added some pre/post-conditions.
Renamed FORMAL_ATTRIBUTE_I into TYPE_FEATURE_I.
Added `update_anchors' used during IL code generation to manage anchored types.


Revision 30245 - (view) (annotate) - [select for diffs]
Modified Thu Jan 17 03:19:52 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 122560 byte(s)
Diff to previous 30174
Renamed `a_class' into `current_class' and `a_feature' into `current_feature'
in AST_CONTEXT.
Updated to use new creation procedure `make' from CL_TYPE_I.


Revision 30174 - (view) (annotate) - [select for diffs]
Modified Fri Jan 11 01:57:19 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 122542 byte(s)
Diff to previous 29787
Added management of formal generic parameter both for the ones defined in current
  class and the ones defined in parent classes. This is used for full genericity
  in IL generation, but we might want use it for normal eiffel as it simplify the
  code for generic conformance.
Simplified and speed up `default_create_feature' by using `feature_of_rout_id' from
  FEATURE_TABLE.
Improved post-condition of `is_generic'.
Inherited from DEBUG_OUTPUT so that we can see in the EiffelStudio debugger the
  `name' along with the `class_id'.
Small cosmetics.


Revision 29787 - (view) (annotate) - [select for diffs]
Modified Wed Dec 19 01:11:51 2001 UTC (17 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 116330 byte(s)
Diff to previous 29784
In `feature_named' added precondition to ensure that argument is at lest not void.
Protected `feature_named' not to search for a feature is the searched name is empty.


Revision 29784 - (view) (annotate) - [select for diffs]
Modified Wed Dec 19 00:43:07 2001 UTC (17 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 116258 byte(s)
Diff to previous 29316
Since we can't know if a CLASS_C contains some C++ externals, we try first to
delete the .c file, if we do not succeed we try the .cpp file.


Revision 29316 - (view) (annotate) - [select for diffs]
Modified Tue Nov 27 18:21:04 2001 UTC (18 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 115965 byte(s)
Diff to previous 28620
Replaced `empty_body' by `is_empty'.


Revision 28620 - (view) (annotate) - [select for diffs]
Modified Wed Oct 31 04:04:09 2001 UTC (18 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 115969 byte(s)
Diff to previous 28400
Added `is_generic' and used it in preconditions.


Revision 28400 - (view) (annotate) - [select for diffs]
Modified Wed Oct 24 22:34:13 2001 UTC (18 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 115901 byte(s)
Diff to previous 27566
Added supports multiple inheritance for IL code generation.


Revision 27566 - (view) (annotate) - [select for diffs]
Modified Wed Sep 12 02:59:10 2001 UTC (18 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 114625 byte(s)
Diff to previous 27541
Use `set_feature_name_id' from FEATURE_DEPENDANCE instead of `set_feature_name'
due to recent changes in FEATURE_DEPENDANCE to keep the feature_name_id instead
of the feature_name.


Revision 27541 - (view) (annotate) - [select for diffs]
Modified Wed Sep 12 00:40:05 2001 UTC (18 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 114607 byte(s)
Diff to previous 27520
Changed `changed_features' to be a SEARCH_TABLE of INTEGER instead of STRING.
Updated `insert_changed_feature' accordingly to accept an integer instead of a STRING.
Instead of using "_inv_" has an hard-coded name for invariants in feature dependence
  we are now using the `feature_name' of `INVARIANT_FEAT_I' which is "_invariant".
  Updated hard-coded "_inv_" in commented code to "_invariant".


Revision 27520 - (view) (annotate) - [select for diffs]
Modified Tue Sep 11 03:16:14 2001 UTC (18 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 114456 byte(s)
Diff to previous 27219
Use constants defined in NAMES_HEAP instead of manifest strings to represent
a feature name.


Revision 27219 - (view) (annotate) - [select for diffs]
Modified Fri Aug 24 23:32:10 2001 UTC (18 years, 3 months ago) by xavier
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 114408 byte(s)
Diff to previous 26913
Fixed various typos.


Revision 26913 - (view) (annotate) - [select for diffs]
Modified Sun Aug 12 23:50:20 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 114399 byte(s)
Diff to previous 17666
Merged branch `dev46_manu' to the trunc.


Revision 17666 - (view) (annotate) - [select for diffs]
Modified Thu Sep 30 03:37:22 1999 UTC (20 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 97749 byte(s)
Diff to previous 17555
Added C++ protection code to the descriptor and feature tables C files, otherwise
when they are compiled in C++ mode, it does not work anymore.


Revision 17555 - (view) (annotate) - [select for diffs]
Modified Sat Sep 25 03:34:15 1999 UTC (20 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 97625 byte(s)
Diff to previous 17410
Create an empty conformance table at the beginning. It will be created when necessary.

New generation of C files which does not make use of D and F directories. This has been
done to improve the performance of the C compilation, especially when using
`quick_finalize'. Now, all the files corresponding to one class are generated in
the same C directory, therefore when you modify one class you only have to recompile
one C directory and not 3 as it used to be.


Revision 17410 - (view) (annotate) - [select for diffs]
Modified Tue Sep 21 02:15:46 1999 UTC (20 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 97614 byte(s)
Diff to previous 17298
Fixed a bug in the backup mechanism when used with the new lace `all' option
in front of the cluster name.


Revision 17298 - (view) (annotate) - [select for diffs]
Modified Wed Sep 15 22:42:41 1999 UTC (20 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 97588 byte(s)
Diff to previous 16190
For some reasons, we were checking twice the local variables names against the
feature of the current classes. Now, we will do it only one: by default we will
do it in `type_check' of FEATURE_I, if it is not called we call `check_local_names'.


Revision 16190 - (view) (annotate) - [select for diffs]
Modified Wed Aug 11 19:33:58 1999 UTC (20 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 97356 byte(s)
Diff to previous 15902
Since `forth' cannot be used when we are `after' and also because we really want
to be at the end of the list, we use `finish' instead. This adds a small overhead
but that really works with contracts `on'.


Revision 15902 - (view) (annotate) - [select for diffs]
Modified Sun Aug 1 00:00:57 1999 UTC (20 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 97355 byte(s)
Diff to previous 15001
Improvement regarding the finalization process when the user choose to include
a precompiled library in its Ace file. The only limitation of the current implementation
is that all the classes added by the user will be in the system and also
there is no good topological sort on the full system but a topological sort on
all the parts of the system (precompiled parts + non precompiled part).


Revision 15001 - (view) (annotate) - [select for diffs]
Modified Mon Jun 21 01:50:14 1999 UTC (20 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 96240 byte(s)
Diff to previous 14407
Added a function which removes the associated C file to a class that we are going to
remove.
Add the generation of the `finished' file for the makefile. In most of the case
the `finished' file are created by the makefile and removed by the compiler
(done here).


Revision 14407 - (view) (annotate) - [select for diffs]
Modified Thu May 13 01:16:46 1999 UTC (20 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92202 byte(s)
Diff to previous 14315
Fixed a typo in comment


Revision 14315 - (view) (annotate) - [select for diffs]
Modified Mon May 10 01:29:21 1999 UTC (20 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92201 byte(s)
Diff to previous 14244
Fixed a bug with the new default create mechanism where the `default_create'
procedure was called even if it has an empty body.


Revision 14244 - (view) (annotate) - [select for diffs]
Modified Tue May 4 18:09:42 1999 UTC (20 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92018 byte(s)
Diff to previous 14231
Modified completeley the validity checking of the constraint part of
a generic class. Before, it was not able starting from scratch to detect
invalid use of creation constraint clause, now it is.

Fixed a bug of command/query separation for `check_constraints' defined in TYPE_A.

The remaining problems are a missing incrementallity check when someone changes
the creation clause of a class used as a generic parameter of a generic class.


Revision 14231 - (view) (annotate) - [select for diffs]
Modified Sun May 2 02:10:01 1999 UTC (20 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91860 byte(s)
Diff to previous 14212
Implementation of the new default_create mechanism.
In SYSTEM_I changed the run-time licensing number.


Revision 14212 - (view) (annotate) - [select for diffs]
Modified Fri Apr 30 12:08:17 1999 UTC (20 years, 7 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89916 byte(s)
Diff to previous 13500
The Eiffel parser is now wrapped in an Eiffel class and accessed
by inheriting from SHARED_EIFFEL_PARSER.
Fixed bug due the fact that CONSTRUCT_LIST now inherits from
ARRAYED_LIST instead of FIXED_LIST.


Revision 13500 - (view) (annotate) - [select for diffs]
Modified Fri Feb 26 07:36:39 1999 UTC (20 years, 9 months ago) by bouaziz
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89986 byte(s)
Diff to previous 13232
bug fix: the dependencies were not updated correctly: each time
you touched a function it appeared one more time as a client
of the functions it was client of.


Revision 13232 - (view) (annotate) - [select for diffs]
Modified Fri Feb 5 03:57:18 1999 UTC (20 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89596 byte(s)
Diff to previous 12631
Fixed some problems related to the use of expanded types in generic parameter or with
simple expanded types:
- Fixed the byte code generation
- Changed the skeleton to handle correctly expanded type as a generic parameter
- Changed the attribute description to match the new skeleton
- Propagation of the expanded information (which was not done before, especially
  with inheritance)
- Changed the make routine of the TO_SPECIAL class so that it handles correctly
  an expanded type.


Revision 12631 - (view) (annotate) - [select for diffs]
Modified Sat Jan 16 02:58:30 1999 UTC (20 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89556 byte(s)
Diff to previous 12173
in melt_all, add an update for the DEPEND_SERVER.
It is a  bug fix for the dead code removal: while
using precompiled library with generic classes
all the body_ids are updated for the generic classes
but they were not in the keys of the depend server


Revision 12173 - (view) (annotate) - [select for diffs]
Modified Sat Dec 5 19:42:16 1998 UTC (21 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89460 byte(s)
Diff to previous 12046
Fixed a bug with `default_rescue' and breakpoints. When there is a default rescue
we need to generate the byte code which corresponds to it, but we cannot set a
breakpoint in it.


Revision 12046 - (view) (annotate) - [select for diffs]
Modified Thu Nov 19 23:26:13 1998 UTC (21 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89353 byte(s)
Diff to previous 11912
bug fix in pass3: when recomputing the invariant, f_suppliers took the
suppliers of the last feature treated when it should become Void.


Revision 11912 - (view) (annotate) - [select for diffs]
Modified Tue Nov 10 07:54:39 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89323 byte(s)
Diff to previous 11897
API/interface/e_feature.e
eiffel/AST/clickable/class_type_as.e
eiffel/AST/expressions/binary_as.e
eiffel/AST/expressions/un_strip_as.e
eiffel/AST/expressions/unary_as.e
eiffel/AST/skeleton/access_address_as.e
eiffel/AST/skeleton/access_feat_as.e
eiffel/AST/skeleton/bits_symbol_as.e
eiffel/AST/skeleton/id_as.e
eiffel/AST/skeleton/like_id_as.e
eiffel/AST/skeleton/precursor_as.e
eiffel/byte_code/feature_b.e
eiffel/compiler/array_optimizer.e
eiffel/compiler/class_dependance.e
eiffel/compiler/depend_unit.e
eiffel/compiler/feat_iterator.e
eiffel/compiler/feature_dependance.e
eiffel/compiler/feature_table.e
eiffel/compiler/remover.e
eiffel/compiler/select_table.e
eiffel/generation/attr_entry.e
eiffel/generation/entry.e
eiffel/generation/poly_table.e
eiffel/generation/rout_entry.e
eiffel/generation/special_entry.e
eiffel/inheritance/inherit_table.e
eiffel/interface/attribute_i.e
eiffel/interface/class_c.e
eiffel/interface/external_i.e
eiffel/interface/feature_i.e
eiffel/interface/system_i.e
eiffel/server/depend_server.e

New dead code removal: the old dead code removal was going through the
FEATURE_I of the system in a non-linear way which took a very long
time since the FEATURE_I are not very fast to be retrieved (We were
retrieving them through the FEATURE_TABLE). Now, the
algorythm is basically the same, we go through the whole system marking
the features alive and then their dependances, but we transfered the
usefull information for the algorithm in the dependances themselves
making it a more compact information to retrieve. Thus we had also to
update all the calls to the feature dependances in the system.


Revision 11897 - (view) (annotate) - [select for diffs]
Modified Tue Nov 10 03:43:45 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89063 byte(s)
Diff to previous 11736
Improved traversal speed of FIXED_LIST `parents' and `generics' by using
`area' and local variables.


Revision 11736 - (view) (annotate) - [select for diffs]
Modified Sat Oct 24 00:08:52 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 88531 byte(s)
Diff to previous 11601
Cosmetics
Changed a sequence clone, wipe_out of the cloned object by reference copy and create
a new object.


Revision 11601 - (view) (annotate) - [select for diffs]
Modified Tue Oct 13 01:37:49 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 88556 byte(s)
Diff to previous 11497
Changed the C generation so that it generates into a string buffer first, and the
it writes the content of the buffer into a file.


Revision 11497 - (view) (annotate) - [select for diffs]
Modified Fri Oct 2 23:01:52 1998 UTC (21 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 88260 byte(s)
Diff to previous 11432
Due to the unification of the `melted_set', `freeze_set1' and `freeze_set2' lists
in `melted_set' we need to mark the classes of `melted_set' with some flags which
enable us to know what we need to generate at degree -1. I.e. should we generate
the descriptor tables?, the C code?

Changed the algorithm for the check of `conform_to' in positive degrees. Use
an array `conf_dep_table' to speed up the search.


Revision 11432 - (view) (annotate) - [select for diffs]
Modified Mon Sep 28 04:07:53 1998 UTC (21 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86276 byte(s)
Diff to previous 11342
Use of the new `melted_set' list. We don't use anymore `freeze_set1' and
`freeze_set2'.

Merged some features into one:
- melt_feature_table and melt_descriptor_tables
- generate_feature_table and genrate_descriptor_tables

Add `simple_conform_to' which is a version of `conform_to' without checking,
this is very useful when you don't need to check if the conformance has been
recorded (for example in final mode, where you can save 50%).


Revision 11342 - (view) (annotate) - [select for diffs]
Modified Wed Sep 16 03:03:22 1998 UTC (21 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 84305 byte(s)
Diff to previous 11288
Replaced all the occurences to the old AST *_AS_B by *_AS.


Revision 11288 - (view) (annotate) - [select for diffs]
Modified Sun Sep 13 18:28:04 1998 UTC (21 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 84357 byte(s)
Diff to previous 11181
Add a protection in a loop of `mark_all_used' which has been previously removed.
Add a local variable to speed up the access on an attribute


Revision 11181 - (view) (annotate) - [select for diffs]
Modified Tue Sep 1 17:11:40 1998 UTC (21 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 84283 byte(s)
Diff to previous 11067
Changes due to the removal of E_CLASS.


Revision 11067 - (view) (annotate) - [select for diffs]
Modified Wed Aug 19 03:30:23 1998 UTC (21 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 84461 byte(s)
Diff to previous 10880
Added a new check for the creation constraint at the end of degree 4
We now inherit from HASHABLE so that we can put CLASS_C objects in a
HASH_TABLE. The `hash_code' is the hash_code of the `id'


Revision 10880 - (view) (annotate) - [select for diffs]
Modified Mon Aug 10 23:09:18 1998 UTC (21 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 83775 byte(s)
Diff to previous 10558
Speed up the extension of the list with `forth'


Revision 10558 - (view) (annotate) - [select for diffs]
Modified Mon Jul 20 23:28:00 1998 UTC (21 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 83672 byte(s)
Diff to previous 10314
Change `create' into `create_dir' to conform to the new DIRECTORY class.


Revision 10314 - (view) (annotate) - [select for diffs]
Modified Mon Jun 1 22:27:43 1998 UTC (21 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 83668 byte(s)
Diff to previous 10198
Removed DLE from the compiler.
This implies some code removing and small changes to the code so that it won't include
any DLE specific classes


Revision 10198 - (view) (annotate) - [select for diffs]
Modified Fri May 22 01:26:00 1998 UTC (21 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89389 byte(s)
Diff to previous 10138
Fixed a problems which can occurs in `remove_dep_class', we need to position
the list at the beginning.
Cosmetics: added semicolon between features parameters.


Revision 10138 - (view) (annotate) - [select for diffs]
Modified Thu May 14 00:11:47 1998 UTC (21 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89359 byte(s)
Diff to previous 9992
Cosmetics
Changes to conform to the new type of `freeze_set1', `freeze_set2' and
`melted_set' in SYSTEM_I
Moved the traversals of the `types' list into the class TYPE_LIST

Improved the access on the Rep_depend  servers.


Revision 9992 - (view) (annotate) - [select for diffs]
Modified Thu Apr 23 18:05:13 1998 UTC (21 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 90339 byte(s)
Diff to previous 9652
Changed the implementation of some features to fix a bug in the incrementality
at degree 3. Changed the implementation of `remove_dep_class'.

Changed some calls to `set_freeze' to conform to the new signature.

Cosmetics

Changed the way how to generate the constraint_error_list for the new check_constraints
implementation

Changed the way to traverse a list by using `cursor' instead of `index'


Revision 9652 - (view) (annotate) - [select for diffs]
Modified Sun Mar 15 02:00:39 1998 UTC (21 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 90548 byte(s)
Diff to previous 8808
Cosmetics (Removed semicolon)
Removed one unused feature in class_c


Revision 8808 - (view) (annotate) - [select for diffs]
Modified Wed Dec 10 17:39:50 1997 UTC (22 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91712 byte(s)
Diff to previous 8553
Final changes to the new FIXED_LIST in CLASS_C
Cosmetics
Fixed a problem with is_equal from UNIVERSE_I


Revision 8553 - (view) (annotate) - [select for diffs]
Modified Wed Nov 12 03:27:35 1997 UTC (22 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91724 byte(s)
Diff to previous 8406
Removed the MELT_ONLY stuff since we have now one version of the compiler.


Revision 8406 - (view) (annotate) - [select for diffs]
Modified Mon Oct 13 22:12:17 1997 UTC (22 years, 1 month ago) by samik
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92037 byte(s)
Diff to previous 8227
Cancellation of Manu's change of pass4 feature


Revision 8227 - (view) (annotate) - [select for diffs]
Modified Mon Sep 29 16:03:13 1997 UTC (22 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91948 byte(s)
Diff to previous 8154
Did some improvements over the speed of the code.
Removed useless local variable
Improve the speed of many loops


Revision 8154 - (view) (annotate) - [select for diffs]
Modified Mon Sep 15 23:05:03 1997 UTC (22 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92811 byte(s)
Diff to previous 7835
Cosmetics
Adaptation to the new FIXED_LIST
Changed the parameter name `precursor' since it is now a keyword
Removed an inheritance
Fixed the inheritance removal bug


Revision 7835 - (view) (annotate) - [select for diffs]
Modified Mon May 5 21:31:10 1997 UTC (22 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91925 byte(s)
Diff to previous 7722
Added default_rescue stuff.
Cosmetics.


Revision 7722 - (view) (annotate) - [select for diffs]
Modified Tue Mar 11 10:39:34 1997 UTC (22 years, 9 months ago) by patricek
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 90577 byte(s)
Diff to previous 7707
Back to old ebase.


Revision 7707 - (view) (annotate) - [select for diffs]
Modified Thu Feb 13 16:42:38 1997 UTC (22 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 90583 byte(s)
Diff to previous 7554
Changed corresponding to the new HASH_TABLE.


Revision 7554 - (view) (annotate) - [select for diffs]
Modified Fri Dec 20 15:54:30 1996 UTC (22 years, 11 months ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 90577 byte(s)
Diff to previous 7230
fixed a bug in CEC when a feature's parameter's separate status is changed, 
the corresponding callers' codes should be automatically melted.


Revision 7230 - (view) (annotate) - [select for diffs]
Modified Thu Nov 14 17:45:11 1996 UTC (23 years ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89779 byte(s)
Diff to previous 6821
new SEPARATE level for visible: all features are in the table (even if they
are not exported)


Revision 6821 - (view) (annotate) - [select for diffs]
Modified Fri Oct 18 16:49:23 1996 UTC (23 years, 1 month ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89811 byte(s)
Diff to previous 6694
extra protection if class has been removed


Revision 6694 - (view) (annotate) - [select for diffs]
Modified Thu Sep 26 10:48:09 1996 UTC (23 years, 2 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89674 byte(s)
Diff to previous 6618
integration problem fixed


Revision 6618 - (view) (annotate) - [select for diffs]
Modified Wed Sep 25 18:59:26 1996 UTC (23 years, 2 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89672 byte(s)
Diff to previous 6596
bug fix: check if creatable before backup (ace file)


Revision 6596 - (view) (annotate) - [select for diffs]
Modified Wed Sep 25 18:07:55 1996 UTC (23 years, 2 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89608 byte(s)
Diff to previous 6562
unique processing modified


Revision 6562 - (view) (annotate) - [select for diffs]
Modified Wed Sep 25 16:56:37 1996 UTC (23 years, 2 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 89363 byte(s)
Diff to previous 6453
E_CLASS indirection removed
class_name => name in CLASS_C (comig from E_CLASS)


Revision 6453 - (view) (annotate) - [select for diffs]
Modified Fri Sep 6 16:53:32 1996 UTC (23 years, 3 months ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92112 byte(s)
Diff to previous 5450
incrementality on separate status
classes used as separate are visible automatically


Revision 5450 - (view) (annotate) - [select for diffs]
Modified Wed Jun 5 10:57:04 1996 UTC (23 years, 6 months ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91805 byte(s)
Diff to previous 5305
bug fix: if class is separate, call to `set_has_separate' in SYSTEM_I


Revision 5305 - (view) (annotate) - [select for diffs]
Modified Fri May 24 15:43:47 1996 UTC (23 years, 6 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91707 byte(s)
Diff to previous 4996
optimization: `is_equal' called on IDs instead of `equal'


Revision 4996 - (view) (annotate) - [select for diffs]
Modified Thu May 9 14:55:34 1996 UTC (23 years, 7 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91699 byte(s)
Diff to previous 4889
optimization


Revision 4889 - (view) (annotate) - [select for diffs]
Modified Tue Apr 23 16:25:48 1996 UTC (23 years, 7 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91743 byte(s)
Diff to previous 4791
generation of descriptors is not done during merging anymore


Revision 4791 - (view) (annotate) - [select for diffs]
Modified Tue Apr 23 12:13:08 1996 UTC (23 years, 7 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92038 byte(s)
Diff to previous 4643
Concurrent Eiffel


Revision 4643 - (view) (annotate) - [select for diffs]
Modified Thu Apr 11 14:10:31 1996 UTC (23 years, 8 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91708 byte(s)
Diff to previous 4623
setting of `is_expanded' and `is_deferred' in E_CLASS


Revision 4623 - (view) (annotate) - [select for diffs]
Modified Thu Apr 11 10:44:28 1996 UTC (23 years, 8 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91901 byte(s)
Diff to previous 4589
implementation of `is_separate'


Revision 4589 - (view) (annotate) - [select for diffs]
Modified Wed Apr 3 14:48:23 1996 UTC (23 years, 8 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91616 byte(s)
Diff to previous 4135
new routine `merge' (multiple precompilation)


Revision 4135 - (view) (annotate) - [select for diffs]
Modified Thu Mar 14 16:54:25 1996 UTC (23 years, 8 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91069 byte(s)
Diff to previous 3848
new routine: `generate_precomp_descriptor_tables' (generation of precompiled descriptors)


Revision 3848 - (view) (annotate) - [select for diffs]
Modified Thu Feb 15 14:30:06 1996 UTC (23 years, 9 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 90774 byte(s)
Diff to previous 3787
server ids are of type IDABLE (instead of INTEGER)
`trace' implemented in COMPILER_ID
DLE: code reorganization


Revision 3787 - (view) (annotate) - [select for diffs]
Modified Wed Jan 31 16:38:59 1996 UTC (23 years, 10 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92023 byte(s)
Diff to previous 3653
new abstractions for system counters (body id, body_index)


Revision 3653 - (view) (annotate) - [select for diffs]
Modified Mon Jan 15 15:47:20 1996 UTC (23 years, 10 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92008 byte(s)
Diff to previous 3624
new abstractions for system counters (class ids and type ids)


Revision 3624 - (view) (annotate) - [select for diffs]
Modified Mon Jan 15 10:42:53 1996 UTC (23 years, 10 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92587 byte(s)
Diff to previous 3478
bug fix: rout_id comparison


Revision 3478 - (view) (annotate) - [select for diffs]
Modified Mon Dec 18 15:04:56 1995 UTC (23 years, 11 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92582 byte(s)
Diff to previous 3395
new abstractions for system counters (only ROUTINE_ID so far)


Revision 3395 - (view) (annotate) - [select for diffs]
Modified Mon Dec 4 12:08:46 1995 UTC (24 years ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92208 byte(s)
Diff to previous 3326
obsolete abstraction added in E_CLASS
`signature' and `append_name' removed (use E_CLASS instead)
errors using E_CLASS instead of CLASS_C


Revision 3326 - (view) (annotate) - [select for diffs]
Modified Wed Nov 22 12:43:19 1995 UTC (24 years ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 92359 byte(s)
Diff to previous 3296
new routine: `recompile_syntactical_clients'


Revision 3296 - (view) (annotate) - [select for diffs]
Modified Wed Nov 22 10:45:59 1995 UTC (24 years ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91816 byte(s)
Diff to previous 3191
bug fix (dle): `make' from DYNAMIC classes and descendents marked


Revision 3191 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 17:01:06 1995 UTC (24 years ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91520 byte(s)
Diff to previous 3086
different output routines


Revision 3086 - (view) (annotate) - [select for diffs]
Modified Mon Oct 30 11:47:42 1995 UTC (24 years, 1 month ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 91549 byte(s)
Diff to previous 3036
implementation of the API
Once `Compilation_modes' stores the current mode


Revision 3036 - (view) (annotate) - [select for diffs]
Modified Fri Oct 27 13:04:26 1995 UTC (24 years, 1 month ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 94832 byte(s)
Diff to previous 3015
cosmetics
new mechanism for $f: automatic freezing to generate encapsulation


Revision 3015 - (view) (annotate) - [select for diffs]
Modified Fri Oct 27 11:12:05 1995 UTC (24 years, 1 month ago) by guusl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 94620 byte(s)
Diff to previous 2951
trace implementation
profiling implementation


Revision 2951 - (view) (annotate) - [select for diffs]
Modified Thu Sep 21 10:08:54 1995 UTC (24 years, 2 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 94507 byte(s)
Diff to previous 2890
implementation of the automatic backup mechanism for debugging incrementality bugs


Revision 2890 - (view) (annotate) - [select for diffs]
Modified Wed Sep 20 14:43:32 1995 UTC (24 years, 2 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 94120 byte(s)
Diff to previous 2816
hide option implementation


Revision 2816 - (view) (annotate) - [select for diffs]
Modified Fri Aug 4 15:17:05 1995 UTC (24 years, 4 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 93932 byte(s)
Diff to previous 2744
case reverse engineering


Revision 2744 - (view) (annotate) - [select for diffs]
Modified Tue Jul 25 11:31:51 1995 UTC (24 years, 4 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 93599 byte(s)
Diff to previous 2659
dle


Revision 2659 - (view) (annotate) - [select for diffs]
Modified Wed Jul 5 16:25:31 1995 UTC (24 years, 5 months ago) by dewij
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86395 byte(s)
Diff to previous 2520
abstract parser: <type> => <type_B>


Revision 2520 - (view) (annotate) - [select for diffs]
Modified Mon May 8 21:58:32 1995 UTC (24 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86333 byte(s)
Diff to previous 2248
bug fix: remover_off doesn't mean keep assertions


Revision 2248 - (view) (annotate) - [select for diffs]
Modified Fri Mar 24 23:55:36 1995 UTC (24 years, 8 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86329 byte(s)
Diff to previous 2239
optimization (unused local)


Revision 2239 - (view) (annotate) - [select for diffs]
Modified Wed Mar 22 01:21:32 1995 UTC (24 years, 8 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86387 byte(s)
Diff to previous 1754
optimization: use of local


Revision 1754 - (view) (annotate) - [select for diffs]
Modified Wed Jan 25 17:41:36 1995 UTC (24 years, 10 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86393 byte(s)
Diff to previous 1626
`path' removed from PATH_NAME


Revision 1626 - (view) (annotate) - [select for diffs]
Modified Fri Jan 6 19:48:16 1995 UTC (24 years, 11 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86423 byte(s)
Diff to previous 1504
PATH_NAME stuff
`melt_only' is now in SHARED_MELT_ONLY


Revision 1504 - (view) (annotate) - [select for diffs]
Modified Fri Dec 2 22:11:19 1994 UTC (25 years ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86267 byte(s)
Diff to previous 1356
PLAIN_TEXT_FILE => RAW_FILE


Revision 1356 - (view) (annotate) - [select for diffs]
Modified Fri Nov 4 19:59:44 1994 UTC (25 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86274 byte(s)
Diff to previous 1328
new semantic of $


Revision 1328 - (view) (annotate) - [select for diffs]
Modified Sat Oct 29 18:31:08 1994 UTC (25 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86273 byte(s)
Diff to previous 1274
FIXME removed (explanation in comments)
lower case for file names (DOS)


Revision 1274 - (view) (annotate) - [select for diffs]
Modified Fri Oct 28 22:53:50 1994 UTC (25 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86188 byte(s)
Diff to previous 956
cosmetics


Revision 956 - (view) (annotate) - [select for diffs]
Modified Tue Sep 6 22:31:22 1994 UTC (25 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86187 byte(s)
Diff to previous 925
case stuff


Revision 925 - (view) (annotate) - [select for diffs]
Modified Sat Aug 27 00:55:48 1994 UTC (25 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86507 byte(s)
Diff to previous 722
fixme comment added


Revision 722 - (view) (annotate) - [select for diffs]
Modified Thu Aug 11 08:49:09 1994 UTC (25 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86474 byte(s)
Diff to previous 696
code generation in several subdirectories


Revision 696 - (view) (annotate) - [select for diffs]
Modified Thu Aug 11 00:57:40 1994 UTC (25 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 85814 byte(s)
Diff to previous 681
compare_objects done at creation time


Revision 681 - (view) (annotate) - [select for diffs]
Modified Thu Aug 11 00:26:22 1994 UTC (25 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 85786 byte(s)
Diff to previous 631
case stuff


Revision 631 - (view) (annotate) - [select for diffs]
Modified Fri Jul 15 22:52:31 1994 UTC (25 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 85627 byte(s)
Diff to previous 621
*** empty log message ***


Revision 621 - (view) (annotate) - [select for diffs]
Modified Thu Jul 14 21:37:03 1994 UTC (25 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 85466 byte(s)
Diff to previous 605
*** empty log message ***


Revision 605 - (view) (annotate) - [select for diffs]
Modified Tue Jun 28 16:58:24 1994 UTC (25 years, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 85504 byte(s)
Diff to previous 554
*** empty log message ***


Revision 554 - (view) (annotate) - [select for diffs]
Modified Thu May 12 18:38:18 1994 UTC (25 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86602 byte(s)
Diff to previous 550
*** empty log message ***


Revision 550 - (view) (annotate) - [select for diffs]
Modified Wed May 11 09:26:20 1994 UTC (25 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86699 byte(s)
Diff to previous 547
*** empty log message ***


Revision 547 - (view) (annotate) - [select for diffs]
Modified Mon May 9 17:25:40 1994 UTC (25 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 86408 byte(s)
Diff to previous 541
*** empty log message ***


Revision 541 - (view) (annotate) - [select for diffs]
Modified Wed May 4 14:50:03 1994 UTC (25 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 85427 byte(s)
Diff to previous 514
*** empty log message ***


Revision 514 - (view) (annotate) - [select for diffs]
Modified Wed Apr 6 08:55:56 1994 UTC (25 years, 8 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 85430 byte(s)
Diff to previous 508
*** empty log message ***


Revision 508 - (view) (annotate) - [select for diffs]
Modified Mon Mar 28 11:18:45 1994 UTC (25 years, 8 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 85436 byte(s)
Diff to previous 493
*** empty log message ***


Revision 493 - (view) (annotate) - [select for diffs]
Modified Thu Mar 17 12:01:58 1994 UTC (25 years, 8 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 85210 byte(s)
Diff to previous 485
*** empty log message ***


Revision 485 - (view) (annotate) - [select for diffs]
Modified Fri Feb 18 11:40:51 1994 UTC (25 years, 9 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 84349 byte(s)
Diff to previous 476
*** empty log message ***


Revision 476 - (view) (annotate) - [select for diffs]
Modified Mon Feb 14 12:30:41 1994 UTC (25 years, 9 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 84395 byte(s)
Diff to previous 442
*** empty log message ***


Revision 442 - (view) (annotate) - [select for diffs]
Modified Thu Dec 16 18:47:58 1993 UTC (25 years, 11 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 84417 byte(s)
Diff to previous 435
*** empty log message ***


Revision 435 - (view) (annotate) - [select for diffs]
Modified Wed Dec 8 16:54:36 1993 UTC (26 years ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 84113 byte(s)
Diff to previous 418
*** empty log message ***


Revision 418 - (view) (annotate) - [select for diffs]
Modified Tue Nov 16 17:15:56 1993 UTC (26 years ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 82953 byte(s)
Diff to previous 406
*** empty log message ***


Revision 406 - (view) (annotate) - [select for diffs]
Modified Tue Nov 2 18:10:57 1993 UTC (26 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 79204 byte(s)
Diff to previous 400
*** empty log message ***


Revision 400 - (view) (annotate) - [select for diffs]
Modified Mon Oct 25 16:53:45 1993 UTC (26 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 78544 byte(s)
Diff to previous 398
*** empty log message ***


Revision 398 - (view) (annotate) - [select for diffs]
Modified Mon Oct 25 16:25:40 1993 UTC (26 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 77418 byte(s)
Diff to previous 388
*** empty log message ***


Revision 388 - (view) (annotate) - [select for diffs]
Modified Fri Oct 15 14:29:26 1993 UTC (26 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 77203 byte(s)
Diff to previous 365
*** empty log message ***


Revision 365 - (view) (annotate) - [select for diffs]
Modified Sun Sep 12 18:37:03 1993 UTC (26 years, 2 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 76593 byte(s)
Diff to previous 353
*** empty log message ***


Revision 353 - (view) (annotate) - [select for diffs]
Modified Mon Sep 6 16:04:47 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 75585 byte(s)
Diff to previous 343
*** empty log message ***


Revision 343 - (view) (annotate) - [select for diffs]
Modified Mon Aug 30 19:43:05 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 76066 byte(s)
Diff to previous 340
*** empty log message ***


Revision 340 - (view) (annotate) - [select for diffs]
Modified Mon Aug 30 18:22:00 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 75850 byte(s)
Diff to previous 339
*** empty log message ***


Revision 339 - (view) (annotate) - [select for diffs]
Modified Mon Aug 30 18:18:42 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 75869 byte(s)
Diff to previous 335
*** empty log message ***


Revision 335 - (view) (annotate) - [select for diffs]
Modified Thu Aug 26 20:49:08 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 74983 byte(s)
Diff to previous 333
*** empty log message ***


Revision 333 - (view) (annotate) - [select for diffs]
Modified Thu Aug 26 20:25:16 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 74917 byte(s)
Diff to previous 329
*** empty log message ***


Revision 329 - (view) (annotate) - [select for diffs]
Modified Thu Aug 26 19:17:21 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 74965 byte(s)
Diff to previous 314
*** empty log message ***


Revision 314 - (view) (annotate) - [select for diffs]
Modified Fri Aug 20 12:16:44 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 74016 byte(s)
Diff to previous 312
*** empty log message ***


Revision 312 - (view) (annotate) - [select for diffs]
Modified Fri Aug 20 11:53:58 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 73388 byte(s)
Diff to previous 296
*** empty log message ***


Revision 296 - (view) (annotate) - [select for diffs]
Modified Thu Aug 19 20:09:35 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 67382 byte(s)
Diff to previous 282
*** empty log message ***


Revision 282 - (view) (annotate) - [select for diffs]
Modified Wed Jul 28 16:03:15 1993 UTC (26 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 67389 byte(s)
Diff to previous 280
*** empty log message ***


Revision 280 - (view) (annotate) - [select for diffs]
Modified Fri Jul 16 13:31:07 1993 UTC (26 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 64374 byte(s)
Diff to previous 276
*** empty log message ***


Revision 276 - (view) (annotate) - [select for diffs]
Modified Tue Jul 13 20:12:47 1993 UTC (26 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 64335 byte(s)
Diff to previous 274
*** empty log message ***


Revision 274 - (view) (annotate) - [select for diffs]
Modified Fri Jul 9 15:22:19 1993 UTC (26 years, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 63966 byte(s)
Diff to previous 272
*** empty log message ***


Revision 272 - (view) (annotate) - [select for diffs]
Modified Fri Jul 9 14:42:50 1993 UTC (26 years, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 64028 byte(s)
Diff to previous 271
*** empty log message ***


Revision 271 - (view) (annotate) - [select for diffs]
Modified Fri Jul 9 10:48:51 1993 UTC (26 years, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 63921 byte(s)
Diff to previous 263
*** empty log message ***


Revision 263 - (view) (annotate) - [select for diffs]
Modified Fri Jul 2 12:24:04 1993 UTC (26 years, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 63941 byte(s)
Diff to previous 250
*** empty log message ***


Revision 250 - (view) (annotate) - [select for diffs]
Modified Wed Jun 23 18:01:59 1993 UTC (26 years, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 63500 byte(s)
Diff to previous 237
*** empty log message ***


Revision 237 - (view) (annotate) - [select for diffs]
Modified Tue Jun 8 12:23:41 1993 UTC (26 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 63641 byte(s)
Diff to previous 236
*** empty log message ***


Revision 236 - (view) (annotate) - [select for diffs]
Modified Tue Jun 8 12:09:28 1993 UTC (26 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 63540 byte(s)
Diff to previous 225
*** empty log message ***


Revision 225 - (view) (annotate) - [select for diffs]
Modified Fri May 28 14:25:21 1993 UTC (26 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 62471 byte(s)
Diff to previous 224
*** empty log message ***


Revision 224 - (view) (annotate) - [select for diffs]
Modified Fri May 28 14:23:27 1993 UTC (26 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 62264 byte(s)
Diff to previous 220
*** empty log message ***


Revision 220 - (view) (annotate) - [select for diffs]
Modified Fri May 28 13:01:06 1993 UTC (26 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 62145 byte(s)
Diff to previous 213
*** empty log message ***


Revision 213 - (view) (annotate) - [select for diffs]
Modified Fri May 28 10:25:40 1993 UTC (26 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 61910 byte(s)
Diff to previous 207
*** empty log message ***


Revision 207 - (view) (annotate) - [select for diffs]
Modified Thu May 13 09:52:29 1993 UTC (26 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 59597 byte(s)
Diff to previous 199
*** empty log message ***


Revision 199 - (view) (annotate) - [select for diffs]
Modified Tue May 11 12:46:36 1993 UTC (26 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 59014 byte(s)
Diff to previous 198
*** empty log message ***


Revision 198 - (view) (annotate) - [select for diffs]
Modified Tue May 11 12:30:45 1993 UTC (26 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 58985 byte(s)
Diff to previous 193
*** empty log message ***


Revision 193 - (view) (annotate) - [select for diffs]
Modified Tue May 11 11:18:26 1993 UTC (26 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 57905 byte(s)
Diff to previous 166
Obsolete


Revision 166 - (view) (annotate) - [select for diffs]
Modified Wed Apr 28 10:35:27 1993 UTC (26 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 57490 byte(s)
Diff to previous 137
*** empty log message ***


Revision 137 - (view) (annotate) - [select for diffs]
Modified Mon Apr 5 09:33:31 1993 UTC (26 years, 8 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 57214 byte(s)
Diff to previous 120
`recompile: BOOLEAN' set:
 for pass1 recompilation:


Revision 120 - (view) (annotate) - [select for diffs]
Modified Wed Mar 31 18:33:30 1993 UTC (26 years, 8 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 57166 byte(s)
Diff to previous 41
class_id replaced by topopological_id
Ability to change root class
class removal


Revision 41 - (view) (annotate) - [select for diffs]
Modified Mon Mar 15 15:16:50 1993 UTC (26 years, 8 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 56673 byte(s)
Diff to previous 37
Bug correction.
A feature involved in an error message is
not necessarily in the TMP server.


Revision 37 - (view) (annotate) - [select for diffs]
Modified Mon Mar 15 12:25:50 1993 UTC (26 years, 8 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 56660 byte(s)
Diff to previous 18
*** empty log message ***


Revision 18 - (view) (annotate) - [select for diffs]
Added Fri Mar 12 17:44:01 1993 UTC (26 years, 9 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_c.e
File length: 56632 byte(s)
Initial revision


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.23