rsc3/doc-schelp/HelpSource/Classes/LanguageConfig.schelp

64 lines
2 KiB
Text

CLASS:: LanguageConfig
summary:: Access and modify interpreter configuration
categories:: Language
DESCRIPTION::
The LanguageConfig class provides access to the interpreter configuration.
section:: Configuration File Format
The configuration file is stored in YAML format, which contains one dictionary. The semantics of the dictionary is listed in
the following table:
definitionList::
## teletype::includePaths:: || List of class library paths.
## teletype::excludePaths:: || List of paths to exclude from the class library files (overrides teletype::includePaths::).
## teletype::postInlineWarnings:: || Boolean flag to post warnings about missing inline opportunities.
::
CLASSMETHODS::
METHOD:: store
Store the current configuration to file.
argument:: file
Path to the configuration file to store. If the value is code::nil:: it defaults to code::Platform.userConfigDir +/+ "sclang_conf.yaml"::
subsection:: Library Path Handling
The language configuration mechanism provides a way to add or exclude specific paths for the class library.
note::Changes to the class library paths won't have any effect before the configuration file is stored and the class library is recompiled.::
METHOD:: includePaths
Return the class library include paths.
METHOD:: addIncludePath
Add new class library include path.
METHOD:: removeIncludePath
Remove path from class library include paths.
METHOD:: excludePaths
Return the class library exclude paths.
METHOD:: addExcludePath
Add new class library exclude path.
METHOD:: removeExcludePath
Remove path from class library exclude paths.
METHOD:: currentPath
Return the current config file path.
subsection:: Compiler Warnings
METHOD:: postInlineWarnings
Get or set the compiler flag, whether warnings should be posted if a FunctionDef cannot be inlined.
code::
LanguageConfig.postInlineWarnings_(true) // warn
if(0.5.coin) { var x; x = 10.rand; x + 1 } { 10 };
LanguageConfig.postInlineWarnings_(false) // ignore it.
if(0.5.coin) { var x; x = 10.rand; x + 1 } { 10 };
::