Skip to content
  • Oliver Kellogg's avatar
    umbrello/uml.cpp · 3b638620
    Oliver Kellogg authored
    - In function setGenerator() revert part of commit ea25b643 which returns
      preexisting m_codegen if (m_codegen->language() == pl).
    
    umbrello/codegenerators/codegenerator.{h,cpp}
    - New virtual function finalizeRun() with empty default implementation can
      be reimplemented by concrete code generators to perform additional
      cleanups or other actions that can only be performed once all code has
      been written. The function is called in writeCodeToFile() after return
      from writeListedCodeDocsToFile().
    
    umbrello/codegenerators/simplecodegenerator.cpp
    - In function writeCodeToFile(), utilize writeCodeToFile(concepts) for
      minimizing code duplication.
    - In function writeCodeToFile(UMLClassifierList&),
      - do not writeClass(c) if Model_Utils::isCommonDataType(c->name());
      - call finalizeRun() after foreach loop over `concepts'.
    
    umbrello/codegenerators/ada/adawriter.{h,cpp}
    - Add `static' on declaration of functions isOOClass() and packageName().
    - New function declareClass() factors trunk of Ada declaration which is
      common to partial (public) and full (private) view.
    - Reimplement function finalizeRun() from CodeGenerator: Cumulative
      generation of the private part is moved from writeClass() to here.
    - New member m_pkgsGenerated is required for closing opened files in
      finalizeRun().
    - New member m_classesGenerated is required for ensuring that order of code
      generation is consistent with order of dependencies among classifiers in
      the package.
    
    umbrello/codegenerators/ada/adawriter.cpp function writeClass()
    - Return immediately without further action if `c' is already present in
      m_classesGenerated.
    - If `pkg' is found in m_pkgsGenerated then do not open file / write
      initial declarations but instead use the value() of the PackageFileMap::
      iterator found for `file'.
    - If `pkg' is found in m_pkgsGenerated then:
      - Open file and write initial declarations; in loop over `imports', do not
        write "with" if packageName(con) does not match `pkg'.
      - Assign `file' into m_pkgsGenerated[pkg].
    - Before declaring the Ada type mapped from `c', loop over
      c->getSuperClasses() and ensure that superclasses in same package are
      written beforehand.
    - Move all aggregation/composition/attribute handling to finalizeRun().
    
    umbrello/codegenerators/ada/adawriter.cpp function reservedKeywords()
    - Add Ada2005 reserved word "interface".
    
    BUG:336933
    3b638620