cabal: bump data-default dependency to 0.5.0.
[hs-java.git] / Java / IO.hs
1 {-# LANGUAGE OverloadedStrings #-}
2 -- | This module exports definitions for some most used classes and methods from standard Java java.io package.
3 module Java.IO where
4
5 import Data.String
6
7 import JVM.Common ()  -- import instances only
8 import JVM.ClassFile
9
10 import qualified Java.Lang
11
12 -- | java.io.PrintStream class name
13 printStream :: IsString s => s
14 printStream = "java/io/PrintStream"
15
16 -- | java.io.PrintStream class as field type
17 printStreamClass ::  FieldType
18 printStreamClass = ObjectType printStream
19
20 println :: NameType (Method Direct)
21 println = NameType "println" $ MethodSignature [Java.Lang.stringClass] ReturnsVoid
22
23 out :: NameType (Field Direct)
24 out = NameType "out" printStreamClass
25
26 printf :: NameType (Method Direct)
27 printf =
28   NameType "printf" $ MethodSignature [Java.Lang.stringClass,
29                                        Array Nothing Java.Lang.objectClass] (Returns printStreamClass)
30