X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fscl%2FSCL%2FReflection.scl;h=3e8aeb97be5f2dda3e33ffabd349d6838e5f89dd;hb=7444d4b3a2f3c25fac462d8a168898656dafd52e;hp=6b2fd0bcdffac1eac36cf9186a1f28a3fb3d6f13;hpb=eae2657463e387cb764e7e5780d5c56f5311c0af;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/scl/SCL/Reflection.scl b/bundles/org.simantics.scl.compiler/scl/SCL/Reflection.scl index 6b2fd0bcd..3e8aeb97b 100644 --- a/bundles/org.simantics.scl.compiler/scl/SCL/Reflection.scl +++ b/bundles/org.simantics.scl.compiler/scl/SCL/Reflection.scl @@ -1,69 +1,5 @@ module { - export = [possibleUnsafeSclValueByName, unsafeSclValueByName, sclModuleNames, moduleByName, - moduleOfName, nameOfName, createName, valueNamesOf] + deprecated = "Use more specialized modules like ModuleRepository" } -include "SCL/ReflectionJava" - -importJava "org.simantics.scl.compiler.module.repository.ModuleRepository" where - @JavaName getValue - unsafeSclValueByName_ :: ModuleRepository -> String -> a - - @JavaName getSourceRepository - moduleSourceRepositoryOf :: ModuleRepository -> ModuleSourceRepository - - @JavaName getModule - moduleByName_ :: ModuleRepository -> String -> Failable Module - -importJava "org.simantics.scl.compiler.source.repository.ModuleSourceRepository" where - data ModuleSourceRepository - - @JavaName getModuleNames - sclModuleNames_ :: ModuleSourceRepository -> [String] - -importJava "org.simantics.scl.compiler.errors.Failable" where - data Failable a - - didSucceed :: Failable a -> Boolean - getResult :: Failable a -> Maybe a - -importJava "org.simantics.scl.compiler.module.Module" where - data Module - - @JavaName getValueNames - valueNamesOf_ :: Module -> [String] - -importJava "org.simantics.scl.compiler.common.names.Name" where - data Name - - @JavaName module - moduleOfName_ :: Name -> String - @JavaName name - nameOfName_ :: Name -> String - - @JavaName create - createName_ :: String -> String -> Name - -instance Show Name where - sb <+ n = sb << moduleOfName n << "/" << nameOfName n - -moduleOfName = moduleOfName_ -nameOfName = nameOfName_ -createName = createName_ -valueNamesOf = valueNamesOf_ - -type Location = Long - -unsafeSclValueByName :: String -> a -unsafeSclValueByName = unsafeSclValueByName_ MODULE_REPOSITORY - -possibleUnsafeSclValueByName :: String -> Maybe a -possibleUnsafeSclValueByName name = Just (unsafeSclValueByName name) `catch` \(_ :: Exception) -> Nothing - -sclModuleNames :: [String] -sclModuleNames = sclModuleNames_ (moduleSourceRepositoryOf MODULE_REPOSITORY) - -moduleByName :: String -> Maybe Module -moduleByName name = getResult failable - where - failable = moduleByName_ MODULE_REPOSITORY name \ No newline at end of file +include "./ModuleRepository" \ No newline at end of file