@@ -9384,7 +9384,9 @@ public String updateFormEqJava7(java.util.Map env, String val2, Expression var,
93849384 { return "{} /* can't assign to: " + data + " */"; }
93859385
93869386 if (umlkind == CLASSID && arrayIndex == null)
9387- { if (val2.equals("{}") || val2.equals("Set{}") || val2.equals("Sequence{}")) // delete the class extent
9387+ { if (val2.equals("{}") ||
9388+ val2.equals("Set{}") ||
9389+ val2.equals("Sequence{}")) // delete the class extent
93889390 { String datas = classExtentQueryFormJava7(env,local);
93899391 return "ArrayList<" + data + "> _" + data + " = new ArrayList<" + data + ">(); \n" +
93909392 " _" + data + ".addAll(" + datas + "); \n" +
@@ -9572,7 +9574,8 @@ public String updateFormEqCSharp(java.util.Map env,
95729574 { String indopt = arrayIndex.queryFormCSharp(env,local);
95739575 String wind = arrayIndex.wrapCSharp(indopt);
95749576 String wval = var.wrapCSharp(val2);
9575- if ("String".equals(arrayIndex.type + ""))
9577+ if ("String".equals(arrayIndex.type + "") ||
9578+ BasicExpression.isMapAccess(this))
95769579 { return datax + "[" + wind + "] = " + wval + ";"; } // map[index] = val2
95779580 else
95789581 { return datax + "[" + indopt + " -1] = " + wval + ";"; }
@@ -9605,7 +9608,9 @@ else if (type != null && var.type != null)
96059608 { String ind = arrayIndex.queryFormCSharp(env,local);
96069609 String wind = arrayIndex.wrapCSharp(ind);
96079610 String wval = var.wrapCSharp(val2);
9608- if (isQualified() || "String".equals(arrayIndex.type + ""))
9611+ if (isQualified() ||
9612+ "String".equals(arrayIndex.type + "") ||
9613+ BasicExpression.isMapAccess(this))
96099614 { return data + "[" + wind + "] = " + wval + ";"; }
96109615 return data + "[" + ind + " - 1] = " + val2 + ";";
96119616 }
@@ -9644,7 +9649,9 @@ else if (type != null && var.type != null)
96449649
96459650 if (arrayIndex != null)
96469651 { String ind = arrayIndex.queryFormCSharp(env,local);
9647- if (isQualified())
9652+ if (isQualified() ||
9653+ "String".equals(arrayIndex.type + "") ||
9654+ BasicExpression.isMapAccess(this))
96489655 { return cont + ".set" + data + "(" + target + ind + ", " + val2 + ");"; }
96499656 String indopt = evaluateString("-",ind,"1"); // not for qualified
96509657 return cont + ".set" + data + "(" + target + indopt + "," + val2 + ");";
@@ -9669,7 +9676,8 @@ else if (type != null && var.type != null)
96699676
96709677 if (entity != null && entity.isClassScope(data))
96719678 { if (arrayIndex != null)
9672- { String indopt = arrayIndex.queryFormCSharp(env,local);
9679+ { String indopt =
9680+ arrayIndex.queryFormCSharp(env,local);
96739681 return nme + ".set" + data + "((" + indopt + " -1), " + val2 + ");";
96749682 }
96759683 return nme + ".set" + data + "(" + val2 + ");";
@@ -9702,7 +9710,9 @@ else if (type != null && var.type != null)
97029710 { cref = nme + "Ops"; }
97039711 if (arrayIndex != null)
97049712 { String ind = arrayIndex.queryFormCSharp(env,local);
9705- if (isQualified())
9713+ if (isQualified() ||
9714+ "String".equals(arrayIndex.type + "") ||
9715+ BasicExpression.isMapAccess(this))
97069716 { return cref + ".setAll" + data + "(" + pre + "," + ind + "," +
97079717 val2 + ");";
97089718 }
@@ -9716,7 +9726,9 @@ else if (type != null && var.type != null)
97169726 { if (local)
97179727 { if (arrayIndex != null)
97189728 { String ind = arrayIndex.queryFormCSharp(env,local);
9719- if (isQualified())
9729+ if (isQualified() ||
9730+ "String".equals(arrayIndex.type + "") ||
9731+ BasicExpression.isMapAccess(this))
97209732 { return pre + ".set" + data + "(" + ind + "," +
97219733 val2 + ");";
97229734 }
@@ -9727,7 +9739,9 @@ else if (type != null && var.type != null)
97279739 }
97289740 else if (arrayIndex != null)
97299741 { String ind = arrayIndex.queryFormCSharp(env,local);
9730- if (isQualified())
9742+ if (isQualified() ||
9743+ "String".equals(arrayIndex.type + "") ||
9744+ BasicExpression.isMapAccess(this))
97319745 { return cont + ".set" + data + "(" + pre + "," + ind + "," + val2 + ");"; }
97329746 String indopt = evaluateString("-",ind,"1");
97339747 return cont + ".set" + data + "(" + pre + "," + indopt + "," +
@@ -9779,7 +9793,8 @@ public String updateFormEqCPP(java.util.Map env,
97799793 if (umlkind == VARIABLE)
97809794 { if (arrayIndex != null)
97819795 { String indopt = arrayIndex.queryFormCPP(env,local);
9782- if ("String".equals(arrayIndex.type + ""))
9796+ if ("String".equals(arrayIndex.type + "") ||
9797+ BasicExpression.isMapAccess(this))
97839798 { return "(*" + data + ")[" + indopt + "] = " + val2 + ";"; } // map[index] = val2
97849799 else
97859800 { return "(*" + data + ")[" + indopt + " -1] = " + val2 + ";"; }
@@ -9796,7 +9811,9 @@ public String updateFormEqCPP(java.util.Map env,
97969811 { if (local)
97979812 { if (arrayIndex != null)
97989813 { String ind = arrayIndex.queryFormCPP(env,local);
9799- if (isQualified() || "String".equals(arrayIndex.type + ""))
9814+ if (isQualified() ||
9815+ "String".equals(arrayIndex.type + "") ||
9816+ BasicExpression.isMapAccess(this))
98009817 { return "(*" + data + ")[" + ind + "] = " + val2 + ";"; }
98019818 return "(*" + data + ")[" + ind + " - 1] = " + val2 + ";";
98029819 }
@@ -9823,7 +9840,9 @@ public String updateFormEqCPP(java.util.Map env,
98239840
98249841 if (arrayIndex != null)
98259842 { String ind = arrayIndex.queryFormCPP(env,local);
9826- if (isQualified())
9843+ if (isQualified() ||
9844+ "String".equals(arrayIndex.type + "") ||
9845+ BasicExpression.isMapAccess(this))
98279846 { return cont + "set" + data + "(" + target + ind + ", " + val2 + ");"; }
98289847 String indopt = evaluateString("-",ind,"1"); // not for qualified
98299848 return cont + "set" + data + "(" + target + indopt + "," + val2 + ");";
@@ -9858,7 +9877,9 @@ public String updateFormEqCPP(java.util.Map env,
98589877 if (objectRef.isMultiple())
98599878 { if (arrayIndex != null)
98609879 { String ind = arrayIndex.queryFormCPP(env,local);
9861- if (isQualified())
9880+ if (isQualified() ||
9881+ "String".equals(arrayIndex.type + "") ||
9882+ BasicExpression.isMapAccess(this))
98629883 { return nme + "::setAll" + data + "(" + pre + "," + ind + "," +
98639884 val2 + ");";
98649885 }
@@ -9872,7 +9893,9 @@ public String updateFormEqCPP(java.util.Map env,
98729893 { if (local)
98739894 { if (arrayIndex != null)
98749895 { String ind = arrayIndex.queryFormCPP(env,local);
9875- if (isQualified())
9896+ if (isQualified() ||
9897+ "String".equals(arrayIndex.type + "") ||
9898+ BasicExpression.isMapAccess(this))
98769899 { return pre + "->set" + data + "(" + ind + "," + val2 + ");"; }
98779900 String indopt = evaluateString("-",ind,"1");
98789901 return pre + "->set" + data + "(" + indopt + "," + val2 + ");";
@@ -9881,7 +9904,9 @@ public String updateFormEqCPP(java.util.Map env,
98819904 }
98829905 else if (arrayIndex != null)
98839906 { String ind = arrayIndex.queryFormCPP(env,local);
9884- if (isQualified())
9907+ if (isQualified() ||
9908+ "String".equals(arrayIndex.type + "") ||
9909+ BasicExpression.isMapAccess(this))
98859910 { return cont + "set" + data + "(" + pre + "," + ind + "," + val2 + ");"; }
98869911 String indopt = evaluateString("-",ind,"1");
98879912 return cont + "set" + data + "(" + pre + "," + indopt + "," +
0 commit comments