diff --git a/dlanguilib.sln b/dlanguilib.sln
index 187d5e49..7c749ed0 100644
--- a/dlanguilib.sln
+++ b/dlanguilib.sln
@@ -5,6 +5,8 @@ Project("{002A2DE9-8BB6-484D-9802-7E4AD4084715}") = "dlangui", "dlanguilib.visua
EndProject
Project("{002A2DE9-8BB6-484D-9802-7E4AD4084715}") = "example1", "examples\example1\example1.visualdproj", "{68C78CC1-6176-4C60-B4B6-520475C26D23}"
EndProject
+Project("{002A2DE9-8BB6-484D-9802-7E4AD4084715}") = "test", "examples\test\test.visualdproj", "{3AA2FFC7-A7A5-4BAC-BED9-2F30E1A893FE}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -19,6 +21,10 @@ Global
{68C78CC1-6176-4C60-B4B6-520475C26D23}.Debug|Win32.Build.0 = Debug|Win32
{68C78CC1-6176-4C60-B4B6-520475C26D23}.Release|Win32.ActiveCfg = Release|Win32
{68C78CC1-6176-4C60-B4B6-520475C26D23}.Release|Win32.Build.0 = Release|Win32
+ {3AA2FFC7-A7A5-4BAC-BED9-2F30E1A893FE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3AA2FFC7-A7A5-4BAC-BED9-2F30E1A893FE}.Debug|Win32.Build.0 = Debug|Win32
+ {3AA2FFC7-A7A5-4BAC-BED9-2F30E1A893FE}.Release|Win32.ActiveCfg = Release|Win32
+ {3AA2FFC7-A7A5-4BAC-BED9-2F30E1A893FE}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/examples/example1/example1.visualdproj b/examples/example1/example1.visualdproj
index 5c071471..f59270ab 100644
--- a/examples/example1/example1.visualdproj
+++ b/examples/example1/example1.visualdproj
@@ -83,8 +83,8 @@
- dlangui.lib phobos.lib ole32.lib kernel32.lib user32.lib comctl32.lib comdlg32.lib dlangui.lib
- $(SolutionDir)/Debug $(SolutionDir)/3rdparty/libpng/lib
+ libpng15.lib dlangui.lib phobos.lib ole32.lib kernel32.lib user32.lib comctl32.lib comdlg32.lib dlangui.lib
+ ../../Debug ../../3rdparty/libpng/lib 3rdparty/libpng/lib
$(OutDir)\$(ProjectName).exe
@@ -141,7 +141,7 @@
0
0
$(DMDInstallDir)windows\bin\dmd.exe
- $(SolutionDir)/src $(SolutionDir)/3rdparty $(SolutionDir)/3rdparty/libpng/source
+ ../../src ../../3rdparty ../../3rdparty/libpng/source
$(ConfigurationName)
$(OutDir)
@@ -177,8 +177,8 @@
- dlangui.lib phobos.lib ole32.lib kernel32.lib user32.lib comctl32.lib comdlg32.lib
- $(SolutionDir)/Release $(SolutionDir)/3rdparty/libpng/lib
+ dlangui.lib phobos.lib libpng15.lib ole32.lib kernel32.lib user32.lib comctl32.lib comdlg32.lib
+ ../../Release ../../3rdparty/libpng/lib 3rdparty/libpng/lib
$(OutDir)\$(ProjectName).exe
diff --git a/examples/example1/winmain.d b/examples/example1/winmain.d
index a220f71e..d1262957 100644
--- a/examples/example1/winmain.d
+++ b/examples/example1/winmain.d
@@ -7,21 +7,22 @@ import dlangui.core.logger;
import dlangui.graphics.fonts;
import std.stdio;
+ImageCache imageCache;
+string resourceDir;
+
version(Windows) {
import win32.windows;
import dlangui.platforms.windows.winapp;
/// workaround for link issue when WinMain is located in library
extern (Windows)
- int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
- LPSTR lpCmdLine, int nCmdShow)
- {
- return DLANGUIWinMain(hInstance, hPrevInstance,
- lpCmdLine, nCmdShow);
- }
+ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
+ LPSTR lpCmdLine, int nCmdShow)
+ {
+ return DLANGUIWinMain(hInstance, hPrevInstance,
+ lpCmdLine, nCmdShow);
+ }
}
-ImageCache imageCache;
-string resourceDir;
class TestWidget : Widget {
public override void onDraw(DrawBuf buf) {
diff --git a/examples/example2/Debug/example2.build b/examples/example2/Debug/example2.build
new file mode 100644
index 00000000..07696d14
--- /dev/null
+++ b/examples/example2/Debug/example2.build
@@ -0,0 +1,28 @@
+set PATH=C:\D\dmd2\windows\bin;C:\Program Files\Microsoft SDKs\Windows\v7.1\\bin;%PATH%
+dmd -g -debug -X -Xf"Debug\example2.json" -deps="Debug\example2.dep" -c -of"Debug\example2.obj" winmain.d
+if errorlevel 1 goto reportError
+
+set LIB="C:\D\dmd2\windows\bin\\..\lib"
+echo. > Debug\example2.build.lnkarg
+echo "Debug\example2.obj","Debug\example2.exe_cv","Debug\example2.map",ole32.lib+ >> Debug\example2.build.lnkarg
+echo kernel32.lib+ >> Debug\example2.build.lnkarg
+echo user32.lib+ >> Debug\example2.build.lnkarg
+echo comctl32.lib+ >> Debug\example2.build.lnkarg
+echo comdlg32.lib+ >> Debug\example2.build.lnkarg
+echo user32.lib+ >> Debug\example2.build.lnkarg
+echo kernel32.lib/NOMAP/CO/NOI /SUBSYSTEM:WINDOWS >> Debug\example2.build.lnkarg
+
+"C:\Tools\VisualDAddon\pipedmd.exe" -deps Debug\example2.lnkdep link.exe @Debug\example2.build.lnkarg
+if errorlevel 1 goto reportError
+if not exist "Debug\example2.exe_cv" (echo "Debug\example2.exe_cv" not created! && goto reportError)
+echo Converting debug information...
+"C:\Tools\VisualDAddon\cv2pdb\cv2pdb.exe" "Debug\example2.exe_cv" "Debug\example2.exe"
+if errorlevel 1 goto reportError
+if not exist "Debug\example2.exe" (echo "Debug\example2.exe" not created! && goto reportError)
+
+goto noError
+
+:reportError
+echo Building Debug\example2.exe failed!
+
+:noError
diff --git a/examples/example2/Debug/example2.build.cmd b/examples/example2/Debug/example2.build.cmd
new file mode 100644
index 00000000..792d8c4a
--- /dev/null
+++ b/examples/example2/Debug/example2.build.cmd
@@ -0,0 +1,28 @@
+set PATH=C:\D\dmd2\windows\bin;C:\Program Files\Microsoft SDKs\Windows\v7.1\\bin;%PATH%
+dmd -g -debug -X -Xf"Debug\example2.json" -deps="Debug\example2.dep" -c -of"Debug\example2.obj" winmain.d
+if errorlevel 1 goto reportError
+
+set LIB="C:\D\dmd2\windows\bin\\..\lib"
+echo. > Debug\example2.build.lnkarg
+echo "Debug\example2.obj","Debug\example2.exe_cv","Debug\example2.map",ole32.lib+ >> Debug\example2.build.lnkarg
+echo kernel32.lib+ >> Debug\example2.build.lnkarg
+echo user32.lib+ >> Debug\example2.build.lnkarg
+echo comctl32.lib+ >> Debug\example2.build.lnkarg
+echo comdlg32.lib+ >> Debug\example2.build.lnkarg
+echo user32.lib+ >> Debug\example2.build.lnkarg
+echo kernel32.lib/NOMAP/CO/NOI /SUBSYSTEM:WINDOWS >> Debug\example2.build.lnkarg
+
+"C:\Tools\VisualDAddon\pipedmd.exe" -deps Debug\example2.lnkdep link.exe @Debug\example2.build.lnkarg
+if errorlevel 1 goto reportError
+if not exist "Debug\example2.exe_cv" (echo "Debug\example2.exe_cv" not created! && goto reportError)
+echo Converting debug information...
+"C:\Tools\VisualDAddon\cv2pdb\cv2pdb.exe" "Debug\example2.exe_cv" "Debug\example2.exe"
+if errorlevel 1 goto reportError
+if not exist "Debug\example2.exe" (echo "Debug\example2.exe" not created! && goto reportError)
+
+goto noError
+
+:reportError
+echo Building Debug\example2.exe failed!
+
+:noError
diff --git a/examples/example2/Debug/example2.build.lnkarg b/examples/example2/Debug/example2.build.lnkarg
new file mode 100644
index 00000000..35d3081d
--- /dev/null
+++ b/examples/example2/Debug/example2.build.lnkarg
@@ -0,0 +1,8 @@
+
+"Debug\example2.obj","Debug\example2.exe_cv","Debug\example2.map",ole32.lib+
+kernel32.lib+
+user32.lib+
+comctl32.lib+
+comdlg32.lib+
+user32.lib+
+kernel32.lib/NOMAP/CO/NOI /SUBSYSTEM:WINDOWS
diff --git a/examples/example2/Debug/example2.buildlog.html b/examples/example2/Debug/example2.buildlog.html
new file mode 100644
index 00000000..1bb35670
--- /dev/null
+++ b/examples/example2/Debug/example2.buildlog.html
@@ -0,0 +1,44 @@
+
+
+
+
+Building Debug\example2.exe
+ |
+
+set PATH=C:\D\dmd2\windows\bin;C:\Program Files\Microsoft SDKs\Windows\v7.1\\bin;%PATH%
+dmd -g -debug -X -Xf"Debug\example2.json" -deps="Debug\example2.dep" -c -of"Debug\example2.obj" winmain.d
+if errorlevel 1 goto reportError
+
+set LIB="C:\D\dmd2\windows\bin\\..\lib"
+echo. > Debug\example2.build.lnkarg
+echo "Debug\example2.obj","Debug\example2.exe_cv","Debug\example2.map",ole32.lib+ >> Debug\example2.build.lnkarg
+echo kernel32.lib+ >> Debug\example2.build.lnkarg
+echo user32.lib+ >> Debug\example2.build.lnkarg
+echo comctl32.lib+ >> Debug\example2.build.lnkarg
+echo comdlg32.lib+ >> Debug\example2.build.lnkarg
+echo user32.lib+ >> Debug\example2.build.lnkarg
+echo kernel32.lib/NOMAP/CO/NOI /SUBSYSTEM:WINDOWS >> Debug\example2.build.lnkarg
+
+"C:\Tools\VisualDAddon\pipedmd.exe" -deps Debug\example2.lnkdep link.exe @Debug\example2.build.lnkarg
+if errorlevel 1 goto reportError
+if not exist "Debug\example2.exe_cv" (echo "Debug\example2.exe_cv" not created! && goto reportError)
+echo Converting debug information...
+"C:\Tools\VisualDAddon\cv2pdb\cv2pdb.exe" "Debug\example2.exe_cv" "Debug\example2.exe"
+if errorlevel 1 goto reportError
+if not exist "Debug\example2.exe" (echo "Debug\example2.exe" not created! && goto reportError)
+
+goto noError
+
+:reportError
+echo Building Debug\example2.exe failed!
+
+:noError
+
+Converting debug information...
+
\ No newline at end of file
diff --git a/examples/example2/Debug/example2.dep b/examples/example2/Debug/example2.dep
new file mode 100644
index 00000000..5768bf8e
--- /dev/null
+++ b/examples/example2/Debug/example2.dep
@@ -0,0 +1,51 @@
+winmain (winmain.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.runtime (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\runtime.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : private : core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d)
+core.stdc.stdarg (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdarg.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : private : core.stdc.stdarg (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdarg.d)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d)
+core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : core.stdc.stdarg (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdarg.d)
+core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d) : private : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+core.stdc.signal (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\signal.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d) : private : core.stdc.signal (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\signal.d)
+core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d) : private : core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d):intptr_t
+core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : private : core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : public : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+core.stdc.time (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\time.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.time (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\time.d) : private : core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d)
+core.stdc.time (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\time.d) : private : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : public : core.stdc.time (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\time.d)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : public : core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d)
+core.runtime (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\runtime.d) : private : core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d):wchar_t
+core.sys.windows.stacktrace (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\stacktrace.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.demangle (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\demangle.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.demangle (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\demangle.d) : private : core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d):snprintf
+core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d) : private : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+core.demangle (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\demangle.d) : private : core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d):memmove
+core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d) : private : core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d)
+core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d) : public : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+core.demangle (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\demangle.d) : private : core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d):strtold
+core.sys.windows.stacktrace (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\stacktrace.d) : private : core.demangle (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\demangle.d)
+core.sys.windows.stacktrace (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\stacktrace.d) : private : core.runtime (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\runtime.d)
+core.sys.windows.stacktrace (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\stacktrace.d) : private : core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d)
+core.sys.windows.stacktrace (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\stacktrace.d) : private : core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d)
+core.sys.windows.dbghelp (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\dbghelp.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.sys.windows.dbghelp (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\dbghelp.d) : private : core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d)
+core.sys.windows.stacktrace (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\stacktrace.d) : private : core.sys.windows.dbghelp (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\dbghelp.d)
+core.sys.windows.stacktrace (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\stacktrace.d) : private : core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d)
+core.runtime (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\runtime.d) : private : core.sys.windows.stacktrace (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\stacktrace.d)
+core.runtime (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\runtime.d) : private : core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d)
+core.runtime (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\runtime.d) : private : core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d)
+winmain (winmain.d) : private : core.runtime (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\runtime.d)
+winmain (winmain.d) : private : core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d)
diff --git a/examples/example2/Debug/example2.exe b/examples/example2/Debug/example2.exe
new file mode 100644
index 00000000..d2953748
Binary files /dev/null and b/examples/example2/Debug/example2.exe differ
diff --git a/examples/example2/Debug/example2.exe_cv b/examples/example2/Debug/example2.exe_cv
new file mode 100644
index 00000000..d2fdfd7f
Binary files /dev/null and b/examples/example2/Debug/example2.exe_cv differ
diff --git a/examples/example2/Debug/example2.json b/examples/example2/Debug/example2.json
new file mode 100644
index 00000000..ad36c9cd
--- /dev/null
+++ b/examples/example2/Debug/example2.json
@@ -0,0 +1,73 @@
+[
+ {
+ "name" : "winmain",
+ "kind" : "module",
+ "file" : "winmain.d",
+ "members" : [
+ {
+ "name" : "core.runtime",
+ "kind" : "import",
+ "line" : 3,
+ "protection" : "private"
+ },
+ {
+ "name" : "core.sys.windows.windows",
+ "kind" : "import",
+ "line" : 4,
+ "protection" : "private"
+ },
+ {
+ "name" : "WinMain",
+ "kind" : "function",
+ "line" : 7,
+ "deco" : "WPvPvPaiZi",
+ "originalType" : "extern (Windows) int(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)",
+ "parameters" : [
+ {
+ "name" : "hInstance",
+ "deco" : "Pv"
+ },
+ {
+ "name" : "hPrevInstance",
+ "deco" : "Pv"
+ },
+ {
+ "name" : "lpCmdLine",
+ "deco" : "Pa"
+ },
+ {
+ "name" : "nCmdShow",
+ "deco" : "i"
+ }
+ ],
+ "endline" : 26
+ },
+ {
+ "name" : "myWinMain",
+ "kind" : "function",
+ "line" : 28,
+ "deco" : "FPvPvPaiZi",
+ "originalType" : "int(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)",
+ "parameters" : [
+ {
+ "name" : "hInstance",
+ "deco" : "Pv"
+ },
+ {
+ "name" : "hPrevInstance",
+ "deco" : "Pv"
+ },
+ {
+ "name" : "lpCmdLine",
+ "deco" : "Pa"
+ },
+ {
+ "name" : "nCmdShow",
+ "deco" : "i"
+ }
+ ],
+ "endline" : 33
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/examples/example2/Debug/example2.map b/examples/example2/Debug/example2.map
new file mode 100644
index 00000000..41b2c5f7
--- /dev/null
+++ b/examples/example2/Debug/example2.map
@@ -0,0 +1,44 @@
+
+ Start Length Name Class
+ 0002:00000000 00016760H _TEXT CODE 32-bit
+ 0002:00016760 000001AAH ICODE ICODE 32-bit
+ 0003:00000000 00000004H .tls tls 32-bit
+ 0003:00000010 00000034H .tls$ tls 32-bit
+ 0003:00000050 00000004H .tls$ZZZ tls 32-bit
+ 0004:00000000 00000004H .CRT$XIA DATA 32-bit
+ 0004:00000010 00000004H .CRT$XIZ DATA 32-bit
+ 0004:00000020 00000004H .CRT$XCA DATA 32-bit
+ 0004:00000030 00000004H .CRT$XCZ DATA 32-bit
+ 0004:00000040 00000004H .CRT$XPA DATA 32-bit
+ 0004:00000050 00000004H .CRT$XPZ DATA 32-bit
+ 0004:00000060 00000004H .CRT$XTA DATA 32-bit
+ 0004:00000070 00000004H .CRT$XTZ DATA 32-bit
+ 0004:00000074 00000000H IMP__DATA IMP__DATA 32-bit
+ 0004:00000080 00007550H _DATA DATA 32-bit
+ 0004:000075D0 00000000H FMB DATA 32-bit
+ 0004:000075D0 00000050H FM DATA 32-bit
+ 0004:00007620 00000000H FME DATA 32-bit
+ 0004:00007620 00000000H XCB DATA 32-bit
+ 0004:00007620 0000000CH XC DATA 32-bit
+ 0004:0000762C 00000000H XCE DATA 32-bit
+ 0004:0000762C 00000000H XIB DATA 32-bit
+ 0004:0000762C 00000014H XI DATA 32-bit
+ 0004:00007640 00000000H XIE DATA 32-bit
+ 0004:00007640 00000000H XIFCB DATA 32-bit
+ 0004:00007640 00000000H XIFU DATA 32-bit
+ 0004:00007640 00000000H XIFL DATA 32-bit
+ 0004:00007640 00000004H XIFM DATA 32-bit
+ 0004:00007644 00000000H XIFCE DATA 32-bit
+ 0004:00007650 00000000H CONST CONST 32-bit
+ 0004:00007650 00000000H EEND ENDBSS 32-bit
+ 0004:00007650 00001814H _BSS BSS 32-bit
+ 0004:00008E64 00000000H XOB BSS 32-bit
+ 0004:00008E64 00000004H XO BSS 32-bit
+ 0004:00008E68 00000000H XOE BSS 32-bit
+ 0004:00008E68 00000000H XOFB BSS 32-bit
+ 0004:00008E68 00000104H XOF BSS 32-bit
+ 0004:00008F6C 00000000H XOFE BSS 32-bit
+ 0004:00008F70 00000415H c_common BSS 32-bit
+ 0004:00009390 00000000H STACK STACK 32-bit
+
+Program entry point at 000127F0
diff --git a/examples/example2/Debug/example2.obj b/examples/example2/Debug/example2.obj
new file mode 100644
index 00000000..d31472e4
Binary files /dev/null and b/examples/example2/Debug/example2.obj differ
diff --git a/examples/example2/Debug/example2.pdb b/examples/example2/Debug/example2.pdb
new file mode 100644
index 00000000..254b0bbe
Binary files /dev/null and b/examples/example2/Debug/example2.pdb differ
diff --git a/examples/example2/example2.visualdproj b/examples/example2/example2.visualdproj
new file mode 100644
index 00000000..8c10f1a3
--- /dev/null
+++ b/examples/example2/example2.visualdproj
@@ -0,0 +1,194 @@
+
+ {4B9651D1-BF43-47BD-9FA4-B1DAF9E7197D}
+
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2.043
+ 0
+ 0
+ 0
+ $(DMDInstallDir)windows\bin\dmd.exe
+
+
+ $(ConfigurationName)
+ $(OutDir)
+
+
+ 0
+
+
+
+
+ 0
+
+
+ 1
+ $(IntDir)\$(TargetName).json
+ 0
+
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+ 0
+
+ 1
+ $(VisualDInstallDir)cv2pdb\cv2pdb.exe
+ 0
+ 0
+ 0
+
+
+
+ ole32.lib kernel32.lib user32.lib comctl32.lib comdlg32.lib
+
+
+
+ $(OutDir)\$(ProjectName).exe
+ 1
+
+
+
+ *.obj;*.cmd;*.build;*.json;*.dep
+
+
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2.043
+ 0
+ 0
+ 0
+ $(DMDInstallDir)windows\bin\dmd.exe
+
+
+ $(ConfigurationName)
+ $(OutDir)
+
+
+ 0
+
+
+
+
+ 0
+
+
+ 1
+ $(IntDir)\$(TargetName).json
+ 0
+
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+ 0
+
+ 0
+ $(VisualDInstallDir)cv2pdb\cv2pdb.exe
+ 0
+ 0
+ 0
+
+
+
+ ole32.lib kernel32.lib user32.lib comctl32.lib comdlg32.lib
+
+
+
+ $(OutDir)\$(ProjectName).exe
+ 1
+
+
+
+ *.obj;*.cmd;*.build;*.json;*.dep
+
+
+
+
+
diff --git a/examples/example2/winmain.d b/examples/example2/winmain.d
new file mode 100644
index 00000000..08fe63e7
--- /dev/null
+++ b/examples/example2/winmain.d
@@ -0,0 +1,33 @@
+module winmain;
+
+import core.runtime;
+import core.sys.windows.windows;
+
+extern (Windows)
+int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
+{
+ int result;
+
+ try
+ {
+ Runtime.initialize();
+
+ result = myWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
+
+ Runtime.terminate();
+ }
+ catch (Throwable o) // catch any uncaught exceptions
+ {
+ MessageBoxA(null, cast(char *)o.toString(), "Error", MB_OK | MB_ICONEXCLAMATION);
+ result = 0; // failed
+ }
+
+ return result;
+}
+
+int myWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
+{
+ /* ... insert user code here ... */
+ throw new Exception("not implemented");
+ return 0;
+}
diff --git a/examples/test/Debug/test.build b/examples/test/Debug/test.build
new file mode 100644
index 00000000..e2fb84fe
--- /dev/null
+++ b/examples/test/Debug/test.build
@@ -0,0 +1,23 @@
+set PATH=C:\D\dmd2\windows\bin;C:\Program Files\Microsoft SDKs\Windows\v7.1\\bin;%PATH%
+dmd -g -debug -X -Xf"Debug\test.json" -deps="Debug\test.dep" -c -of"Debug\test.obj" main.d
+if errorlevel 1 goto reportError
+
+set LIB="C:\D\dmd2\windows\bin\\..\lib"
+echo. > Debug\test.build.lnkarg
+echo "Debug\test.obj","Debug\test.exe_cv","Debug\test.map",user32.lib+ >> Debug\test.build.lnkarg
+echo kernel32.lib/NOMAP/CO/NOI >> Debug\test.build.lnkarg
+
+"C:\Tools\VisualDAddon\pipedmd.exe" -deps Debug\test.lnkdep link.exe @Debug\test.build.lnkarg
+if errorlevel 1 goto reportError
+if not exist "Debug\test.exe_cv" (echo "Debug\test.exe_cv" not created! && goto reportError)
+echo Converting debug information...
+"C:\Tools\VisualDAddon\cv2pdb\cv2pdb.exe" "Debug\test.exe_cv" "Debug\test.exe"
+if errorlevel 1 goto reportError
+if not exist "Debug\test.exe" (echo "Debug\test.exe" not created! && goto reportError)
+
+goto noError
+
+:reportError
+echo Building Debug\test.exe failed!
+
+:noError
diff --git a/examples/test/Debug/test.build.cmd b/examples/test/Debug/test.build.cmd
new file mode 100644
index 00000000..7cafab41
--- /dev/null
+++ b/examples/test/Debug/test.build.cmd
@@ -0,0 +1,23 @@
+set PATH=C:\D\dmd2\windows\bin;C:\Program Files\Microsoft SDKs\Windows\v7.1\\bin;%PATH%
+dmd -g -debug -X -Xf"Debug\test.json" -deps="Debug\test.dep" -c -of"Debug\test.obj" main.d
+if errorlevel 1 goto reportError
+
+set LIB="C:\D\dmd2\windows\bin\\..\lib"
+echo. > Debug\test.build.lnkarg
+echo "Debug\test.obj","Debug\test.exe_cv","Debug\test.map",user32.lib+ >> Debug\test.build.lnkarg
+echo kernel32.lib/NOMAP/CO/NOI >> Debug\test.build.lnkarg
+
+"C:\Tools\VisualDAddon\pipedmd.exe" -deps Debug\test.lnkdep link.exe @Debug\test.build.lnkarg
+if errorlevel 1 goto reportError
+if not exist "Debug\test.exe_cv" (echo "Debug\test.exe_cv" not created! && goto reportError)
+echo Converting debug information...
+"C:\Tools\VisualDAddon\cv2pdb\cv2pdb.exe" "Debug\test.exe_cv" "Debug\test.exe"
+if errorlevel 1 goto reportError
+if not exist "Debug\test.exe" (echo "Debug\test.exe" not created! && goto reportError)
+
+goto noError
+
+:reportError
+echo Building Debug\test.exe failed!
+
+:noError
diff --git a/examples/test/Debug/test.build.lnkarg b/examples/test/Debug/test.build.lnkarg
new file mode 100644
index 00000000..2a00fb29
--- /dev/null
+++ b/examples/test/Debug/test.build.lnkarg
@@ -0,0 +1,3 @@
+
+"Debug\test.obj","Debug\test.exe_cv","Debug\test.map",user32.lib+
+kernel32.lib/NOMAP/CO/NOI
diff --git a/examples/test/Debug/test.buildlog.html b/examples/test/Debug/test.buildlog.html
new file mode 100644
index 00000000..8b09870d
--- /dev/null
+++ b/examples/test/Debug/test.buildlog.html
@@ -0,0 +1,40 @@
+
+
+
+
+Building Debug\test.exe
+ |
+
+set PATH=C:\D\dmd2\windows\bin;C:\Program Files\Microsoft SDKs\Windows\v7.1\\bin;%PATH%
+dmd -g -debug -X -Xf"Debug\test.json" -deps="Debug\test.dep" -c -of"Debug\test.obj" main.d
+if errorlevel 1 goto reportError
+
+set LIB="C:\D\dmd2\windows\bin\\..\lib"
+echo. > Debug\test.build.lnkarg
+echo "Debug\test.obj","Debug\test.exe_cv","Debug\test.map",user32.lib+ >> Debug\test.build.lnkarg
+echo kernel32.lib/NOMAP/CO/NOI >> Debug\test.build.lnkarg
+
+"C:\Tools\VisualDAddon\pipedmd.exe" -deps Debug\test.lnkdep link.exe @Debug\test.build.lnkarg
+if errorlevel 1 goto reportError
+if not exist "Debug\test.exe_cv" (echo "Debug\test.exe_cv" not created! && goto reportError)
+echo Converting debug information...
+"C:\Tools\VisualDAddon\cv2pdb\cv2pdb.exe" "Debug\test.exe_cv" "Debug\test.exe"
+if errorlevel 1 goto reportError
+if not exist "Debug\test.exe" (echo "Debug\test.exe" not created! && goto reportError)
+
+goto noError
+
+:reportError
+echo Building Debug\test.exe failed!
+
+:noError
+
+main.d(26): Error: cannot modify const expression cfoo2
+Building Debug\test.exe failed!
+
\ No newline at end of file
diff --git a/examples/test/Debug/test.dep b/examples/test/Debug/test.dep
new file mode 100644
index 00000000..8c0d5794
--- /dev/null
+++ b/examples/test/Debug/test.dep
@@ -0,0 +1,222 @@
+main (main.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d)
+core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+core.stdc.stdarg (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdarg.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : core.stdc.stdarg (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdarg.d)
+core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d) : private : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+core.stdc.signal (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\signal.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d) : private : core.stdc.signal (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\signal.d)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : private : core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : private : core.stdc.stdarg (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdarg.d)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : private : core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : public : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+core.stdc.time (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\time.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.time (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\time.d) : private : core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d)
+core.stdc.time (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\time.d) : private : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : public : core.stdc.time (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\time.d)
+core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d) : public : core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d)
+core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d) : private : core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : core.stdc.stdint (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdint.d):intptr_t
+core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d) : private : core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : public : core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\exception.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\exception.d) : private : core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : core.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\exception.d):RangeError,onRangeError
+core.vararg (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\vararg.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : core.vararg (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\vararg.d)
+core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d) : private : core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d)
+core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d) : public : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d)
+core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d) : private : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d)
+std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.memory (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\memory.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : core.memory (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\memory.d)
+core.bitop (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\bitop.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : core.bitop (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\bitop.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d)
+std.ascii (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\ascii.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.ascii (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\ascii.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d)
+std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d) : private : std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d)
+std.c.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\string.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.c.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\string.d) : public : core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d)
+std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d) : private : std.c.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\string.d)
+std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d) : private : std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d)
+std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d) : public : std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d)
+std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d) : private : std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d):copy,count,equal,filter,filterBidirectional,findSplitBefore,group,isSorted,joiner,move,map,max,min,sort,swap,until
+std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d):TypeTuple,allSatisfy
+std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d) : private : std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d):Tuple,tuple
+std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d):allSatisfy,staticMap,TypeTuple
+std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d) : private : std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d)
+std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d) : private : core.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\exception.d)
+core.stdc.errno (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\errno.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d) : private : core.stdc.errno (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\errno.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private static : std.ascii (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\ascii.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : core.bitop (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\bitop.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d)
+std.internal.unicode_tables (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\internal\\unicode_tables.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : std.internal.unicode_tables (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\internal\\unicode_tables.d)
+std.math (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\math.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.math (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\math.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+core.stdc.math (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\math.d) : private : core.stdc.config (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\config.d)
+std.math (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\math.d) : private : core.stdc.math (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\math.d)
+std.math (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\math.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d) : private : std.math (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\math.d):pow
+std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d):TypeTuple,staticMap,allSatisfy
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d)
+std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d) : private : std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d)
+std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d) : private : std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d)
+std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d)
+std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d) : private : std.c.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\string.d):memcpy
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.ascii (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\ascii.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : core.vararg (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\vararg.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : std.ascii (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\ascii.d)
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : core.bitop (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\bitop.d)
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d)
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d)
+std.system (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\system.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : std.system (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\system.d)
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : std.system (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\system.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d)
+std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d) : private : std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d)
+std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d) : private : std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d)
+std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d) : private : std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d)
+std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d) : private : std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d)
+std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d)
+std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d) : private : std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d)
+std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d) : private : std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d)
+std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d) : private : std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d)
+std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d) : private : std.math (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\math.d)
+std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d) : private : std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d)
+std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d) : private : std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d):unaryFun,binaryFun
+std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d) : private : std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d):tuple,Tuple
+std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d):TypeTuple,staticMap,allSatisfy
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.ascii (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\ascii.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.functional (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\functional.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.typecons (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typecons.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.typetuple (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\typetuple.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.uni (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\uni.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d)
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.algorithm (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\algorithm.d):startsWith,endsWith,cmp,count
+std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d) : private : std.array (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\array.d):join,split
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d):KeepTerminator
+std.c.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\stdio.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.c.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\stdio.d) : public : core.stdc.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdio.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private static : std.c.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\stdio.d)
+std.stdiobase (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdiobase.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : std.stdiobase (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdiobase.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : core.stdc.errno (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\errno.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : core.stdc.stddef (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stddef.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : core.stdc.stdlib (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\stdlib.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : core.memory (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\memory.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : core.stdc.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\string.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : core.stdc.wchar_ (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\stdc\\wchar_.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : core.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\exception.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : std.range (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\range.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d):Unqual,isSomeChar,isAggregateType,isSomeString,isIntegral,isBoolean,ParameterTypeTuple
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : std.c.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\stdio.d):__fhnd_info,FHND_WCHAR,FHND_TEXT
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : std.traits (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\traits.d):isScalarType,isArray
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d)
+std.windows.syserror (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\syserror.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.windows.charset (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\charset.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.windows.charset (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\charset.d) : private : std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d)
+std.c.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\windows\\windows.d) : private : object (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.di)
+std.c.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\windows\\windows.d) : public : core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d)
+std.windows.charset (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\charset.d) : private : std.c.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\c\\windows\\windows.d)
+std.windows.charset (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\charset.d) : private : std.windows.syserror (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\syserror.d)
+std.windows.charset (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\charset.d) : private : std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d)
+std.windows.charset (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\charset.d) : private : std.string (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\string.d)
+std.windows.syserror (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\syserror.d) : private : std.windows.charset (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\charset.d)
+std.windows.syserror (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\syserror.d) : private : core.sys.windows.windows (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\sys\\windows\\windows.d)
+std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d) : private : std.windows.syserror (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\windows\\syserror.d)
+main (main.d) : private : std.stdio (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\stdio.d)
+main (main.d) : private : core.bitop (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\bitop.d)
+main (main.d) : private : std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d):errnoEnforce
+main (main.d) : private : std.utf (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\utf.d):isValidDchar
+main (main.d) : private : std.conv (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\conv.d):toTextRange
+main (main.d) : private : core.bitop (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\bitop.d)
+main (main.d) : private : std.exception (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\exception.d):errnoEnforce
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : core.bitop (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\core\\bitop.d)
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d):FormatSpec,formatValue
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d):FormatSpec,formatValue
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d):FormatSpec,formatValue
+std.bitmanip (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\bitmanip.d) : private : std.format (C:\\D\\dmd2\\windows\\bin\\..\\..\\src\\phobos\\std\\format.d):FormatSpec,formatValue
diff --git a/examples/test/Debug/test.exe b/examples/test/Debug/test.exe
new file mode 100644
index 00000000..e80cb5f7
Binary files /dev/null and b/examples/test/Debug/test.exe differ
diff --git a/examples/test/Debug/test.exe_cv b/examples/test/Debug/test.exe_cv
new file mode 100644
index 00000000..30364413
Binary files /dev/null and b/examples/test/Debug/test.exe_cv differ
diff --git a/examples/test/Debug/test.json b/examples/test/Debug/test.json
new file mode 100644
index 00000000..c287658f
--- /dev/null
+++ b/examples/test/Debug/test.json
@@ -0,0 +1,98 @@
+[
+ {
+ "name" : "main",
+ "kind" : "module",
+ "file" : "main.d",
+ "members" : [
+ {
+ "name" : "std.stdio",
+ "kind" : "import",
+ "line" : 3,
+ "protection" : "private"
+ },
+ {
+ "name" : "Foo",
+ "kind" : "class",
+ "line" : 5,
+ "members" : [
+ {
+ "name" : "_data",
+ "kind" : "variable",
+ "line" : 6,
+ "deco" : "i",
+ "offset" : 8
+ },
+ {
+ "name" : "this",
+ "kind" : "constructor",
+ "line" : 7,
+ "deco" : "FiZC4main3Foo",
+ "originalType" : "(int v)",
+ "parameters" : [
+ {
+ "name" : "v",
+ "deco" : "i"
+ }
+ ],
+ "endline" : 9
+ },
+ {
+ "name" : "data",
+ "kind" : "function",
+ "line" : 10,
+ "storageClass" : [
+ "@property"
+ ],
+ "deco" : "xFNdZi",
+ "originalType" : "const int()",
+ "endline" : 10
+ }
+ ]
+ },
+ {
+ "name" : "Bar",
+ "kind" : "struct",
+ "line" : 13,
+ "members" : [
+ {
+ "name" : "_data",
+ "kind" : "variable",
+ "line" : 14,
+ "deco" : "i",
+ "offset" : 0
+ },
+ {
+ "name" : "data",
+ "kind" : "function",
+ "line" : 15,
+ "storageClass" : [
+ "@property"
+ ],
+ "deco" : "xFNdZi",
+ "originalType" : "const int()",
+ "endline" : 15
+ }
+ ]
+ },
+ {
+ "name" : "Foo2",
+ "kind" : "class",
+ "line" : 18,
+ "members" : []
+ },
+ {
+ "name" : "main",
+ "kind" : "function",
+ "line" : 21,
+ "deco" : "FAAyaZi",
+ "parameters" : [
+ {
+ "name" : "argv",
+ "deco" : "AAya"
+ }
+ ],
+ "endline" : 36
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/examples/test/Debug/test.map b/examples/test/Debug/test.map
new file mode 100644
index 00000000..b962537a
--- /dev/null
+++ b/examples/test/Debug/test.map
@@ -0,0 +1,44 @@
+
+ Start Length Name Class
+ 0002:00000000 00023E28H _TEXT CODE 32-bit
+ 0002:00023E28 000001B6H ICODE ICODE 32-bit
+ 0003:00000000 00000004H .tls tls 32-bit
+ 0003:00000010 00000034H .tls$ tls 32-bit
+ 0003:00000050 00000004H .tls$ZZZ tls 32-bit
+ 0004:00000000 00000004H .CRT$XIA DATA 32-bit
+ 0004:00000010 00000004H .CRT$XIZ DATA 32-bit
+ 0004:00000020 00000004H .CRT$XCA DATA 32-bit
+ 0004:00000030 00000004H .CRT$XCZ DATA 32-bit
+ 0004:00000040 00000004H .CRT$XPA DATA 32-bit
+ 0004:00000050 00000004H .CRT$XPZ DATA 32-bit
+ 0004:00000060 00000004H .CRT$XTA DATA 32-bit
+ 0004:00000070 00000004H .CRT$XTZ DATA 32-bit
+ 0004:00000074 00000000H IMP__DATA IMP__DATA 32-bit
+ 0004:00000080 0000A898H _DATA DATA 32-bit
+ 0004:0000A918 00000000H FMB DATA 32-bit
+ 0004:0000A918 00000074H FM DATA 32-bit
+ 0004:0000A98C 00000000H FME DATA 32-bit
+ 0004:0000A98C 00000000H XCB DATA 32-bit
+ 0004:0000A98C 0000000CH XC DATA 32-bit
+ 0004:0000A998 00000000H XCE DATA 32-bit
+ 0004:0000A998 00000000H XIB DATA 32-bit
+ 0004:0000A998 00000014H XI DATA 32-bit
+ 0004:0000A9AC 00000000H XIE DATA 32-bit
+ 0004:0000A9AC 00000000H XIFCB DATA 32-bit
+ 0004:0000A9AC 00000000H XIFU DATA 32-bit
+ 0004:0000A9AC 00000000H XIFL DATA 32-bit
+ 0004:0000A9AC 00000004H XIFM DATA 32-bit
+ 0004:0000A9B0 00000000H XIFCE DATA 32-bit
+ 0004:0000A9B0 00000000H CONST CONST 32-bit
+ 0004:0000A9B0 00000000H EEND ENDBSS 32-bit
+ 0004:0000A9B0 000018C0H _BSS BSS 32-bit
+ 0004:0000C270 00000000H XOB BSS 32-bit
+ 0004:0000C270 00000004H XO BSS 32-bit
+ 0004:0000C274 00000000H XOE BSS 32-bit
+ 0004:0000C274 00000000H XOFB BSS 32-bit
+ 0004:0000C274 00000104H XOF BSS 32-bit
+ 0004:0000C378 00000000H XOFE BSS 32-bit
+ 0004:0000C380 00000411H c_common BSS 32-bit
+ 0004:0000C7A0 00000000H STACK STACK 32-bit
+
+Program entry point at 0001F858
diff --git a/examples/test/Debug/test.pdb b/examples/test/Debug/test.pdb
new file mode 100644
index 00000000..a211a18d
Binary files /dev/null and b/examples/test/Debug/test.pdb differ
diff --git a/examples/test/main.d b/examples/test/main.d
new file mode 100644
index 00000000..cdab8252
--- /dev/null
+++ b/examples/test/main.d
@@ -0,0 +1,38 @@
+module main;
+
+import std.stdio;
+
+//class Foo {
+// int _data;
+// this(int v) {
+// _data = v;
+// }
+// @property int data() const { return _data; }
+//}
+//
+//struct Bar {
+// int _data;
+// @property int data() const { return _data; }
+//}
+//
+//class Foo2 {
+//}
+
+int main(string[] argv)
+{
+ //Foo2 foo2 = new Foo2();
+ //Foo2 foo22 = new Foo2();
+ //const(Foo2) cfoo2 = foo2;
+ //cfoo2 = foo22;
+ //Foo obj = new Foo(1);
+ //Foo obj2 = new Foo(2);
+ //const Bar bar1;
+ //writeln("bar1.data=", bar1.data);
+ //const(Foo) constptr;
+ //constptr = obj;
+ //writeln("data=", obj.data);
+ //writeln("data=", constptr.data);
+ //constptr = obj2;
+ //writeln("data=", constptr.data);
+ return 0;
+}
diff --git a/examples/test/test.visualdproj b/examples/test/test.visualdproj
new file mode 100644
index 00000000..26cbd549
--- /dev/null
+++ b/examples/test/test.visualdproj
@@ -0,0 +1,11 @@
+
+ be84df39-64e6-449d-89e0-8e92404003cb
+
+
+
+
+
+
+
+
+
diff --git a/src/dlangui/core/types.d b/src/dlangui/core/types.d
index ce7d7808..272ab323 100644
--- a/src/dlangui/core/types.d
+++ b/src/dlangui/core/types.d
@@ -1,15 +1,15 @@
module dlangui.core.types;
-public struct Point {
+struct Point {
int x;
int y;
- public this(int x0, int y0) {
+ this(int x0, int y0) {
x = x0;
y = y0;
}
}
-public struct Rect {
+struct Rect {
int left;
int top;
int right;
@@ -38,34 +38,34 @@ public struct Rect {
}
}
-public class RefCountedObject {
+class RefCountedObject {
protected int _refCount;
- public @property int refCount() { return _refCount; }
- public void addRef() {
+ @property int refCount() { return _refCount; }
+ void addRef() {
_refCount++;
}
- public void releaseRef() {
+ void releaseRef() {
if (--_refCount == 0)
destroy(this);
}
- public ~this() {}
+ ~this() {}
}
-public struct Ref(T) { // if (T is RefCountedObject)
- T _data;
- alias _data this;
- public @property bool isNull() { return _data is null; }
- public @property int refCount() { return _data !is null ? _data.refCount : 0; }
- public this(T data) {
+struct Ref(T) { // if (T is RefCountedObject)
+ private T _data;
+ alias get this;
+ @property bool isNull() { return _data is null; }
+ @property int refCount() { return _data !is null ? _data.refCount : 0; }
+ this(T data) {
_data = data;
if (_data !is null)
_data.addRef();
}
- public this(this) {
+ this(this) {
if (_data !is null)
_data.addRef();
}
- public ref Ref opAssign(ref Ref data) {
+ ref Ref opAssign(ref Ref data) {
if (data._data == _data)
return this;
if (_data !is null)
@@ -75,7 +75,7 @@ public struct Ref(T) { // if (T is RefCountedObject)
_data.addRef();
return this;
}
- public ref Ref opAssign(Ref data) {
+ ref Ref opAssign(Ref data) {
if (data._data == _data)
return this;
if (_data !is null)
@@ -85,7 +85,7 @@ public struct Ref(T) { // if (T is RefCountedObject)
_data.addRef();
return this;
}
- public ref Ref opAssign(T data) {
+ ref Ref opAssign(T data) {
if (data == _data)
return this;
if (_data !is null)
@@ -95,16 +95,19 @@ public struct Ref(T) { // if (T is RefCountedObject)
_data.addRef();
return this;
}
- public void clear() {
+ void clear() {
if (_data !is null) {
_data.releaseRef();
_data = null;
}
}
- public @property T get() {
+ @property T get() {
return _data;
}
- public ~this() {
+ @property const(T) get() const {
+ return _data;
+ }
+ ~this() {
if (_data !is null)
_data.releaseRef();
}
diff --git a/src/dlangui/platforms/common/platform.d b/src/dlangui/platforms/common/platform.d
index 6588ebe9..b20a9f82 100644
--- a/src/dlangui/platforms/common/platform.d
+++ b/src/dlangui/platforms/common/platform.d
@@ -2,6 +2,7 @@ module dlangui.platforms.common.platform;
import dlangui.widgets.widget;
import dlangui.graphics.drawbuf;
+import std.file;
public class Window {
int _dx;
@@ -48,3 +49,19 @@ public class Platform {
abstract public int enterMessageLoop();
}
+version (Windows) {
+ immutable char PATH_DELIMITER = '\\';
+}
+version (Unix) {
+ immutable char PATH_DELIMITER = '/';
+}
+
+/// returns current executable path only, including last path delimiter
+string exePath() {
+ string path = thisExePath();
+ int lastSlash = 0;
+ for (int i = 0; i < path.length; i++)
+ if (path[i] == PATH_DELIMITER)
+ lastSlash = i;
+ return path[0 .. lastSlash + 1];
+}
diff --git a/src/dlangui/platforms/windows/winapp.d b/src/dlangui/platforms/windows/winapp.d
index 41b2f674..93de7c1d 100644
--- a/src/dlangui/platforms/windows/winapp.d
+++ b/src/dlangui/platforms/windows/winapp.d
@@ -113,16 +113,6 @@ class Win32Platform : Platform {
}
}
-/// returns current executable path only, including last path delimiter
-string exePath() {
- string path = thisExePath();
- int lastSlash = 0;
- for (int i = 0; i < path.length; i++)
- if (path[i] == '\\')
- lastSlash = i;
- return path[0 .. lastSlash + 1];
-}
-
extern(Windows)
int DLANGUIWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow) {
@@ -267,3 +257,5 @@ LRESULT WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
// end of version(Windows)
//===========================================
}
+
+
diff --git a/src/dlangui/widgets/styles.d b/src/dlangui/widgets/styles.d
index 49cb61c9..a51cdea9 100644
--- a/src/dlangui/widgets/styles.d
+++ b/src/dlangui/widgets/styles.d
@@ -48,7 +48,13 @@ class Style {
protected FontRef _font;
- @property const(Theme) theme() {
+ @property const(Theme) theme() const {
+ if (_theme !is null)
+ return _theme;
+ return currentTheme;
+ }
+
+ @property Theme theme() {
if (_theme !is null)
return _theme;
return currentTheme;
@@ -56,6 +62,14 @@ class Style {
@property string id() { return _id; }
+ @property const(Style) parentStyle() const {
+ if (_parentStyle !is null)
+ return _parentStyle;
+ if (_parentId !is null && currentTheme !is null)
+ return currentTheme.get(_parentId);
+ return null;
+ }
+
@property Style parentStyle() {
if (_parentStyle !is null)
return _parentStyle;
@@ -64,104 +78,86 @@ class Style {
return null;
}
- @property ref FontRef font() {
- if (!_font.isNull)
- return _font;
- string face = fontFace();
- int size = fontSize();
- ushort weight = fontWeight();
- bool italic = fontItalic();
- FontFamily family = fontFamily();
- _font = FontManager.instance.getFont(size, weight, italic, family, face);
- return _font;
+ @property ref FontRef font() const {
+ if (!(cast(Style)this)._font.isNull)
+ return (cast(Style)this)._font;
+ string face = fontFace;
+ int size = fontSize;
+ ushort weight = fontWeight;
+ bool italic = fontItalic;
+ FontFamily family = fontFamily;
+ (cast(Style)this)._font = FontManager.instance.getFont(size, weight, italic, family, face);
+ return (cast(Style)this)._font;
}
/// font size
- @property FontFamily fontFamily() {
- Style p = this;
- while(p !is null) {
- if (p._fontFamily != FontFamily.Unspecified)
- return p._fontFamily;
- p = p.parentStyle;
- }
- return theme._fontFamily;
+ @property FontFamily fontFamily() const {
+ if (_fontFamily != FontFamily.Unspecified)
+ return _fontFamily;
+ else
+ return parentStyle.fontFamily;
}
/// font size
- @property string fontFace() {
- Style p = this;
- while(p !is null) {
- if (p._fontFace !is null)
- return p._fontFace;
- p = p.parentStyle;
- }
- return theme._fontFace;
+ @property string fontFace() const {
+ if (_fontFace !is null)
+ return _fontFace;
+ else
+ return parentStyle.fontFace;
}
/// font style - italic
- @property bool fontItalic() {
- Style p = this;
- while(p !is null) {
- if (p._fontStyle != FONT_STYLE_UNSPECIFIED)
- return p._fontStyle == FONT_STYLE_ITALIC;
- p = p.parentStyle;
- }
- return theme._fontStyle == FONT_STYLE_ITALIC;
+ @property bool fontItalic() const {
+ if (_fontStyle != FONT_STYLE_UNSPECIFIED)
+ return _fontStyle == FONT_STYLE_ITALIC;
+ else
+ return parentStyle.fontItalic;
}
/// font weight
- @property ushort fontWeight() {
- Style p = this;
- while(p !is null) {
- if (p._fontWeight != FONT_WEIGHT_UNSPECIFIED)
- return p._fontWeight;
- p = p.parentStyle;
- }
- return theme._fontWeight;
+ @property ushort fontWeight() const {
+ if (_fontWeight != FONT_WEIGHT_UNSPECIFIED)
+ return _fontWeight;
+ else
+ return parentStyle.fontWeight;
}
/// font size
- @property ushort fontSize() {
- Style p = this;
- while(p !is null) {
- if (p._fontSize != FONT_SIZE_UNSPECIFIED)
- return p._fontSize;
- p = p.parentStyle;
- }
- return theme._fontSize;
+ @property ushort fontSize() const {
+ if (_fontSize != FONT_SIZE_UNSPECIFIED)
+ return _fontSize;
+ else
+ return parentStyle.fontSize;
}
/// padding
- @property ref const(Rect) padding() {
+ @property ref const(Rect) padding() const {
if (_stateValue != 0)
return parentStyle._padding;
return _padding;
}
/// margins
- @property ref const(Rect) margins() {
+ @property ref const(Rect) margins() const {
if (_stateValue != 0)
return parentStyle._margins;
return _margins;
}
+
/// text color
- @property uint textColor() {
- Style p = this;
- while(p !is null) {
- if (p._textColor != COLOR_UNSPECIFIED)
- return p._textColor;
- p = p.parentStyle;
- }
- return theme._textColor;
+ @property uint textColor() const {
+ if (_textColor != COLOR_UNSPECIFIED)
+ return _textColor;
+ else
+ return parentStyle.textColor;
}
+
/// background color
- @property uint backgroundColor() {
- Style p = this;
- while(p !is null) {
- if (p._backgroundColor != COLOR_UNSPECIFIED)
- return p._backgroundColor;
- p = p.parentStyle;
- }
- return theme._textColor;
+ @property uint backgroundColor() const {
+ if (_backgroundColor != COLOR_UNSPECIFIED)
+ return _backgroundColor;
+ else
+ return parentStyle.backgroundColor;
}
+
/// vertical alignment: Top / VCenter / Bottom
- @property ubyte valign() { return _align & Align.VCenter; }
+ @property ubyte valign() const { return _align & Align.VCenter; }
/// horizontal alignment: Left / HCenter / Right
- @property ubyte halign() { return _align & Align.HCenter; }
+ @property ubyte halign() const { return _align & Align.HCenter; }
@property Style fontFace(string face) {
_fontFace = face;
diff --git a/src/dlangui/widgets/widget.d b/src/dlangui/widgets/widget.d
index 1ba4059b..cffeec71 100644
--- a/src/dlangui/widgets/widget.d
+++ b/src/dlangui/widgets/widget.d
@@ -10,8 +10,6 @@ class Widget {
protected Rect _pos;
protected string _styleId;
protected Style _ownStyle;
- protected Rect _margins;
- protected Rect _padding;
protected int _measuredWidth;
protected int _measuredHeight;
protected bool _needLayout;
@@ -19,8 +17,6 @@ class Widget {
protected Widget _parent;
protected Window _window;
- protected uint _backgroundColor = 0xC0C0C0;
-
this() {
_needLayout = true;
_needDraw = true;
@@ -38,14 +34,14 @@ class Widget {
_ownStyle = currentTheme.modifyStyle(_styleId);
return _ownStyle;
}
- @property void styleId(string id) { _styleId = id; }
+ @property void styleId(string id) { _styleId = id; }
@property string styleId() { return _styleId; }
- @property Rect margins() { return _margins; }
- @property void margins(Rect rc) { _margins = rc; }
- @property Rect padding() { return _padding; }
- @property void padding(Rect rc) { _padding = rc; }
- @property uint backgroundColor() { return _backgroundColor; }
- @property void backgroundColor(uint color) { _backgroundColor = color; }
+ @property Rect margins() { return style.margins; }
+ @property void margins(Rect rc) { ownStyle.margins = rc; }
+ @property Rect padding() { return style.padding; }
+ @property void padding(Rect rc) { ownStyle.padding = rc; }
+ @property uint backgroundColor() { return style.backgroundColor; }
+ @property void backgroundColor(uint color) { ownStyle.backgroundColor = color; }
@property bool needLayout() { return _needLayout; }
@property bool needDraw() { return _needDraw; }
@property int childCount() { return 0; }
@@ -90,7 +86,7 @@ class Widget {
void onDraw(DrawBuf buf) {
Rect rc = _pos;
applyMargins(rc);
- buf.fillRect(_pos, _backgroundColor);
+ buf.fillRect(_pos, backgroundColor);
applyPadding(rc);
buf.fillRect(rc.left + rc.width / 2, rc.top, rc.left + rc.width / 2 + 2, rc.bottom, 0xFF8000);
buf.fillRect(rc.left, rc.top + rc.height / 2, rc.right, rc.top + rc.height / 2 + 2, 0xFF80FF);
@@ -146,7 +142,7 @@ class TextWidget : Widget {
super.onDraw(buf);
Rect rc = _pos;
applyMargins(rc);
- buf.fillRect(_pos, _backgroundColor);
+ buf.fillRect(_pos, backgroundColor);
applyPadding(rc);
ClipRectSaver(buf, rc);
FontRef font = getFont();