Баг во Flash CS4


При реализации в AS3 подобия иерархии классов коллекций Java натолкнулся на интересную проблему:

// Set.as
package ru.majus.util
{  
    public interface Set
    {
        function put(o:*):Boolean;     
        function contains(o:*):Boolean;    
        function remove(o:*):void;     
        function size():uint;      
        function isEmpty():Boolean;    
        function clear():void;
    }  
}
// LinkedSet.as
package ru.majus.util
{
    public class LinkedSet implements Set
    {
        // ...

        private var _head:Item;
        private var _tail:Item;
    }  
}

class Item {
    // ...
}

При попытке компиляции выдавало веер ошибок (по одной на каждый реализованный метод):

1044: Interface method size in namespace ru.majus.util:Set not implemented by class ru.majus.util:LinkedSet.

Оказалось, проблема глобальная. Это баг в Flash CS4.
Решается переносом класса Item в отдельный файл. На форумах различных библиотек на AS3 уже появились сообщения о невозможности их использования на CS4.

,

  1. No comments yet.
(will not be published)