public static void Parse(AAProgram ast, FinalTransformations finalTrans)
 {
     /*
      * Should be done in Pointers phase
      * foo == null > foo == "" || !DataTableExists(foo);
      *             | foo == -1 || !inUse[foo] || GetIdentifier(foo) != foo->identifier
      *
      *
      * delete foo > delete foo;
      *              foo = null;
      *
      * foo = null > foo = ""
      *            | foo = -1
      *
      *
      * This phase:
      * Add identifier to all structs and classes that are ever dynamically created
      * At any (*foo), analyze if foo can be null, and if so, create null check.
      *
      * Phase 1: Generate SafeVariablesData for all methods.
      *
      */
 }
Exemplo n.º 2
0
 public static void Parse(AAProgram ast, FinalTransformations finalTrans)
 {
     /*
      * Should be done in Pointers phase
      * foo == null > foo == "" || !DataTableExists(foo);
      *             | foo == -1 || !inUse[foo] || GetIdentifier(foo) != foo->identifier
      *
      *
      * delete foo > delete foo;
      *              foo = null;
      *
      * foo = null > foo = ""
      *            | foo = -1
      *
      *
      * This phase:
      * Add identifier to all structs and classes that are ever dynamically created
      * At any (*foo), analyze if foo can be null, and if so, create null check.
      *
      * Phase 1: Generate SafeVariablesData for all methods.
      *
      */
 }
 public OptimizePhase(FinalTransformations finalTrans, string prefix)
 {
     this.prefix = prefix;
     this.finalTrans = finalTrans;
 }
Exemplo n.º 4
0
 public OptimizePhase(FinalTransformations finalTrans, string prefix)
 {
     this.prefix     = prefix;
     this.finalTrans = finalTrans;
 }