/[eiffelstudio]/trunk/Src/bench/Eiffel/eiffel/genericity/cl_type_i.e
ViewVC logotype

Log of /trunk/Src/bench/Eiffel/eiffel/genericity/cl_type_i.e

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 58325)

Revision 57781 - (view) (annotate) - [select for diffs]
Modified Mon Mar 27 17:11:27 2006 UTC (13 years, 11 months ago) by patrickr
File length: 17136 byte(s)
Diff to previous 56735
New compiler with new configuration system
For now only the batch compiler works


Revision 56735 - (view) (annotate) - [select for diffs]
Modified Thu Jan 26 13:08:50 2006 UTC (14 years, 1 month ago) by alexk
File length: 17132 byte(s)
Diff to previous 56564
Added a query to indicate if a type is based on a frozen class.

Revision 56564 - (view) (annotate) - [select for diffs]
Modified Tue Jan 17 15:00:56 2006 UTC (14 years, 1 month ago) by alexk
File length: 17011 byte(s)
Diff to previous 56535
Added a feature to replace "like Current" with the supplied context class
type.
Added a feature to determine if a generic type has a given class type as an
actual parameter.


Revision 56535 - (view) (annotate) - [select for diffs]
Modified Tue Jan 17 01:37:10 2006 UTC (14 years, 1 month ago) by manus
File length: 16644 byte(s)
Diff to previous 56356
Added text of the GPL license to all classes of the compiler.


Revision 56356 - (view) (annotate) - [select for diffs]
Modified Fri Dec 23 11:15:48 2005 UTC (14 years, 2 months ago) by alexk
File length: 15239 byte(s)
Diff to previous 56062
Added a feature to evaluate the type of an expression in a given class
assuming that the context type is fixed. This is used to evaluate types in
the code of inherited features generated for expanded types.
Changed code generation for creation to take expandedness status of the
creation type into account.
Added a feature that loads a current object as a reference one regardless
of its actual expandedness status.
Added features to evaluate context type of a call as well as a type from a
possibly inherited code in the context type for which the code generation
is performed.
Taken expandedness status of a root class into account.


Revision 56062 - (view) (annotate) - [select for diffs]
Modified Thu Dec 8 12:33:35 2005 UTC (14 years, 2 months ago) by alexk
File length: 14994 byte(s)
Diff to previous 56011
Extended export status of `declaration_mark' and associated features to simplify its setting from TUPLE_CLASS_B.

Revision 56011 - (view) (annotate) - [select for diffs]
Modified Mon Dec 5 17:36:00 2005 UTC (14 years, 2 months ago) by alexk
File length: 14979 byte(s)
Diff to previous 55897
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 55897 - (view) (annotate) - [select for diffs]
Modified Sat Nov 26 18:55:32 2005 UTC (14 years, 3 months ago) by alexk
File length: 12849 byte(s)
Diff to previous 55707
Introduced a feature that ensures that attribute description is completely resolved in a sense that it does not depend on class type properties such as formal generics. This can also be used when resolving attributes of type "like Current".

Revision 55707 - (view) (annotate) - [select for diffs]
Modified Fri Nov 11 19:03:48 2005 UTC (14 years, 3 months ago) by alexk
File length: 12794 byte(s)
Diff to previous 55396
Removed trailing spaces.


Revision 55396 - (view) (annotate) - [select for diffs]
Modified Thu Oct 27 09:09:39 2005 UTC (14 years, 4 months ago) by alexk
File length: 12824 byte(s)
Diff to previous 49446
Changed .NET code generation to generate expanded types as single
classes all the time.


Revision 49446 - (view) (annotate) - [select for diffs]
Modified Thu Mar 24 07:11:22 2005 UTC (14 years, 11 months ago) by manus
File length: 12778 byte(s)
Diff to previous 49345
Use new syntax for static calls.


Revision 49345 - (view) (annotate) - [select for diffs]
Modified Mon Mar 21 16:43:52 2005 UTC (14 years, 11 months ago) by manus
File length: 12818 byte(s)
Diff to previous 48802
Reuse the computed local variable for better performance in `il_type_name'.


Revision 48802 - (view) (annotate) - [select for diffs]
Modified Mon Feb 28 18:46:52 2005 UTC (15 years ago) by raphaels
File length: 12830 byte(s)
Diff to previous 48670
Enabled back "alias" clause on Eiffel classes to force .NET type name. This is needed by the CodeDom Provider (ASP.NET expects the generated type to have a specific name)


Revision 48670 - (view) (annotate) - [select for diffs]
Modified Wed Feb 23 17:46:45 2005 UTC (15 years ago) by alexk
File length: 12519 byte(s)
Diff to previous 48204
Added a postcondition to `associated_class_type'.
Reverted to original definition of `has_associated_class_type' as it is
correct given that all class types are registered as required.


Revision 48204 - (view) (annotate) - [select for diffs]
Modified Tue Feb 1 16:11:01 2005 UTC (15 years ago) by alexk
File length: 12486 byte(s)
Diff to previous 46609
Changed implementation of `has_associated_class_type' to match
implementation of `associated_class_type'.


Revision 46609 - (view) (annotate) - [select for diffs]
Modified Tue Nov 23 13:23:01 2004 UTC (15 years, 3 months ago) by alexk
File length: 12475 byte(s)
Diff to previous 44445
Used IL_CASING.type_name to calculate a class type name.


Revision 44445 - (view) (annotate) - [select for diffs]
Modified Wed Jul 21 05:31:04 2004 UTC (15 years, 7 months ago) by manus
File length: 12959 byte(s)
Diff to previous 44058
Removed support for `reference X' types:
  - removed `reference_type' from CL_TYPE_I and moved it to BASIC_I, as
    we only need it on basic types to allow an optimized conversion expanded<->reference.
	`reference_type' is deferred in BASIC_I and implemented in each basic type
	class using the _REF class.
  - same for `associated_reference_class_type'.


Revision 44058 - (view) (annotate) - [select for diffs]
Modified Wed Jun 30 23:08:24 2004 UTC (15 years, 8 months ago) by manus
File length: 13405 byte(s)
Diff to previous 44032
Changed `is_generated_as_single_type' to be only true for external classes
  and classes which are `is_single'. All other eiffel classes gets an interface
  and an implementation.
Removed comment on `element_type' about the `is_expanded' case since we partially
  support expanded types in IL code generation now.


Revision 44032 - (view) (annotate) - [select for diffs]
Modified Wed Jun 30 04:19:23 2004 UTC (15 years, 8 months ago) by manus
File length: 13626 byte(s)
Diff to previous 43989
Made sure to generate `Element_type_object' for something declared of type
  ANY. This is because now our ANY and System.Object maps to System.Object
  in the generated code.
Fixed `is_generated_as_single_type' to ensure that it reports proper information
  for already generated types such as .NET external types, and for Eiffel types.
  Note that we commented some code while waiting for a good code generation
  of expanded in .NET.


Revision 43989 - (view) (annotate) - [select for diffs]
Modified Mon Jun 28 20:05:51 2004 UTC (15 years, 8 months ago) by manus
File length: 13834 byte(s)
Diff to previous 43828
Single type code generation is not yet perfect especially with inherited
routine using generic types. So we make sure that it is enabled only
when it is necessary.


Revision 43828 - (view) (annotate) - [select for diffs]
Modified Tue Jun 15 18:15:36 2004 UTC (15 years, 8 months ago) by manus
File length: 13752 byte(s)
Diff to previous 43364
Redefined `dump' in GEN_TYPE_I to be correct, that is to say it will display
  the actual generic derivation, i.e. type of `associated_class_type'.
Changed signature of `instantiation_in' and `complete_instantiation_in' to
  take a CLASS_TYPE rather than a GEN_TYPE_I. This made a huge simplification
  in the code and made it clearer to understand that it was only used to find
  out the type in a given generic derivation and not in any kind of `GEN_TYPE_I'.
  By doing this work, we were able to easily fix eweasel test `exec181'.
In FORMAL_I, it showed that `complete_instantiation_in' did not have
  to do any special work, it just needed to take the information directly
  from the CLASS_TYPE_.
It enabled us to have a proper implementation of `generic_derivation' for
  generic types where `meta_generic' and `true_generics' are properly initialized.
New creation procedure for GEN_TYPE_I and descendants to help us add some
  invariants about `meta_generic' and `true_generics'.


Revision 43364 - (view) (annotate) - [select for diffs]
Modified Sat May 29 22:49:07 2004 UTC (15 years, 9 months ago) by manus
File length: 13628 byte(s)
Diff to previous 43301
Revisited `generate_expanded_creation' and added `generate_expanded_initialization'.
Removed code from CL_TYPE_I and replaced by a call to feature of CLASS_TYPE
  which does the same job, but avoids code duplication.


Revision 43301 - (view) (annotate) - [select for diffs]
Modified Fri May 28 06:29:04 2004 UTC (15 years, 9 months ago) by manus
File length: 15067 byte(s)
Diff to previous 43156
A frozen class does not get generated as a single class now. A frozen class
  is just a class from which you cannot inherit. If one want it to be single,
  he has to inherit from a .NET class.


Revision 43156 - (view) (annotate) - [select for diffs]
Modified Fri May 21 23:45:44 2004 UTC (15 years, 9 months ago) by manus
File length: 15088 byte(s)
Diff to previous 43084
Cosmetic in code generation, now spaces after the comma in generation of type arrays
  used for generic conformance.


Revision 43084 - (view) (annotate) - [select for diffs]
Modified Tue May 18 04:14:09 2004 UTC (15 years, 9 months ago) by manus
File length: 15083 byte(s)
Diff to previous 42865
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 42865 - (view) (annotate) - [select for diffs]
Modified Thu Apr 29 18:58:24 2004 UTC (15 years, 10 months ago) by manus
File length: 15027 byte(s)
Diff to previous 42413
Reduced code duplication between `cecil_value' and `sk_value', and between
`generate_cecil_value' and `generate_sk_value' as they are very similar.
Ensured that we do not generate `SK_DTYPE' anymore, but `SK_REF' instead.


Revision 42413 - (view) (annotate) - [select for diffs]
Modified Fri Mar 26 03:31:02 2004 UTC (15 years, 11 months ago) by manus
File length: 15154 byte(s)
Diff to previous 41824
Moved down `associated_reference_class_type' and `reference_type' from BASIC_I to
  CL_TYPE_I.
Fixed `description' of CL_TYPE_I so that EXPANDED_DESC are now properly created
  using the new `set_cl_type_i' routine of EXPANDED_DESC. Simplified code.


Revision 41824 - (view) (annotate) - [select for diffs]
Modified Sat Mar 6 01:51:40 2004 UTC (15 years, 11 months ago) by manus
File length: 14832 byte(s)
Diff to previous 40771
Made sure that basic types get `is_expanded' set to True.
Switch meaning of `is_expanded' and `is_true_expanded'. Now base types are also `is_expanded'
  and only expanded types that are not basic are `is_true_expanded'.
Added proper redefinition of `generic_derivation', `name' and `instantiation_in'.
Simplified `associated_class_type' since now the expanded and the reference
  version of a class do not use the same CLASS_TYPE instance, therefore no
  special trick is needed before doing the search.
Added `is_generated_as_single_type' for IL code generation to see if a CLASS_TYPE
  should be generated as just a .NET class or as a collection of interface/implementation.
Reviewed naming convention for IL code generation when you use a reference type as expanded
  and vice versa. Now we prepend the class name with either `VALUE_' or `REFERENCE_'.
Added invariant about `class_id' being positive.


Revision 40771 - (view) (annotate) - [select for diffs]
Modified Thu Dec 11 23:36:44 2003 UTC (16 years, 2 months ago) by manus
File length: 13991 byte(s)
Diff to previous 39713
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 39713 - (view) (annotate) - [select for diffs]
Modified Fri Oct 17 19:27:17 2003 UTC (16 years, 4 months ago) by manus
File length: 13997 byte(s)
Diff to previous 39412
Fixed eweasel bug `freez026'. By previously fixing the way we handle
creation of generic type using anchored in their specification (e.g. A [like f])
we introduced a bug of type result caching. Indeed before when a `typarr'
had an anchor it contained either LIKE_ARG_TYPE, LIKE_CURRENT_TYPE,
LIKE_PFEATURE_TYPE or LIKE_FEATURE_TYPE. In such cases the C runtime
was preventing the caching of the information.
Now since we do not generate the LIKE_XX constants, but force a computation
of the value in the generated code the caching mechanism was not prevented
therefore in such cases it was giving the proper result the first time around
but not the second time around if the `anchors' were different.

To prevent this we tell the runtime if it can cache it by providing a non NULL
buffer, it cannot if we pass NULL.
To find out if we can pass a non-NULL or NULL, we simply find out if the
generic type is `is_explicit'. When it is `is_explicit, it is known for not
changing during the whole life of the application and we pass a non NULL buffer.
When it is not `is_explicit' then the value would have to be recomputed
each time it is queried, therefore we pass a NULL buffer.

To improve performance in non multithreaded mode we always mark the `typarr'
a static structure. As only one thread at the time can modify it if the
generic type is not explicit. In multithreaded mode, this is not the case
and therefore it is not `static'.

FIXME: we might be better off using `uint16' as on some platforms unsigned
operation are much faster than signed one. The second advantage will be to
increase the number of possible dynamic types from ~32000 to ~65000.


Revision 39412 - (view) (annotate) - [select for diffs]
Modified Sat Oct 4 22:08:21 2003 UTC (16 years, 4 months ago) by manus
File length: 13908 byte(s)
Diff to previous 39145
Fixed eweasel bug exec176. The change is quite dramatic. Instead of generating
special marker in `typarr' for anchored type, we generate just 0. Then the associated
entry is computed later on by applying RTID to the result since `typarr' needs
the `static_type_id', not the `type_id' when in workbench mode.
Moreover when a type has a `cr_info' then we generate the info for this only,
we do not repeat code generation for the type we think we have. I don't understand
why it was done before, I think this was just a mistake to do both, so now
they are separated by a `else'.


Revision 39145 - (view) (annotate) - [select for diffs]
Modified Fri Sep 19 02:32:25 2003 UTC (16 years, 5 months ago) by manus
File length: 13867 byte(s)
Diff to previous 37663
Removed `typecode' since not used for a while now.
Added `metamorphose_type' for basic types as some types do not metamorphose
in their corresponding reference type (e.g. TYPED_POINTER [G] which
metamorphosed into POINTER_REF).


Revision 37663 - (view) (annotate) - [select for diffs]
Modified Tue Jun 10 23:44:35 2003 UTC (16 years, 8 months ago) by julieng
File length: 13989 byte(s)
Diff to previous 37130
Replace !! with create keyword.
Replace creation keyword with create keyword.


Revision 37130 - (view) (annotate) - [select for diffs]
Modified Mon May 5 18:08:43 2003 UTC (16 years, 9 months ago) by manus
File length: 13985 byte(s)
Diff to previous 35702
Minor optimization of `element_type to avoid useless information retrieval.
Removed `is_out' related code since we are now using TYPED_POINTER [XX] to
  represent them.


Revision 35702 - (view) (annotate) - [select for diffs]
Modified Fri Jan 31 23:54:48 2003 UTC (17 years, 1 month ago) by manus
File length: 14201 byte(s)
Diff to previous 35665
Cosmetics in code generation.


Revision 35665 - (view) (annotate) - [select for diffs]
Modified Fri Jan 31 00:53:19 2003 UTC (17 years, 1 month ago) by manus
File length: 14184 byte(s)
Diff to previous 35544
Renamed `generate_basic_creation' into `generate_default_value'.
Renamed `make_basic_creation_byte_code' into `make_default_byte_code'.
Fixed implementation of above two renamed features to do a proper job. The
  reason why it was not updated before was because this code was done in
  SPECIAL_FEATURES, but I felt that it should be defined in the TYPE_I classes
  and not outside (makes source code management easier in the future).
Added `generate_expanded_creation' which is implemented in BIT_I and CL_TYPE_I
  to create in a given register a new instance of an object which is expanded.
Removed `expanded_type_id' in CL_TYPE_I since it was strictly equivalent to
  `type_id'.


Revision 35544 - (view) (annotate) - [select for diffs]
Modified Fri Jan 24 06:26:36 2003 UTC (17 years, 1 month ago) by manus
File length: 12354 byte(s)
Diff to previous 35178
Fixed `is_valid' to take into account case where class is still in system
but its generic specification has changed.


Revision 35178 - (view) (annotate) - [select for diffs]
Modified Mon Dec 23 20:08:09 2002 UTC (17 years, 2 months ago) by manus
File length: 12287 byte(s)
Diff to previous 34621
Added `is_out' which is used to mark a parameter type has been a `out' parameter.
Only used for interfaces with languages that support out parameters.


Revision 34621 - (view) (annotate) - [select for diffs]
Modified Fri Oct 11 02:31:18 2002 UTC (17 years, 4 months ago) by manus
File length: 11975 byte(s)
Diff to previous 34563
Updated to `set_type_i', new name for `set_class_type_i' in REFERENCE_DESC.


Revision 34563 - (view) (annotate) - [select for diffs]
Modified Thu Oct 3 00:56:51 2002 UTC (17 years, 4 months ago) by manus
File length: 11981 byte(s)
Diff to previous 34253
Incorrect code generation for expanded classes of data used for store/retrieve
in order to get the dynamic type of the expanded reference. For some reasons
we were putting the class_id which is useless for the run-time.


Revision 34253 - (view) (annotate) - [select for diffs]
Modified Sun Sep 1 04:56:46 2002 UTC (17 years, 6 months ago) by manus
File length: 11956 byte(s)
Diff to previous 33952
Modified `il_type_name' to take the name as it is stored in the precompiled
assembly and not like the name that would be generated using the current
system options.


Revision 33952 - (view) (annotate) - [select for diffs]
Modified Fri Aug 23 16:49:17 2002 UTC (17 years, 6 months ago) by manus
File length: 11458 byte(s)
Diff to previous 32282
Changed signature of `il_type_name' so that it can take a prefix, the purpose
was to move code from CLASS_TYPE into CL_TYPE_I. That way we can generate
a correct `il_type_name' for native arrays. Not doing it was basically
generating a class name that does not match what we were getting from CLASS_TYPE.


Revision 32282 - (view) (annotate) - [select for diffs]
Modified Thu May 30 18:53:24 2002 UTC (17 years, 9 months ago) by manus
File length: 10465 byte(s)
Diff to previous 31580
Use `search_item' instead of `conservative_search_item' as now TYPE_LIST
make sure not to move the cursor.


Revision 31580 - (view) (annotate) - [select for diffs]
Modified Wed Apr 17 02:42:15 2002 UTC (17 years, 10 months ago) by manus
File length: 10530 byte(s)
Diff to previous 31541
For the moment we generate a value class `element_type' only for external classes.


Revision 31541 - (view) (annotate) - [select for diffs]
Modified Tue Apr 16 00:30:54 2002 UTC (17 years, 10 months ago) by manus
File length: 10436 byte(s)
Diff to previous 31263
Implemented `element_type', new abstract feature of TYPE_I.


Revision 31263 - (view) (annotate) - [select for diffs]
Modified Wed Apr 3 19:23:50 2002 UTC (17 years, 10 months ago) by manus
File length: 9911 byte(s)
Diff to previous 30582
Replaced use of `+' by `|' for operation on `sk_ref' and `sk_exp' as both 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 30582 - (view) (annotate) - [select for diffs]
Modified Sun Feb 10 00:04:43 2002 UTC (18 years ago) by manus
File length: 9911 byte(s)
Diff to previous 30293
Fixed bug in IL code generation for creation of types such as A [like f] where
`f' is either a CL_TYPE_I or a GEN_TYPE_I. We forgot to get the type of `f'
into account.


Revision 30293 - (view) (annotate) - [select for diffs]
Modified Mon Jan 21 02:26:16 2002 UTC (18 years, 1 month ago) by manus
File length: 9766 byte(s)
Diff to previous 30224
Renamed `base_id' into `class_id' to be more consistent with other classes of compiler.
Updated code to use new creation procedure of CL_TYPE_A, GEN_TYPE_A and TUPLE_TYPE_A.


Revision 30224 - (view) (annotate) - [select for diffs]
Modified Thu Jan 17 00:57:45 2002 UTC (18 years, 1 month ago) by manus
File length: 9777 byte(s)
Diff to previous 30169
Added `make' as a creation procedure that basically does the same thing as
`set_base_id' which has been removed.
Added precondition to `set_cr_info'.


Revision 30169 - (view) (annotate) - [select for diffs]
Modified Fri Jan 11 01:28:57 2002 UTC (18 years, 1 month ago) by manus
File length: 9565 byte(s)
Diff to previous 29681
Addeg `generate_gen_type_il' in TYPE_I and redefined it in descendants. This is
  used for generic conformance in IL code generation where we generate in IL
  stream the data about the type being analyzed. This data is then used for creation
  of objects or reverse assignment.
In CL_TYPE_I added inheritance to `DEBUG_OUTPUT' so that we can see the associated
  class name in debugger.
Cosmetics.


Revision 29681 - (view) (annotate) - [select for diffs]
Modified Thu Dec 13 21:21:06 2001 UTC (18 years, 2 months ago) by manus
File length: 9005 byte(s)
Diff to previous 28618
We do not use the external name anymore for an Eiffel class. Only for pure
external .NET classes.


Revision 28618 - (view) (annotate) - [select for diffs]
Modified Wed Oct 31 04:02:12 2001 UTC (18 years, 4 months ago) by manus
File length: 8853 byte(s)
Diff to previous 28380
Implemented `typecode' that returns the typecode for elements in a TUPLE.


Revision 28380 - (view) (annotate) - [select for diffs]
Modified Wed Oct 24 22:04:53 2001 UTC (18 years, 4 months ago) by manus
File length: 8729 byte(s)
Diff to previous 26913
Added `is_external' to find out if `base_class' is an external class or not.


Revision 26913 - (view) (annotate) - [select for diffs]
Modified Sun Aug 12 23:50:20 2001 UTC (18 years, 6 months ago) by manus
File length: 8518 byte(s)
Diff to previous 16188
Merged branch `dev46_manu' to the trunc.


Revision 16188 - (view) (annotate) - [select for diffs]
Modified Wed Aug 11 19:31:20 1999 UTC (20 years, 6 months ago) by manus
File length: 7936 byte(s)
Diff to previous 14013
FIXME: As a temporary solution we removed the precondition `has_associated_class_type'
from `associated_class_type' since it is not true and also because the algorithm used
to do the search take always the last found item if no item has been found. That's bad
but I don't know what is behind the scene and why such a requirement has been done.


Revision 14013 - (view) (annotate) - [select for diffs]
Modified Wed Apr 14 19:02:53 1999 UTC (20 years, 10 months ago) by manus
File length: 7934 byte(s)
Diff to previous 13232
Fixed a C-ANSI generation problem with generic conformance.
Previously we were generating something like:
	int16 typearr[] ={4,5,Dtype(l[0]),5,-1};
However, this is not accepted by most of the C ANSI compiler (mostly on
Unix platforms). Now, we fix this problem and are generating the following
code:
	int16 typearr[] ={4,5,0,5,-1};
	typearr[2]=Dtype(l[0]);
which is C ANSI.


Revision 13232 - (view) (annotate) - [select for diffs]
Modified Fri Feb 5 03:57:18 1999 UTC (21 years ago) by manus
File length: 7054 byte(s)
Diff to previous 11734
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 11734 - (view) (annotate) - [select for diffs]
Modified Fri Oct 23 23:59:57 1998 UTC (21 years, 4 months ago) by manus
File length: 7025 byte(s)
Diff to previous 11599
Cosmetics


Revision 11599 - (view) (annotate) - [select for diffs]
Modified Tue Oct 13 01:21:14 1998 UTC (21 years, 4 months ago) by manus
File length: 7025 byte(s)
Diff to previous 11298
Changed the way how to generate a C file. We are now using a string buffer
to bufferize all the IO transfers.


Revision 11298 - (view) (annotate) - [select for diffs]
Modified Sun Sep 13 20:40:22 1998 UTC (21 years, 5 months ago) by manus
File length: 6964 byte(s)
Diff to previous 11218
Improved the conformance of generic by writing in a file instead of creating a STRING.
Fixed one bug related to the use of `has_associated_class_type' in CL_TYPE_I.
Fixed one bug related to a bad generation of C code and the GC


Revision 11218 - (view) (annotate) - [select for diffs]
Modified Fri Sep 4 02:24:57 1998 UTC (21 years, 5 months ago) by manus
File length: 7130 byte(s)
Diff to previous 11209
Improved the speed of generic conformance by adding some static structure in
the C generated code.


Revision 11209 - (view) (annotate) - [select for diffs]
Modified Thu Sep 3 23:27:31 1998 UTC (21 years, 5 months ago) by manus
File length: 7012 byte(s)
Diff to previous 11065
Fixed for generic conformance.


Revision 11065 - (view) (annotate) - [select for diffs]
Modified Wed Aug 19 03:27:55 1998 UTC (21 years, 6 months ago) by manus
File length: 6910 byte(s)
Diff to previous 10890
Removed `associated_expanded_class_type' and `associated_separate_class_type'
since we don't really need them, we always can do it through `associated_class_type'
which is more general.


Revision 10890 - (view) (annotate) - [select for diffs]
Modified Tue Aug 11 00:12:19 1998 UTC (21 years, 6 months ago) by manus
File length: 7202 byte(s)
Diff to previous 10818
Updated version of generic conformance


Revision 10818 - (view) (annotate) - [select for diffs]
Modified Thu Jul 30 20:33:23 1998 UTC (21 years, 7 months ago) by manus
File length: 6648 byte(s)
Diff to previous 10196
Add the generic conformance to the compiler


Revision 10196 - (view) (annotate) - [select for diffs]
Modified Fri May 22 01:22:10 1998 UTC (21 years, 9 months ago) by manus
File length: 5536 byte(s)
Diff to previous 10183
Changed former `search_item' into `conservative_search_item' which preserves
cursor's position and add `search_item' which does the same thing as
conservative_search_item' without saving cursor's position


Revision 10183 - (view) (annotate) - [select for diffs]
Modified Thu May 21 23:39:12 1998 UTC (21 years, 9 months ago) by manus
File length: 5510 byte(s)
Diff to previous 10140
Fixed one bug concerning the search algorithm used in `description' and in
`associated_class_type', now we are using the `search_item' function from
TYPE_LIST to get back to the old behavior. The problem is that some times
a search is not successful and in this case, we should always return a non-
void element (This has been taking care by `search_item'.


Revision 10140 - (view) (annotate) - [select for diffs]
Modified Thu May 14 00:28:06 1998 UTC (21 years, 9 months ago) by manus
File length: 5860 byte(s)
Diff to previous 9971
Changes to reflect the new TYPE_LIST class.

The previous implementation seems to believe that the old `search' feature
from TYPE_LIST always succeed. Now, I added a check for this assumption
and if we did not find anything I return a Void element. But I'm not sure about
it.


Revision 9971 - (view) (annotate) - [select for diffs]
Modified Wed Apr 22 17:38:29 1998 UTC (21 years, 10 months ago) by manus
File length: 5837 byte(s)
Diff to previous 9655
Changed the way to go within a list, now we are using `cursor' instead of `index'


Revision 9655 - (view) (annotate) - [select for diffs]
Modified Sun Mar 15 02:15:49 1998 UTC (21 years, 11 months ago) by manus
File length: 5799 byte(s)
Diff to previous 8805
Cosmetics
Changed somehow the interface of basic types *_I


Revision 8805 - (view) (annotate) - [select for diffs]
Modified Wed Dec 10 17:30:55 1997 UTC (22 years, 2 months ago) by manus
File length: 5883 byte(s)
Diff to previous 7681
Cosmetics
Fixed a problem with same_as and is_equal in GEN_TYPE_I


Revision 7681 - (view) (annotate) - [select for diffs]
Modified Wed Feb 12 09:23:09 1997 UTC (23 years ago) by michaels
File length: 5922 byte(s)
Diff to previous 6562
*** empty log message ***


Revision 6562 - (view) (annotate) - [select for diffs]
Modified Wed Sep 25 16:56:37 1996 UTC (23 years, 5 months ago) by dinov
File length: 5271 byte(s)
Diff to previous 5770
E_CLASS indirection removed
class_name => name in CLASS_C (comig from E_CLASS)


Revision 5770 - (view) (annotate) - [select for diffs]
Modified Fri Jun 28 18:53:00 1996 UTC (23 years, 8 months ago) by xavierl
File length: 5285 byte(s)
Diff to previous 5305
incorrect optimization removed


Revision 5305 - (view) (annotate) - [select for diffs]
Modified Fri May 24 15:43:47 1996 UTC (23 years, 9 months ago) by ericb
File length: 5271 byte(s)
Diff to previous 4623
optimization: `is_equal' called on IDs instead of `equal'


Revision 4623 - (view) (annotate) - [select for diffs]
Modified Thu Apr 11 10:44:28 1996 UTC (23 years, 10 months ago) by xavierl
File length: 5269 byte(s)
Diff to previous 3652
implementation of `is_separate'


Revision 3652 - (view) (annotate) - [select for diffs]
Modified Mon Jan 15 15:32:22 1996 UTC (24 years, 1 month ago) by ericb
File length: 4429 byte(s)
Diff to previous 3636
new abstractions for system counters (class ids and type ids)


Revision 3636 - (view) (annotate) - [select for diffs]
Modified Mon Jan 15 12:06:48 1996 UTC (24 years, 1 month ago) by guusl
File length: 4401 byte(s)
Diff to previous 3188
output done through STRUCTURED_TEXT instead of OUTPUT_WINDOW


Revision 3188 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 16:55:54 1995 UTC (24 years, 3 months ago) by dinov
File length: 4426 byte(s)
Diff to previous 3084
different output routines


Revision 3084 - (view) (annotate) - [select for diffs]
Modified Mon Oct 30 11:39:19 1995 UTC (24 years, 4 months ago) by dinov
File length: 4445 byte(s)
Diff to previous 1323
implementation of the API


Revision 1323 - (view) (annotate) - [select for diffs]
Modified Sat Oct 29 18:24:38 1994 UTC (25 years, 4 months ago) by grator
File length: 4437 byte(s)
Diff to previous 1204
`dump' generates a standard string (classes in upper case)


Revision 1204 - (view) (annotate) - [select for diffs]
Modified Wed Oct 5 00:16:03 1994 UTC (25 years, 4 months ago) by grator
File length: 4382 byte(s)
Diff to previous 930
array optimization


Revision 930 - (view) (annotate) - [select for diffs]
Modified Sat Aug 27 00:59:35 1994 UTC (25 years, 6 months ago) by grator
File length: 4252 byte(s)
Diff to previous 850
array optimization


Revision 850 - (view) (annotate) - [select for diffs]
Modified Sat Aug 20 01:04:52 1994 UTC (25 years, 6 months ago) by grator
File length: 3977 byte(s)
Diff to previous 621
optimization and then


Revision 621 - (view) (annotate) - [select for diffs]
Modified Thu Jul 14 21:37:03 1994 UTC (25 years, 7 months ago) by grator
File length: 3978 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, 8 months ago) by grator
File length: 3976 byte(s)
Diff to previous 552
*** empty log message ***


Revision 552 - (view) (annotate) - [select for diffs]
Modified Wed May 11 11:14:08 1994 UTC (25 years, 9 months ago) by grator
File length: 3923 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, 10 months ago) by grator
File length: 3723 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, 11 months ago) by grator
File length: 3719 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 (26 years ago) by grator
File length: 3584 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, 7 months ago) by grator
File length: 3803 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, 8 months ago) by grator
File length: 3780 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, 11 months ago) by grator
File length: 3653 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