You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@royale.apache.org by spiros <ag...@novusnet.gr> on 2019/04/10 13:01:10 UTC

For each iteration in ArrayList and ArrayCollection

Hi, 

 

I am trying to  make an iteration using the for each. The property class is
a simple class with two fields.  

I test the iteration with this classes :

 

 

1.       org.apache.royale.collections.ArrayList error message: TypeError:
propertyClass is undefined

2.       mx.collections.ArrayList error message TypeError: propertyClass is
undefined

3.  mx.collections.ArrayCollection error  message TypeError:
foreachiter0_target.propertyNames is not a function

 

 

 

 

the as3 code is:

              

private function iteration():void

{

var object:Object = new Object;

       for each (var propertyClass:PropertyClass in items)

       {

              object[propertyClass.name] = propertyClass.index;

       }

}

 

Thanks in advanced 

 

 

Spiros 

 

 

 

 

 

ps: The js generated code for this 3 classes 

 

(1)

/**

* @private

*/

com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
_ArrayCollectionIteration_iteration = function() {

  var /** @type {Object} */ object = new Object();

  var foreachiter0_target =
this.com_novusnet_jsTests_ArrayCollectionIteration_items;

  for (var foreachiter0 in foreachiter0_target) 

  {

  var propertyClass = foreachiter0_target[foreachiter0];

  {

    object[propertyClass.name] = propertyClass.index;

  }}

  

};

(2)

 

/**

* @private

*/

com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
_ArrayCollectionIteration_iteration = function() {

  var /** @type {Object} */ object = new Object();

  var foreachiter0_target =
this.com_novusnet_jsTests_ArrayCollectionIteration_items;

  for (var foreachiter0 in foreachiter0_target) 

  {

  var propertyClass = foreachiter0_target[foreachiter0];

  {

    object[propertyClass.name] = propertyClass.index;

  }}

  

};

 

(3)

 

 

/**

* @private

*/

com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
_ArrayCollectionIteration_iteration = function() {

  var /** @type {Object} */ object = new Object();

  var foreachiter0_target =
this.com_novusnet_jsTests_ArrayCollectionIteration_items;

  for (var foreachiter0 in foreachiter0_target.propertyNames()) 

  {

  var propertyClass = foreachiter0_target.getProperty(foreachiter0);

  {

    object[propertyClass.name] = propertyClass.index;

  }}

  

};

 

      


RE: For each iteration in ArrayList and ArrayCollection

Posted by spiros <ag...@novusnet.gr>.
Hi Alex, 


#417

Spiros 




-----Original Message-----
From: Alex Harui [mailto:aharui@adobe.com.INVALID] 
Sent: Thursday, April 11, 2019 10:14 PM
To: dev@royale.apache.org
Subject: Re: For each iteration in ArrayList and ArrayCollection

Yes, it looks like ArrayCollection didn't implement propertyNames().  And Proxy.as may need to change as well.  Can you open an issue on Github so we don't forget?

Thanks,
-Alex

On 4/11/19, 2:17 AM, "spiros" <ag...@novusnet.gr> wrote:

    Hi Alex ,
     
    You have right the mx.collection.Arraylist and org.apache.flex.collections.ArrayList in flex didn’t iterate in flex. 
    I already included the js code for the three cases ( it is on bottom of email). 
    I don’t know if it helps but in one of my tests for the ArrayCollection I extend the class and add a method with name propertyNames (*1). 
    in this case the iteration work fine.
    
    (*1)
    public function propertyNames():Array
    		{
    			var array:Array = new Array;
    			for (var i:int= 0 ; i< length;i++)
    			{
    				array.push(this[i]);
    			}
    			return array
    		}
     
      
    
    Best regards
    
    
    Spiros 
    
    
    
    
    
    -----Original Message-----
    From: Alex Harui [mailto:aharui@adobe.com.INVALID] 
    Sent: Thursday, April 11, 2019 10:46 AM
    To: dev@royale.apache.org
    Subject: Re: For each iteration in ArrayList and ArrayCollection
    
    Hi Spiros,
    
    Could you use for-each on an ArrayList in Flex?  I didn't think it would work.  I thought it only worked on ArrayCollection in Flex.
    
    What is the output JavaScript for your sample code when you use ArrayCollection?  In Royale if you interate on XML, or a Proxy like ArrayCollection you have to make sure the compiler knows it is XML or a Proxy subclass.  If it thinks items is an Object it will not generate the right code.
    
    HTH,
    -Alex
    
    On 4/10/19, 6:01 AM, "spiros" <ag...@novusnet.gr> wrote:
    
        Hi, 
        
         
        
        I am trying to  make an iteration using the for each. The property class is
        a simple class with two fields.  
        
        I test the iteration with this classes :
        
         
        
         
        
        1.       org.apache.royale.collections.ArrayList error message: TypeError:
        propertyClass is undefined
        
        2.       mx.collections.ArrayList error message TypeError: propertyClass is
        undefined
        
        3.  mx.collections.ArrayCollection error  message TypeError:
        foreachiter0_target.propertyNames is not a function
        
         
        
         
        
         
        
         
        
        the as3 code is:
        
                      
        
        private function iteration():void
        
        {
        
        var object:Object = new Object;
        
               for each (var propertyClass:PropertyClass in items)
        
               {
        
                      object[propertyClass.name] = propertyClass.index;
        
               }
        
        }
        
         
        
        Thanks in advanced 
        
         
        
         
        
        Spiros 
        
         
        
         
        
         
        
         
        
         
        
        ps: The js generated code for this 3 classes 
        
         
        
        (1)
        
        /**
        
        * @private
        
        */
        
        com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
        _ArrayCollectionIteration_iteration = function() {
        
          var /** @type {Object} */ object = new Object();
        
          var foreachiter0_target =
        this.com_novusnet_jsTests_ArrayCollectionIteration_items;
        
          for (var foreachiter0 in foreachiter0_target) 
        
          {
        
          var propertyClass = foreachiter0_target[foreachiter0];
        
          {
        
            object[propertyClass.name] = propertyClass.index;
        
          }}
        
          
        
        };
        
        (2)
        
         
        
        /**
        
        * @private
        
        */
        
        com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
        _ArrayCollectionIteration_iteration = function() {
        
          var /** @type {Object} */ object = new Object();
        
          var foreachiter0_target =
        this.com_novusnet_jsTests_ArrayCollectionIteration_items;
        
          for (var foreachiter0 in foreachiter0_target) 
        
          {
        
          var propertyClass = foreachiter0_target[foreachiter0];
        
          {
        
            object[propertyClass.name] = propertyClass.index;
        
          }}
        
          
        
        };
        
         
        
        (3)
        
         
        
         
        
        /**
        
        * @private
        
        */
        
        com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
        _ArrayCollectionIteration_iteration = function() {
        
          var /** @type {Object} */ object = new Object();
        
          var foreachiter0_target =
        this.com_novusnet_jsTests_ArrayCollectionIteration_items;
        
          for (var foreachiter0 in foreachiter0_target.propertyNames()) 
        
          {
        
          var propertyClass = foreachiter0_target.getProperty(foreachiter0);
        
          {
        
            object[propertyClass.name] = propertyClass.index;
        
          }}
        
          
        
        };
        
         
        
              
        
        
    
    
    



Re: For each iteration in ArrayList and ArrayCollection

Posted by Alex Harui <ah...@adobe.com.INVALID>.
Yes, it looks like ArrayCollection didn't implement propertyNames().  And Proxy.as may need to change as well.  Can you open an issue on Github so we don't forget?

Thanks,
-Alex

On 4/11/19, 2:17 AM, "spiros" <ag...@novusnet.gr> wrote:

    Hi Alex ,
     
    You have right the mx.collection.Arraylist and org.apache.flex.collections.ArrayList in flex didn’t iterate in flex. 
    I already included the js code for the three cases ( it is on bottom of email). 
    I don’t know if it helps but in one of my tests for the ArrayCollection I extend the class and add a method with name propertyNames (*1). 
    in this case the iteration work fine.
    
    (*1)
    public function propertyNames():Array
    		{
    			var array:Array = new Array;
    			for (var i:int= 0 ; i< length;i++)
    			{
    				array.push(this[i]);
    			}
    			return array
    		}
     
      
    
    Best regards
    
    
    Spiros 
    
    
    
    
    
    -----Original Message-----
    From: Alex Harui [mailto:aharui@adobe.com.INVALID] 
    Sent: Thursday, April 11, 2019 10:46 AM
    To: dev@royale.apache.org
    Subject: Re: For each iteration in ArrayList and ArrayCollection
    
    Hi Spiros,
    
    Could you use for-each on an ArrayList in Flex?  I didn't think it would work.  I thought it only worked on ArrayCollection in Flex.
    
    What is the output JavaScript for your sample code when you use ArrayCollection?  In Royale if you interate on XML, or a Proxy like ArrayCollection you have to make sure the compiler knows it is XML or a Proxy subclass.  If it thinks items is an Object it will not generate the right code.
    
    HTH,
    -Alex
    
    On 4/10/19, 6:01 AM, "spiros" <ag...@novusnet.gr> wrote:
    
        Hi, 
        
         
        
        I am trying to  make an iteration using the for each. The property class is
        a simple class with two fields.  
        
        I test the iteration with this classes :
        
         
        
         
        
        1.       org.apache.royale.collections.ArrayList error message: TypeError:
        propertyClass is undefined
        
        2.       mx.collections.ArrayList error message TypeError: propertyClass is
        undefined
        
        3.  mx.collections.ArrayCollection error  message TypeError:
        foreachiter0_target.propertyNames is not a function
        
         
        
         
        
         
        
         
        
        the as3 code is:
        
                      
        
        private function iteration():void
        
        {
        
        var object:Object = new Object;
        
               for each (var propertyClass:PropertyClass in items)
        
               {
        
                      object[propertyClass.name] = propertyClass.index;
        
               }
        
        }
        
         
        
        Thanks in advanced 
        
         
        
         
        
        Spiros 
        
         
        
         
        
         
        
         
        
         
        
        ps: The js generated code for this 3 classes 
        
         
        
        (1)
        
        /**
        
        * @private
        
        */
        
        com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
        _ArrayCollectionIteration_iteration = function() {
        
          var /** @type {Object} */ object = new Object();
        
          var foreachiter0_target =
        this.com_novusnet_jsTests_ArrayCollectionIteration_items;
        
          for (var foreachiter0 in foreachiter0_target) 
        
          {
        
          var propertyClass = foreachiter0_target[foreachiter0];
        
          {
        
            object[propertyClass.name] = propertyClass.index;
        
          }}
        
          
        
        };
        
        (2)
        
         
        
        /**
        
        * @private
        
        */
        
        com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
        _ArrayCollectionIteration_iteration = function() {
        
          var /** @type {Object} */ object = new Object();
        
          var foreachiter0_target =
        this.com_novusnet_jsTests_ArrayCollectionIteration_items;
        
          for (var foreachiter0 in foreachiter0_target) 
        
          {
        
          var propertyClass = foreachiter0_target[foreachiter0];
        
          {
        
            object[propertyClass.name] = propertyClass.index;
        
          }}
        
          
        
        };
        
         
        
        (3)
        
         
        
         
        
        /**
        
        * @private
        
        */
        
        com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
        _ArrayCollectionIteration_iteration = function() {
        
          var /** @type {Object} */ object = new Object();
        
          var foreachiter0_target =
        this.com_novusnet_jsTests_ArrayCollectionIteration_items;
        
          for (var foreachiter0 in foreachiter0_target.propertyNames()) 
        
          {
        
          var propertyClass = foreachiter0_target.getProperty(foreachiter0);
        
          {
        
            object[propertyClass.name] = propertyClass.index;
        
          }}
        
          
        
        };
        
         
        
              
        
        
    
    
    


Re: For each iteration in ArrayList and ArrayCollection

Posted by Harbs <ha...@gmail.com>.
You can also iterate over the arrayList.source.

> On Apr 11, 2019, at 5:16 AM, spiros <ag...@novusnet.gr> wrote:
> 
> Hi Alex ,
> 
> You have right the mx.collection.Arraylist and org.apache.flex.collections.ArrayList in flex didn’t iterate in flex. 
> I already included the js code for the three cases ( it is on bottom of email). 
> I don’t know if it helps but in one of my tests for the ArrayCollection I extend the class and add a method with name propertyNames (*1). 
> in this case the iteration work fine.
> 
> (*1)
> public function propertyNames():Array
> 		{
> 			var array:Array = new Array;
> 			for (var i:int= 0 ; i< length;i++)
> 			{
> 				array.push(this[i]);
> 			}
> 			return array
> 		}
> 
> 
> 
> Best regards
> 
> 
> Spiros 
> 
> 
> 
> 
> 
> -----Original Message-----
> From: Alex Harui [mailto:aharui@adobe.com.INVALID] 
> Sent: Thursday, April 11, 2019 10:46 AM
> To: dev@royale.apache.org
> Subject: Re: For each iteration in ArrayList and ArrayCollection
> 
> Hi Spiros,
> 
> Could you use for-each on an ArrayList in Flex?  I didn't think it would work.  I thought it only worked on ArrayCollection in Flex.
> 
> What is the output JavaScript for your sample code when you use ArrayCollection?  In Royale if you interate on XML, or a Proxy like ArrayCollection you have to make sure the compiler knows it is XML or a Proxy subclass.  If it thinks items is an Object it will not generate the right code.
> 
> HTH,
> -Alex
> 
> On 4/10/19, 6:01 AM, "spiros" <ag...@novusnet.gr> wrote:
> 
>    Hi, 
> 
> 
> 
>    I am trying to  make an iteration using the for each. The property class is
>    a simple class with two fields.  
> 
>    I test the iteration with this classes :
> 
> 
> 
> 
> 
>    1.       org.apache.royale.collections.ArrayList error message: TypeError:
>    propertyClass is undefined
> 
>    2.       mx.collections.ArrayList error message TypeError: propertyClass is
>    undefined
> 
>    3.  mx.collections.ArrayCollection error  message TypeError:
>    foreachiter0_target.propertyNames is not a function
> 
> 
> 
> 
> 
> 
> 
> 
> 
>    the as3 code is:
> 
> 
> 
>    private function iteration():void
> 
>    {
> 
>    var object:Object = new Object;
> 
>           for each (var propertyClass:PropertyClass in items)
> 
>           {
> 
>                  object[propertyClass.name] = propertyClass.index;
> 
>           }
> 
>    }
> 
> 
> 
>    Thanks in advanced 
> 
> 
> 
> 
> 
>    Spiros 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>    ps: The js generated code for this 3 classes 
> 
> 
> 
>    (1)
> 
>    /**
> 
>    * @private
> 
>    */
> 
>    com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
>    _ArrayCollectionIteration_iteration = function() {
> 
>      var /** @type {Object} */ object = new Object();
> 
>      var foreachiter0_target =
>    this.com_novusnet_jsTests_ArrayCollectionIteration_items;
> 
>      for (var foreachiter0 in foreachiter0_target) 
> 
>      {
> 
>      var propertyClass = foreachiter0_target[foreachiter0];
> 
>      {
> 
>        object[propertyClass.name] = propertyClass.index;
> 
>      }}
> 
> 
> 
>    };
> 
>    (2)
> 
> 
> 
>    /**
> 
>    * @private
> 
>    */
> 
>    com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
>    _ArrayCollectionIteration_iteration = function() {
> 
>      var /** @type {Object} */ object = new Object();
> 
>      var foreachiter0_target =
>    this.com_novusnet_jsTests_ArrayCollectionIteration_items;
> 
>      for (var foreachiter0 in foreachiter0_target) 
> 
>      {
> 
>      var propertyClass = foreachiter0_target[foreachiter0];
> 
>      {
> 
>        object[propertyClass.name] = propertyClass.index;
> 
>      }}
> 
> 
> 
>    };
> 
> 
> 
>    (3)
> 
> 
> 
> 
> 
>    /**
> 
>    * @private
> 
>    */
> 
>    com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
>    _ArrayCollectionIteration_iteration = function() {
> 
>      var /** @type {Object} */ object = new Object();
> 
>      var foreachiter0_target =
>    this.com_novusnet_jsTests_ArrayCollectionIteration_items;
> 
>      for (var foreachiter0 in foreachiter0_target.propertyNames()) 
> 
>      {
> 
>      var propertyClass = foreachiter0_target.getProperty(foreachiter0);
> 
>      {
> 
>        object[propertyClass.name] = propertyClass.index;
> 
>      }}
> 
> 
> 
>    };
> 
> 
> 
> 
> 
> 
> 
> 


RE: For each iteration in ArrayList and ArrayCollection

Posted by spiros <ag...@novusnet.gr>.
Hi Alex ,
 
You have right the mx.collection.Arraylist and org.apache.flex.collections.ArrayList in flex didn’t iterate in flex. 
I already included the js code for the three cases ( it is on bottom of email). 
I don’t know if it helps but in one of my tests for the ArrayCollection I extend the class and add a method with name propertyNames (*1). 
in this case the iteration work fine.

(*1)
public function propertyNames():Array
		{
			var array:Array = new Array;
			for (var i:int= 0 ; i< length;i++)
			{
				array.push(this[i]);
			}
			return array
		}
 
  

Best regards


Spiros 





-----Original Message-----
From: Alex Harui [mailto:aharui@adobe.com.INVALID] 
Sent: Thursday, April 11, 2019 10:46 AM
To: dev@royale.apache.org
Subject: Re: For each iteration in ArrayList and ArrayCollection

Hi Spiros,

Could you use for-each on an ArrayList in Flex?  I didn't think it would work.  I thought it only worked on ArrayCollection in Flex.

What is the output JavaScript for your sample code when you use ArrayCollection?  In Royale if you interate on XML, or a Proxy like ArrayCollection you have to make sure the compiler knows it is XML or a Proxy subclass.  If it thinks items is an Object it will not generate the right code.

HTH,
-Alex

On 4/10/19, 6:01 AM, "spiros" <ag...@novusnet.gr> wrote:

    Hi, 
    
     
    
    I am trying to  make an iteration using the for each. The property class is
    a simple class with two fields.  
    
    I test the iteration with this classes :
    
     
    
     
    
    1.       org.apache.royale.collections.ArrayList error message: TypeError:
    propertyClass is undefined
    
    2.       mx.collections.ArrayList error message TypeError: propertyClass is
    undefined
    
    3.  mx.collections.ArrayCollection error  message TypeError:
    foreachiter0_target.propertyNames is not a function
    
     
    
     
    
     
    
     
    
    the as3 code is:
    
                  
    
    private function iteration():void
    
    {
    
    var object:Object = new Object;
    
           for each (var propertyClass:PropertyClass in items)
    
           {
    
                  object[propertyClass.name] = propertyClass.index;
    
           }
    
    }
    
     
    
    Thanks in advanced 
    
     
    
     
    
    Spiros 
    
     
    
     
    
     
    
     
    
     
    
    ps: The js generated code for this 3 classes 
    
     
    
    (1)
    
    /**
    
    * @private
    
    */
    
    com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
    _ArrayCollectionIteration_iteration = function() {
    
      var /** @type {Object} */ object = new Object();
    
      var foreachiter0_target =
    this.com_novusnet_jsTests_ArrayCollectionIteration_items;
    
      for (var foreachiter0 in foreachiter0_target) 
    
      {
    
      var propertyClass = foreachiter0_target[foreachiter0];
    
      {
    
        object[propertyClass.name] = propertyClass.index;
    
      }}
    
      
    
    };
    
    (2)
    
     
    
    /**
    
    * @private
    
    */
    
    com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
    _ArrayCollectionIteration_iteration = function() {
    
      var /** @type {Object} */ object = new Object();
    
      var foreachiter0_target =
    this.com_novusnet_jsTests_ArrayCollectionIteration_items;
    
      for (var foreachiter0 in foreachiter0_target) 
    
      {
    
      var propertyClass = foreachiter0_target[foreachiter0];
    
      {
    
        object[propertyClass.name] = propertyClass.index;
    
      }}
    
      
    
    };
    
     
    
    (3)
    
     
    
     
    
    /**
    
    * @private
    
    */
    
    com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
    _ArrayCollectionIteration_iteration = function() {
    
      var /** @type {Object} */ object = new Object();
    
      var foreachiter0_target =
    this.com_novusnet_jsTests_ArrayCollectionIteration_items;
    
      for (var foreachiter0 in foreachiter0_target.propertyNames()) 
    
      {
    
      var propertyClass = foreachiter0_target.getProperty(foreachiter0);
    
      {
    
        object[propertyClass.name] = propertyClass.index;
    
      }}
    
      
    
    };
    
     
    
          
    
    



Re: For each iteration in ArrayList and ArrayCollection

Posted by Alex Harui <ah...@adobe.com.INVALID>.
Hi Spiros,

Could you use for-each on an ArrayList in Flex?  I didn't think it would work.  I thought it only worked on ArrayCollection in Flex.

What is the output JavaScript for your sample code when you use ArrayCollection?  In Royale if you interate on XML, or a Proxy like ArrayCollection you have to make sure the compiler knows it is XML or a Proxy subclass.  If it thinks items is an Object it will not generate the right code.

HTH,
-Alex

On 4/10/19, 6:01 AM, "spiros" <ag...@novusnet.gr> wrote:

    Hi, 
    
     
    
    I am trying to  make an iteration using the for each. The property class is
    a simple class with two fields.  
    
    I test the iteration with this classes :
    
     
    
     
    
    1.       org.apache.royale.collections.ArrayList error message: TypeError:
    propertyClass is undefined
    
    2.       mx.collections.ArrayList error message TypeError: propertyClass is
    undefined
    
    3.  mx.collections.ArrayCollection error  message TypeError:
    foreachiter0_target.propertyNames is not a function
    
     
    
     
    
     
    
     
    
    the as3 code is:
    
                  
    
    private function iteration():void
    
    {
    
    var object:Object = new Object;
    
           for each (var propertyClass:PropertyClass in items)
    
           {
    
                  object[propertyClass.name] = propertyClass.index;
    
           }
    
    }
    
     
    
    Thanks in advanced 
    
     
    
     
    
    Spiros 
    
     
    
     
    
     
    
     
    
     
    
    ps: The js generated code for this 3 classes 
    
     
    
    (1)
    
    /**
    
    * @private
    
    */
    
    com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
    _ArrayCollectionIteration_iteration = function() {
    
      var /** @type {Object} */ object = new Object();
    
      var foreachiter0_target =
    this.com_novusnet_jsTests_ArrayCollectionIteration_items;
    
      for (var foreachiter0 in foreachiter0_target) 
    
      {
    
      var propertyClass = foreachiter0_target[foreachiter0];
    
      {
    
        object[propertyClass.name] = propertyClass.index;
    
      }}
    
      
    
    };
    
    (2)
    
     
    
    /**
    
    * @private
    
    */
    
    com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
    _ArrayCollectionIteration_iteration = function() {
    
      var /** @type {Object} */ object = new Object();
    
      var foreachiter0_target =
    this.com_novusnet_jsTests_ArrayCollectionIteration_items;
    
      for (var foreachiter0 in foreachiter0_target) 
    
      {
    
      var propertyClass = foreachiter0_target[foreachiter0];
    
      {
    
        object[propertyClass.name] = propertyClass.index;
    
      }}
    
      
    
    };
    
     
    
    (3)
    
     
    
     
    
    /**
    
    * @private
    
    */
    
    com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
    _ArrayCollectionIteration_iteration = function() {
    
      var /** @type {Object} */ object = new Object();
    
      var foreachiter0_target =
    this.com_novusnet_jsTests_ArrayCollectionIteration_items;
    
      for (var foreachiter0 in foreachiter0_target.propertyNames()) 
    
      {
    
      var propertyClass = foreachiter0_target.getProperty(foreachiter0);
    
      {
    
        object[propertyClass.name] = propertyClass.index;
    
      }}
    
      
    
    };
    
     
    
          
    
    


RE: For each iteration in ArrayList and ArrayCollection

Posted by spiros <ag...@novusnet.gr>.
Hi Carlos,

Next time I’ll check the bug base before post a message.

Thanks



Spiros  




-----Original Message-----
From: Carlos Rovira [mailto:carlosrovira@apache.org] 
Sent: Wednesday, April 10, 2019 5:35 PM
To: dev@royale.apache.org
Subject: Re: For each iteration in ArrayList and ArrayCollection

Hi Spiros,

there's currently a bug, and for each is not working for collections :

https://github.com/apache/royale-asjs/issues/363

Greg said that he'll want to work on it soon

In the mean while you can use other structure like a while for example.





El mié., 10 abr. 2019 a las 15:01, spiros (<ag...@novusnet.gr>) escribió:

> Hi,
>
>
>
> I am trying to  make an iteration using the for each. The property class is
> a simple class with two fields.
>
> I test the iteration with this classes :
>
>
>
>
>
> 1.       org.apache.royale.collections.ArrayList error message: TypeError:
> propertyClass is undefined
>
> 2.       mx.collections.ArrayList error message TypeError: propertyClass is
> undefined
>
> 3.  mx.collections.ArrayCollection error  message TypeError:
> foreachiter0_target.propertyNames is not a function
>
>
>
>
>
>
>
>
>
> the as3 code is:
>
>
>
> private function iteration():void
>
> {
>
> var object:Object = new Object;
>
>        for each (var propertyClass:PropertyClass in items)
>
>        {
>
>               object[propertyClass.name] = propertyClass.index;
>
>        }
>
> }
>
>
>
> Thanks in advanced
>
>
>
>
>
> Spiros
>
>
>
>
>
>
>
>
>
>
>
> ps: The js generated code for this 3 classes
>
>
>
> (1)
>
> /**
>
> * @private
>
> */
>
>
> com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
> _ArrayCollectionIteration_iteration = function() {
>
>   var /** @type {Object} */ object = new Object();
>
>   var foreachiter0_target =
> this.com_novusnet_jsTests_ArrayCollectionIteration_items;
>
>   for (var foreachiter0 in foreachiter0_target)
>
>   {
>
>   var propertyClass = foreachiter0_target[foreachiter0];
>
>   {
>
>     object[propertyClass.name] = propertyClass.index;
>
>   }}
>
>
>
> };
>
> (2)
>
>
>
> /**
>
> * @private
>
> */
>
>
> com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
> _ArrayCollectionIteration_iteration = function() {
>
>   var /** @type {Object} */ object = new Object();
>
>   var foreachiter0_target =
> this.com_novusnet_jsTests_ArrayCollectionIteration_items;
>
>   for (var foreachiter0 in foreachiter0_target)
>
>   {
>
>   var propertyClass = foreachiter0_target[foreachiter0];
>
>   {
>
>     object[propertyClass.name] = propertyClass.index;
>
>   }}
>
>
>
> };
>
>
>
> (3)
>
>
>
>
>
> /**
>
> * @private
>
> */
>
>
> com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
> _ArrayCollectionIteration_iteration = function() {
>
>   var /** @type {Object} */ object = new Object();
>
>   var foreachiter0_target =
> this.com_novusnet_jsTests_ArrayCollectionIteration_items;
>
>   for (var foreachiter0 in foreachiter0_target.propertyNames())
>
>   {
>
>   var propertyClass = foreachiter0_target.getProperty(foreachiter0);
>
>   {
>
>     object[propertyClass.name] = propertyClass.index;
>
>   }}
>
>
>
> };
>
>
>
>
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira


Re: For each iteration in ArrayList and ArrayCollection

Posted by Carlos Rovira <ca...@apache.org>.
Hi Spiros,

there's currently a bug, and for each is not working for collections :

https://github.com/apache/royale-asjs/issues/363

Greg said that he'll want to work on it soon

In the mean while you can use other structure like a while for example.





El mié., 10 abr. 2019 a las 15:01, spiros (<ag...@novusnet.gr>) escribió:

> Hi,
>
>
>
> I am trying to  make an iteration using the for each. The property class is
> a simple class with two fields.
>
> I test the iteration with this classes :
>
>
>
>
>
> 1.       org.apache.royale.collections.ArrayList error message: TypeError:
> propertyClass is undefined
>
> 2.       mx.collections.ArrayList error message TypeError: propertyClass is
> undefined
>
> 3.  mx.collections.ArrayCollection error  message TypeError:
> foreachiter0_target.propertyNames is not a function
>
>
>
>
>
>
>
>
>
> the as3 code is:
>
>
>
> private function iteration():void
>
> {
>
> var object:Object = new Object;
>
>        for each (var propertyClass:PropertyClass in items)
>
>        {
>
>               object[propertyClass.name] = propertyClass.index;
>
>        }
>
> }
>
>
>
> Thanks in advanced
>
>
>
>
>
> Spiros
>
>
>
>
>
>
>
>
>
>
>
> ps: The js generated code for this 3 classes
>
>
>
> (1)
>
> /**
>
> * @private
>
> */
>
>
> com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
> _ArrayCollectionIteration_iteration = function() {
>
>   var /** @type {Object} */ object = new Object();
>
>   var foreachiter0_target =
> this.com_novusnet_jsTests_ArrayCollectionIteration_items;
>
>   for (var foreachiter0 in foreachiter0_target)
>
>   {
>
>   var propertyClass = foreachiter0_target[foreachiter0];
>
>   {
>
>     object[propertyClass.name] = propertyClass.index;
>
>   }}
>
>
>
> };
>
> (2)
>
>
>
> /**
>
> * @private
>
> */
>
>
> com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
> _ArrayCollectionIteration_iteration = function() {
>
>   var /** @type {Object} */ object = new Object();
>
>   var foreachiter0_target =
> this.com_novusnet_jsTests_ArrayCollectionIteration_items;
>
>   for (var foreachiter0 in foreachiter0_target)
>
>   {
>
>   var propertyClass = foreachiter0_target[foreachiter0];
>
>   {
>
>     object[propertyClass.name] = propertyClass.index;
>
>   }}
>
>
>
> };
>
>
>
> (3)
>
>
>
>
>
> /**
>
> * @private
>
> */
>
>
> com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests
> _ArrayCollectionIteration_iteration = function() {
>
>   var /** @type {Object} */ object = new Object();
>
>   var foreachiter0_target =
> this.com_novusnet_jsTests_ArrayCollectionIteration_items;
>
>   for (var foreachiter0 in foreachiter0_target.propertyNames())
>
>   {
>
>   var propertyClass = foreachiter0_target.getProperty(foreachiter0);
>
>   {
>
>     object[propertyClass.name] = propertyClass.index;
>
>   }}
>
>
>
> };
>
>
>
>
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira