Anonymous | Login | 04-12-2021 16:01 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0007133 | [Squeak] Compiler | crash | always | 07-23-08 00:41 | 02-06-11 23:48 | ||||
Reporter | akuhn | View Status | public | ||||||
Assigned To | leves | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product Version | |||||||
Summary | 0007133: CompiledMethod#getSourceFor:In: crashed for non-standard method signatures | ||||||||
Description |
If a class refines Behavior#compilerClass with a custom compiler, the method CompiledMethod#getSourceFor:In: will crash because it does not take into account that methods may contain non-standard source code. In particular it is the piece of code in CompiledMethod#getSourceFor:In: that tries to replace selectors in the source code if they are different that given in the method dictionary. As a solution I suggest to just not doing any selector-magic when a class has a custom compiler. |
||||||||
Additional Information |
To reproduce 1. Subclass Compiler and make it accept methods like 'Foo foo: Bar bar ^bar' (eg by removing all uppercase words from the to be compiler sources). 2. Make a class which uses the new compiler as its compiler. 3. Make a method with above content. 4. compile fine, but ... 5. crashed when IDE calls CompiledMethod#getSourceFor:In: |
||||||||
Attached Files | |||||||||
|
Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
43 total queries executed. 34 unique queries executed. |