• Dridi Boukelmoune's avatar
    Apply bandaid to missing VMOD symbol errors · 46a6a3af
    Dridi Boukelmoune authored
    The VCL compilation error message when a VMOD symbol does not exist
    simply disappeared. When I figured how to bring it back I was lucky
    my test case exhibited another quirk for the following case:
    
        new foo = bar.foo()
    
    Where bar is a successfully imported VMOD, and foo is the missing
    constructor. For some reason instance symbols are created with VCL
    low and high values, so the missing foo constructor ended up being
    confused with the existing foo instance.
    
    The regression I initially hunted down (the lack of error message
    in the first place) was introduced by 340abd04. I suggest we
    don't give VMOD-induced symbols a VCL low/high since by definition
    they are not tied to a VCL version (even though they may do so at
    run time) and use that criteria to filter out the spurious error
    message:
    
    > Symbol not found: 'directors.foo' (Only available when 4.0 <= VCL
    > syntax <= 4.0)
    
    If there is no proper low or high (and 4.0 is legit) then we don't
    print the "Only available when" part? For now I needed the bandaid.
    
    Refs 340abd04
    46a6a3af
v00016.vtc 3.08 KB