Commit 587a8b7e authored by Philip Makedonski's avatar Philip Makedonski
Browse files

* some refinements to helper functions

parent 82a5b635
Loading
Loading
Loading
Loading
+26 −16
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ import "common.eol";
import "helper.eol";
import "debug.eol";

operation TDL!Action transformTo(fd : TTCN!FunctionDef) {
operation Any transformTo(fd : TTCN!FunctionDef) {
    fd.name = self.TTCNname();

    var md = new TTCN!ModuleDefinition();
@@ -14,9 +14,17 @@ operation TDL!Action transformTo(fd : TTCN!FunctionDef) {
    fd.statement = new TTCN!StatementBlock();
    
    //TODO: fix formatting
    //TODO: extract into transformation?
    if (self.formalParameter.notEmpty()) {
        fd.parameterList = new TTCN!FunctionFormalParList(); 
        for (p in self.formalParameter) { 
            fd.parameterList.params.add(p.transformToFFP());
        }
    }
    //TODO: add support for body?
}

operation TDL!FormalParameter transformToFFP() : TTCN!FunctionFormalPar {
    var fp = new TTCN!FunctionFormalPar();
    //TODO: support for value parameters?
    // -> process annotation
@@ -24,16 +32,13 @@ operation TDL!Action transformTo(fd : TTCN!FunctionDef) {
    fp.template = new TTCN!FormalTemplatePar();
    fp.~kind = fp.template;
    
            fp.~kind.name = p.TTCNname();
    fp.~kind.name = self.TTCNname();
    
    //TODO: direction support?
    
            fp.~kind.type = p.dataType.getTTCNType();
            
            fd.parameterList.params.add(fp);
        }
    }
    //TODO: add support for body?
    fp.~kind.type = self.dataType.getTTCNType();
    ("FP: "+self.name+" : "+self.dataType.name).log(1);
	return fp;           
}

operation Any getModule() : TTCN!TTCN3Module {
@@ -463,6 +468,11 @@ operation TDL!LiteralValueUse getTemplateBody(flat : Boolean) : TTCN!TemplateBod
	return self.getTemplateBody();
}

operation TDL!FormalParameterUse getTemplateBody(flat : Boolean) : TTCN!TemplateBody {
	//TODO: add support for integer?
	return ("TODO:"+self.type.name+":"+self.parameter.name).getStringBody();
}


operation TDL!DataInstanceUse getTemplateBody() : TTCN!TemplateBody {
	return self.getTemplateBody(false);