/[eiffelstudio]/branches/eth/eve/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
ViewVC logotype

Log of /branches/eth/eve/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 88379 - (view) (annotate) - [select for diffs]
Modified Fri Mar 9 09:40:16 2012 UTC (7 years, 7 months ago) by jasonw
File length: 19986 byte(s)
Diff to previous 88234
<<Merged from trunk#88377.>>

Revision 88234 - (view) (annotate) - [select for diffs]
Modified Fri Jan 27 09:58:45 2012 UTC (7 years, 8 months ago) by jasonw
File length: 19899 byte(s)
Diff to previous 87613
<<Merged from trunk#88233.>>

Revision 87613 - (view) (annotate) - [select for diffs]
Modified Wed Oct 26 06:49:40 2011 UTC (7 years, 11 months ago) by jasonw
File length: 19317 byte(s)
Diff to previous 85117
<<Merged from trunk#87612.>>

Revision 85117 - (view) (annotate) - [select for diffs]
Modified Fri Dec 10 16:29:10 2010 UTC (8 years, 10 months ago) by jasonw
File length: 19231 byte(s)
Diff to previous 84395
<<Merged from trunk#85114.>>

Revision 84395 - (view) (annotate) - [select for diffs]
Modified Mon Sep 13 13:01:25 2010 UTC (9 years, 1 month ago) by jasonw
File length: 19176 byte(s)
Diff to previous 83441
<<Merged from trunk#84391.>>


Revision 83441 - (view) (annotate) - [select for diffs]
Modified Sat Jun 5 13:52:53 2010 UTC (9 years, 4 months ago) by jasonw
File length: 19073 byte(s)
Diff to previous 83331
Renamed branch eve3 to eve. The eve branch serves as the new branch for the EVE project.

Revision 83331 - (view) (annotate) - [select for diffs]
Modified Wed May 26 18:49:35 2010 UTC (9 years, 4 months ago) by jasonw
Original Path: branches/eth/eve3/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 19073 byte(s)
Diff to previous 82718
<<Breanched from trunk@83330>> Created a branch to upgrade Eiffel Transform library to trunk.

Revision 82718 - (view) (annotate) - [select for diffs]
Modified Wed Mar 31 15:38:26 2010 UTC (9 years, 6 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 19073 byte(s)
Diff to previous 82546
Redefined set_routine_ids to avoid calling `touch' during expression evaluation.
Maybe find better solution soon.

Revision 82546 - (view) (annotate) - [select for diffs]
Modified Wed Mar 10 18:58:29 2010 UTC (9 years, 7 months ago) by manus
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 18680 byte(s)
Diff to previous 82540
Removed non-used local.


Revision 82540 - (view) (annotate) - [select for diffs]
Modified Wed Mar 10 14:08:04 2010 UTC (9 years, 7 months ago) by alexk
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 18703 byte(s)
Diff to previous 81595
Changed export status of features that are not subject to public use (in
particular in visitor classes that have too many of them). This also
improves readability when browsing the features in various tools and
documents which of them are really used by the clients.
Moved `feature_table' from AST_CONTEXT to AST_FEATURE_CHECKER_GENERATOR
since it is not used outside it and therefore requires unnecessary
initialization at the degrees, not related to
AST_FEATURE_CHECKER_GENERATOR.
Removed feature {TYPE_A}.is_solved as it always returns the same value
regardless of the associated type object.
Added feature {TYPE_A}.is_computable_using_ancestors as a short track to
see if a particular type may need type information other than from the
current class and ancestors. Pobably it will not be used or will be
replaced with the more precise computation. At the moment it is supposed to
be used together with {FEATURE_I}.is_type_evaluation_delayed.
Added feature {FEATURE_I}.is_type_evaluation_delayed that tells if type
checking for the feature cannot be done before building feature tables for
all the classes in the system.
Replaced direct access to {INHERIT_INFO}.a_feature with a conditional one,
including delayed feature instantiation if the types of the feature
signature are not yet computed.
Introduced and used "delayed" versions of the following features for cases
when type information associated with a feature is not computed yet:
 - {CONVERTIBILITY_CHECKER}.check_conversion_type
 - {INHERIT_INFO}.instantiate_a_feature
 - {FEATURE_I}.check_assigner
 - {FEATURE_I}.check_same_signature
 - {FEATURE_I}.check_signature
 - {FEATURE_I}.check_types
 - {FEATURE_I}.process_pattern
 - {FEATURE_I}.update_instantiator2
Delayed computation of a class skeleton because it may depend on features
for which type information is not available yet. This is a subject for
future optimization.
Added some assertions to ensure everything is properly set before
processing.
Added actions to update type information associated with a feature in cases
it is cloned in a descendant while the type information of the original
feature is not computed yet.
Introduced new mechanism in DEGREE_4 to record actions to be taken after
the "normal" processing when some type checks are delayed. This is required
to compute qualified anchored types that may depend on descendants or other
classes that are not processed before the given one, but are still required
to get the correct type information.
Introduced new mechanism to TMP_FEATURE_SERVER to store features for which
type information is not yet computed. These features are kept in memory
instead flushing to the disk that is performed after computing type
information for them.
Made some minor optimizaions.


Revision 81595 - (view) (annotate) - [select for diffs]
Modified Fri Nov 20 15:56:32 2009 UTC (9 years, 11 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 18632 byte(s)
Diff to previous 78987
fixed bug#16160: "Error on expression" in Watch Tool
(It seems the type checker changed since rev#71125, but current commit does not break the fix made for bug#13572: Impossible to evaluate TEST's attribute, when stopped in an inherited feature)

Revision 78987 - (view) (annotate) - [select for diffs]
Modified Mon Jun 1 15:13:13 2009 UTC (10 years, 4 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 18661 byte(s)
Diff to previous 78517
added debug clauses around   fixme("comments...")

Revision 78517 - (view) (annotate) - [select for diffs]
Modified Wed May 6 00:59:20 2009 UTC (10 years, 5 months ago) by manus
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 18623 byte(s)
Diff to previous 78412
Removed non-used local.


Revision 78412 - (view) (annotate) - [select for diffs]
Modified Tue Apr 28 06:37:42 2009 UTC (10 years, 5 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 18637 byte(s)
Diff to previous 78391
fixed bug#15708: Incorrect VUOT error being reported in debugger watch window
For now, we just ignore the object-test locals having same name as existing object-test locals
thus only the first occurrence will be available in watch tool. This is a quick fix to allow evaluation of other variables.

Revision 78391 - (view) (annotate) - [select for diffs]
Modified Mon Apr 27 16:08:37 2009 UTC (10 years, 5 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 18206 byte(s)
Diff to previous 78325
Fixed stupid call on Void related to expression evaluation and conditional breakpoints.

Revision 78325 - (view) (annotate) - [select for diffs]
Modified Tue Apr 21 15:41:55 2009 UTC (10 years, 6 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 18211 byte(s)
Diff to previous 78267
Better support for object test locals, and also locals in void-safety mode.

For now, we add scope for all the locals and all the object test locals 
There is no smart computation for that. Later I will try to follow the compiler's code to support precise scope, especially to support object test local with same name.

Revision 78267 - (view) (annotate) - [select for diffs]
Modified Thu Apr 16 07:47:49 2009 UTC (10 years, 6 months ago) by alexk
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 18663 byte(s)
Diff to previous 78176
Unified setting of attached status for types that are known to be attached.
Supported intermediate levels of void-safety.


Revision 78176 - (view) (annotate) - [select for diffs]
Modified Fri Apr 10 15:09:12 2009 UTC (10 years, 6 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 18653 byte(s)
Diff to previous 78092
Reorganized debugger type checking and evaluation components.
Improved support object test locals (especially when expression is based on local or even other object test locals).
Minor optimization, and code/structure optimization

Revision 78092 - (view) (annotate) - [select for diffs]
Modified Mon Apr 6 12:40:35 2009 UTC (10 years, 6 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 10493 byte(s)
Diff to previous 78012
removed wrong postcondition

Revision 78012 - (view) (annotate) - [select for diffs]
Modified Wed Apr 1 09:39:52 2009 UTC (10 years, 6 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 10556 byte(s)
Diff to previous 77826
Better handling of inherited assertion in relation to debugger break index and object test locals order.
+ ensure we leave error_handler empty when exiting debugger's functionality.

Revision 77826 - (view) (annotate) - [select for diffs]
Modified Fri Mar 20 12:57:49 2009 UTC (10 years, 7 months ago) by alexk
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 9946 byte(s)
Diff to previous 77744
Splitted initialization of structures to track attribute and local scopes, as attributes may be recorded when locals are not present (in inherited assertions and class invariant).

Revision 77744 - (view) (annotate) - [select for diffs]
Modified Mon Mar 16 16:33:51 2009 UTC (10 years, 7 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 9883 byte(s)
Diff to previous 77693
Handle object test local with no type declaration (attached foo as x).
Support object test locals in expression (support transitional syntax).

Revision 77693 - (view) (annotate) - [select for diffs]
Modified Wed Mar 11 15:25:20 2009 UTC (10 years, 7 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 9513 byte(s)
Diff to previous 76432
Fixed bug#15494: Cannot eval detached expression


Revision 76432 - (view) (annotate) - [select for diffs]
Modified Mon Dec 29 23:41:59 2008 UTC (10 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 9304 byte(s)
Diff to previous 75234
Removal of `is' keyword.
Replacement of `is' by `=' for constant definitions.
Replaced `indexing' by `note'.


Revision 75234 - (view) (annotate) - [select for diffs]
Modified Tue Oct 21 17:14:41 2008 UTC (11 years ago) by king
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 9333 byte(s)
Diff to previous 74183
Updated to use set_is_inherited instead of is_inherited flag

Revision 74183 - (view) (annotate) - [select for diffs]
Modified Thu Jul 24 16:51:33 2008 UTC (11 years, 2 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 9330 byte(s)
Diff to previous 73788
Fixed bug#14661: the debugger is unable to evaluate instruction anymore ...
	

Revision 73788 - (view) (annotate) - [select for diffs]
Modified Wed Jun 4 09:17:29 2008 UTC (11 years, 4 months ago) by jfiat
Original Path: trunk/Src/Eiffel/debugger/utility/ast_debugger_expression_checker_generator.e
File length: 9074 byte(s)
Copied from: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e revision 73777
Diff to previous 73549
Reorganized eiffel class files related to debugger.
First step to get a standalone debugger library (debugger.ecf)
For now, this is mainly folder structure changes, and remove various dependencies.
(this commit is a temporary commit due to subversion limitations, more renaming+moving will occurs soon)

Revision 73549 - (view) (annotate) - [select for diffs]
Modified Thu May 15 14:26:31 2008 UTC (11 years, 5 months ago) by jfiat
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 9074 byte(s)
Diff to previous 72852
Fixed bug#14340: Precondition violation while debugging .NET code - 2
and other issue related to dotnet and exception.

Revision 72852 - (view) (annotate) - [select for diffs]
Modified Tue Mar 25 09:04:44 2008 UTC (11 years, 6 months ago) by jfiat
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 9007 byte(s)
Diff to previous 72419
Added support for object test local variables in expression evaluation.

Revision 72419 - (view) (annotate) - [select for diffs]
Modified Sat Feb 23 00:45:27 2008 UTC (11 years, 7 months ago) by manus
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 8741 byte(s)
Diff to previous 71159
Changed SUPPLIER_AS to only create the supplier on demands.

Merged TYPE_I and TYPE_A hierarchies in just TYPE_A one.
1-The major change is that now to compute the associated class type (CLASS_TYPE instance) of a TYPE_A
  one has to provide a context in which the TYPE_A instance appear. If no context is provided, then
  formal generics are not replaced. For example: LIST [G] alone will simply give you the LIST [G]
  CLASS_TYPE, but if you do it in the context of TEST [INTEGER], then it will return the
  LIST [INTEGER] CLASS_TYPE.
2-Updated all callers accordingly.
3-Simplified a few calls where before we did `type.associated_class_type.associated_class' to just
  `type.associated_class'.
4-Added new preconditions to the context provided, it really helped finding out when we were not doing
  things properly especially in code generation when regenerating code from parent into descendant.
5-Eventhough TYPE_I disappeared, I kept TYPE_C and its descendants since they are useful to have
  them for C code generation and quick discimination for TYPE_A instances.
6-Made validity of types better controled by checking more things in `{TYPE_A}.is_valid'. For example
  that if type used to represent a class which was expanded and that it is not expanded anymore, then
  the type is not valid anymore.
7-The most problematic change with TYPE_I/TYPE_A was that they had different notion of `is_external'
  we have added `is_true_external' to simplify the code in certain areas where the old TYPE_I semantic
  was needed.

Code generation change:
1-We now assume that the default context is always `{BYTE_CONTEXT}.context_class_type'. Then in
  `real_type' and `creation_type' we use `{TYPE_A}.evaluated_type_in_descendant' to properly evaluate
  a type from the ancestor code in the current context. Very useful for regeneration of inherited
  assertions and replicated features. Before it worked, but it was not clear how to do things properly,
  now it is clear.
2-Changed the way we generate the type information for like arguments: we simply nest calls to resolve
  the type of the arguments. This affects the interpreter and C code generation which includes a level
  ID for computing the type of generics.

C Code generation change:
1-Because debugging was too difficult at some point during that work and also because the name mapping
  we were using limited us to 32767 types and 131071 routines, I've changed the mechanism to not use
  the `encode.c' modules in C/bench and did everything in Eiffel. So now we simply write for a feature
  name FXXX_YYY where XXX is the type ID and YYY the body index. The same kind of changes have been
  done for other names (See ENCODER class for details.).
2-We also use `type_id' instead of `static_type_id' for names. The reason it is safe to do so is because
  `type_id' never changes in workbench mode and that in finalized mode, even if you have different
  incremental recompilation, 2 projects should generate more or less the same code at the ID levels
  making it easier to compare them.
3-Changed the way type are created. Instead of having a CREATE_INFO instance in the TYPE_I objects
  used to properly generate the type, we simply use the original TYPE_A instance. That way when we
  have an anchor, we either generate its `actual_type' or its anchor spec depending on the value of
  `use_info. We still use CREATE_INFO to generate the type information but instead of being an object
  in each TYPE_I, it is merely a once that we reinitialize each time we need it.
4-ONE CRITICAL ASPECT OF THE CHANGE #3 was that storable depends on the way type descriptions are generated
  and thanks to eweasel test#storable013 I was able to catch this much earlier in the process.
5-Generates less polymorphic tables for attributes and types specification. What happened before was
  that when we needed a polymorphic type specification for example to create `like x' where x is covariantly
  redefined, we were generating at the same time the polymorphic table for `x' even though if `x'
  was not actually used in the system. This reduces by a tiny amount only the size of the executable.
6-Made the DESCRIPTOR entries much smaller than they used to be by computing the number of ancestors
  instead of allocating for the numbers of routines which was really silly.

IL code generation change:
1-Provided a implementation for creation of BIT constants in .NET however it does not completely work yet,
  it has to do with the manner we generate the BIT_REF class.
2-Changed the way we compare signatures, we store a CLASS_TYPE and a routine ID instead. And then when
  needed we refetch the FEATURE_I object to perform the signature comparions. The issue is that the previous
  solution would not work if NATIVE_ARRAY and TYPED_POINTER do not record all the possible genereric
  derivations in which they are present which is now the case for simplicity.
3-Fixed a bug in code generation for a TYPE_FEATURE_I that is instantiated as a basic type. We would
  generate its associated reference type instead of the basic type. It was not caught before because those
  routines where never called at runtime unless you had a formal generic parameter creation constraint.
4-Fixed an inconsistency shown by eweasel test#incr168 where a precondition check was generated eventhough
  none was needed because one inherited routine had a True precondition. The C code was doing it ok, but
  not .NET
5-Found out see eweasel test#final041 that we first generate inherited assertion and then precondition,
  which is the contrary of what is done in melted or C code generation.
6-Simplified creation of manifest ARRAYS and TUPLE by avoiding a local variable.


Debugger:
1-Updated the code accordingly to the TYPE_I/TYPE_A merge
2-Fixed bug in {DBG_EVALUATOR}.prepare_parameters so that we do not use BYTE_CONTEXT to resolve
  the type but `instantiation_in' instead. It seems to solve one case that the previous debugger did
  not handle (See updated comment).
3-Fixed precondition violation in
  {AST_DEBUGGER_EXPRESSION_CHECKER_GENERATOR}.expression_or_instruction_type_check_and_code where
  we were still trying to evaluate in the descendant if the parent evaluation failed. Causing some
  precondition violations since the AST was not completely annotated with IDs needed for resolution.

Bug fixes:
1-Fixed issue with the way we maintained {CLASS_C}.generic_features, because you could rebuild the list
  without recompiling descendants (case of modifying only a contract of the class) and the rebuilding
  would yield new routine IDs. Then during either type checking or code generation the evaluation of 
  `{TYPE_A}.evaluate_type_in_descendant' could fail because it is not find the new routine ID in the
  descendant class. Now we preserve the routine ID as long as we can, same with feature ID.
2-Made `feature_of_rout_id' works to find the invariant feature.
3-Made sure that when removing an ID from a server it is also removed from the TMP server. Added
  a `not_present' postcondition after calling `remove' to ensure that.


Revision 71159 - (view) (annotate) - [select for diffs]
Modified Thu Nov 15 14:39:38 2007 UTC (11 years, 11 months ago) by jfiat
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 8627 byte(s)
Diff to previous 71126
Completed commit rev#71129 (I don't know why it was incomplete...) 
+ better handling of crash in completion mechanism for debugger's tools
+ added EB_DEBUGGER_EXPRESSION_COMPLETION_POSSIBILITIES_PROVIDER which inherit from EB_NORMAL_COMPLETION_POSSIBILITIES_PROVIDER to allow flexible way to handle specific debugger's case.
+ now insert an DBG_EXPRESSION_TYPE_CHECKER_ERROR when we have issue related to inherited formal/generic ...

Revision 71126 - (view) (annotate) - [select for diffs]
Modified Tue Nov 13 09:07:53 2007 UTC (11 years, 11 months ago) by jfiat
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 8231 byte(s)
Diff to previous 71125
Cosmetic

Revision 71125 - (view) (annotate) - [select for diffs]
Modified Tue Nov 13 09:02:19 2007 UTC (11 years, 11 months ago) by jfiat
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 8282 byte(s)
Diff to previous 70525
Fixed bug#13572: Impossible to evaluate TEST's attribute, when stopped in an inherited feature !
Better code to fix bug#12606: Stepping with Auto Expressions in sample graphical app causes crash.

* dbg_expression_evaluator_b.e : 
    be sure to set the written class in the Ast context
* ast_feature_checker_generator.e, 
  ast_debugger_expression_checker_generator.e: 
    move expression evaluation's specific feature to AST_DEBUGGER_EXPRESSION_CHECKER_GENERATOR

Revision 70525 - (view) (annotate) - [select for diffs]
Modified Mon Oct 8 21:17:03 2007 UTC (12 years ago) by manus
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 4823 byte(s)
Diff to previous 70506
Added support for generating more than one error at degree 4:
- Fixed issue with more than one error in degree 5 as found in test#multierr003
- Removed `mark' and `nb_errors' from ERROR_HANDLER, use a new query `error_level' to find out if
  more errors have been added.
- Moved type checking and instantiator from degree 4 to degree 3. Indeed it was shown by eweasel
  test#vfav401 that moving a class such as BOOLEAN in the system that has an error late in degree 4
  would yield a somewhat complete recompilation of the system, but in that case, `creators' on
  many classes is computed and therefore is used to check the validity of the expanded (with regards to
  default_create), unfortunately we have stored the former `routine ID' of {ANY}.default_create, not the new
  one (this is when checking ANY using the once per compilation of {SYSTEM_I}.default_create_rout_id
  computing the former one, not the new one) and thus fails to validate many basic types.
  Also to prevent the wrong IDs to be stored, we reset them at the beginning of each degree 4.
  The only drawbacks is that some errors for incorrect types are reported at degree 3 instead of 
  degree 4 and the check is done at the beginning of {EIFFEL_CLASS_C}.pass3.
- Because once you have a class with an error at degree 4, we have added `is_ignored_for_degree_4' in
  CLASS_C, so that all the descendants of that class are not processed.


Revision 70506 - (view) (annotate) - [select for diffs]
Modified Fri Oct 5 15:01:22 2007 UTC (12 years ago) by jfiat
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 4603 byte(s)
Diff to previous 69556
Minor change to avoid computing twice the same type.

Revision 69556 - (view) (annotate) - [select for diffs]
Modified Thu Jul 19 16:37:33 2007 UTC (12 years, 3 months ago) by jfiat
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 4618 byte(s)
Diff to previous 66443
Fixed last part of bug#12606: Stepping with Auto Expressions in sample graphical app causes crash
this was related to evaluation of local in ancestor (generic type) from current class (not generic).

Revision 66443 - (view) (annotate) - [select for diffs]
Modified Fri Feb 2 14:59:37 2007 UTC (12 years, 8 months ago) by jfiat
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 4128 byte(s)
Diff to previous 65165
- fixed precondition violated for favorite tool (set_focus .. when not displayed)
- prepare future evaluation of old expression (not yet planned)
- allow the user to precise on a per-breakpoint basis 
  if we stop on condition breakpoint which failed during evaluation.
- improved evaluator regarding "and then" and "or else" evaluation, now we evaluate only the left part 
  if result is already known (expected behavior of "ant then" and "or else")

Revision 65165 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 01:36:22 2006 UTC (12 years, 11 months ago) by patrickr
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 4196 byte(s)
Diff to previous 64766
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 64766 - (view) (annotate) - [select for diffs]
Modified Thu Nov 2 17:25:49 2006 UTC (12 years, 11 months ago) by jfiat
Original Path: trunk/Src/Eiffel/switch/communication/debug/evaluation/ast_debugger_expression_checker_generator.e
File length: 4186 byte(s)
Copied from: trunk/Src/Eiffel/eiffel/AST/visitor/ast_debugger_expression_checker_generator.e revision 64762
Diff to previous 63590
move AST_DEBUGGER_EXPRESSION_CHECKER_GENERATOR to debugger related cluster

Revision 63590 - (view) (annotate) - [select for diffs]
Modified Fri Sep 15 12:22:56 2006 UTC (13 years, 1 month ago) by jfiat
Original Path: trunk/Src/Eiffel/eiffel/AST/visitor/ast_debugger_expression_checker_generator.e
File length: 3840 byte(s)
Diff to previous 63562
fixed bug#5377 : Watch expression on NATURAL_64 constant shows type INTEGER

+ added fixme for watch expression "{TEST}.w" in the ast checker generator

Revision 63562 - (view) (annotate) - [select for diffs]
Modified Thu Sep 14 14:24:02 2006 UTC (13 years, 1 month ago) by jfiat
Original Path: trunk/Src/Eiffel/eiffel/AST/visitor/ast_debugger_expression_checker_generator.e
File length: 3708 byte(s)
Diff to previous 63016
Fixed bug#11215 : Watch expression {TEST}.weasel incorrectly reports "unknown class TEST" in other class
This was due to dependencies constraint


Revision 63016 - (view) (annotate) - [select for diffs]
Added Mon Aug 28 17:42:43 2006 UTC (13 years, 1 month ago) by jfiat
Original Path: trunk/Src/Eiffel/eiffel/AST/visitor/ast_debugger_expression_checker_generator.e
File length: 2843 byte(s)
use a special type checker for the debugger
this way we can check for void type, when in compiler this case does not occurs.
should fix bug#10941 : Setting conditional breakpoint with condition `feature {WEASEL}.stoat' crashes estudio


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