Skip to content

Commit

Permalink
Output annotations on external declarations so total models are complete
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@21369 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
sjoelund committed Jul 1, 2014
1 parent 8d4ad27 commit b8c1db7
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions Compiler/Template/SCodeDumpTpl.tpl
Expand Up @@ -153,7 +153,7 @@ match classDef
let ieq_str = dumpEquations(initialEquationLst, "initial equation", options)
let nal_str = match options case OPTIONS(stripAlgorithmSections=false) then dumpAlgorithmSections(p.normalAlgorithmLst, "algorithm", options)
let ial_str = match options case OPTIONS(stripAlgorithmSections=false) then dumpAlgorithmSections(p.initialAlgorithmLst, "initial algorithm", options)
let extdecl_str = dumpExternalDeclOpt(p.externalDecl)
let extdecl_str = dumpExternalDeclOpt(p.externalDecl, options)
let cdef_str =
<<
<%el_str%>
Expand Down Expand Up @@ -775,20 +775,21 @@ template dumpAnnotationElement(SCode.Annotation annotation, SCodeDumpOptions opt
'<%annstr%>;'
end dumpAnnotationElement;

template dumpExternalDeclOpt(Option<ExternalDecl> externalDecl)
::= match externalDecl case SOME(extdecl) then dumpExternalDecl(extdecl)
template dumpExternalDeclOpt(Option<ExternalDecl> externalDecl, SCodeDumpOptions options)
::= match externalDecl case SOME(extdecl) then dumpExternalDecl(extdecl, options)
end dumpExternalDeclOpt;

template dumpExternalDecl(ExternalDecl externalDecl)
template dumpExternalDecl(ExternalDecl externalDecl, SCodeDumpOptions options)
::=
match externalDecl
case EXTERNALDECL(__) then
let func_name_str = match funcName case SOME(name) then name
let func_args_str = (args |> arg => AbsynDumpTpl.dumpExp(arg) ;separator=", ")
let func_str = if func_name_str then ' <%func_name_str%>(<%func_args_str%>)'
let lang_str = match lang case SOME(l) then ' "<%l%>"'
let ann_str = dumpAnnotationOpt(annotation_, options)
let output_str = match output_ case SOME(name) then ' <%AbsynDumpTpl.dumpCref(name)%> ='
'external<%lang_str%><%output_str%><%func_str%>;'
'external<%lang_str%><%output_str%><%func_str%><%ann_str%>;'
end dumpExternalDecl;

template dumpCommentOpt(Option<SCode.Comment> comment, SCodeDumpOptions options)
Expand Down

0 comments on commit b8c1db7

Please sign in to comment.