public void visit(AST node) {
switch (node.getType()) {
case IDLTokenTypes.LITERAL_in: {
AST typeNode = node.getFirstChild();
String partName = TypesUtils.getPrimitiveCorbaTypeNameNode(typeNode).toString();
ArgType param = createCorbaParam(partName, ModeType.IN);
createInputParameter(partName, param, typeNode);
break;
}
case IDLTokenTypes.LITERAL_inout: {
AST typeNode = node.getFirstChild();
String partName = TypesUtils.getPrimitiveCorbaTypeNameNode(typeNode).toString();
ArgType param = createCorbaParam(partName, ModeType.INOUT);
createInputParameter(partName, param, typeNode);
createOutputParameter(partName, param, typeNode);
break;
}
case IDLTokenTypes.LITERAL_out: {
AST typeNode = node.getFirstChild();
String partName = TypesUtils.getPrimitiveCorbaTypeNameNode(typeNode).toString();
ArgType param = createCorbaParam(partName, ModeType.OUT);
createOutputParameter(partName, param, typeNode);
break;
}
case IDLTokenTypes.LITERAL_void: {
// nothing to do here
break;
}
default: {
String partName = RETURN_PARAMETER;
ArgType param = createCorbaReturn(partName);
createOutputParameter(partName, param, node);
}
}
}