Hmm.  Probably the compiler thinks Map.as is a monkey-patch over the SWC
definition.  Source-path definitions always win.

What error do you get?

HTH,
-Alex

On 2/25/18, 3:32 AM, "Harbs" <[email protected]> wrote:

>I need help here:
>
>By adding the Map class for SWF, that seems to mess up the Map reference
>in JS blocks in ObjectMap. For some reason, the SWF class makes the
>compiler not find the extern definition of Map on the JS side. I’m not
>sure why.
>
>Any thoughts?
>Harbs
>
>> On Feb 25, 2018, at 1:30 PM, [email protected] wrote:
>> 
>> This is an automated email from the ASF dual-hosted git repository.
>> 
>> harbs pushed a commit to branch feature/native-js
>> in repository 
>>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.a
>>pache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.c
>>om%7Ca4bd776070724b1dcc1808d57c4378ec%7Cfa7b1b5a7b34438794aed2c178decee1%
>>7C0%7C0%7C636551551615381068&sdata=8rGGfy%2B3oPjqQEuqvMvxA1KB5t4lDS%2FLWH
>>kDRxsrkmU%3D&reserved=0
>> 
>> commit fa36e70dc9dfd924db30a512f1a2f8622e218ae4
>> Author: Harbs <[email protected]>
>> AuthorDate: Sun Feb 25 13:30:10 2018 +0200
>> 
>>    Added Map
>> ---
>> .../projects/Core/src/main/royale/CoreClasses.as   |   6 ++
>> frameworks/projects/Core/src/main/royale/Map.as    | 101
>>+++++++++++++++++++++
>> 2 files changed, 107 insertions(+)
>> 
>> diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as
>>b/frameworks/projects/Core/src/main/royale/CoreClasses.as
>> index 0408118..fc9595e 100644
>> --- a/frameworks/projects/Core/src/main/royale/CoreClasses.as
>> +++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as
>> @@ -224,6 +224,12 @@ internal class CoreClasses
>>              import org.apache.royale.core.WrappedHTMLElement 
>> ;WrappedHTMLElement;
>>          import org.apache.royale.core.IRoyaleElement; IRoyaleElement;
>>      }
>> +
>> +    //JS native classes
>> +    COMPILE::SWF
>> +    {
>> +            import Map; Map;
>> +    }
>>      //Package Level Functions
>>      import org.apache.royale.debugging.assert; assert;
>>      import org.apache.royale.debugging.assertType; assertType;
>> diff --git a/frameworks/projects/Core/src/main/royale/Map.as
>>b/frameworks/projects/Core/src/main/royale/Map.as
>> new file mode 100644
>> index 0000000..e2549ea
>> --- /dev/null
>> +++ b/frameworks/projects/Core/src/main/royale/Map.as
>> @@ -0,0 +1,101 @@
>> 
>>+////////////////////////////////////////////////////////////////////////
>>////////
>> +//
>> +//  Licensed to the Apache Software Foundation (ASF) under one or more
>> +//  contributor license agreements.  See the NOTICE file distributed
>>with
>> +//  this work for additional information regarding copyright ownership.
>> +//  The ASF licenses this file to You under the Apache License,
>>Version 2.0
>> +//  (the "Licens"); you may not use this file except in compliance with
>> +//  the License.  You may obtain a copy of the License at
>> +//
>> +//      
>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apach
>>e.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7Caharui%40adobe.com%7Ca4bd77
>>6070724b1dcc1808d57c4378ec%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6
>>36551551615381068&sdata=9Ja2Y3rXZc4hhbn85tmZyHq8lE8FQkbl%2B%2BgTaFzKUVY%3
>>D&reserved=0
>> +//
>> +//  Unless required by applicable law or agreed to in writing, software
>> +//  distributed under the License is distributed on an "AS IS" BASIS,
>> +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>>implied.
>> +//  See the License for the specific language governing permissions and
>> +//  limitations under the License.
>> +//
>> 
>>+////////////////////////////////////////////////////////////////////////
>>////////
>> +package
>> +{
>> +    COMPILE::SWF
>> +    {
>> +        import flash.utils.Dictionary;
>> +    }
>> +    COMPILE::SWF
>> +    public class Map
>> +    {
>> +        public function Map(iterable:Object=null)
>> +        {
>> +            dict = new Dictionary();
>> +        }
>> +
>> +        private var dict:Dictionary;
>> +        public static const length:int = 0;
>> +
>> +        private var _keys:Array = [];
>> +        public function get size():int
>> +        {
>> +            return _keys.length;
>> +        }
>> +
>> +        public function clear():void
>> +        {
>> +            dict = new Dictionary();
>> +            _keys = [];
>> +        }
>> +
>> +        public function delete(key:*):Boolean
>> +        {
>> +            var idx:int = _keys.indexOf(key);
>> +            if(idx != -1){
>> +                _keys.splice(idx,1);
>> +            }
>> +            return delete dict[key];
>> +        }
>> +
>> +        //TODO requires Iterator
>> +        // public function entries():Iterator
>> +        // {
>> +            
>> +        // }
>> +
>> +        public function forEach(callback:Function,thisArg:Object =
>>null):void
>> +        {
>> +            thisArg = thisArg ? thisArg : this;
>> +            var len:int = _keys.length;
>> +            for(var i:int = 0; i < len; i++)
>> +            {
>> +                callback.call(thisArg,dict[_keys[i]],i,this);
>> +            }
>> +        }
>> +
>> +        public function get(key:Object):*
>> +        {
>> +            return dict[key];
>> +        }
>> +
>> +        public function has(key:Object):Boolean
>> +        {
>> +            return dict[key] != null;
>> +        }
>> +
>> +        //TODO requires Iterator
>> +        // public function keys():Iterator
>> +        // {
>> +            
>> +        // }
>> +
>> +        public function set(key:Object,value:*):Map
>> +        {
>> +            dict[key] = value;
>> +            return this;
>> +        }
>> +
>> +        //TODO requires Iterator
>> +        // public function values():Iterator
>> +        // {
>> +            
>> +        // }
>> +    }
>> +}
>> \ No newline at end of file
>> 
>> -- 
>> To stop receiving notification emails like this one, please contact
>> [email protected].
>

Reply via email to