Add declarations for some standard Java classes/methods/fields.
[hs-java.git] / Java / IO.hs
diff --git a/Java/IO.hs b/Java/IO.hs
new file mode 100644 (file)
index 0000000..e3a2997
--- /dev/null
@@ -0,0 +1,26 @@
+{-# LANGUAGE OverloadedStrings #-}
+module Java.IO where
+
+import Data.String
+
+import JVM.ClassFile
+import JVM.Types
+
+import qualified Java.Lang
+
+printStream :: IsString s => s
+printStream = "java/io/PrintStream"
+
+printStreamClass = ObjectType printStream
+
+println :: NameType Method
+println = NameType "println" $ MethodSignature [Java.Lang.stringClass] ReturnsVoid
+
+out :: NameType Field
+out = NameType "out" printStreamClass
+
+printf :: NameType Method
+printf =
+  NameType "printf" $ MethodSignature [Java.Lang.stringClass,
+                                       Array Nothing Java.Lang.objectClass] (Returns printStreamClass)
+