Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 670788c6e5ceaf0806845083ec8ae79b2a94dde8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package org.eclipse.etrice.generator.java.gen;

import org.eclipse.etrice.core.room.PrimitiveType;
import org.eclipse.etrice.core.room.VarDecl;
import org.eclipse.etrice.generator.generic.AbstractTransitionChainGenerator;

public class JavaLanguageGenerator extends AbstractTransitionChainGenerator {

	@Override
	public String[] generateArglistAndTypedData(VarDecl data) {
		if (data==null)
			return new String[] {"", "", ""};
		
		String typeName = data.getRefType().getType().getName();
		String castTypeName = typeName;
		if (data.getRefType().getType() instanceof PrimitiveType) {
			typeName = ((PrimitiveType)data.getRefType().getType()).getTargetName();
			String ct = ((PrimitiveType)data.getRefType().getType()).getCastName();
			if (ct!=null && !ct.isEmpty())
				castTypeName = ct;
		}

		String typedData = typeName+" "+data.getName() + " = ("+castTypeName+") generic_data;\n";
		String dataArg = ", "+data.getName();
		String typedArgList = ", "+typeName+" "+data.getName();
		
		return new String[]{dataArg, typedData, typedArgList};
	}

}

Back to the top