module {
- export = [possibleUnsafeSclValueByName, unsafeSclValueByName, sclModuleNames, moduleByName]
+ export = [possibleUnsafeSclValueByName, unsafeSclValueByName, sclModuleNames, moduleByName,
+ documentationOfSCLValue, sclValueRef, possibleModuleSourceText]
}
include "./CurrentModuleRepository"
include "./Module"
+importJava "org.simantics.scl.compiler.elaboration.modules.SCLValue" where
+ data SCLValue
+
+ @JavaName getDocumentation
+ documentationOfSCLValue_ :: SCLValue -> <Proc> Maybe String
+
+documentationOfSCLValue value = fromMaybe "" (documentationOfSCLValue_ value)
+
importJava "org.simantics.scl.compiler.module.repository.ModuleRepository" where
// data ModuleRepository
// defined in CurrentModuleRepository
@JavaName getValue
unsafeSclValueByName_ :: ModuleRepository -> String -> <Proc> a
+ @JavaName getValueRef
+ sclValueRef_ :: ModuleRepository -> String -> <Proc> Maybe SCLValue
+
@JavaName getSourceRepository
moduleSourceRepositoryOf :: ModuleRepository -> ModuleSourceRepository
@JavaName getModuleNames
sclModuleNames_ :: ModuleSourceRepository -> [String]
+
+ @JavaName getPossibleSourceText
+ possibleModuleSourceText_ :: ModuleSourceRepository -> String -> <Proc> Maybe String
importJava "org.simantics.scl.compiler.errors.Failable" where
data Failable a
unsafeSclValueByName :: String -> <Proc> a
unsafeSclValueByName = unsafeSclValueByName_ MODULE_REPOSITORY
+sclValueRef name = sclValueRef_ MODULE_REPOSITORY name
+
possibleUnsafeSclValueByName :: String -> <Proc> Maybe a
possibleUnsafeSclValueByName name = Just (unsafeSclValueByName name) `catch` \(_ :: Exception) -> Nothing
moduleByName :: String -> <Proc> Maybe Module
moduleByName name = getResult failable
where
- failable = moduleByName_ MODULE_REPOSITORY name
\ No newline at end of file
+ failable = moduleByName_ MODULE_REPOSITORY name
+
+possibleModuleSourceText :: String -> <Proc> Maybe String
+possibleModuleSourceText name = possibleModuleSourceText_ (moduleSourceRepositoryOf MODULE_REPOSITORY) name
\ No newline at end of file