use of org.ballerinalang.composer.service.ballerina.parser.service.model.lang.AnnotationAttachment in project ballerina by ballerina-lang.
the class ParserUtils method extractFunction.
/**
* Extract Functions from ballerina lang.
*
* @param packages packages to send.
* @param packagePath package path
* @param function function.
*/
private static void extractFunction(Map<String, ModelPackage> packages, String packagePath, BLangFunction function) {
String fileName = function.getPosition().getSource().getCompilationUnitName();
if (packages.containsKey(packagePath)) {
ModelPackage modelPackage = packages.get(packagePath);
List<Parameter> parameters = new ArrayList<>();
addParameters(parameters, function.getParameters());
List<Parameter> returnParameters = new ArrayList<>();
addParameters(returnParameters, function.getReturnParameters());
List<AnnotationAttachment> annotations = new ArrayList<>();
addAnnotations(annotations, function.getAnnotationAttachments());
String receiverType = getReceiverType(function.getReceiver());
// Check if the function is public or not
boolean isPublic = function.getFlags().contains(Flag.PUBLIC);
modelPackage.addFunctionsItem(createNewFunction(function.getName().getValue(), annotations, parameters, returnParameters, receiverType, isPublic, fileName));
} else {
ModelPackage modelPackage = new ModelPackage();
modelPackage.setName(packagePath);
List<Parameter> parameters = new ArrayList<>();
addParameters(parameters, function.getParameters());
List<Parameter> returnParameters = new ArrayList<>();
addParameters(returnParameters, function.getReturnParameters());
List<AnnotationAttachment> annotations = new ArrayList<>();
addAnnotations(annotations, function.getAnnotationAttachments());
String receiverType = getReceiverType(function.getReceiver());
// Check if the function is public or not
boolean isPublic = function.getFlags().contains(Flag.PUBLIC);
modelPackage.addFunctionsItem(createNewFunction(function.getName().getValue(), annotations, parameters, returnParameters, receiverType, isPublic, fileName));
packages.put(packagePath, modelPackage);
}
}
use of org.ballerinalang.composer.service.ballerina.parser.service.model.lang.AnnotationAttachment in project ballerina by ballerina-lang.
the class ParserUtils method extractConnector.
/**
* Extract connectors from ballerina lang.
*
* @param packages packages to send
* @param connector connector
*/
private static void extractConnector(Map<String, ModelPackage> packages, String packagePath, BLangConnector connector) {
String fileName = connector.getPosition().getSource().getCompilationUnitName();
if (packages.containsKey(packagePath)) {
ModelPackage modelPackage = packages.get(packagePath);
List<Parameter> parameters = new ArrayList<>();
addParameters(parameters, connector.getParameters());
List<AnnotationAttachment> annotations = new ArrayList<>();
addAnnotations(annotations, connector.getAnnotationAttachments());
List<Action> actions = new ArrayList<>();
addActions(actions, connector.getActions());
modelPackage.addConnectorsItem(createNewConnector(connector.getName().getValue(), annotations, actions, parameters, null, fileName));
} else {
ModelPackage modelPackage = new ModelPackage();
modelPackage.setName(packagePath);
List<Parameter> parameters = new ArrayList<>();
addParameters(parameters, connector.getParameters());
List<AnnotationAttachment> annotations = new ArrayList<>();
addAnnotations(annotations, connector.getAnnotationAttachments());
List<Action> actions = new ArrayList<>();
addActions(actions, connector.getActions());
modelPackage.addConnectorsItem(createNewConnector(connector.getName().getValue(), annotations, actions, parameters, null, fileName));
packages.put(packagePath, modelPackage);
}
}
Aggregations