contrib: bring in the pep8 analysis framework
[nit.git] / contrib / pep8analysis / src / model / directives.nit
diff --git a/contrib/pep8analysis/src/model/directives.nit b/contrib/pep8analysis/src/model/directives.nit
new file mode 100644 (file)
index 0000000..73d3086
--- /dev/null
@@ -0,0 +1,27 @@
+import ast
+
+import operands
+
+redef class ADirective
+       fun size: Int is abstract
+end
+redef class AByteDirective
+       redef fun size do return 1
+end
+redef class AWordDirective
+       redef fun size do return 2
+end
+redef class ABlockDirective
+       redef fun size do return n_value.to_i
+end
+redef class AAsciiDirective
+       fun data: String do return n_value.as(AStringValue).n_string.content
+       redef fun size do return data.length
+end
+redef class AAddrssDirective
+       redef fun size do return 2
+end
+redef class AEquateDirective
+       redef fun size do return 0
+end
+