diff options
Diffstat (limited to 'plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/DetailCodeTranslator.java')
-rw-r--r-- | plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/DetailCodeTranslator.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/DetailCodeTranslator.java b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/DetailCodeTranslator.java index b15a3ecf0..f3320d9f2 100644 --- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/DetailCodeTranslator.java +++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/DetailCodeTranslator.java @@ -157,7 +157,8 @@ public class DetailCodeTranslator extends FSMDetailCodeTranslator { Operation operation = name2op.get(token); if (operation!=null && (operation.eContainer() instanceof ActorClass || operation.eContainer() instanceof DataClass)) { ArrayList<String> args = getArgs(text, curr); - if (args!=null && operation.getArguments().size()==args.size()) { + boolean isVarargs = operation.getArguments().stream().anyMatch(arg -> arg.isVarargs()); + if (args!=null && (operation.getArguments().size()==args.size() || isVarargs)) { // recursively apply this algorithm to each argument for (int i=0; i<args.size(); ++i) { String transArg = translateText(args.remove(i)); |