64 lines
2 KiB
Text
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 };
|
|
::
|