[java] 
/Apache/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ObjectMap.as(69):
 col: 23 Error: Access of possibly undefinedproperty Map.
     [java]
     [java]             if(typeof Map == "function")
     [java]                       ^
     [java]
     [java] 
/Apache/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ObjectMap.as(71):
 col: 28 Error: Call to a possibly undefinedmethod Map.
     [java]
     [java]                 _map = new Map();
     [java]                            ^
     [java]
     [java] 
/Apache/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ObjectMap.as(231):
 col: 28 Error: Call to a possibly undefined method Map.
     [java]
     [java]                 _map = new Map();
     [java]                            ^
     [java]

> On Feb 25, 2018, at 7:12 PM, Alex Harui <[email protected]> wrote:
> 
> 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] 
> <mailto:[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 
>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.a>
>>> pache.org 
>>> <http://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] <mailto:[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 
>>> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.apach>
>>> e.org 
>>> <http://e.org/>%2Flicenses%2FLICENSE-2.0&data=02%7C01%7Caharui%40adobe.com 
>>> <http://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