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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 69686 - (view) (annotate) - [select for diffs]
Modified Wed Jul 25 18:35:45 2007 UTC (12 years, 4 months ago) by juliant
File length: 76723 byte(s)
Diff to previous 69685
fixed missing locals

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: 76665 byte(s)
Diff to previous 69629
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 69629 - (view) (annotate) - [select for diffs]
Modified Mon Jul 23 21:36:18 2007 UTC (12 years, 4 months ago) by manus
File length: 75979 byte(s)
Diff to previous 68360
Creation of CAT_mono branch to implement variant/invariant proposal

Revision 68360 - (view) (annotate) - [select for diffs]
Modified Wed May 16 08:01:49 2007 UTC (12 years, 7 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 75979 byte(s)
Diff to previous 68280
Ensured generic signature fingerprint has no trailing zeroes and is empty when there are no arguments or result of formal generic type in particular.

Revision 68280 - (view) (annotate) - [select for diffs]
Modified Sun May 13 18:06:54 2007 UTC (12 years, 7 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 75808 byte(s)
Diff to previous 67227
Supported reattachment of objects of types that are generic derivations
with expanded parameters to entities of types that are suitable generic
derivations with reference parameters.



Revision 67227 - (view) (annotate) - [select for diffs]
Modified Tue Mar 13 01:32:16 2007 UTC (12 years, 9 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 73196 byte(s)
Diff to previous 66957
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 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/feature_i.e
File length: 72649 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/feature_i.e
File length: 72624 byte(s)
Diff to previous 66713
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 66713 - (view) (annotate) - [select for diffs]
Modified Thu Feb 15 14:02:57 2007 UTC (12 years, 10 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 72568 byte(s)
Diff to previous 66611
Avoided precondition violation when attempting to get custom attributes on inherited external abstract methods.

Revision 66611 - (view) (annotate) - [select for diffs]
Modified Mon Feb 12 14:15:54 2007 UTC (12 years, 10 months ago) by jfiat
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 72484 byte(s)
Diff to previous 66201
Added {FEATURE_I}.has_rescue to compiler data
and display using pixmaps this information in the call stacks tool.

Revision 66201 - (view) (annotate) - [select for diffs]
Modified Thu Jan 25 01:47:53 2007 UTC (12 years, 10 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 71997 byte(s)
Diff to previous 66149
Removed the requirement that external routine should be frozen to access them statically.


Revision 66149 - (view) (annotate) - [select for diffs]
Modified Tue Jan 23 20:01:32 2007 UTC (12 years, 10 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 72025 byte(s)
Diff to previous 65991
Added lookup for associated property setter when an assigner procedure is declared only in an ancestor and not in the current class, but the property setter still has to be generated (this fixes bug#11876, test#dotnet047, test#dotnet048).

Revision 65991 - (view) (annotate) - [select for diffs]
Modified Wed Jan 17 21:24:16 2007 UTC (12 years, 11 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 71956 byte(s)
Diff to previous 65600
Supported indexing tags that allow for custom attributes for features to be set on interface only ('interface_metadata') or implementation only ('class_metadata') basis like it is done for classes (this fixes bug#11773).

Revision 65600 - (view) (annotate) - [select for diffs]
Modified Sat Dec 16 09:47:54 2006 UTC (13 years ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 71244 byte(s)
Diff to previous 65185
Taken into account the availability of property getter and setter that might be associated with a feature.

Revision 65185 - (view) (annotate) - [select for diffs]
Modified Wed Nov 22 00:54:06 2006 UTC (13 years ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 71122 byte(s)
Diff to previous 65165
some changes to make use of the new ID_AS behavior

Revision 65165 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 01:36:22 2006 UTC (13 years ago) by patrickr
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 71119 byte(s)
Diff to previous 64460
made old and new HASH_TABLE compatible
added some catcall detection and prevention features to HASH_TABLE
changed ID_AS not to inherit form STRING but have a name_id which is an id into the names heap
switched compiler from the obsolete HASH_TABLE to the normal HASH_TABLE of base

Revision 64460 - (view) (annotate) - [select for diffs]
Modified Fri Oct 20 12:11:09 2006 UTC (13 years, 1 month ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 71115 byte(s)
Diff to previous 63215
Ensured a feature is recompiled if its property status or its property name are changed.

Revision 63215 - (view) (annotate) - [select for diffs]
Modified Fri Sep 1 19:03:38 2006 UTC (13 years, 3 months ago) by konradm
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 70987 byte(s)
Diff to previous 62922
Corrections for problem reports: PR #11144, PR #11156, PR #11157, PR #11147, PR #11146

- Breakpoint calculation for loops was wrong.
- Agents on constant attributes didn't work.
- No breakpoints for inline agents of invariants are generated anymore.
- Locals in inline agents of inherited assertions crashed the compiler.


Revision 62922 - (view) (annotate) - [select for diffs]
Modified Thu Aug 24 16:54:13 2006 UTC (13 years, 3 months ago) by konradm
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 70797 byte(s)
Diff to previous 62818
Corrected the calculation of the first breakpoint slot index of a feature. Works now even more correct than in 5.6.

Revision 62818 - (view) (annotate) - [select for diffs]
Modified Mon Aug 21 19:36:06 2006 UTC (13 years, 3 months ago) by konradm
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 70697 byte(s)
Diff to previous 62454
Added debugger support for inline-agents.
Improved behavior when stepping trough agent creations and calls.
Optimized ROUTINE by providing a more compact set_rout_disp_final method for finalized code.


Revision 62454 - (view) (annotate) - [select for diffs]
Modified Sat Aug 12 00:15:38 2006 UTC (13 years, 4 months ago) by konradm
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 73025 byte(s)
Diff to previous 62447
Renamed classes VPIR_1 and VPIR_3 to VPIR1 and VPIR2.

Revision 62447 - (view) (annotate) - [select for diffs]
Modified Fri Aug 11 23:18:55 2006 UTC (13 years, 4 months ago) by konradm
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 73026 byte(s)
Diff to previous 61588
- Corrected several problems with inline agents. (Specially when they occur in assertions)
- Added semantic checks for locals and arguments (VPID) of inline agents
- Optimized agents calls for classic eiffel. 
- It is now possible to make agents on named tuple attributes.


Revision 61588 - (view) (annotate) - [select for diffs]
Modified Mon Jul 24 19:09:37 2006 UTC (13 years, 4 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 69839 byte(s)
Diff to previous 61114
Added missing postcondition to `written_class' to states it cannot be Void.


Revision 61114 - (view) (annotate) - [select for diffs]
Modified Mon Jul 10 12:21:09 2006 UTC (13 years, 5 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 69788 byte(s)
Diff to previous 60616
Forced .NET properties to be specified explicitly, their names are either specified as a string or match the feature name if an identified `auto' is used instead of a property name.

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/feature_i.e
File length: 69716 byte(s)
Diff to previous 59523
- 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 59523 - (view) (annotate) - [select for diffs]
Modified Thu Jun 8 16:45:01 2006 UTC (13 years, 6 months ago) by raphaels
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 68578 byte(s)
Diff to previous 59300
It is now possible to call `same_signature' on two features with different names.

Revision 59300 - (view) (annotate) - [select for diffs]
Modified Wed May 31 17:13:11 2006 UTC (13 years, 6 months ago) by tedf
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 68633 byte(s)
Diff to previous 59131
Implemented static call on anchored class and formal type class.

Revision 59131 - (view) (annotate) - [select for diffs]
Modified Tue May 23 06:29:46 2006 UTC (13 years, 6 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 68636 byte(s)
Diff to previous 58544
Made check for VDRD(6) stricter to ensure that expandedness status of an attribute is not changed.

Revision 58544 - (view) (annotate) - [select for diffs]
Modified Fri Apr 28 15:00:33 2006 UTC (13 years, 7 months ago) by alexk
Original Path: trunk/Src/Eiffel/eiffel/interface/feature_i.e
File length: 68464 byte(s)
Diff to previous 58325
Tracked properties and their getters and setters associated with features.

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/feature_i.e
File length: 66217 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/feature_i.e
File length: 66217 byte(s)
Diff to previous 57903
Fixed mixing paranthesis in indexing clause for the licensing.
Added missing license reference in newly created Eiffel classes.


Revision 57903 - (view) (annotate) - [select for diffs]
Modified Thu Mar 30 11:16:11 2006 UTC (13 years, 8 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 66207 byte(s)
Diff to previous 57781
Removed a check that avoided creation of ANY_FEATURE_B in classic mode as it does not make any difference for code generation.

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/feature_i.e
File length: 66259 byte(s)
Diff to previous 57371
New compiler with new configuration system
For now only the batch compiler works


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/feature_i.e
File length: 66272 byte(s)
Diff to previous 57236
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 57236 - (view) (annotate) - [select for diffs]
Modified Thu Mar 2 08:21:47 2006 UTC (13 years, 9 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 66421 byte(s)
Diff to previous 57026
Added a query to find out if a feature has an assigner command in some ancestor of the given class.

Revision 57026 - (view) (annotate) - [select for diffs]
Modified Wed Feb 15 09:01:59 2006 UTC (13 years, 10 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 65236 byte(s)
Diff to previous 56738
Added a feature to find an associated assigner routine in a given class.

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/feature_i.e
File length: 64833 byte(s)
Diff to previous 56535
Refactored temporary ast, body and invariant servers into tmp_ast_server and keep information in memory until after degree 2.


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


Revision 56093 - (view) (annotate) - [select for diffs]
Modified Mon Dec 12 13:32:05 2005 UTC (14 years ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 63420 byte(s)
Diff to previous 55797
Taken into account process-relative status of a once routine during recompilation to ensure that an optimized access to it is generated correctly (e.g., in finalized mode, see eweasel test incr235).

Revision 55797 - (view) (annotate) - [select for diffs]
Modified Fri Nov 18 08:54:10 2005 UTC (14 years, 1 month ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 63359 byte(s)
Diff to previous 55401
Changed signature of `instantiate' to accept LIKE_CURRENT that can
now be used during type checking in addition to the previously used
CL_TYPE_A.


Revision 55401 - (view) (annotate) - [select for diffs]
Modified Thu Oct 27 09:25:55 2005 UTC (14 years, 1 month ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 63408 byte(s)
Diff to previous 53393
Added a check to prevent inheritance links to external classes from
expanded types.
Changed signature of a feature "real_body_id" that now requires a class
type for which the real body index is to be evaluated, because using the
first class type to calculate the index gives incorrect results for class types
that have differently generated code, e.g. for expanded class types.


Revision 53393 - (view) (annotate) - [select for diffs]
Modified Wed Jul 13 11:26:50 2005 UTC (14 years, 5 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 63343 byte(s)
Diff to previous 53058
Changed VFAC error report to use assigner feature from the current class
rather than the one from the class where it is defined.


Revision 53058 - (view) (annotate) - [select for diffs]
Modified Wed Jul 6 16:00:09 2005 UTC (14 years, 5 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 63565 byte(s)
Diff to previous 52954
Compared actual types rather than syntactically specified ones when
checking for assigner command validity to handle anchored types properly.
Removed unused feature.


Revision 52954 - (view) (annotate) - [select for diffs]
Modified Mon Jul 4 13:33:32 2005 UTC (14 years, 5 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 64029 byte(s)
Diff to previous 52421
Removed features that deal with escaped feature name because it is no
longer used as string escaping is done by the generation buffer itself.


Revision 52421 - (view) (annotate) - [select for diffs]
Modified Tue Jun 21 14:35:42 2005 UTC (14 years, 5 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 64372 byte(s)
Diff to previous 52191
Updated a validity rule description to match ECMA standard wording.
Replaced non-standard validity error codes with new standard ones.


Revision 52191 - (view) (annotate) - [select for diffs]
Modified Wed Jun 15 23:13:32 2005 UTC (14 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 64367 byte(s)
Diff to previous 51889
Removed useless inheritance to SHARED_CODE_FILES.


Revision 51889 - (view) (annotate) - [select for diffs]
Modified Wed Jun 8 12:43:59 2005 UTC (14 years, 6 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 64387 byte(s)
Diff to previous 51871
Added a test that features refer to the same version of assigner command.
Added checks for violation of assigner command validity rules that are not in
standard yet.
Improved error report for VFAC violation.


Revision 51871 - (view) (annotate) - [select for diffs]
Modified Wed Jun 8 00:58:26 2005 UTC (14 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 62134 byte(s)
Diff to previous 51818
Setting of `is_il_external' for E_FEATURE can now be done in FEATURE_I, so
  that it also covers .NET attributes and deferred routines.


Revision 51818 - (view) (annotate) - [select for diffs]
Modified Tue Jun 7 10:08:34 2005 UTC (14 years, 6 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 62034 byte(s)
Diff to previous 51473
Supported declaration of assigner command.
Added checks for violation of assigner command validity rule (VFAC).
Added a test to ensure that `real_body_id' does not cause feature call on
void target when a new feature is just added, there was error in compilation
and the feature is to be shown in flat view.


Revision 51473 - (view) (annotate) - [select for diffs]
Modified Fri May 27 08:08:19 2005 UTC (14 years, 6 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 59596 byte(s)
Diff to previous 51139
Supported convert mark on feature alias.
Supported different kinds of alias names (binary/unary operator, bracket).
Added test if two features have the same alias name.
Change equivalence test to take into account changes in aliases.
Added checks for new validity rules that aliases of joined or redeclared
features are the same.


Revision 51139 - (view) (annotate) - [select for diffs]
Modified Wed May 18 15:41:50 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56754 byte(s)
Diff to previous 50285
Added an alias name for a feature.


Revision 50285 - (view) (annotate) - [select for diffs]
Modified Thu Apr 21 17:39:40 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56369 byte(s)
Diff to previous 50186
Extended incrementality test to track changes of constant status so that
when constant attribute in a class is changed into non-constant feature, the
clients or descendants will be checked to ensure that multi-branch instruction
validity rules are not violated by this change (e.g., this fixes bugs incr087 and
incr092).


Revision 50186 - (view) (annotate) - [select for diffs]
Modified Tue Apr 19 04:47:19 2005 UTC (14 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56324 byte(s)
Diff to previous 48836
Removed `compute_byte_code' and `type_check' which have been replaced by
  the AST_FEATURE_CHECKER_GENERATOR.
Simplified `check_types' using the AST_TYPE_CHECKER visitor.
Note: `special_arguments' should be improved, better remove its usage.


Revision 48836 - (view) (annotate) - [select for diffs]
Modified Tue Mar 1 18:45:15 2005 UTC (14 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57884 byte(s)
Diff to previous 48823
In `check_feature' added a call to `AST_CONTEXT.set_current_feature' so that
  for error reporting we know which features the error is (useful to report
  errors in eweasel test valid158).


Revision 48823 - (view) (annotate) - [select for diffs]
Modified Tue Mar 1 10:39:22 2005 UTC (14 years, 9 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57843 byte(s)
Diff to previous 48690
Slightly optimized a test for presence of formal generics and anchored types
in feature signature.


Revision 48690 - (view) (annotate) - [select for diffs]
Modified Wed Feb 23 20:50:42 2005 UTC (14 years, 9 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57937 byte(s)
Diff to previous 48669
Extended a feature that tests whether its signature depends on an anchored
type or not to cover also the case of formal generic parameters.


Revision 48669 - (view) (annotate) - [select for diffs]
Modified Wed Feb 23 17:43:15 2005 UTC (14 years, 9 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57790 byte(s)
Diff to previous 48078
Added a feature to test whether feature signature depends on an anchored
type or not.


Revision 48078 - (view) (annotate) - [select for diffs]
Modified Sat Jan 29 01:25:59 2005 UTC (14 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57331 byte(s)
Diff to previous 46554
Fixed a VWEQ compiler error not detected before since it was disabled for Void.


Revision 46554 - (view) (annotate) - [select for diffs]
Modified Thu Nov 18 11:59:31 2004 UTC (15 years, 1 month ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57318 byte(s)
Diff to previous 45715
Added a query to identify process-relative features (e.g., once routines)
as opposed to thread-relative ones.


Revision 45715 - (view) (annotate) - [select for diffs]
Modified Fri Sep 17 14:01:16 2004 UTC (15 years, 3 months ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57150 byte(s)
Diff to previous 43831
Renamed BYTE_CONTEXT feature "clear_all" to "clear_feature_data".


Revision 43831 - (view) (annotate) - [select for diffs]
Modified Tue Jun 15 18:22:11 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57123 byte(s)
Diff to previous 43410
Although it is not used, updated `written_type' with recent changes of
  `written_type' in CLASS_TYPE. Removed `written_type_id' because it was
  not used and because it can be obtained through `written_type.type_id'.


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/feature_i.e
File length: 57299 byte(s)
Diff to previous 43158
Renamed TYPE into TYPE_AS


Revision 43158 - (view) (annotate) - [select for diffs]
Modified Fri May 21 23:49:30 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57293 byte(s)
Diff to previous 43086
Allowed debugging of features of SPECIAL since there is nothing special about
  SPECIAL.


Revision 43086 - (view) (annotate) - [select for diffs]
Modified Tue May 18 04:21:39 2004 UTC (15 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57327 byte(s)
Diff to previous 42645
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 42645 - (view) (annotate) - [select for diffs]
Modified Fri Apr 9 16:44:01 2004 UTC (15 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57095 byte(s)
Diff to previous 42404
Simplified creation of FEATURE_B or ANY_FEATURE_B instances by using new
  creation routine `make'. By doing so, it also fixes bug when calling
  the precursor version when redefining a routine of ANY where in IL code
  generation we were generating an infinite recursion because `precursor_type'
  was not set in the case of a Precursor call.


Revision 42404 - (view) (annotate) - [select for diffs]
Modified Fri Mar 26 03:16:30 2004 UTC (15 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57321 byte(s)
Diff to previous 41844
When we handle a routine written in ANY, we create a descendant node ANY_FEATURE_B
  of FEATURE_B so that proper inlining of the routine of ANY is done at code
  generation time in IL code generation.


Revision 41844 - (view) (annotate) - [select for diffs]
Modified Sat Mar 6 03:25:58 2004 UTC (15 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57036 byte(s)
Diff to previous 40970
Removed `is_none_attribute' since we don't do a special case anymore for NONE attribute.
Added `escaped_feature_name' for C code generation of name for `infix' or `prefix
  features.
Redeclaration are now checked through normal `conform_to', no need for `valid_redeclaration'.
Now `update_instantiator2' updates all types, not just the generic one.


Revision 40970 - (view) (annotate) - [select for diffs]
Modified Mon Jan 12 00:26:24 2004 UTC (15 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57060 byte(s)
Diff to previous 40771
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 40771 - (view) (annotate) - [select for diffs]
Modified Thu Dec 11 23:36:44 2003 UTC (16 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57917 byte(s)
Diff to previous 39668
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 39668 - (view) (annotate) - [select for diffs]
Modified Wed Oct 15 17:29:32 2003 UTC (16 years, 2 months ago) by jfiat
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57928 byte(s)
Diff to previous 39632
fixed access to body for performance issue in number_of_breakpoint_slots


Revision 39632 - (view) (annotate) - [select for diffs]
Modified Tue Oct 14 17:53:52 2003 UTC (16 years, 2 months ago) by jfiat
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57878 byte(s)
Diff to previous 39379
fixed case where body is Void


Revision 39379 - (view) (annotate) - [select for diffs]
Modified Thu Oct 2 18:36:05 2003 UTC (16 years, 2 months ago) by jfiat
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57795 byte(s)
Diff to previous 39081
Added number_of_all_precondition_slots


Revision 39081 - (view) (annotate) - [select for diffs]
Modified Tue Sep 16 22:55:54 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56572 byte(s)
Diff to previous 38888
Prevented use of static access on externals that are not frozen or that have
assertions.


Revision 38888 - (view) (annotate) - [select for diffs]
Modified Thu Sep 4 21:40:41 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56492 byte(s)
Diff to previous 38880
Removed previous fix, it is now replaced by forcing a freeze each time we
add an external routine to the melted_set of CLASS_C (add_feature_to_melted_set).


Revision 38880 - (view) (annotate) - [select for diffs]
Modified Thu Sep 4 19:16:38 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56715 byte(s)
Diff to previous 38873
Fixed eweasel bugs incr212 where changing the argument order was not changing
the C generated code that needed to be changed since some argument names have
changed.


Revision 38873 - (view) (annotate) - [select for diffs]
Modified Thu Sep 4 01:50:11 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56492 byte(s)
Diff to previous 38164
Since we always generate an encapsulation of the external routines which has
`Current' as first argument, there is no problem in having an Eiffel routine
being redefined as an external one and conversely.


Revision 38164 - (view) (annotate) - [select for diffs]
Modified Wed Jul 23 01:26:11 2003 UTC (16 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57968 byte(s)
Diff to previous 37693
Removed redefinition of `valid_body_id' from EXTERNAL_I and updated version from FEATURE_I
  to be True for an external too as now they are by default call through their encapsulation.
No more redefinition of `new_rout_entry' as the one of FEATURE_I since we always call
  externals through their encapsulation.
Removed non-used routines of EXTERNAL_I.
Updated `generate' so that it can work for both .NET and classic Eiffel.

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 37693 - (view) (annotate) - [select for diffs]
Modified Wed Jun 11 23:57:03 2003 UTC (16 years, 6 months ago) by julieng
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 58187 byte(s)
Diff to previous 36946
Replace !! with create keyword.
Replace creation keyword with create keyword.
Change order of elements in Precursor instructions.


Revision 36946 - (view) (annotate) - [select for diffs]
Modified Thu Apr 24 22:12:12 2003 UTC (16 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 58078 byte(s)
Diff to previous 36866
Renamed `is_procedure' into `is_routine' as this is exactly what it represents.


Revision 36866 - (view) (annotate) - [select for diffs]
Modified Sat Apr 19 17:31:22 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 58082 byte(s)
Diff to previous 35896
Fixed incorrect implementation of `infix "<"' since `feature_name' might
not be initialized (just after object creation for example) and we need to
take this into account for invariants.


Revision 35896 - (view) (annotate) - [select for diffs]
Modified Tue Feb 11 20:52:38 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57968 byte(s)
Diff to previous 35754
Maded FEATURE_I comparable so that we can sort features by their name.


Revision 35754 - (view) (annotate) - [select for diffs]
Modified Tue Feb 4 22:36:59 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57655 byte(s)
Diff to previous 34536
Added precondition to to `check_expanded'


Revision 34536 - (view) (annotate) - [select for diffs]
Modified Tue Sep 24 03:28:39 2002 UTC (17 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57618 byte(s)
Diff to previous 33748
Made sure that constants defined in external classes are also marked `is_il_external'.


Revision 33748 - (view) (annotate) - [select for diffs]
Modified Mon Aug 19 05:06:15 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57458 byte(s)
Diff to previous 33610
Added `is_il_external' to quickly find out if we are handling an IL
external. Added post-condition to `is_c_external'.


Revision 33610 - (view) (annotate) - [select for diffs]
Modified Mon Aug 12 19:18:05 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57177 byte(s)
Diff to previous 33603
Removed non-used local variables.


Revision 33603 - (view) (annotate) - [select for diffs]
Modified Mon Aug 12 18:44:53 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57221 byte(s)
Diff to previous 33232
New feature to get byte code of a custom attribute applied on an Eiffel
routine.


Revision 33232 - (view) (annotate) - [select for diffs]
Modified Thu Jul 25 02:36:07 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56845 byte(s)
Diff to previous 33161
Previous modification on `has_static_access' forbid the access to C externals
in IL code generation.


Revision 33161 - (view) (annotate) - [select for diffs]
Modified Sat Jul 20 04:26:18 2002 UTC (17 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56760 byte(s)
Diff to previous 31841
Added `extension' as a feature of FEATURE_I. Updated descendant that already
 had an `extension' feature. Simplified code of `has_static_access' in FEATURE_I
 to reflect the above change.


Revision 31841 - (view) (annotate) - [select for diffs]
Modified Fri May 3 21:53:49 2002 UTC (17 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56978 byte(s)
Diff to previous 31370
Fixed `number_of_precondition_slots' and `number_of_postcondition_slots
so that they take into account case where there is no body (it happens
for external routines defined in a non-Eiffel class representation
(usually XML for a .NET class)).
Fixed `debug_output' so that it satisfies its inherited post-condition where
Result should not be Void.


Revision 31370 - (view) (annotate) - [select for diffs]
Modified Wed Apr 10 16:44:45 2002 UTC (17 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56630 byte(s)
Diff to previous 30458
Added `has_return_value' to quickly find out if we are handling an attribute,
a constant or a function.


Revision 30458 - (view) (annotate) - [select for diffs]
Modified Wed Jan 30 03:23:09 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56415 byte(s)
Diff to previous 30362
Fixed `new_deferred' so that when `il_generation' we save the `extension'
info of an external into the deferred. Enabling us to call the new deferred
fetature directly.


Revision 30362 - (view) (annotate) - [select for diffs]
Modified Tue Jan 22 18:38:14 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56256 byte(s)
Diff to previous 30326
Renamed `is_formal_attribute' into `is_type_feature' as it is the new name
of the class TYPE_FEATURE_I.


Revision 30326 - (view) (annotate) - [select for diffs]
Modified Mon Jan 21 16:19:30 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56257 byte(s)
Diff to previous 30172
Added inheritance to DEBUG_OUTPUT so that we see the feature name in debugger.
Renamed `base_class_id' into `class_id'.
Moved commented code to a different place.


Revision 30172 - (view) (annotate) - [select for diffs]
Modified Fri Jan 11 01:51:55 2002 UTC (17 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56264 byte(s)
Diff to previous 29829
Added `is_formal_attribute' to find out if a FEATURE_I objects is a FORMAL_ATTRIBUTE_I
one or not.


Revision 29829 - (view) (annotate) - [select for diffs]
Modified Wed Dec 19 20:32:51 2001 UTC (18 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56157 byte(s)
Diff to previous 29788
Fixed `equiv' so that changing a once into a non-once and vice versa implies
that a propagation will be done on all client of the class. Needed for correct
generation of once optimization. Fixed eweasel entry `incr153'.


Revision 29788 - (view) (annotate) - [select for diffs]
Modified Wed Dec 19 01:15:33 2001 UTC (18 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56055 byte(s)
Diff to previous 29677
Removed usage of `set_private_external_name' as we decided now that the name
of an external feature should not be modified by the user as it can have some
big consequences since the compiler is not checking that the new name is valid.


Revision 29677 - (view) (annotate) - [select for diffs]
Modified Thu Dec 13 21:18:34 2001 UTC (18 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56473 byte(s)
Diff to previous 29538
Cosmetics on feature header comments (removed `the')


Revision 29538 - (view) (annotate) - [select for diffs]
Modified Thu Dec 6 02:24:05 2001 UTC (18 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56872 byte(s)
Diff to previous 29520
Improved precondition of `private_external_name' so that it is not called
when no private_external_name_id has not yet been set.


Revision 29520 - (view) (annotate) - [select for diffs]
Modified Thu Dec 6 00:43:47 2001 UTC (18 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56799 byte(s)
Diff to previous 29350
In `generate_il' we now set `set_current_feature' from BYTE_CONTEXT. This is
required as we take the `current_feature' from BYTE_CONTEXT during code
generation for fastest access to the FEATURE_I being generated (rather than
having to go through the FEATURE_TABLE)


Revision 29350 - (view) (annotate) - [select for diffs]
Modified Tue Nov 27 22:19:51 2001 UTC (18 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56752 byte(s)
Diff to previous 29041
Cosmetics (added indexing clause)
Made `access' frozen which now calls `access_for_feature' which is deferred.
  `access_for_feature' has two arguments `access_type' and `static_type'.
  `static_type' will not be Void when this is a call to Precursor or a static
  accesss call.
Removed `original_name_id', `implemented_in' and `belongs_to_interface'. We now
  use `origin_feature_id', `origin_class_id' and `written_feature_id' for IL
  code generation.
Removed all booleans and replaced them by an INTEGER_16 `feature_flags'. We use
  functions now to query the state of a FEATURE_I. This saves about 4MB in space
  for a 160MB EIFGEN without noticable performance degradation.
Renamed `empty_body' into `is_empty'.


Revision 29041 - (view) (annotate) - [select for diffs]
Modified Tue Nov 13 02:52:42 2001 UTC (18 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53770 byte(s)
Diff to previous 28621
Fixed `has_static_access' so that it returns True for a C externals in
IL code generation.


Revision 28621 - (view) (annotate) - [select for diffs]
Modified Wed Oct 31 04:04:45 2001 UTC (18 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53603 byte(s)
Diff to previous 28489
Forgot to add static constant access in case of IL generation.


Revision 28489 - (view) (annotate) - [select for diffs]
Modified Fri Oct 26 21:42:25 2001 UTC (18 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53558 byte(s)
Diff to previous 28400
Implementation of static feature access on constants.
Enabled inspect statement to have static feature access on attribute.


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/feature_i.e
File length: 53520 byte(s)
Diff to previous 28258
Added supports multiple inheritance for IL code generation.


Revision 28258 - (view) (annotate) - [select for diffs]
Modified Thu Oct 18 16:51:00 2001 UTC (18 years, 2 months ago) by xavier
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 50193 byte(s)
Diff to previous 27654
Added a feature that checks a feature can be called in a static way.


Revision 27654 - (view) (annotate) - [select for diffs]
Modified Sat Sep 15 03:05:34 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 49684 byte(s)
Diff to previous 27540
Use of NAMES_HEAP so that we store an INTEGER rather than a STRING on
external. The integer is used for storing:
- feature/alias name
- parameter types
- return type
- header file name.


Revision 27540 - (view) (annotate) - [select for diffs]
Modified Wed Sep 12 00:37:14 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 49173 byte(s)
Diff to previous 27531
Added `set_renamed_name_id' that is a synonym of `set_renamed_name'.


Revision 27531 - (view) (annotate) - [select for diffs]
Modified Tue Sep 11 22:35:49 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 49152 byte(s)
Diff to previous 27496
Use of `feature_name_id' anywhere it was feasible.
Removed inheritance from PART_COMPARABLE since never used, accordingly
  removed definition of infix "<".


Revision 27496 - (view) (annotate) - [select for diffs]
Modified Mon Sep 10 18:07:41 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 49294 byte(s)
Diff to previous 27487
Fixed `check_argument_names' where VRLE errors were not reported anymore
for two contiguous identical argument name. This was due because we were
before iterating on the area and now we don't do this anymore.
At the same time, optimized this feature to never use the name, but the name ID
instead.


Revision 27487 - (view) (annotate) - [select for diffs]
Modified Sun Sep 9 01:40:32 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 49319 byte(s)
Diff to previous 26913
Replaced `feature_name' attribute by a function using the new INTEGER attribute
  `feature_name_id'. Doing so, the `hash_code' is now the `feature_name_id'.
  Same with `private_external_name'.
Updated `set_feature_name', `set_renamed_name' and `set_external_name' to
  reflect that change and to record the names in NAMES_HEAP.
Removed `argument_names', it is better to use `arguments: FEAT_ARG' instead.

Updated code that was using `argument_names' to use either arguments or the
fact now they are integers.


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


Revision 14874 - (view) (annotate) - [select for diffs]
Modified Sun Jun 13 23:51:44 1999 UTC (20 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57696 byte(s)
Diff to previous 14323
Complete a bug fix for the dead code removal. Previously the problem was that we did
not keep `x' in `a: like x' where x was a feature. We fixed the problem, but we forgot
the following case `a: ARRAY [like x]'. This is now done by adding in TYPE_A a new
feature called `update_dependance'.


Revision 14323 - (view) (annotate) - [select for diffs]
Modified Mon May 10 04:30:53 1999 UTC (20 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 58064 byte(s)
Diff to previous 14244
Added a new feature `set_renamed_name' which is used only when renaming
a routine. It does the same as `set_feature_name' except in the case of an
EXTERNAL_I which does not define an alias name.


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/feature_i.e
File length: 57950 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/feature_i.e
File length: 57961 byte(s)
Diff to previous 14214
Implementation of the new default_create mechanism.
In SYSTEM_I changed the run-time licensing number.


Revision 14214 - (view) (annotate) - [select for diffs]
Modified Fri Apr 30 12:11:47 1999 UTC (20 years, 7 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57722 byte(s)
Diff to previous 13501
CONSTRUCT_LIST now inherits from ARRAYED_LIST instead of FIXED_LIST.


Revision 13501 - (view) (annotate) - [select for diffs]
Modified Fri Feb 26 07:38:45 1999 UTC (20 years, 9 months ago) by bouaziz
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57721 byte(s)
Diff to previous 12632
fixed a painful little bug in the dead code removal
concerning the anchored features.


Revision 12632 - (view) (annotate) - [select for diffs]
Modified Sat Jan 16 03:01:29 1999 UTC (20 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57242 byte(s)
Diff to previous 12175
When using precompiled generic classes, their body_ids have
to be updated but they were not updated in the depend server.
This correct the bug.


Revision 12175 - (view) (annotate) - [select for diffs]
Modified Sat Dec 5 19:46:11 1998 UTC (21 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 57118 byte(s)
Diff to previous 11912
Fixed the bug with default rescue, by memorizing in the byte code itself
that we do have a default_rescue. This information is used when generating
the byte code or the breakpoints.


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/feature_i.e
File length: 57033 byte(s)
Diff to previous 11888
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 11888 - (view) (annotate) - [select for diffs]
Modified Tue Nov 10 03:30:44 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56938 byte(s)
Diff to previous 11836
Improved traversal speed of `argument_names' which is an EIFFEL_LIST [ID_AS]
by using `area' and local variables. Also changed the way how to call
`index_of' from CONSTRUCT_LIST which has been changed into `locate_index_of'
which has a new argument to give the start position in the search so that the
cost is now "n(n+1)/2" instead of "n*n".


Revision 11836 - (view) (annotate) - [select for diffs]
Modified Sat Nov 7 01:36:09 1998 UTC (21 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56604 byte(s)
Diff to previous 11611
Use a local variable to access PATTERN_TABLE.
Now, all the features of SPECIAL, i.e. put and item can be inlined


Revision 11611 - (view) (annotate) - [select for diffs]
Modified Wed Oct 14 00:57:05 1998 UTC (21 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56505 byte(s)
Diff to previous 11601
Fixed a bug in the new reverse engineering which generates the body of features.


Revision 11601 - (view) (annotate) - [select for diffs]
Modified Tue Oct 13 01:37:49 1998 UTC (21 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56380 byte(s)
Diff to previous 11564
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 11564 - (view) (annotate) - [select for diffs]
Modified Thu Oct 8 22:19:13 1998 UTC (21 years, 2 months ago) by pascalf
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 56433 byte(s)
Diff to previous 11562
Rescue clause + external added to the CASEGEN generation


Revision 11562 - (view) (annotate) - [select for diffs]
Modified Thu Oct 8 20:59:40 1998 UTC (21 years, 2 months ago) by pascalf
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 55149 byte(s)
Diff to previous 11559
attempt integraion


Revision 11559 - (view) (annotate) - [select for diffs]
Modified Thu Oct 8 20:49:09 1998 UTC (21 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 52814 byte(s)
Diff to previous 11342
Changed LINKED_LIST [CLASS_TYPE] into TYPE_LIST


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


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


Revision 10419 - (view) (annotate) - [select for diffs]
Modified Wed Jun 17 00:47:09 1998 UTC (21 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 52831 byte(s)
Diff to previous 10314
Improvement on the speed of the finalization time.

First, I removed all the *_UNIT* classes from the `polymorphism' cluster. I merged the definition
with the *_ENTRY* classes. Why? Basically, because from the *_UNI* which were stored in the EIFGEN
directory we were rebuilding a set of *_ENTRY* classes. This implies a big penalty, because we
are using SORTED_TWO_WAY_LIST as a layout structure and each time we are inserting an element it takes
forever.

The first step was to switch all the code from *_UNIT* into *_ENTRY* and this has been done without
any problems. However, we thought it was not enough because the data structure was not fast enough,
so we decide to change it and to use a sorted array.

Since the creation of the data structures is done mostly at degree -4, we decided to create unsorted
array with elements and just before to store them in the EIFGEN we will sort them using the quicksort
algorithm. The change in the data structure implies to update all the traversal and since it was
sorted I've created a binary search algorithm to do a quick search on the data structure.

Now, it is very fast to finalize.


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/feature_i.e
File length: 52777 byte(s)
Diff to previous 10191
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 10191 - (view) (annotate) - [select for diffs]
Modified Fri May 22 00:48:09 1998 UTC (21 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53602 byte(s)
Diff to previous 9998
Cosmetics
Speed up the access on `item' from Body_server


Revision 9998 - (view) (annotate) - [select for diffs]
Modified Thu Apr 23 18:44:50 1998 UTC (21 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53610 byte(s)
Diff to previous 9653
Adaptation to the new HASH_TABLE with `found_item'

New way to create the constraint_error_list to be conform to the new implementation
of `check_constraints'


Revision 9653 - (view) (annotate) - [select for diffs]
Modified Sun Mar 15 02:07:44 1998 UTC (21 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53565 byte(s)
Diff to previous 8962
Cosmetics (Removed semicolon)
Use precursor to simplify the inheritance scheme
Simplify some features


Revision 8962 - (view) (annotate) - [select for diffs]
Modified Thu Jan 15 17:41:21 1998 UTC (21 years, 11 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 55401 byte(s)
Diff to previous 8279
Cosmetics
Optimizations in the degree -2 and -5. We removed an unused loop, ie we can merge two loops into one.


Revision 8279 - (view) (annotate) - [select for diffs]
Modified Tue Sep 30 16:39:52 1997 UTC (22 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 55338 byte(s)
Diff to previous 7836
Cosmetics


Revision 7836 - (view) (annotate) - [select for diffs]
Modified Mon May 5 21:32:20 1997 UTC (22 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 55345 byte(s)
Diff to previous 7555
Added default_rescue stuff.
Typos.


Revision 7555 - (view) (annotate) - [select for diffs]
Modified Fri Dec 20 15:57:18 1996 UTC (23 years ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 54433 byte(s)
Diff to previous 6919
fixed a bug in CEC. When a new featured whose pattern id does not exist, freezing is
automatically enforced.


Revision 6919 - (view) (annotate) - [select for diffs]
Modified Fri Oct 25 16:22:08 1996 UTC (23 years, 1 month ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 54019 byte(s)
Diff to previous 6879
optimization


Revision 6879 - (view) (annotate) - [select for diffs]
Modified Fri Oct 18 18:27:13 1996 UTC (23 years, 2 months ago) by terryt
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53942 byte(s)
Diff to previous 6621
Concurrent Eiffel


Revision 6621 - (view) (annotate) - [select for diffs]
Modified Wed Sep 25 19:05:02 1996 UTC (23 years, 2 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53679 byte(s)
Diff to previous 6566
set/reset cluster in INST_CONTEXT


Revision 6566 - (view) (annotate) - [select for diffs]
Modified Wed Sep 25 17:01:56 1996 UTC (23 years, 2 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53563 byte(s)
Diff to previous 6067
class_name => name in CLASS_C (comig from E_CLASS)


Revision 6067 - (view) (annotate) - [select for diffs]
Modified Thu Jul 18 09:57:02 1996 UTC (23 years, 5 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53575 byte(s)
Diff to previous 6054
ANSI C/C++ code generation: redefinition rule


Revision 6054 - (view) (annotate) - [select for diffs]
Modified Tue Jul 16 17:01:09 1996 UTC (23 years, 5 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53593 byte(s)
Diff to previous 5306
C++ extension


Revision 5306 - (view) (annotate) - [select for diffs]
Modified Fri May 24 15:44:44 1996 UTC (23 years, 6 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53175 byte(s)
Diff to previous 4592
optimization: `is_equal' called on IDs instead of `equal'
unused local removed
precondition not Void added


Revision 4592 - (view) (annotate) - [select for diffs]
Modified Wed Apr 3 14:51:54 1996 UTC (23 years, 8 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53099 byte(s)
Diff to previous 4476
new abstraction: PATTERN_ID (multiple precompilation)


Revision 4476 - (view) (annotate) - [select for diffs]
Modified Tue Apr 2 16:07:07 1996 UTC (23 years, 8 months ago) by guusl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53086 byte(s)
Diff to previous 3851
bug fix: current break mark wasn't displayed all the time (generic derivations


Revision 3851 - (view) (annotate) - [select for diffs]
Modified Thu Feb 15 14:32:17 1996 UTC (23 years, 10 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53008 byte(s)
Diff to previous 3787
server ids are of type IDABLE (instead of INTEGER)
`trace' implemented in COMPILER_ID


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/feature_i.e
File length: 53122 byte(s)
Diff to previous 3667
new abstractions for system counters (body id, body_index)


Revision 3667 - (view) (annotate) - [select for diffs]
Modified Tue Jan 16 09:30:55 1996 UTC (23 years, 11 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 52989 byte(s)
Diff to previous 3653
new abstractions for system counters (class ids and type ids)


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


Revision 3628 - (view) (annotate) - [select for diffs]
Modified Mon Jan 15 10:46:18 1996 UTC (23 years, 11 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 52882 byte(s)
Diff to previous 3478
an E_FEATURE knows from which class it was created


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


Revision 3397 - (view) (annotate) - [select for diffs]
Modified Mon Dec 4 12:10:41 1995 UTC (24 years ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 52711 byte(s)
Diff to previous 3198
signature features removed (use E_FEATURE instead)


Revision 3198 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 17:05:39 1995 UTC (24 years, 1 month ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 54702 byte(s)
Diff to previous 3091
different output routines
inherits from COMPILER_EXPORTER (export status)


Revision 3091 - (view) (annotate) - [select for diffs]
Modified Mon Oct 30 12:08:13 1995 UTC (24 years, 1 month ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 54700 byte(s)
Diff to previous 2892
implementation of the API


Revision 2892 - (view) (annotate) - [select for diffs]
Modified Wed Sep 20 14:45:25 1995 UTC (24 years, 3 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 55014 byte(s)
Diff to previous 2817
`body': able to retrieve the body of uncompiled feature (after a Degree 4 error for instance)


Revision 2817 - (view) (annotate) - [select for diffs]
Modified Fri Aug 4 15:19:41 1995 UTC (24 years, 4 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 54566 byte(s)
Diff to previous 2744
debug statement
`stone': optimization


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/feature_i.e
File length: 54668 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/feature_i.e
File length: 54328 byte(s)
Diff to previous 2657
abstract parser: <type> => <type_B>


Revision 2657 - (view) (annotate) - [select for diffs]
Modified Wed Jul 5 15:54:18 1995 UTC (24 years, 5 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 54306 byte(s)
Diff to previous 1575
inheritance from BASIC_ROUTINES removed


Revision 1575 - (view) (annotate) - [select for diffs]
Modified Fri Dec 16 18:41:51 1994 UTC (25 years ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 54372 byte(s)
Diff to previous 1543
`is_debuggable' returns false for basic types or special classes (SPECIAL and TO_SPECIAL)
=> we cannot debug built-in features


Revision 1543 - (view) (annotate) - [select for diffs]
Modified Fri Dec 9 23:47:11 1994 UTC (25 years ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 54074 byte(s)
Diff to previous 1330
log files


Revision 1330 - (view) (annotate) - [select for diffs]
Modified Sat Oct 29 18:35:10 1994 UTC (25 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 54137 byte(s)
Diff to previous 1275
cosmetics
inlining
log file for generated features and removed features
disk_item instead of item for debug info => no side effect to the compiler


Revision 1275 - (view) (annotate) - [select for diffs]
Modified Fri Oct 28 22:54:41 1994 UTC (25 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 53337 byte(s)
Diff to previous 1206
PELKS conformance
bug fix: check before accessing (tmp_)body_server => used by feature_stones


Revision 1206 - (view) (annotate) - [select for diffs]
Modified Wed Oct 5 00:20:22 1994 UTC (25 years, 2 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 52162 byte(s)
Diff to previous 1167
inlining


Revision 1167 - (view) (annotate) - [select for diffs]
Modified Tue Oct 4 23:00:57 1994 UTC (25 years, 2 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 50998 byte(s)
Diff to previous 1151
case stuff


Revision 1151 - (view) (annotate) - [select for diffs]
Modified Tue Oct 4 22:03:36 1994 UTC (25 years, 2 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 50922 byte(s)
Diff to previous 1105
externals: new semantic


Revision 1105 - (view) (annotate) - [select for diffs]
Modified Tue Sep 20 00:11:18 1994 UTC (25 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 50546 byte(s)
Diff to previous 1095
Array optimization: loop for the optimized byte code before generating the code


Revision 1095 - (view) (annotate) - [select for diffs]
Modified Mon Sep 19 23:55:39 1994 UTC (25 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 50423 byte(s)
Diff to previous 956
`valid_body_id' is used as a precondition for `real_body_id', redefined in
EXTERNAL_I if encapsulated (new syntax for external features)


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/feature_i.e
File length: 50098 byte(s)
Diff to previous 926
case stuff


Revision 926 - (view) (annotate) - [select for diffs]
Modified Sat Aug 27 00:56:26 1994 UTC (25 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 50133 byte(s)
Diff to previous 845
debug statement for `equiv'
`body' has been added


Revision 845 - (view) (annotate) - [select for diffs]
Modified Sat Aug 20 00:57:52 1994 UTC (25 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 49692 byte(s)
Diff to previous 720
case stuff


Revision 720 - (view) (annotate) - [select for diffs]
Modified Thu Aug 11 08:42:46 1994 UTC (25 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 49261 byte(s)
Diff to previous 681
new protocol: locals and args (call stack)


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/feature_i.e
File length: 49419 byte(s)
Diff to previous 605
case stuff


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/feature_i.e
File length: 48449 byte(s)
Diff to previous 602
*** empty log message ***


Revision 602 - (view) (annotate) - [select for diffs]
Modified Tue Jun 28 14:42:56 1994 UTC (25 years, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 48398 byte(s)
Diff to previous 586
*** empty log message ***


Revision 586 - (view) (annotate) - [select for diffs]
Modified Fri Jun 17 10:57:09 1994 UTC (25 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 48364 byte(s)
Diff to previous 558
*** empty log message ***


Revision 558 - (view) (annotate) - [select for diffs]
Modified Tue May 24 15:36:42 1994 UTC (25 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 47434 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/feature_i.e
File length: 47276 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/feature_i.e
File length: 46939 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/feature_i.e
File length: 46747 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, 9 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 46759 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, 10 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 46408 byte(s)
Diff to previous 457
*** empty log message ***


Revision 457 - (view) (annotate) - [select for diffs]
Modified Wed Dec 29 11:28:49 1993 UTC (25 years, 11 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 46354 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 (26 years ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 46315 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/feature_i.e
File length: 46155 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, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 46106 byte(s)
Diff to previous 411
*** empty log message ***


Revision 411 - (view) (annotate) - [select for diffs]
Modified Tue Nov 2 18:51:32 1993 UTC (26 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 45593 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/feature_i.e
File length: 45489 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, 2 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 45110 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, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 44446 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/feature_i.e
File length: 44457 byte(s)
Diff to previous 351
*** empty log message ***


Revision 351 - (view) (annotate) - [select for diffs]
Modified Mon Sep 6 15:38:17 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 44476 byte(s)
Diff to previous 348
*** empty log message ***


Revision 348 - (view) (annotate) - [select for diffs]
Modified Mon Sep 6 14:53:05 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 44240 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/feature_i.e
File length: 44243 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/feature_i.e
File length: 44122 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/feature_i.e
File length: 43967 byte(s)
Diff to previous 321
*** empty log message ***


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


Revision 318 - (view) (annotate) - [select for diffs]
Modified Fri Aug 20 13:03:38 1993 UTC (26 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 44165 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, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 44142 byte(s)
Diff to previous 309
*** empty log message ***


Revision 309 - (view) (annotate) - [select for diffs]
Modified Fri Aug 20 10:46:24 1993 UTC (26 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 43998 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, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 42299 byte(s)
Diff to previous 292
*** empty log message ***


Revision 292 - (view) (annotate) - [select for diffs]
Modified Thu Aug 19 17:24:11 1993 UTC (26 years, 4 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 41518 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/feature_i.e
File length: 41468 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, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 40892 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, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 40619 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/feature_i.e
File length: 40771 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/feature_i.e
File length: 40765 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/feature_i.e
File length: 39957 byte(s)
Diff to previous 221
*** empty log message ***


Revision 221 - (view) (annotate) - [select for diffs]
Modified Fri May 28 13:07:14 1993 UTC (26 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 39879 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/feature_i.e
File length: 39750 byte(s)
Diff to previous 214
*** empty log message ***


Revision 214 - (view) (annotate) - [select for diffs]
Modified Fri May 28 11:07:19 1993 UTC (26 years, 6 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 39222 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/feature_i.e
File length: 38939 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/feature_i.e
File length: 36390 byte(s)
Diff to previous 194
*** empty log message ***


Revision 194 - (view) (annotate) - [select for diffs]
Modified Tue May 11 11:28:55 1993 UTC (26 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 35863 byte(s)
Diff to previous 166
*** empty log message ***


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/feature_i.e
File length: 35149 byte(s)
Diff to previous 71
*** empty log message ***


Revision 71 - (view) (annotate) - [select for diffs]
Modified Mon Mar 15 16:50:26 1993 UTC (26 years, 9 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 35353 byte(s)
Diff to previous 37
`old'


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


Revision 31 - (view) (annotate) - [select for diffs]
Modified Mon Mar 15 11:36:01 1993 UTC (26 years, 9 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/feature_i.e
File length: 35050 byte(s)
Diff to previous 18
Debuggable byte code generation.


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/feature_i.e
File length: 32606 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