dmd.frontend
Contains high-level interfaces for interacting with DMD as a library.
License
Source: id.d
Documentation: https://dlang.org/phobos/dmd_frontend.html
-
Declaration
struct
Diagnostics
;Contains aggregated diagnostics information.
-
Declaration
immutable uint
errors
;Number of
errors
diagnosed -
Declaration
immutable uint
warnings
;Number of
warnings
diagnosed -
Declaration
immutable bool
hasErrors
();Return Value
true
if errors have been diagnosed -
Declaration
immutable bool
hasWarnings
();Return Value
true
if warnings have been diagnosed
-
-
Declaration
enum
ContractChecking
: CHECKENABLE;Indicates the checking state of various contracts.
-
Declaration
default_
Initial value
-
Declaration
disabled
Never do checking
-
Declaration
enabled
Always do checking
-
Declaration
enabledInSafe
Only do checking in
@safe
functions
-
-
Declaration
struct
ContractChecks
;Indicates which contracts should be checked or not.
-
Declaration
ContractChecking
precondition
;Precondition checks (in contract).
-
Declaration
ContractChecking
invariant_
;Invariant checks.
-
Declaration
ContractChecking
postcondition
;Postcondition checks (out contract).
-
Declaration
ContractChecking
arrayBounds
;Array bound checks.
-
Declaration
ContractChecking
assert_
;Assert checks.
-
Declaration
ContractChecking
switchError
;Switch error checks.
-
-
Declaration
void
deinitializeDMD
();Deinitializes the global variables of the DMD compiler.
Discussion
This can be used to restore the state set by
initDMD
to its original state. Useful if there's a need for multiple sessions of the DMD compiler in the same application. -
Declaration
void
addImport
(const(char)[]path
);Add import
path
to theglobal.
.path
Parameters
const(char)[]
path
import to add
-
Declaration
void
addStringImport
(const(char)[]path
);Add string import
path
toglobal.filePath
.Parameters
const(char)[]
path
string import to add
-
Declaration
string
findDMDConfig
(const(char)[]dmdFilePath
);Searches for a
dmd.conf
.Parameters
const(char)[]
dmdFilePath
path to the current DMD executable
Return Value
full path to the found
dmd.conf
,null
otherwise. -
Declaration
string
findLDCConfig
(const(char)[]ldcFilePath
);Searches for a
ldc2.conf
.Parameters
const(char)[]
ldcFilePath
path to the current LDC executable
Return Value
full path to the found
ldc2.conf
,null
otherwise. -
Declaration
string
determineDefaultCompiler
();Detect the currently active compiler.
Return Value
full path to the executable of the found compiler,
null
otherwise. -
Declaration
auto
parseImportPathsFromConfig
(const(char)[]iniFile
, const(char)[]execDir
);Parses a
dmd.conf
orldc2.conf
config file and returns defined import paths.Parameters
const(char)[]
iniFile
iniFile
to parse imports fromconst(char)[]
execDir
directory of the compiler binary
Return Value
forward range of import paths found in
iniFile
-
Declaration
auto
findImportPaths
();Finds a
dmd.conf
and parses it for import paths. This depends on the$DMD
environment variable. If$DMD
is set toldmd
, it will try to detect and parse aldc2.conf
instead.Return Value
A forward range of normalized import paths.
See Also
,
-
Declaration
Tuple!(Module, "module_", Diagnostics, "diagnostics")
parseModule
(AST = ASTCodegen)(const(char)[]fileName
, const(char)[]code
= null);Parse a module from a string.
Parameters
const(char)[]
fileName
file to parse
const(char)[]
code
text to use instead of opening the file
Return Value
the parsed module object
-
Declaration
void
fullSemantic
(Modulem
);Run full semantic analysis on a module.
-
Declaration
string
prettyPrint
(Modulem
);Pretty print a module.
Return Value
Pretty printed module as string.
-
Declaration
abstract class
DiagnosticReporter
;Interface for diagnostic reporting.
-
Declaration
abstract nothrow int
errorCount
();Return Value
the number of errors that occurred during lexing or parsing.
-
Declaration
abstract nothrow int
warningCount
();Return Value
the number of warnings that occurred during lexing or parsing.
-
Declaration
abstract nothrow int
deprecationCount
();Return Value
the number of deprecations that occurred during lexing or parsing.
-
Declaration
abstract nothrow bool
error
(const ref Locloc
, const(char)*format
, va_listargs
, const(char)*p1
, const(char)*p2
);Reports an
error
message.Parameters
Loc
loc
Location of
error
const(char)*
format
format
string forerror
va_list
args
printf-style variadic arguments
const(char)*
p1
additional message prefix
const(char)*
p2
additional message prefix
Return Value
false
if the message should also be printed to stderr,true
otherwise -
Declaration
abstract nothrow bool
errorSupplemental
(const ref Locloc
, const(char)*format
, va_listargs
, const(char)*p1
, const(char)*p2
);Reports additional details about an error message.
Parameters
Loc
loc
Location of error
const(char)*
format
format
string for supplemental messageva_list
args
printf-style variadic arguments
const(char)*
p1
additional message prefix
const(char)*
p2
additional message prefix
Return Value
false
if the message should also be printed to stderr,true
otherwise -
Declaration
abstract nothrow bool
warning
(const ref Locloc
, const(char)*format
, va_listargs
, const(char)*p1
, const(char)*p2
);Reports a
warning
message.Parameters
Loc
loc
Location of
warning
const(char)*
format
format
string forwarning
va_list
args
printf-style variadic arguments
const(char)*
p1
additional message prefix
const(char)*
p2
additional message prefix
Return Value
false
if the message should also be printed to stderr,true
otherwise -
Declaration
abstract nothrow bool
warningSupplemental
(const ref Locloc
, const(char)*format
, va_listargs
, const(char)*p1
, const(char)*p2
);Reports additional details about a warning message.
Parameters
Loc
loc
Location of warning
const(char)*
format
format
string for supplemental messageva_list
args
printf-style variadic arguments
const(char)*
p1
additional message prefix
const(char)*
p2
additional message prefix
Return Value
false
if the message should also be printed to stderr,true
otherwise -
Declaration
abstract nothrow bool
deprecation
(const ref Locloc
, const(char)*format
, va_listargs
, const(char)*p1
, const(char)*p2
);Reports a
deprecation
message.Parameters
Loc
loc
Location of the
deprecation
const(char)*
format
format
string for thedeprecation
va_list
args
printf-style variadic arguments
const(char)*
p1
additional message prefix
const(char)*
p2
additional message prefix
Return Value
false
if the message should also be printed to stderr,true
otherwise -
Declaration
abstract nothrow bool
deprecationSupplemental
(const ref Locloc
, const(char)*format
, va_listargs
, const(char)*p1
, const(char)*p2
);Reports additional details about a deprecation message.
Parameters
Loc
loc
Location of deprecation
const(char)*
format
format
string for supplemental messageva_list
args
printf-style variadic arguments
const(char)*
p1
additional message prefix
const(char)*
p2
additional message prefix
Return Value
false
if the message should also be printed to stderr,true
otherwise
-
-
Declaration
class
StderrDiagnosticReporter
: dmd.frontend.DiagnosticReporter;Diagnostic reporter which prints the diagnostic messages to stderr.
Discussion
This is usually the default diagnostic reporter.
-
Declaration
nothrow this(DiagnosticReporting
useDeprecated
);Initializes this object.
Parameters
DiagnosticReporting
useDeprecated
indicates how deprecation diagnostics should be handled
-