@@ -315,6 +315,27 @@ public Statement cbasicUpdateForm(java.util.Map vartypes,
315315 java .util .Map varelemtypes , Vector types , Vector entities )
316316 { return null ; }
317317
318+
319+ public Type deduceType ()
320+ { if (Expression .isString (value ))
321+ { return new Type ("String" ,null ); }
322+
323+ if (Expression .isInteger (value ))
324+ { return new Type ("int" ,null ); }
325+
326+ if (Expression .isLong (value ))
327+ { return new Type ("long" ,null ); }
328+
329+ if (Expression .isDouble (value ))
330+ { return new Type ("double" ,null ); }
331+
332+ if ("true" .equals (value ) || "false" .equals (value ))
333+ { return new Type ("boolean" , null ); }
334+
335+ return new Type ("OclAny" , null );
336+ }
337+
338+
318339 public Expression cexpressionToKM3 (java .util .Map vartypes ,
319340 java .util .Map varelemtypes , Vector types , Vector ents )
320341 { if ("primaryExpression" .equals (tag ))
@@ -557,6 +578,10 @@ else if (Expression.isDouble(value))
557578
558579 /* JavaScript processing: */
559580
581+ public Vector jsclassDeclarationToKM3 (java .util .Map vartypes ,
582+ java .util .Map varelemtypes , Vector types , Vector entities )
583+ { return new Vector (); }
584+
560585 public Vector jsupdateForm (java .util .Map vartypes ,
561586 java .util .Map varelemtypes , Vector types , Vector ents )
562587 { return new Vector (); }
@@ -588,6 +613,11 @@ public Expression jsexpressionToKM3(java.util.Map vartypes,
588613 if ("false" .equals (value ))
589614 { return new BasicExpression (false ); }
590615
616+ if ("templateStringAtom" .equals (tag ))
617+ {
618+ return new BasicExpression (value );
619+ }
620+
591621 if ("numericLiteral" .equals (tag ))
592622 {
593623 BasicExpression v = new BasicExpression (value );
@@ -623,15 +653,19 @@ else if ("literal".equals(tag) ||
623653 return v ;
624654 }
625655 }
626- else if ("identifier" .equals (tag ))
656+ else if ("identifier" .equals (tag ) ||
657+ "keyword" .equals (tag ))
627658 { Type t = (Type ) vartypes .get (value );
628659 if (t != null )
629660 { BasicExpression be = new BasicExpression (value );
630661 be .setType (t );
631- be .setElementType ((Type ) varelemtypes .get (value ));
662+ Object elemt = varelemtypes .get (value );
663+ if (elemt != null && elemt instanceof Type )
664+ { be .setElementType ((Type ) elemt ); }
632665 return be ;
633666 }
634667
668+ /*
635669 Entity mainC = (Entity) ModelElement.lookupByName(
636670 "FromC", ents);
637671 if (mainC != null)
@@ -658,7 +692,7 @@ else if ("identifier".equals(tag))
658692 expr.variable = att;
659693 return expr;
660694 }
661- }
695+ } */
662696
663697 BasicExpression v = new BasicExpression (value );
664698 return v ;
0 commit comments