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 @@ + +
+
+ Build Log +
+
+Building Debug\example2.exe +
+
+Command Line +
+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 +
+Output +
+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 @@ + +
+
+ Build Log +
+
+Building Debug\test.exe +
+
+Command Line +
+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 +
+Output +
+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();