Issues for Version 0.1

C

  1. Cannot handle any python calls other than the “PyRun_SimpleFile” call.
  2. Cannot handle redefinitions of functions (functions with the same name as functions in standard libraries)
  3. Cannot handle cases when the name of the source file contains spaces
  4. Definitions in external C files can only be caught with the inclusion of a header file
  5. Doesn’t handle “dynamic dispatch” at all, and therefore cannot determine when a certain class’s member function is called
    • handles these cases simply with “OBJ.call()”

Python

  1. Doesn’t handle lambda functions, although it catches them in function calls
  2. Doesn’t handle “dynamic dispatch” at all, and therefore cannot determine when a certain class’s member function is called

    • handles these cases simply with “OBJ.call()”
  3. Cannot handle function calls inside lambda functions (links them to the outer function)

JavaScript

  1. Cannot handle classes
  2. Cannot handle function calls inside Anonymous Functions (links them to the outer function)
  3. Cannot handle other JavaScript program’s functions being invoked, as there is no set protocol for this
  4. Doesn’t handle “dynamic dispatch” at all, and therefore cannot determine when a certain class’s member function is called
    • handles these cases simply with “OBJ.call()”

Pybind11

  1. Some repositories requires to add link for Eigen , Pybind11 or other folders. Otherwise the C++ function calls are not found in the AST file of the source file.
  2. Processing speed of mlcg.py gets slowed down when running on Pybind11 repositories.
  3. Handling a situation where function is imported from the C++ module instead of the whole module. (E.g.,from example import Pet)