module Hydra.Langs.Java.Names where

import Hydra.Kernel

import qualified Hydra.Langs.Java.Syntax as Java


acceptMethodName :: String
acceptMethodName = String
"accept" :: String
applyMethodName :: String
applyMethodName = String
"apply" :: String
equalsMethodName :: String
equalsMethodName = String
"equals" :: String
getMethodName :: String
getMethodName = String
"get" :: String
hashCodeMethodName :: String
hashCodeMethodName = String
"hashCode" :: String
instanceName :: String
instanceName = String
"instance" :: String
otherInstanceName :: String
otherInstanceName = String
"other" :: String
otherwiseMethodName :: String
otherwiseMethodName = String
"otherwise" :: String
partialVisitorName :: String
partialVisitorName = String
"PartialVisitor" :: String
setMethodName :: String
setMethodName = String
"set" :: String
valueFieldName :: String
valueFieldName = String
"value" :: String
visitMethodName :: String
visitMethodName = String
"visit" :: String
visitorName :: String
visitorName = String
"Visitor" :: String
visitorReturnParameter :: String
visitorReturnParameter = String
"R" :: String

javaPackageName :: [String] -> Java.PackageName
javaPackageName :: [String] -> PackageName
javaPackageName [String]
parts = [Identifier] -> PackageName
Java.PackageName (String -> Identifier
Java.Identifier (String -> Identifier) -> [String] -> [Identifier]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [String]
parts)

hydraCorePackageName :: Maybe Java.PackageName
hydraCorePackageName :: Maybe PackageName
hydraCorePackageName = PackageName -> Maybe PackageName
forall a. a -> Maybe a
Just (PackageName -> Maybe PackageName)
-> PackageName -> Maybe PackageName
forall a b. (a -> b) -> a -> b
$ [String] -> PackageName
javaPackageName [String
"hydra", String
"core"]

hydraUtilPackageName :: Maybe Java.PackageName
hydraUtilPackageName :: Maybe PackageName
hydraUtilPackageName = PackageName -> Maybe PackageName
forall a. a -> Maybe a
Just (PackageName -> Maybe PackageName)
-> PackageName -> Maybe PackageName
forall a b. (a -> b) -> a -> b
$ [String] -> PackageName
javaPackageName [String
"hydra", String
"util"]

javaLangPackageName :: Maybe Java.PackageName
javaLangPackageName :: Maybe PackageName
javaLangPackageName = PackageName -> Maybe PackageName
forall a. a -> Maybe a
Just (PackageName -> Maybe PackageName)
-> PackageName -> Maybe PackageName
forall a b. (a -> b) -> a -> b
$ [String] -> PackageName
javaPackageName [String
"java", String
"lang"]

javaUtilFunctionPackageName :: Maybe Java.PackageName
javaUtilFunctionPackageName :: Maybe PackageName
javaUtilFunctionPackageName = PackageName -> Maybe PackageName
forall a. a -> Maybe a
Just (PackageName -> Maybe PackageName)
-> PackageName -> Maybe PackageName
forall a b. (a -> b) -> a -> b
$ [String] -> PackageName
javaPackageName [String
"java", String
"util", String
"function"]

javaUtilPackageName :: Maybe Java.PackageName
javaUtilPackageName :: Maybe PackageName
javaUtilPackageName = PackageName -> Maybe PackageName
forall a. a -> Maybe a
Just (PackageName -> Maybe PackageName)
-> PackageName -> Maybe PackageName
forall a b. (a -> b) -> a -> b
$ [String] -> PackageName
javaPackageName [String
"java", String
"util"]