Skip to content
  1. Mar 08, 2021
  2. Mar 02, 2021
    • Carlos Galindo's avatar
      Added MemberNodes to represent an object's tree in the PDG. · e4127a91
      Carlos Galindo authored
      * JSysPDG: inserts IO and Member nodes before generating data dependencies.
      * ObjectTree is now a real tree.
      * ObjectTree has string and node iterables.
      * VariableAction can be cloned with #createCopy(), the graphNode is set to null.
      * VariableAction.Movable can't have object tree, getter obtains inner's.
      e4127a91
  3. Mar 01, 2021
  4. Feb 28, 2021
    • Carlos Galindo's avatar
      remove unrelated comments from test case · 20b60fed
      Carlos Galindo authored
      20b60fed
    • Carlos Galindo's avatar
      Add implicit constructors · f8b7a13a
      Carlos Galindo authored
      * Small regression: only the last field declared in a constructor is included. This is expected, and will be solved with the new object dependencies.
      * Integrate ImplicitNode as boolean in GraphNode.
      * Updated tests
      * Slice now allows the insertion of implicit instructions, but does not output them when generating the AST.
      * Removed list of nodes from slice, as the map contains a superset of the information of the list.
      f8b7a13a
  5. Feb 26, 2021
    • Carlos Galindo's avatar
      Tree handling of objects, multiple fixes and improvements · a81337d6
      Carlos Galindo authored
      * Update tests with better slices.
      * GraphNode#addActionsAfterCall uses varargs instead of a set.
      * Improved handling of super() and this() calls.
      * ImplicitNode is now generic
      * Improved interface in JSysCFG to insert new instructions ad-hoc.
      * Constructors now have an implicit "return this".
      * Removed JSysCFG#getDeclarationClass, ASTUtils has a similar method.
      * VariableActions can now store (but don't propagate) a tree of fields acted
        upon.
      * VariableActions can now take null as variable, or any possible expression.
      * Automatic generation of the actions for fields (USE(a.x) generates USE(a)).
      * Conversely, fields now either traverse their scope or declare an action.
      * Handling of ThisExpr.
      * Better initialization naming for fields.
      * Implemented default initialization of fields if none is present.
      * InterproceduralActionFinders:
        * Unified the behaviour of #initialValue()
        * Improved generation of actual-in/out for fields.
      
      Caveats:
      * InterproceduralActionFinders cannot process VariableActions that don't resolve
        into a ResolvedValueDeclaration. Thus, 'this' must be declared when entering a
        method or constructor declaration.
      * Removed type from IO nodes, as it required resolving expressions and was
        unnecessary for the slicer.
      a81337d6
    • Carlos Galindo's avatar
      Stop printing null in graphs · a2dc36c5
      Carlos Galindo authored
      a2dc36c5
    • Carlos Galindo's avatar
  6. Feb 25, 2021
  7. Feb 24, 2021
  8. Feb 23, 2021
Loading