vassilych / cscs

CSCS: Customized Scripting in C#
MIT License
169 stars 49 forks source link

Accessing variable with dot operator within an array within a list #25

Open Serpet-coder opened 4 years ago

Serpet-coder commented 4 years ago

Hi,

The following script code snippet fails with a null exception.

x.a = 1;
myList = 
{
   {x, x},
   {x, x}
};
print(myList[0][0].a); // This works fine
print(myList[0][0].a + myList[0][0].a); // This fails
print((myList[0][0].a) + (myList[0][0].a)); // This fails also
for(item : myList)
{
   print(item[0].a);// This fails also
}

I tried to forward Constants.TOKEN_SEPARATION to this function call in Functions.Flow.cs Line 1630:

m_propName = Utils.GetToken(script, Constants.NEXT_OR_END_ARRAY);

By doing this all the print statements before the for loop work fine. But the statement in the for loop still fails.

vassilych commented 4 years ago

Hi, thanks a lot for this bug report! Will be buck with a fix shortly! All the best, Vassili

On Mon, Aug 3, 2020 at 12:50 PM Serpet-coder notifications@github.com wrote:

Hi,

The following script code snippet fails with a null exception.

x.a = 1;myList = { {x, x}, {x, x}};print(myList[0][0].a); // This works fineprint(myList[0][0].a + myList[0][0].a); // This failsprint((myList[0][0].a) + (myList[0][0].a)); // This fails alsofor(item : myList){ print(item[0].a);// This fails also}

I tried to forward Constants.TOKEN_SEPARATION to this function call in Functions.Flow.cs Line 1630:

m_propName = Utils.GetToken(script, Constants.NEXT_OR_END_ARRAY);

By doing this all the print statements before the for loop work fine. But the statement in the for loop still fails.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/vassilych/cscs/issues/25, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE74VFD2PLOJVIJPPNSL35TR62I7TANCNFSM4PTG2RIQ .