[chuck-dev] Bug: Incorrect scanning of nested classes.

Robin Davies rerdavies at rogers.com
Sun Sep 4 11:35:38 EDT 2005


The following code    :

    public class Instrument
    {
        class IInstrument {
        }
    }

produces the following error.

   [t.ck]:line(25): class/type 'IInstrument' is already defined in namespace
'Instrument'

The fix:
    ChuckScan.cpp line 1225:
          <  ret = type_engine_scan0_class_def( env,
body->section->class_def );
           > ret = type_engine_scan1_class_def( env,
body->section->class_def );
Rationale:
    The nested class has already had scan0 peformed during scan0 of the
parent class.
    This call is made during scan1 processing, and should perform scan1
processing. Note
    that the other two cases in this switch perform scan1 processing, not
scan0 processing.
    Please review the fix for correctness. I'm 98% sure it's correct.

Regards,

Robin Davies.



More information about the chuck-dev mailing list