You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gn...@apache.org on 2016/03/21 17:58:56 UTC
svn commit: r1736048 -
/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
Author: gnodet
Date: Mon Mar 21 16:58:56 2016
New Revision: 1736048
URL: http://svn.apache.org/viewvc?rev=1736048&view=rev
Log:
Make sure parmv is not an ArgList and parms always is
Modified:
felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java?rev=1736048&r1=1736047&r2=1736048&view=diff
==============================================================================
--- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java (original)
+++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java Mon Mar 21 16:58:56 2016
@@ -167,14 +167,14 @@ public class Closure implements Function
{
if (null != values)
{
- parmv = values;
+ parmv = new ArrayList<>(values);
parms = new ArgList(parmv);
}
else if (null != parent)
{
// inherit parent closure parameters
- parms = parent.parms;
- parmv = parent.parmv;
+ parmv = parent.parmv != null ? new ArrayList<>(parent.parmv) : null;
+ parms = parmv != null ? new ArgList(parmv) : null;
}
else
{
@@ -182,7 +182,7 @@ public class Closure implements Function
Object args = session.get("args");
if (null != args && args instanceof List<?>)
{
- parmv = (List<Object>) args;
+ parmv = new ArrayList<>((List<Object>) args);
parms = new ArgList(parmv);
}
}