PR# 14018 Evaluation of create {SPECIAL [INTEGER]}.make (10) does not yield right thing in the debugger
Problem Report Summary
Submitter: manus_eiffel
Category: Debugger
Priority: Medium
Date: 2008/02/22
Class: Bug
Severity: Serious
Number: 14018
Release: 6.2.7.2407
Confidential: No
Status: Analyzed
Responsible: manus_eiffel
Environment: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
Synopsis: Evaluation of create {SPECIAL [INTEGER]}.make (10) does not yield right thing in the debugger
Description
Evaluating `create {SPECIAL [INTEGER]}.make (12)' I was expecting to expand the area and see zeros in the value column, but instead I see `Void' and NONE for type. This is classic.
To Reproduce
Problem Report Interactions
1) and 2) were due to another bug in runtime fixed by rev#80855 And 3) remains an issue. from runtime, since INTERNAL has the same trouble
Depending on creation expression I get different kind of behaviour in rev#79743: 1. create {ANY} EiffelStudio error: The Eiffel debugger daemon is dead, If you were debugging, the session is about to be terminated. 2. create {ARRAY [INTEGER]}.make (1, 2) or create STRING_8.make_empty or <<1, 2, 3>> [1, 2, 3] EiffelStudio silently disappears 3. create {SPECIAL [INTEGER]}.make_filled (5, 5) Can not instanciate type {SPECIAL [INTEGER_32]} : {SPECIAL} is not yet supported. - Evaluation of creation expression for this type is not supported. But create {SPECIAL [INTEGER]}.make_empty (3) shows some data in the watch tab, though there are no associated items (that might be expected - I do not know).
Any new comment on this issue ? I mean any solution from the runtime/INTERNAL ?
The code violates a precondition. For expression evaluation, the assertions are disabled, so no violation. Any idea to create new instance of SPECIAL [INTEGER] for instance?
Yes, this only creates SPECIAL of ANY, not SPECIAL of expanded. I'm surprised that no precondition is violated. Does the code works without precondition violation?
The debugger calls more or less the following code local int: INTERNAL a: ANY do create int i := int.dynamic_type_from_string ("SPECIAL [INTEGER_32]") a := int.new_special_any_instance (i, 12) So it seems, we would need a new_special_XYZ_instance (...) any idea ?