aboutsummaryrefslogtreecommitdiff
path: root/Sil/Check.dcl
diff options
context:
space:
mode:
authorCamil Staps2017-07-19 19:42:47 +0000
committerCamil Staps2017-07-19 19:42:47 +0000
commitbb52dc5e385a011f928f7a6c8b8497563a31c464 (patch)
treee44caeaa5a3cd89d48d9027fe2a4c2c820644d52 /Sil/Check.dcl
parentDiscard unused application results (diff)
Add AST checks
Diffstat (limited to 'Sil/Check.dcl')
-rw-r--r--Sil/Check.dcl15
1 files changed, 15 insertions, 0 deletions
diff --git a/Sil/Check.dcl b/Sil/Check.dcl
new file mode 100644
index 0000000..b222079
--- /dev/null
+++ b/Sil/Check.dcl
@@ -0,0 +1,15 @@
+definition module Sil.Check
+
+from StdOverloaded import class toString
+
+from Data.Maybe import :: Maybe
+
+from Sil.Syntax import :: Program, :: Name
+
+:: CheckError
+ = ReturnExpressionFromVoidError Name
+ | NoReturnFromNonVoidError Name
+
+instance toString CheckError
+
+checkProgram :: *(Maybe *File) Program -> *([CheckError], *Maybe *File)