royale-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <>
Subject Re: internal types in subclasses
Date Wed, 20 Dec 2017 17:42:10 GMT
What makes it hard to define a new type?  Is it something that an IDE can
make easier?  I think for the rest of the tool chain, a file is just a
file and one more file doesn't make a difference.

Regarding reflection data:  The reflection data is designed to disappear
in release builds unless you are using it.  It is currently all or
nothing, but I could imagine that a smarter tool chain could somehow know
to keep some reflection data and not other.  Dynamic classes are not a
recommended practice, IMO, they basically defeat the advantages of AS over
JS.  Proxy-based classes have high overhead, but can deliver something
more like type safety in the hopefully few dynamic situations.

Of course, I could be wrong...

On 12/20/17, 1:42 AM, "Harbs" <> wrote:

>I’m not trying to hide anything. It’s just sometimes easier to create
>these types in the class. However, doing that does not make them
>available to subclasses.
>Considering that defining types is so important for the goog compiler,
>making it easier to define types would be nice.
>In this case, I just made public classes for the types.
>Sort of related:
>Does it make any sense to have dynamic classes not generate reflection
>data by default? That might make it easier to generate lighter-weight
>value object types.
>> On Dec 20, 2017, at 9:52 AM, Alex Harui <>
>> Just wondering, what are you trying to "hide"?
>> You could make an interface public but not the class that implements the
>> interface.  You would expose the class via some API if you need to.
>> -Alex
>> On 12/18/17, 11:38 AM, "Harbs" <> wrote:
>>> I can’t think of a way. Hence my question… ;-)
>>>> On Dec 18, 2017, at 8:19 PM, Alex Harui <>
>>>> wrote:
>>>> Not sure.  Is this sort of thing legal in pure AS3?
>>>> -Alex
>>>> On 12/18/17, 7:55 AM, "Harbs" <> wrote:
>>>>> I have a class which has an internal class for an Object definition:
>>>>> class DrawRecord{
>>>>> 	public var rect:Rectangle;
>>>>> 	public var color:uint;
>>>>> 	public var alpha:Number;
>>>>> 	public var columnRect:Rectangle;
>>>>> }
>>>>> This class has a subclass which sets one of the properties in this
>>>>> value
>>>>> object (i.e. columnRect). Internal classes are only available in the
>>>>> same
>>>>> file. Is there any trick to make the class definition available to
>>>>> subclass without making the type definition a full blown public class
>>>>> in
>>>>> its own file?
>>>>> Thanks,
>>>>> Harbs

View raw message