Browse Source

Merge pull request #659 from crytic/bugfix/emittest

emit is working now
Feist Josselin 1 month ago
parent
commit
ae7c410938
43 changed files with 264 additions and 42 deletions
  1. 6 0
      tests/ast-parsing/expected/emit-0.4.0-legacy.json
  2. 6 0
      tests/ast-parsing/expected/emit-0.4.1-legacy.json
  3. 6 0
      tests/ast-parsing/expected/emit-0.4.10-legacy.json
  4. 6 0
      tests/ast-parsing/expected/emit-0.4.11-legacy.json
  5. 6 0
      tests/ast-parsing/expected/emit-0.4.12-compact.json
  6. 6 0
      tests/ast-parsing/expected/emit-0.4.12-legacy.json
  7. 6 0
      tests/ast-parsing/expected/emit-0.4.13-compact.json
  8. 6 0
      tests/ast-parsing/expected/emit-0.4.13-legacy.json
  9. 6 0
      tests/ast-parsing/expected/emit-0.4.14-compact.json
  10. 6 0
      tests/ast-parsing/expected/emit-0.4.14-legacy.json
  11. 6 0
      tests/ast-parsing/expected/emit-0.4.15-compact.json
  12. 6 0
      tests/ast-parsing/expected/emit-0.4.15-legacy.json
  13. 6 0
      tests/ast-parsing/expected/emit-0.4.16-compact.json
  14. 6 0
      tests/ast-parsing/expected/emit-0.4.16-legacy.json
  15. 6 0
      tests/ast-parsing/expected/emit-0.4.17-compact.json
  16. 6 0
      tests/ast-parsing/expected/emit-0.4.17-legacy.json
  17. 6 0
      tests/ast-parsing/expected/emit-0.4.18-compact.json
  18. 6 0
      tests/ast-parsing/expected/emit-0.4.18-legacy.json
  19. 6 0
      tests/ast-parsing/expected/emit-0.4.19-compact.json
  20. 6 0
      tests/ast-parsing/expected/emit-0.4.19-legacy.json
  21. 6 0
      tests/ast-parsing/expected/emit-0.4.2-legacy.json
  22. 6 0
      tests/ast-parsing/expected/emit-0.4.20-compact.json
  23. 6 0
      tests/ast-parsing/expected/emit-0.4.20-legacy.json
  24. 7 0
      tests/ast-parsing/expected/emit-0.4.21-compact.json
  25. 7 0
      tests/ast-parsing/expected/emit-0.4.21-legacy.json
  26. 7 0
      tests/ast-parsing/expected/emit-0.4.22-compact.json
  27. 7 0
      tests/ast-parsing/expected/emit-0.4.22-legacy.json
  28. 7 0
      tests/ast-parsing/expected/emit-0.4.23-compact.json
  29. 7 0
      tests/ast-parsing/expected/emit-0.4.23-legacy.json
  30. 7 0
      tests/ast-parsing/expected/emit-0.4.24-compact.json
  31. 7 0
      tests/ast-parsing/expected/emit-0.4.24-legacy.json
  32. 7 0
      tests/ast-parsing/expected/emit-0.4.25-compact.json
  33. 7 0
      tests/ast-parsing/expected/emit-0.4.25-legacy.json
  34. 7 0
      tests/ast-parsing/expected/emit-0.4.26-compact.json
  35. 7 0
      tests/ast-parsing/expected/emit-0.4.26-legacy.json
  36. 6 0
      tests/ast-parsing/expected/emit-0.4.3-legacy.json
  37. 6 0
      tests/ast-parsing/expected/emit-0.4.4-legacy.json
  38. 6 0
      tests/ast-parsing/expected/emit-0.4.5-legacy.json
  39. 6 0
      tests/ast-parsing/expected/emit-0.4.6-legacy.json
  40. 6 0
      tests/ast-parsing/expected/emit-0.4.7-legacy.json
  41. 6 0
      tests/ast-parsing/expected/emit-0.4.8-legacy.json
  42. 6 0
      tests/ast-parsing/expected/emit-0.4.9-legacy.json
  43. 0 42
      tests/test_ast_parsing.py

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.0-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.1-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.10-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.11-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.12-compact.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.12-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.13-compact.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.13-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.14-compact.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.14-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.15-compact.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.15-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.16-compact.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.16-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.17-compact.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.17-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.18-compact.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.18-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.19-compact.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.19-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.2-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.20-compact.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.20-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.21-compact.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.21-legacy.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.22-compact.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.22-legacy.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.23-compact.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.23-legacy.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.24-compact.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.24-legacy.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.25-compact.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.25-legacy.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.26-compact.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 7 - 0
tests/ast-parsing/expected/emit-0.4.26-legacy.json

@@ -0,0 +1,7 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "emitWithKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.3-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.4-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.5-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.6-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.7-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.8-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 6 - 0
tests/ast-parsing/expected/emit-0.4.9-legacy.json

@@ -0,0 +1,6 @@
+{
+  "C": {
+    "emitNoKeyword()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n}\n",
+    "cursed()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: EXPRESSION 3\n\"];\n}\n"
+  }
+}

+ 0 - 42
tests/test_ast_parsing.py

@@ -19,48 +19,6 @@ TEST_ROOT = os.path.join(SLITHER_ROOT, "tests", "ast-parsing")
 
 # these are tests that are currently failing right now
 XFAIL = [
-    "emit_0.4.0_legacy",
-    "emit_0.4.1_legacy",
-    "emit_0.4.2_legacy",
-    "emit_0.4.3_legacy",
-    "emit_0.4.4_legacy",
-    "emit_0.4.5_legacy",
-    "emit_0.4.6_legacy",
-    "emit_0.4.7_legacy",
-    "emit_0.4.8_legacy",
-    "emit_0.4.9_legacy",
-    "emit_0.4.10_legacy",
-    "emit_0.4.11_legacy",
-    "emit_0.4.12_legacy",
-    "emit_0.4.12_compact",
-    "emit_0.4.13_legacy",
-    "emit_0.4.13_compact",
-    "emit_0.4.14_legacy",
-    "emit_0.4.14_compact",
-    "emit_0.4.15_legacy",
-    "emit_0.4.15_compact",
-    "emit_0.4.16_legacy",
-    "emit_0.4.16_compact",
-    "emit_0.4.17_legacy",
-    "emit_0.4.17_compact",
-    "emit_0.4.18_legacy",
-    "emit_0.4.18_compact",
-    "emit_0.4.19_legacy",
-    "emit_0.4.19_compact",
-    "emit_0.4.20_legacy",
-    "emit_0.4.20_compact",
-    "emit_0.4.21_legacy",
-    "emit_0.4.21_compact",
-    "emit_0.4.22_legacy",
-    "emit_0.4.22_compact",
-    "emit_0.4.23_legacy",
-    "emit_0.4.23_compact",
-    "emit_0.4.24_legacy",
-    "emit_0.4.24_compact",
-    "emit_0.4.25_legacy",
-    "emit_0.4.25_compact",
-    "emit_0.4.26_legacy",
-    "emit_0.4.26_compact",
     "for_0.4.0_legacy",
     "for_0.4.1_legacy",
     "for_0.4.2_legacy",