[Laszlo-dev] org.openlaszlo.sc.CompilerError: class names only differ by upper/lower case: "Top" versus "top"
P T Withington
ptw at pobox.com
Wed Aug 6 10:39:33 PDT 2008
Surely in AS3 you can have a global and a class that only differ in
case. In which case, we need a different strategy for how we
implement global vars.
On 2008-08-06, at 13:15EDT, Henry Minsky wrote:
> I think the flex compiler, like Java, requires that the file name be
> the same as the top level definition which
> it publishes, so there's not any choice of file name for a given
> global declaration.
>
>
>
> On Wed, Aug 6, 2008 at 12:13 PM, P T Withington <ptw at pobox.com> wrote:
>> Maybe we just need to come up with an encoding for the names to
>> indicate
>> case. Is the filesystem case-insensitive if you use a utf8 filename?
>>
>> On 2008-08-06, at 09:36EDT, Donald Anderson wrote:
>>
>>> Well, I think both 'var top' and 'class Top' are competing for
>>> file name top.as vs. Top.as.
>>>
>>> We can always use subdirectories to distinguish names (I think!).
>>> Your idiom seems natural to me, and makes it seem like we
>>> should try it. For example, all globals are pushed to their
>>> own directory:
>>> global/top.as
>>>
>>> You still wouldn't be able to have classes or globals that
>>> aren't distinguished within their own set. If we wanted full
>>> distinguishing, we'd have to do something like:
>>>
>>> 0/ClassName.as
>>> 1/AnotherClassName.as
>>>
>>> yuck.
>>>
>>> - Don
>>>
>>> On Aug 6, 2008, at 8:51 AM, P T Withington wrote:
>>>
>>>> I should have included my example code:
>>>>
>>>>> <canvas debug="true" >
>>>>> <script when="immediate">
>>>>> var free = 'outer';
>>>>>
>>>>> class Top {
>>>>> function test () { return free; }
>>>>> }
>>>>>
>>>>> class Sub extends Top {
>>>>> var free = 'inner';
>>>>>
>>>>> function test () { return free; }
>>>>> }
>>>>>
>>>>> var top = new Top;
>>>>> var sub = new Sub;
>>>>> Debug.info("top.test() => %s", top.test());
>>>>> Debug.info("sub.test() => %s", sub.test());
>>>>> </script>
>>>>> </canvas>
>>>>
>>>> There is only one class Top. Is the check overly conservative?
>>>>
>>>> On 2008-08-06, at 08:39EDT, Donald Anderson wrote:
>>>>
>>>>> That check is in because classes must be named to files.
>>>>> Class Glorp must be in file Glorp.as. But some file systems
>>>>> including MacOS, do not have complete distinguishing between case:
>>>>>
>>>>> $ echo foo >> glorp.as
>>>>> $ echo bar >> Glorp.as
>>>>> $ cat glorp.as
>>>>> foo
>>>>> bar
>>>>>
>>>>>
>>>>> On Aug 6, 2008, at 8:06 AM, P T Withington wrote:
>>>>>
>>>>>> Why am I getting this error when compiling to swf9?
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Don Anderson
>>>>> Java/C/C++, Berkeley DB, systems consultant
>>>>>
>>>>> voice: 617-547-7881
>>>>> email: dda at ddanderson.com
>>>>> www: http://www.ddanderson.com
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>>
>>> Don Anderson
>>> Java/C/C++, Berkeley DB, systems consultant
>>>
>>> voice: 617-547-7881
>>> email: dda at ddanderson.com
>>> www: http://www.ddanderson.com
>>>
>>>
>>>
>>
>>
>
>
>
> --
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com
More information about the Laszlo-dev
mailing list