org.eclipse.etrice.generator.generic
Interface ILanguageExtension

All Known Implementing Classes:
CExtensions, JavaExtensions

public interface ILanguageExtension

Author:
hrentz

Method Summary
 java.lang.String accessLevelPrivate()
          unification of access level for all Languages before each member
 java.lang.String accessLevelProtected()
          unification of access level for all Languages before each member
 java.lang.String accessLevelPublic()
          unification of access level for all Languages before each member
 java.lang.String arrayDeclaration(java.lang.String type, int size, java.lang.String name, boolean isRef)
          array declarations differ in Java and C/C++
 java.lang.String booleanConstant(boolean b)
          literals for boolean constants
 java.lang.String constructorName(java.lang.String cls)
          name for the constructor (without namespace if applicable)
 java.lang.String constructorReturnType()
           
 java.lang.String destructorName(java.lang.String cls)
          name for the destructor (without namespace if applicable)
 java.lang.String destructorReturnType()
           
 java.lang.String genEnumeration(java.lang.String name, java.util.List<> entries)
          generate an enumeration (enum in C, int constants in Java)
 java.lang.String getTypedDataDefinition(Message m)
           
 java.lang.String memberAccess()
          unification of member access for different languages
 java.lang.String memberInDeclaration(java.lang.String namespace, java.lang.String member)
          member declaration
 java.lang.String memberInUse(java.lang.String namespace, java.lang.String member)
          member usage
 java.lang.String nullPointer()
          a literal for the null pointer
 java.lang.String operationScope(java.lang.String classname, boolean isDeclaration)
          language specific scoping string for operations e.g.
 java.lang.String pointerLiteral()
          literal for pointer
 java.lang.String selfPointer(boolean hasArgs)
          self pointer for function calls
 java.lang.String selfPointer(java.lang.String classname, boolean hasArgs)
          self pointer for building class mechanism in C, e.g.
 boolean usesInheritance()
          does the target language offer inheritance
 java.lang.String voidPointer()
          a generic pointer
 

Method Detail

getTypedDataDefinition

java.lang.String getTypedDataDefinition(Message m)

accessLevelPrivate

java.lang.String accessLevelPrivate()
unification of access level for all Languages before each member

Returns:
e.g. "private " for Java, nothing for C and C++ (no access level before the individual member)

accessLevelProtected

java.lang.String accessLevelProtected()
unification of access level for all Languages before each member

Returns:
e.g. "protected " for Java, nothing for C and C++ (no access level before the individual member)

accessLevelPublic

java.lang.String accessLevelPublic()
unification of access level for all Languages before each member

Returns:
e.g. "public " for Java, nothing for C and C++ (no access level before the individual member)

memberAccess

java.lang.String memberAccess()
unification of member access for different languages

Returns:
e.g. "this." for Java and C++ or "self->" for C

selfPointer

java.lang.String selfPointer(java.lang.String classname,
                             boolean hasArgs)
self pointer for building class mechanism in C, e.g. MyClass_function1(MyClass *self, int32 argument1)

Parameters:
classname - the class name
hasArgs - true if functions has further arguments
Returns:
"classname *self, " for C / for Java and C++ nothing

selfPointer

java.lang.String selfPointer(boolean hasArgs)
self pointer for function calls

Parameters:
hasArgs - true if functions has further arguments
Returns:
"self, " for C / for Java and C++ nothing

operationScope

java.lang.String operationScope(java.lang.String classname,
                                boolean isDeclaration)
language specific scoping string for operations e.g. nothing in Java (only inside class declaration), nothing and classname:: for C++ and classname_ for C

Parameters:
classname - the class name
isDeclaration - true if it is a declaration
Returns:
"classname_" for C / for Java and C++ nothing

memberInDeclaration

java.lang.String memberInDeclaration(java.lang.String namespace,
                                     java.lang.String member)
member declaration

Parameters:
namespace - the namespace or class name
member - the member name
Returns:
for C: namespace_member, for Java namespace.member

memberInUse

java.lang.String memberInUse(java.lang.String namespace,
                             java.lang.String member)
member usage

Parameters:
namespace - the namespace or class name
member - the member name
Returns:
for C: namespace_member, for Java namespace.member

usesInheritance

boolean usesInheritance()
does the target language offer inheritance

Returns:
true for C++ and Java, false for C

genEnumeration

java.lang.String genEnumeration(java.lang.String name,
                                java.util.List<> entries)
generate an enumeration (enum in C, int constants in Java)

Parameters:
name - the enumeration name
entries - a list of name/value pairs
Returns:
a string defining the enumeration in the target language

booleanConstant

java.lang.String booleanConstant(boolean b)
literals for boolean constants

Parameters:
b - the boolean value
Returns:
TRUE/FALSE for C/C++, true/false for Java

pointerLiteral

java.lang.String pointerLiteral()
literal for pointer

Returns:
* for C/C++, nothing for Java

nullPointer

java.lang.String nullPointer()
a literal for the null pointer

Returns:
NULL for C/C++, null for Java

voidPointer

java.lang.String voidPointer()
a generic pointer

Returns:
void* for C/C++, Object for Java

arrayDeclaration

java.lang.String arrayDeclaration(java.lang.String type,
                                  int size,
                                  java.lang.String name,
                                  boolean isRef)
array declarations differ in Java and C/C++

Parameters:
type -
size -
name -
Returns:
a string that represents the declaration

constructorName

java.lang.String constructorName(java.lang.String cls)
name for the constructor (without namespace if applicable)

Parameters:
cls - the class name
Returns:
the constructor name

destructorName

java.lang.String destructorName(java.lang.String cls)
name for the destructor (without namespace if applicable)

Parameters:
cls - the class name
Returns:
the destructor name

constructorReturnType

java.lang.String constructorReturnType()
Returns:
a typename for the return type (might be empty)

destructorReturnType

java.lang.String destructorReturnType()
Returns:
a typename for the return type (might be empty)