OSDN Git Service

.
authorKAZUu <kazuu48@hotmail.com>
Wed, 30 Sep 2009 09:34:34 +0000 (18:34 +0900)
committerKAZUu <kazuu48@hotmail.com>
Wed, 30 Sep 2009 09:34:34 +0000 (18:34 +0900)
51 files changed:
ConditionSelectorGenerator/Main.Designer.cs
ConditionSelectorGenerator/Main.cs
CoverageFramework.sln
CoverageFramework/CoverageFramework.csproj
CoverageFramework/Element/Decorator/ITaggedXElementDecoratorFactory.cs [deleted file]
CoverageFramework/Element/Decorator/IXElementDecoratorFactory.cs [deleted file]
CoverageFramework/Element/Decorator/TaggedXElementDecoratorFactory.cs [deleted file]
CoverageFramework/Element/Decorator/XElementDecoratorFactory.cs [deleted file]
CoverageFramework/Element/Generator/IStatementGenerator.cs [new file with mode: 0644]
CoverageFramework/Element/Generator/IXElementGeneratorFactory.cs [deleted file]
CoverageFramework/Element/Generator/Java2/IXElementGenerator.cs [new file with mode: 0644]
CoverageFramework/Element/Generator/Java2/StatementCoverageGenerator.cs [new file with mode: 0644]
CoverageFramework/Element/Generator/Python3/CompoundStatementCoverageGenerator.cs [new file with mode: 0644]
CoverageFramework/Element/Generator/Python3/ImportGenerator.cs [new file with mode: 0644]
CoverageFramework/Element/Generator/Python3/StatementCoverageGenerator.cs [new file with mode: 0644]
CoverageFramework/Element/Generator/XElementGeneratorFactory.cs [deleted file]
CoverageFramework/Element/Selector/C2/ConditionalTermSelector.cs
CoverageFramework/Element/Selector/C2/IfConditionSelector.cs
CoverageFramework/Element/Selector/C2/SimpleStatementSelector.cs [new file with mode: 0644]
CoverageFramework/Element/Selector/C2/StatementSelector.cs
CoverageFramework/Element/Selector/Java2/ConditionalTermSelector.cs
CoverageFramework/Element/Selector/Java2/SimpleStatementSelector.cs [new file with mode: 0644]
CoverageFramework/Element/Selector/Python3/CompoundStatementSelector.cs [new file with mode: 0644]
CoverageFramework/Element/Selector/Python3/SimpleStatementSelector.cs [moved from CoverageFramework/Element/Selector/Python3/StatementSelector.cs with 73% similarity]
CoverageFramework/Embedder/StatementCoverageEmbedder.cs
CoverageFramework/Utility/InstanceFactory.cs
SharedMemory/AssemblyInfo.cpp [new file with mode: 0644]
SharedMemory/CoverageManager.cpp [new file with mode: 0644]
SharedMemory/CoverageManager.h [new file with mode: 0644]
SharedMemory/Java/CoverageManager.cpp [new file with mode: 0644]
SharedMemory/Java/CoverageManager.h [new file with mode: 0644]
SharedMemory/Java/CoverageManager.i [new file with mode: 0644]
SharedMemory/Java/Stdafx.h [new file with mode: 0644]
SharedMemory/Python/CoverageManager.cpp [new file with mode: 0644]
SharedMemory/Python/CoverageManager.h [new file with mode: 0644]
SharedMemory/Python/CoverageManager.i [new file with mode: 0644]
SharedMemory/Python/Stdafx.h [new file with mode: 0644]
SharedMemory/Python/memo.txt [new file with mode: 0644]
SharedMemory/Python/setup.py [new file with mode: 0644]
SharedMemory/ReadMe.txt [new file with mode: 0644]
SharedMemory/SharedMemory.cpp [new file with mode: 0644]
SharedMemory/SharedMemory.h [new file with mode: 0644]
SharedMemory/SharedMemory.vcproj [new file with mode: 0644]
SharedMemory/Stdafx.cpp [new file with mode: 0644]
SharedMemory/Stdafx.h [new file with mode: 0644]
SharedMemory/app.ico [new file with mode: 0644]
SharedMemory/app.rc [new file with mode: 0644]
SharedMemory/resource.h [new file with mode: 0644]
Test/Program.cs [new file with mode: 0644]
Test/Properties/AssemblyInfo.cs [new file with mode: 0644]
Test/Test.csproj [new file with mode: 0644]

index db9cacf..9fd493a 100644 (file)
@@ -35,6 +35,7 @@
                        this.rtbAst = new System.Windows.Forms.RichTextBox();\r
                        this.cbxAstGenerator = new System.Windows.Forms.ComboBox();\r
                        this.tabPage3 = new System.Windows.Forms.TabPage();\r
+                       this.clbSelectors2 = new System.Windows.Forms.CheckedListBox();\r
                        this.lbSelectedElements = new System.Windows.Forms.ListBox();\r
                        this.clbSelectors1 = new System.Windows.Forms.CheckedListBox();\r
                        this.rtbSelector = new System.Windows.Forms.RichTextBox();\r
                        this.tabPage10 = new System.Windows.Forms.TabPage();\r
                        this.tabPage11 = new System.Windows.Forms.TabPage();\r
                        this.btProcess = new System.Windows.Forms.Button();\r
-                       this.clbSelectors2 = new System.Windows.Forms.CheckedListBox();\r
+                       this.lbSelectedStatements = new System.Windows.Forms.ListBox();\r
+                       this.rtbStatement = new System.Windows.Forms.RichTextBox();\r
+                       this.cbxStatementGenerator = new System.Windows.Forms.ComboBox();\r
                        this.tabControl1.SuspendLayout();\r
                        this.tabPage1.SuspendLayout();\r
                        this.tabPage2.SuspendLayout();\r
                        this.tabPage3.SuspendLayout();\r
                        this.tabPage4.SuspendLayout();\r
+                       this.tabPage6.SuspendLayout();\r
                        this.SuspendLayout();\r
                        // \r
                        // tabControl1\r
                        this.tabPage3.Text = "Selector";\r
                        this.tabPage3.UseVisualStyleBackColor = true;\r
                        // \r
+                       // clbSelectors2\r
+                       // \r
+                       this.clbSelectors2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)\r
+                                               | System.Windows.Forms.AnchorStyles.Right)));\r
+                       this.clbSelectors2.FormattingEnabled = true;\r
+                       this.clbSelectors2.Location = new System.Drawing.Point(598, 198);\r
+                       this.clbSelectors2.Name = "clbSelectors2";\r
+                       this.clbSelectors2.Size = new System.Drawing.Size(361, 172);\r
+                       this.clbSelectors2.TabIndex = 11;\r
+                       // \r
                        // lbSelectedElements\r
                        // \r
                        this.lbSelectedElements.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\r
                        // \r
                        // tabPage6\r
                        // \r
+                       this.tabPage6.Controls.Add(this.cbxStatementGenerator);\r
+                       this.tabPage6.Controls.Add(this.lbSelectedStatements);\r
+                       this.tabPage6.Controls.Add(this.rtbStatement);\r
                        this.tabPage6.Location = new System.Drawing.Point(4, 22);\r
                        this.tabPage6.Name = "tabPage6";\r
                        this.tabPage6.Padding = new System.Windows.Forms.Padding(3);\r
                        this.btProcess.UseVisualStyleBackColor = true;\r
                        this.btProcess.Click += new System.EventHandler(this.btProcess_Click);\r
                        // \r
-                       // clbSelectors2\r
+                       // lbSelectedStatements\r
                        // \r
-                       this.clbSelectors2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)\r
+                       this.lbSelectedStatements.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\r
+                       this.lbSelectedStatements.FormattingEnabled = true;\r
+                       this.lbSelectedStatements.ItemHeight = 12;\r
+                       this.lbSelectedStatements.Location = new System.Drawing.Point(598, 380);\r
+                       this.lbSelectedStatements.Name = "lbSelectedStatements";\r
+                       this.lbSelectedStatements.Size = new System.Drawing.Size(361, 232);\r
+                       this.lbSelectedStatements.TabIndex = 14;\r
+                       // \r
+                       // rtbStatement\r
+                       // \r
+                       this.rtbStatement.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)\r
+                                               | System.Windows.Forms.AnchorStyles.Left)\r
                                                | System.Windows.Forms.AnchorStyles.Right)));\r
-                       this.clbSelectors2.FormattingEnabled = true;\r
-                       this.clbSelectors2.Location = new System.Drawing.Point(598, 198);\r
-                       this.clbSelectors2.Name = "clbSelectors2";\r
-                       this.clbSelectors2.Size = new System.Drawing.Size(361, 172);\r
-                       this.clbSelectors2.TabIndex = 11;\r
+                       this.rtbStatement.Location = new System.Drawing.Point(6, 32);\r
+                       this.rtbStatement.Name = "rtbStatement";\r
+                       this.rtbStatement.Size = new System.Drawing.Size(586, 587);\r
+                       this.rtbStatement.TabIndex = 12;\r
+                       this.rtbStatement.Text = "";\r
+                       // \r
+                       // cbxStatementGenerator\r
+                       // \r
+                       this.cbxStatementGenerator.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)\r
+                                               | System.Windows.Forms.AnchorStyles.Right)));\r
+                       this.cbxStatementGenerator.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
+                       this.cbxStatementGenerator.FormattingEnabled = true;\r
+                       this.cbxStatementGenerator.Location = new System.Drawing.Point(6, 6);\r
+                       this.cbxStatementGenerator.Name = "cbxStatementGenerator";\r
+                       this.cbxStatementGenerator.Size = new System.Drawing.Size(953, 20);\r
+                       this.cbxStatementGenerator.TabIndex = 16;\r
                        // \r
                        // Main\r
                        // \r
                        this.tabPage3.ResumeLayout(false);\r
                        this.tabPage4.ResumeLayout(false);\r
                        this.tabPage4.PerformLayout();\r
+                       this.tabPage6.ResumeLayout(false);\r
                        this.ResumeLayout(false);\r
 \r
                }\r
                private System.Windows.Forms.ListBox lbSelectedElements;\r
                private System.Windows.Forms.TextBox tbOriginal;\r
                private System.Windows.Forms.CheckedListBox clbSelectors2;\r
+               private System.Windows.Forms.ListBox lbSelectedStatements;\r
+               private System.Windows.Forms.RichTextBox rtbStatement;\r
+               private System.Windows.Forms.ComboBox cbxStatementGenerator;\r
        }\r
 }\r
 \r
index a49b9fc..1ae1e28 100644 (file)
@@ -38,6 +38,11 @@ namespace ConditionSelectorGenerator
                                clbSelectors1.Items.Add(selector.GetType().ToString());\r
                                clbSelectors2.Items.Add(selector.GetType().ToString());\r
                        }\r
+\r
+                       foreach (var generator in InstanceFactory.XElementGenerators)\r
+                       {\r
+                               cbxStatementGenerator.Items.Add(generator.GetType().ToString());\r
+                       }\r
                }\r
 \r
                private void SelectText(RichTextBox richTextBox, CodePosition pos)\r
@@ -152,11 +157,8 @@ namespace ConditionSelectorGenerator
                        SetConditionSelectorTabContent(ast);\r
                }\r
 \r
-               private void SetSelectorTabContent(XDocument ast)\r
+               private IXElementSelector GetSelector()\r
                {\r
-                       lbSelectedElements.Items.Clear();\r
-                       rtbSelector.Text = tbOriginal.Text;\r
-\r
                        IXElementSelector selector = null;\r
 \r
                        if (clbSelectors1.CheckedIndices.Count > 0)\r
@@ -175,6 +177,15 @@ namespace ConditionSelectorGenerator
                                        XElementSelectorUtil.Merge(selectors2);\r
                        }\r
 \r
+                       return selector;\r
+               }\r
+\r
+               private void SetSelectorTabContent(XDocument ast)\r
+               {\r
+                       lbSelectedElements.Items.Clear();\r
+                       rtbSelector.Text = tbOriginal.Text;\r
+\r
+                       var selector = GetSelector();\r
                        if (selector == null)\r
                                return;\r
 \r
@@ -237,5 +248,17 @@ namespace ConditionSelectorGenerator
                                richTextBox1.SelectionColor = Color.Red;\r
                        }\r
                }\r
+\r
+               private void SetStatemetTabContent(XDocument ast)\r
+               {\r
+                       if (cbxStatementGenerator.SelectedIndex < 0)\r
+                               return;\r
+\r
+                       var selector = GetSelector();\r
+                       if (selector == null)\r
+                               return;\r
+                       \r
+\r
+               }\r
        }\r
 }\r
index 3c81bdf..79a276a 100644 (file)
@@ -11,32 +11,90 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConditionSelectorGenerator"
 EndProject\r
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CoverageTool", "CoverageTool\CoverageTool.csproj", "{81DDD59B-6631-4EDE-9363-64B87F8EB19A}"\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SharedMemory", "SharedMemory\SharedMemory.vcproj", "{3958C313-7307-47C4-A091-E1C7579A813A}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}"\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Any CPU = Debug|Any CPU\r
+               Debug|Mixed Platforms = Debug|Mixed Platforms\r
+               Debug|Win32 = Debug|Win32\r
                Release|Any CPU = Release|Any CPU\r
+               Release|Mixed Platforms = Release|Mixed Platforms\r
+               Release|Win32 = Release|Win32\r
        EndGlobalSection\r
        GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
                {3616296C-1F01-4CE5-ADC1-491074B6BC71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
                {3616296C-1F01-4CE5-ADC1-491074B6BC71}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {3616296C-1F01-4CE5-ADC1-491074B6BC71}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU\r
+               {3616296C-1F01-4CE5-ADC1-491074B6BC71}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU\r
+               {3616296C-1F01-4CE5-ADC1-491074B6BC71}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
                {3616296C-1F01-4CE5-ADC1-491074B6BC71}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
                {3616296C-1F01-4CE5-ADC1-491074B6BC71}.Release|Any CPU.Build.0 = Release|Any CPU\r
+               {3616296C-1F01-4CE5-ADC1-491074B6BC71}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU\r
+               {3616296C-1F01-4CE5-ADC1-491074B6BC71}.Release|Mixed Platforms.Build.0 = Release|Any CPU\r
+               {3616296C-1F01-4CE5-ADC1-491074B6BC71}.Release|Win32.ActiveCfg = Release|Any CPU\r
                {840CD835-7119-4043-9600-4F94FA66E4E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
                {840CD835-7119-4043-9600-4F94FA66E4E2}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {840CD835-7119-4043-9600-4F94FA66E4E2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU\r
+               {840CD835-7119-4043-9600-4F94FA66E4E2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU\r
+               {840CD835-7119-4043-9600-4F94FA66E4E2}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
                {840CD835-7119-4043-9600-4F94FA66E4E2}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
                {840CD835-7119-4043-9600-4F94FA66E4E2}.Release|Any CPU.Build.0 = Release|Any CPU\r
+               {840CD835-7119-4043-9600-4F94FA66E4E2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU\r
+               {840CD835-7119-4043-9600-4F94FA66E4E2}.Release|Mixed Platforms.Build.0 = Release|Any CPU\r
+               {840CD835-7119-4043-9600-4F94FA66E4E2}.Release|Win32.ActiveCfg = Release|Any CPU\r
                {9E57B853-E651-4319-9C73-0D7D17BEC8D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
                {9E57B853-E651-4319-9C73-0D7D17BEC8D2}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {9E57B853-E651-4319-9C73-0D7D17BEC8D2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU\r
+               {9E57B853-E651-4319-9C73-0D7D17BEC8D2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU\r
+               {9E57B853-E651-4319-9C73-0D7D17BEC8D2}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
                {9E57B853-E651-4319-9C73-0D7D17BEC8D2}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
                {9E57B853-E651-4319-9C73-0D7D17BEC8D2}.Release|Any CPU.Build.0 = Release|Any CPU\r
+               {9E57B853-E651-4319-9C73-0D7D17BEC8D2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU\r
+               {9E57B853-E651-4319-9C73-0D7D17BEC8D2}.Release|Mixed Platforms.Build.0 = Release|Any CPU\r
+               {9E57B853-E651-4319-9C73-0D7D17BEC8D2}.Release|Win32.ActiveCfg = Release|Any CPU\r
                {960220CF-4E02-4C38-88D8-7B07412808FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
                {960220CF-4E02-4C38-88D8-7B07412808FD}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {960220CF-4E02-4C38-88D8-7B07412808FD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU\r
+               {960220CF-4E02-4C38-88D8-7B07412808FD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU\r
+               {960220CF-4E02-4C38-88D8-7B07412808FD}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
                {960220CF-4E02-4C38-88D8-7B07412808FD}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
                {960220CF-4E02-4C38-88D8-7B07412808FD}.Release|Any CPU.Build.0 = Release|Any CPU\r
+               {960220CF-4E02-4C38-88D8-7B07412808FD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU\r
+               {960220CF-4E02-4C38-88D8-7B07412808FD}.Release|Mixed Platforms.Build.0 = Release|Any CPU\r
+               {960220CF-4E02-4C38-88D8-7B07412808FD}.Release|Win32.ActiveCfg = Release|Any CPU\r
                {81DDD59B-6631-4EDE-9363-64B87F8EB19A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
                {81DDD59B-6631-4EDE-9363-64B87F8EB19A}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {81DDD59B-6631-4EDE-9363-64B87F8EB19A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU\r
+               {81DDD59B-6631-4EDE-9363-64B87F8EB19A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU\r
+               {81DDD59B-6631-4EDE-9363-64B87F8EB19A}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
                {81DDD59B-6631-4EDE-9363-64B87F8EB19A}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
                {81DDD59B-6631-4EDE-9363-64B87F8EB19A}.Release|Any CPU.Build.0 = Release|Any CPU\r
+               {81DDD59B-6631-4EDE-9363-64B87F8EB19A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU\r
+               {81DDD59B-6631-4EDE-9363-64B87F8EB19A}.Release|Mixed Platforms.Build.0 = Release|Any CPU\r
+               {81DDD59B-6631-4EDE-9363-64B87F8EB19A}.Release|Win32.ActiveCfg = Release|Any CPU\r
+               {3958C313-7307-47C4-A091-E1C7579A813A}.Debug|Any CPU.ActiveCfg = Debug|Win32\r
+               {3958C313-7307-47C4-A091-E1C7579A813A}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32\r
+               {3958C313-7307-47C4-A091-E1C7579A813A}.Debug|Mixed Platforms.Build.0 = Debug|Win32\r
+               {3958C313-7307-47C4-A091-E1C7579A813A}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {3958C313-7307-47C4-A091-E1C7579A813A}.Debug|Win32.Build.0 = Debug|Win32\r
+               {3958C313-7307-47C4-A091-E1C7579A813A}.Release|Any CPU.ActiveCfg = Release|Win32\r
+               {3958C313-7307-47C4-A091-E1C7579A813A}.Release|Mixed Platforms.ActiveCfg = Release|Win32\r
+               {3958C313-7307-47C4-A091-E1C7579A813A}.Release|Mixed Platforms.Build.0 = Release|Win32\r
+               {3958C313-7307-47C4-A091-E1C7579A813A}.Release|Win32.ActiveCfg = Release|Win32\r
+               {3958C313-7307-47C4-A091-E1C7579A813A}.Release|Win32.Build.0 = Release|Win32\r
+               {4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU\r
+               {4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU\r
+               {4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}.Debug|Win32.ActiveCfg = Debug|Any CPU\r
+               {4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+               {4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}.Release|Any CPU.Build.0 = Release|Any CPU\r
+               {4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU\r
+               {4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}.Release|Mixed Platforms.Build.0 = Release|Any CPU\r
+               {4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}.Release|Win32.ActiveCfg = Release|Any CPU\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index 872809e..930c025 100644 (file)
   <ItemGroup>\r
     <Compile Include="AstGenerator\AstGenerator.cs" />\r
     <Compile Include="AstGenerator\Python3\AstGenerator.cs" />\r
+    <Compile Include="Element\Generator\IStatementGenerator.cs" />\r
+    <Compile Include="Element\Generator\Java2\IXElementGenerator.cs" />\r
+    <Compile Include="Element\Generator\Java2\StatementCoverageGenerator.cs" />\r
+    <Compile Include="Element\Generator\Python3\CompoundStatementCoverageGenerator.cs" />\r
+    <Compile Include="Element\Generator\Python3\ImportGenerator.cs" />\r
+    <Compile Include="Element\Generator\Python3\StatementCoverageGenerator.cs" />\r
     <Compile Include="Element\Selector\C2\ConditionalTermSelector.cs" />\r
     <Compile Include="Element\Selector\C2\IfConditionSelector.cs" />\r
     <Compile Include="Element\Selector\C2\LackingBlockSelector.cs" />\r
+    <Compile Include="Element\Selector\C2\SimpleStatementSelector.cs" />\r
     <Compile Include="Element\Selector\C2\StatementSelector.cs" />\r
     <Compile Include="Element\Selector\Java2\ConditionalTermSelector.cs" />\r
     <Compile Include="Element\Selector\Java2\IfConditionSelector.cs" />\r
     <Compile Include="Element\Selector\Java2\LackingBlockSelector.cs" />\r
+    <Compile Include="Element\Selector\Java2\SimpleStatementSelector.cs" />\r
     <Compile Include="Element\Selector\Java2\StatementSelector.cs" />\r
+    <Compile Include="Element\Selector\Python3\CompoundStatementSelector.cs" />\r
     <Compile Include="Element\Selector\XElementSelectorPipe.cs" />\r
     <Compile Include="Element\Selector\XElementSelectorUnion.cs" />\r
     <Compile Include="Utility\InstanceFactory.cs" />\r
     <Compile Include="Element\Decorator\C\BlockDecoratorForC.cs" />\r
     <Compile Include="Element\Decorator\C\BranchCoverageDecoratorForC.cs" />\r
     <Compile Include="Element\Decorator\ITaggedXElementDecorator.cs" />\r
-    <Compile Include="Element\Decorator\ITaggedXElementDecoratorFactory.cs" />\r
     <Compile Include="Element\Decorator\IXElementDecorator.cs" />\r
-    <Compile Include="Element\Decorator\IXElementDecoratorFactory.cs" />\r
     <Compile Include="Element\Decorator\Java\BlockDecoratorForJava.cs" />\r
     <Compile Include="Element\Decorator\Java\BranchCoverageDecoratorForJava.cs" />\r
     <Compile Include="Element\Decorator\Python\BranchCoverageDecoratorForPython.cs" />\r
-    <Compile Include="Element\Decorator\TaggedXElementDecoratorFactory.cs" />\r
-    <Compile Include="Element\Decorator\XElementDecoratorFactory.cs" />\r
     <Compile Include="Element\Generator\C\ImportGeneratorForC.cs" />\r
     <Compile Include="Element\Generator\C\StatementCoverageGeneratorForC.cs" />\r
     <Compile Include="Element\Generator\ITaggedXElementGenerator.cs" />\r
     <Compile Include="Element\Generator\IXElementGenerator.cs" />\r
-    <Compile Include="Element\Generator\IXElementGeneratorFactory.cs" />\r
     <Compile Include="Element\Generator\Java\ImportGeneratorForJava.cs" />\r
     <Compile Include="Element\Generator\Java\StatementCoverageGeneratorForJava.cs" />\r
     <Compile Include="Element\Generator\Python\ImportGeneratorForPython.cs" />\r
     <Compile Include="Element\Generator\Python\StatementCoverageGeneratorForPython.cs" />\r
-    <Compile Include="Element\Generator\XElementGeneratorFactory.cs" />\r
     <Compile Include="Element\Selector\AtomicBooleanTermSelector.cs" />\r
     <Compile Include="Element\Selector\AtomicStatementSelector.cs" />\r
     <Compile Include="Element\Selector\C\AtomicBooleanTermSelectorForC.cs" />\r
     <Compile Include="Element\Selector\Python3\ForIfConditionSelector.cs" />\r
     <Compile Include="Element\Selector\Python3\IfConditionSelector.cs" />\r
     <Compile Include="Element\Selector\ParenthesisSelector.cs" />\r
-    <Compile Include="Element\Selector\Python3\StatementSelector.cs" />\r
+    <Compile Include="Element\Selector\Python3\SimpleStatementSelector.cs" />\r
     <Compile Include="Element\Selector\Python3\TernaryOperatorSelector.cs" />\r
     <Compile Include="Element\Selector\Python\AtomicBooleanTermSelectorForPython.cs" />\r
     <Compile Include="Element\Selector\Python\AtomicStatementSelectorForPython.cs" />\r
diff --git a/CoverageFramework/Element/Decorator/ITaggedXElementDecoratorFactory.cs b/CoverageFramework/Element/Decorator/ITaggedXElementDecoratorFactory.cs
deleted file mode 100644 (file)
index b389e3c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace CoverageFramework.Element.Decorator\r
-{\r
-       public interface ITaggedXElementDecoratorFactory\r
-       {\r
-               ITaggedXElementDecorator GetInstance();\r
-       }\r
-}
\ No newline at end of file
diff --git a/CoverageFramework/Element/Decorator/IXElementDecoratorFactory.cs b/CoverageFramework/Element/Decorator/IXElementDecoratorFactory.cs
deleted file mode 100644 (file)
index adf20fd..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace CoverageFramework.Element.Decorator\r
-{\r
-       public interface IXElementDecoratorFactory\r
-       {\r
-               IXElementDecorator GetInstance();\r
-       }\r
-}
\ No newline at end of file
diff --git a/CoverageFramework/Element/Decorator/TaggedXElementDecoratorFactory.cs b/CoverageFramework/Element/Decorator/TaggedXElementDecoratorFactory.cs
deleted file mode 100644 (file)
index c328689..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace CoverageFramework.Element.Decorator\r
-{\r
-       public abstract class TaggedXElementDecoratorFactory : ITaggedXElementDecoratorFactory\r
-       {\r
-               private ITaggedXElementDecorator _instance;\r
-\r
-               protected abstract ITaggedXElementDecorator CreateInstance();\r
-\r
-               #region ITaggedXElementDecoratorFactory \83\81\83\93\83o\r
-\r
-               public ITaggedXElementDecorator GetInstance()\r
-               {\r
-                       if (_instance == null)\r
-                       {\r
-                               _instance = CreateInstance();\r
-                       }\r
-                       return _instance;\r
-               }\r
-\r
-               #endregion\r
-       }\r
-}
\ No newline at end of file
diff --git a/CoverageFramework/Element/Decorator/XElementDecoratorFactory.cs b/CoverageFramework/Element/Decorator/XElementDecoratorFactory.cs
deleted file mode 100644 (file)
index 4a655aa..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace CoverageFramework.Element.Decorator\r
-{\r
-       public abstract class XElementDecoratorFactory : IXElementDecoratorFactory\r
-       {\r
-               private IXElementDecorator _instance;\r
-\r
-               protected abstract IXElementDecorator CreateInstance();\r
-\r
-               #region IXElementDecoratorFactory \83\81\83\93\83o\r
-\r
-               public IXElementDecorator GetInstance()\r
-               {\r
-                       if (_instance == null)\r
-                       {\r
-                               _instance = CreateInstance();\r
-                       }\r
-                       return _instance;\r
-               }\r
-\r
-               #endregion\r
-       }\r
-}
\ No newline at end of file
diff --git a/CoverageFramework/Element/Generator/IStatementGenerator.cs b/CoverageFramework/Element/Generator/IStatementGenerator.cs
new file mode 100644 (file)
index 0000000..5e00a57
--- /dev/null
@@ -0,0 +1,13 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Xml.Linq;\r
+\r
+namespace CoverageFramework.Element.Generator\r
+{\r
+       public interface IStatementGenerator\r
+       {\r
+               XElement[] Generate(int nameNumberHigh, int nameNumberLow, int size, int id);\r
+       }\r
+}\r
diff --git a/CoverageFramework/Element/Generator/IXElementGeneratorFactory.cs b/CoverageFramework/Element/Generator/IXElementGeneratorFactory.cs
deleted file mode 100644 (file)
index b760d1d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace CoverageFramework.Element.Generator\r
-{\r
-       public interface IXElementGeneratorFactory\r
-       {\r
-               IXElementGenerator GetInstance();\r
-       }\r
-}
\ No newline at end of file
diff --git a/CoverageFramework/Element/Generator/Java2/IXElementGenerator.cs b/CoverageFramework/Element/Generator/Java2/IXElementGenerator.cs
new file mode 100644 (file)
index 0000000..2e49f63
--- /dev/null
@@ -0,0 +1,22 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Xml.Linq;\r
+\r
+namespace CoverageFramework.Element.Generator.Java2\r
+{\r
+       public class ImportGenerator : IXElementGenerator\r
+       {\r
+               #region IXElementGenerator メンバ\r
+\r
+               public XElement[] Generate()\r
+               {\r
+                       return new[] {\r
+                               new XElement("TOKEN", "import covman.CovMan;\r\n"),\r
+                       };\r
+               }\r
+\r
+               #endregion\r
+       }\r
+}\r
diff --git a/CoverageFramework/Element/Generator/Java2/StatementCoverageGenerator.cs b/CoverageFramework/Element/Generator/Java2/StatementCoverageGenerator.cs
new file mode 100644 (file)
index 0000000..1bbd1f9
--- /dev/null
@@ -0,0 +1,22 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.ComponentModel.Composition;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Xml.Linq;\r
+\r
+namespace CoverageFramework.Element.Generator.Java2\r
+{\r
+       [Export(typeof(IStatementGenerator))]\r
+       public class StatementCoverageGenerator : IStatementGenerator\r
+       {\r
+               public XElement[] Generate(int nameNumberHigh, int nameNumberLow, int size, int id)\r
+               {\r
+                       var str = "statement(" + nameNumberHigh + "," + nameNumberLow + "," + size + "," + id + ")";\r
+                       return new[] {\r
+                               new XElement("TOKEN", str),\r
+                               new XElement("SEMI", ";"),\r
+                       };\r
+               }\r
+       }\r
+}\r
diff --git a/CoverageFramework/Element/Generator/Python3/CompoundStatementCoverageGenerator.cs b/CoverageFramework/Element/Generator/Python3/CompoundStatementCoverageGenerator.cs
new file mode 100644 (file)
index 0000000..0a7fe49
--- /dev/null
@@ -0,0 +1,22 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.ComponentModel.Composition;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Xml.Linq;\r
+\r
+namespace CoverageFramework.Element.Generator.Python3\r
+{\r
+       [Export(typeof(IStatementGenerator))]\r
+       public class CompoundStatementCoverageGenerator : IStatementGenerator\r
+       {\r
+               public XElement[] Generate(int nameNumberHigh, int nameNumberLow, int size, int id)\r
+               {\r
+                       var str = "statement(" + nameNumberHigh + "," + nameNumberLow + "," + size + "," + id + ")";\r
+                       return new[] {\r
+                               new XElement("TOKEN", str),\r
+                               new XElement("NEWLINE"),\r
+                       };\r
+               }\r
+       }\r
+}\r
diff --git a/CoverageFramework/Element/Generator/Python3/ImportGenerator.cs b/CoverageFramework/Element/Generator/Python3/ImportGenerator.cs
new file mode 100644 (file)
index 0000000..c40aec8
--- /dev/null
@@ -0,0 +1,25 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.ComponentModel.Composition;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Xml.Linq;\r
+\r
+namespace CoverageFramework.Element.Generator.Python3\r
+{\r
+       [Export(typeof(IXElementGenerator))]\r
+       public class ImportGenerator : IXElementGenerator \r
+       {\r
+               #region IXElementGenerator メンバ\r
+\r
+               public XElement[] Generate()\r
+               {\r
+                       return new[] {\r
+                               new XElement("TOKEN", "from coverage_manager import *"),\r
+                               new XElement("NEWLINE"),\r
+                       };\r
+               }\r
+\r
+               #endregion\r
+       }\r
+}\r
diff --git a/CoverageFramework/Element/Generator/Python3/StatementCoverageGenerator.cs b/CoverageFramework/Element/Generator/Python3/StatementCoverageGenerator.cs
new file mode 100644 (file)
index 0000000..d8d06fb
--- /dev/null
@@ -0,0 +1,22 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.ComponentModel.Composition;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Xml.Linq;\r
+\r
+namespace CoverageFramework.Element.Generator.Python3\r
+{\r
+       [Export(typeof(IStatementGenerator))]\r
+       public class StatementCoverageGenerator : IStatementGenerator\r
+       {\r
+               public XElement[] Generate(int nameNumberHigh, int nameNumberLow, int size, int id)\r
+               {\r
+                       var str = "statement(" + nameNumberHigh + "," + nameNumberLow + "," + size + "," + id + ")";\r
+                       return new[] {\r
+                               new XElement("TOKEN", str),\r
+                               new XElement("SEMI", ";"),\r
+                       };\r
+               }\r
+       }\r
+}\r
diff --git a/CoverageFramework/Element/Generator/XElementGeneratorFactory.cs b/CoverageFramework/Element/Generator/XElementGeneratorFactory.cs
deleted file mode 100644 (file)
index 654cf9f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace CoverageFramework.Element.Generator\r
-{\r
-       public abstract class XElementGeneratorFactory : IXElementGeneratorFactory\r
-       {\r
-               private IXElementGenerator _instance;\r
-\r
-               protected abstract IXElementGenerator CreateInstance();\r
-\r
-               #region IXElementGeneratorFactory \83\81\83\93\83o\r
-\r
-               public IXElementGenerator GetInstance()\r
-               {\r
-                       if (_instance == null)\r
-                       {\r
-                               _instance = CreateInstance();\r
-                       }\r
-                       return _instance;\r
-               }\r
-\r
-               #endregion\r
-       }\r
-}
\ No newline at end of file
index 53f859a..6de6d15 100644 (file)
@@ -4,15 +4,43 @@ using System.ComponentModel.Composition;
 using System.Linq;\r
 using System.Text;\r
 using System.Xml.Linq;\r
+using Paraiba.Linq;\r
+using Paraiba.Xml.Linq;\r
 \r
 namespace CoverageFramework.Element.Selector.C2\r
 {\r
        [Export(typeof(IXElementSelector))]\r
        public class ConditionalTermSelector : IXElementSelector\r
        {\r
+               private static readonly string[] TargetNames = {\r
+                       "logical_or_expression",\r
+                       "logical_and_expression",\r
+               };\r
+\r
+               private static readonly string[] WithoutParentNames = {\r
+                       "postfix_expression",\r
+               };\r
+\r
                public IEnumerable<XElement> Select(XElement root)\r
                {\r
-                       throw new NotImplementedException();\r
+                       var targetParents = root.Descendants()\r
+                               .Where(e => TargetNames.Any(e.Name.LocalName.EndsWith))\r
+                               .Where(e => e.Elements().Count() >= 3)\r
+                               .Where(e => e.ParentsWhile(root)\r
+                                       .Where(e2 => WithoutParentNames.Contains(e2.Name.LocalName))\r
+                                       .All(e2 => e2.Elements().Count() == 1)\r
+                               );\r
+                       var targets = targetParents\r
+                               .SelectMany(e => e.Elements().OddIndexElements());\r
+\r
+                       // 他の項の要素を含まない項の要素のみを抽出\r
+                       // a == b && (a == c || a == d) => a == b, a == c, a == d\r
+                       var atomicTargets = targets.Independents().ToList();\r
+\r
+                       // XML要素の位置でソーティング\r
+                       atomicTargets.Sort((e1, e2) => e1.IsBefore(e2) ? -1 : 1);\r
+\r
+                       return atomicTargets;\r
                }\r
        }\r
 }\r
index 4d286ac..8fdfda3 100644 (file)
@@ -19,7 +19,8 @@ namespace CoverageFramework.Element.Selector.C2
                {\r
                        return root.Descendants()\r
                                .Where(e => IfStatementNames.Contains(e.Name.LocalName))\r
-                               .Where(e => e.Elements().First().Value == "if");\r
+                               .Where(e => e.Elements().First().Value == "if")\r
+                               .Select(e => e.Elements().First(e2 => e2.Name.LocalName == "expression"));\r
                }\r
        }\r
 }\r
diff --git a/CoverageFramework/Element/Selector/C2/SimpleStatementSelector.cs b/CoverageFramework/Element/Selector/C2/SimpleStatementSelector.cs
new file mode 100644 (file)
index 0000000..a03fd40
--- /dev/null
@@ -0,0 +1,25 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.ComponentModel.Composition;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Xml.Linq;\r
+\r
+namespace CoverageFramework.Element.Selector.C2\r
+{\r
+       [Export(typeof(IXElementSelector))]\r
+       public class SimpleStatementSelector : IXElementSelector\r
+       {\r
+               private static readonly string[] StatementNames = {\r
+                       "expression_statement",\r
+            "jump_statement",\r
+               };\r
+\r
+               public IEnumerable<XElement> Select(XElement root)\r
+               {\r
+                       return root.Descendants()\r
+                               .Where(e => StatementNames.Contains(e.Name.LocalName))\r
+                               .Where(e => e.Parent.Name.LocalName == "statement");\r
+               }\r
+       }\r
+}\r
index b361a57..a4164db 100644 (file)
@@ -10,11 +10,18 @@ namespace CoverageFramework.Element.Selector.C2
        [Export(typeof(IXElementSelector))]\r
        public class StatementSelector : IXElementSelector\r
        {\r
+               private static readonly string[] StatementNames = {\r
+                       "expression_statement",\r
+                       "selection_statement",\r
+                       "iteration_statement",\r
+            "jump_statement",\r
+               };\r
+\r
                public IEnumerable<XElement> Select(XElement root)\r
                {\r
-                       return root\r
-                               .Descendants()\r
-                               .Where(e => e.Name.LocalName == "small_test");\r
+                       return root.Descendants()\r
+                               .Where(e => StatementNames.Contains(e.Name.LocalName))\r
+                               .Where(e => e.Parent.Name.LocalName == "statement");\r
                }\r
        }\r
 }\r
index 185435d..39d4c78 100644 (file)
@@ -13,12 +13,13 @@ namespace CoverageFramework.Element.Selector.Java2
        public class ConditionalTermSelector : IXElementSelector\r
        {\r
                private static readonly string[] TargetNames = {\r
-                       "logical_or_expression",\r
-                       "logical_and_expression",\r
+                       "ConditionalAndExpression",\r
+                       "InclusiveOrExpression",\r
                };\r
 \r
                private static readonly string[] WithoutParentNames = {\r
-                       "postfix_expression",\r
+                       "ArgumentList",\r
+                       "ArrayAccess",\r
                };\r
 \r
                public IEnumerable<XElement> Select(XElement root)\r
@@ -27,8 +28,7 @@ namespace CoverageFramework.Element.Selector.Java2
                                .Where(e => TargetNames.Any(e.Name.LocalName.EndsWith))\r
                                .Where(e => e.Elements().Count() >= 3)\r
                                .Where(e => e.ParentsWhile(root)\r
-                                       .Where(e2 => WithoutParentNames.Contains(e2.Name.LocalName))\r
-                                       .All(e2 => e2.Elements().Count() == 1)\r
+                                       .All(e2 => !WithoutParentNames.Any(e2.Name.LocalName.EndsWith))\r
                                );\r
                        var targets = targetParents\r
                                .SelectMany(e => e.Elements().OddIndexElements());\r
diff --git a/CoverageFramework/Element/Selector/Java2/SimpleStatementSelector.cs b/CoverageFramework/Element/Selector/Java2/SimpleStatementSelector.cs
new file mode 100644 (file)
index 0000000..baf0178
--- /dev/null
@@ -0,0 +1,37 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.ComponentModel.Composition;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Xml.Linq;\r
+\r
+namespace CoverageFramework.Element.Selector.Java2\r
+{\r
+       [Export(typeof(IXElementSelector))]\r
+       public class SimpleStatementSelector : IXElementSelector\r
+       {\r
+               private static readonly string[] StatementNames = {\r
+                       // StatementWithoutTrailingSubstatement\r
+            //"Block",\r
+                       "EmptyStatement",\r
+                       "ExpressionStatement",\r
+                       "AssertStatement",\r
+            //"SwitchStatement",\r
+                       //"DoStatement",\r
+                       "BreakStatement",\r
+                       "ContinueStatement",\r
+                       "ReturnStatement",\r
+                       //"SynchronizedStatement",\r
+                       "ThrowStatement",\r
+                       //"TryStatement",\r
+                       // BlockStatement\r
+            "LocalVariableDeclarationStatement",\r
+               };\r
+\r
+               public IEnumerable<XElement> Select(XElement root)\r
+               {\r
+                       return root.Descendants()\r
+                               .Where(e => StatementNames.Any(e.Name.LocalName.EndsWith));\r
+               }\r
+       }\r
+}\r
diff --git a/CoverageFramework/Element/Selector/Python3/CompoundStatementSelector.cs b/CoverageFramework/Element/Selector/Python3/CompoundStatementSelector.cs
new file mode 100644 (file)
index 0000000..3dbc3ce
--- /dev/null
@@ -0,0 +1,26 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.ComponentModel.Composition;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Xml.Linq;\r
+\r
+namespace CoverageFramework.Element.Selector.Python3\r
+{\r
+       [Export(typeof(IXElementSelector))]\r
+       public class CompoundStatementSelector : IXElementSelector\r
+       {\r
+               private static readonly string[] StatementNames = {\r
+                       "if_stmt",\r
+                       "while_stmt",\r
+                       "for_stmt",\r
+                       "with_stmt",\r
+               };\r
+\r
+               public IEnumerable<XElement> Select(XElement root)\r
+               {\r
+                       return root.Descendants()\r
+                               .Where(e => StatementNames.Any(e.Name.LocalName.EndsWith));\r
+               }\r
+       }\r
+}\r
@@ -8,13 +8,13 @@ using System.Xml.Linq;
 namespace CoverageFramework.Element.Selector.Python3\r
 {\r
        [Export(typeof(IXElementSelector))]\r
-       public class StatementSelector : IXElementSelector\r
+       public class SimpleStatementSelector : IXElementSelector\r
        {\r
                public IEnumerable<XElement> Select(XElement root)\r
                {\r
                        return root\r
                                .Descendants()\r
-                               .Where(e => e.Name.LocalName == "small_test");\r
+                               .Where(e => e.Name.LocalName == "small_stmt");\r
                }\r
        }\r
 }\r
index c3a8ccc..d17ae0b 100644 (file)
@@ -25,16 +25,27 @@ namespace CoverageFramework.Embedder
                                });\r
                }\r
 \r
-               public void Embed(XElement root, IXElementSelector statementSelector, ITaggedXElementGenerator covGen, ITagger tagger, IDictionary<string, CoverageInfomation> covInfos)\r
+               public IList<XElement> GetTargetElements(XElement root, IXElementSelector statementSelector)\r
+               {\r
+                       var list = statementSelector.Select(root).ToList();\r
+\r
+                       return list;\r
+               }\r
+\r
+               public void Embed(XElement root, IXElementSelector statementSelector, IStatementGenerator covGen, ITagger tagger, IList<CoverageInfomation> covInfos)\r
                {\r
                        statementSelector.Select(root).ToList()\r
                                .ForEach(target => {\r
-                                       var key = "stmt," + (_iStatement++);\r
-                                       var pos = CodePositionUtil.CreateCodePosition(target);\r
-                                       covInfos[key] = new CoverageInfomation(pos, tagger.Generate(target));\r
+                                       target.AddBeforeSelf(covGen.Generate());\r
 \r
-                                       target.AddBeforeSelf(covGen.Generate(key));\r
+                                       var pos = CodePositionUtil.CreateCodePosition(target);\r
+                                       covInfos.Add(new CoverageInfomation(pos, tagger.Generate(target)));\r
                                });\r
                }\r
+\r
+               public void Count(XElement root, IXElementSelector statementSelector)\r
+               {\r
+                       return statementSelector.Select(root).Count();\r
+               }\r
        }\r
 }
\ No newline at end of file
index 9e2428b..2a01640 100644 (file)
@@ -6,6 +6,7 @@ using System.Linq;
 using System.Reflection;\r
 using System.Text;\r
 using CoverageFramework.AstGenerator;\r
+using CoverageFramework.Element.Generator;\r
 using CoverageFramework.Element.Selector;\r
 \r
 namespace CoverageFramework.Utility\r
@@ -25,6 +26,9 @@ namespace CoverageFramework.Utility
                [ImportMany]\r
                private IEnumerable<IXElementSelector> _xElementSelectors = null;\r
 \r
+               [ImportMany]\r
+               private IEnumerable<IXElementGenerator> _xElementGenerators = null;\r
+\r
                public static IEnumerable<IAstGenerator> AstGenerators\r
                {\r
                        get { return Instance._astGenerators; }\r
@@ -35,6 +39,11 @@ namespace CoverageFramework.Utility
                        get { return Instance._xElementSelectors; }\r
                }\r
 \r
+               public static IEnumerable<IXElementGenerator> XElementGenerators\r
+               {\r
+                       get { return Instance._xElementGenerators; }\r
+               }\r
+\r
                private InstanceFactory()\r
                {\r
                        var catalog = new AggregateCatalog();\r
diff --git a/SharedMemory/AssemblyInfo.cpp b/SharedMemory/AssemblyInfo.cpp
new file mode 100644 (file)
index 0000000..734134e
--- /dev/null
@@ -0,0 +1,40 @@
+#include "stdafx.h"\r
+\r
+using namespace System;\r
+using namespace System::Reflection;\r
+using namespace System::Runtime::CompilerServices;\r
+using namespace System::Runtime::InteropServices;\r
+using namespace System::Security::Permissions;\r
+\r
+//\r
+// \83A\83Z\83\93\83u\83\8a\82É\8aÖ\82·\82é\88ê\94Ê\8fî\95ñ\82Í\88È\89º\82Ì\91®\90«\83Z\83b\83g\82ð\82Æ\82¨\82µ\82Ä\90§\8cä\82³\82ê\82Ü\82·\81B\r
+// \83A\83Z\83\93\83u\83\8a\82É\8aÖ\98A\95t\82¯\82ç\82ê\82Ä\82¢\82é\8fî\95ñ\82ð\95Ï\8dX\82·\82é\82É\82Í\81A\r
+// \82±\82ê\82ç\82Ì\91®\90«\92l\82ð\95Ï\8dX\82µ\82Ä\82­\82¾\82³\82¢\81B\r
+//\r
+[assembly:AssemblyTitleAttribute("SharedMemory")];\r
+[assembly:AssemblyDescriptionAttribute("")];\r
+[assembly:AssemblyConfigurationAttribute("")];\r
+[assembly:AssemblyCompanyAttribute("")];\r
+[assembly:AssemblyProductAttribute("SharedMemory")];\r
+[assembly:AssemblyCopyrightAttribute("Copyright (c)  2009")];\r
+[assembly:AssemblyTrademarkAttribute("")];\r
+[assembly:AssemblyCultureAttribute("")];\r
+\r
+//\r
+// \83A\83Z\83\93\83u\83\8a\82Ì\83o\81[\83W\83\87\83\93\8fî\95ñ\82Í\81A\88È\89º\82Ì 4 \82Â\82Ì\92l\82Å\8d\\90¬\82³\82ê\82Ä\82¢\82Ü\82·:\r
+//\r
+//      Major Version\r
+//      Minor Version\r
+//      Build Number\r
+//      Revision\r
+//\r
+// \82·\82×\82Ä\82Ì\92l\82ð\8ew\92è\82·\82é\82©\81A\89º\82Ì\82æ\82¤\82É '*' \82ð\8eg\82Á\82Ä\83\8a\83r\83W\83\87\83\93\82¨\82æ\82Ñ\83r\83\8b\83h\94Ô\8d\86\82ð\r
+// \8aù\92è\92l\82É\82·\82é\82±\82Æ\82ª\82Å\82«\82Ü\82·:\r
+\r
+[assembly:AssemblyVersionAttribute("1.0.*")];\r
+\r
+[assembly:ComVisible(false)];\r
+\r
+[assembly:CLSCompliantAttribute(true)];\r
+\r
+[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];\r
diff --git a/SharedMemory/CoverageManager.cpp b/SharedMemory/CoverageManager.cpp
new file mode 100644 (file)
index 0000000..1414b69
--- /dev/null
@@ -0,0 +1,17 @@
+#include "stdafx.h"\r
+#include "CoverageManager.h"\r
+\r
+HANDLE CoverageManager::_hMemory = NULL;\r
+char *CoverageManager::_memory = NULL;\r
+\r
+int read(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+       return CoverageManager::read(nameNumberHigh, nameNumberLow, size, id);\r
+}\r
+\r
+bool branch(int nameNumberHigh, int nameNumberLow, int size, int id, bool value) {\r
+       return CoverageManager::branch(nameNumberHigh, nameNumberLow, size, id, value);\r
+}\r
+\r
+void statement(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+       CoverageManager::statement(nameNumberHigh, nameNumberLow, size, id);\r
+}\r
diff --git a/SharedMemory/CoverageManager.h b/SharedMemory/CoverageManager.h
new file mode 100644 (file)
index 0000000..ecc3ff6
--- /dev/null
@@ -0,0 +1,74 @@
+#ifndef COVERAGE_MANAGER_H_\r
+#define COVERAGE_MANAGER_H_\r
+\r
+#undef UNICODE\r
+#include <stdio.h>\r
+#include <windows.h>\r
+\r
+class CoverageManager\r
+{\r
+private:\r
+       static HANDLE _hMemory;\r
+       static char *_memory;\r
+       \r
+       static bool initialize(int nameNumberHigh, int nameNumberLow, int size) {\r
+               char name[256];\r
+               sprintf(name, "%d-%d-%d", nameNumberHigh, nameNumberLow, size);\r
+\r
+               _hMemory = CreateFileMapping(\r
+                       (HANDLE)-1,                     // \83t\83@\83C\83\8b\82Ì\83n\83\93\83h\83\8b(0xFFFFFFFF\82¾\82Æ\83t\83@\83C\83\8b\82ð\90\90¬\82µ\82È\82¢)\r
+                       NULL,                           // \83Z\83L\83\85\83\8a\83e\83B\r
+                       PAGE_READWRITE,         // \95Û\8cì\r
+                       0,                                      // \83T\83C\83Y\82ð\95\\82·\8fã\88Ê DWORD\r
+                       size,                           // \83T\83C\83Y\82ð\95\\82·\89º\88Ê DWORD\r
+                       name);                          // \83I\83u\83W\83F\83N\83g\96¼\81i\8e¯\95Ê\8eq\81j\r
+               if (GetLastError() == ERROR_ALREADY_EXISTS) {\r
+                       _hMemory = OpenFileMapping(\r
+                               FILE_MAP_ALL_ACCESS,    // \83A\83N\83Z\83X\83\82\81[\83h\r
+                               FALSE,                                  // \8cp\8f³\83t\83\89\83O\81i\8eq\83v\83\8d\83Z\83X\82É\8cp\8f³\82·\82é\82©\94Û\82©\81j\r
+                               name);                                  // \83I\83u\83W\83F\83N\83g\96¼\81i\8e¯\95Ê\8eq\81j\r
+               }\r
+               if (_hMemory == NULL)\r
+                       return false;\r
+\r
+               _memory = (char*)MapViewOfFile(\r
+                       _hMemory,                               // \83t\83@\83C\83\8b\83}\83b\83s\83\93\83O\83I\83u\83W\83F\83N\83g\82Ì\83n\83\93\83h\83\8b\r
+                       FILE_MAP_ALL_ACCESS,    // \83A\83N\83Z\83X\83\82\81[\83h\r
+                       0,                                              // \83I\83t\83Z\83b\83g\82Ì\8fã\88Ê DWORD\r
+                       0,                                              // \83I\83t\83Z\83b\83g\82Ì\89º\88Ê DWORD\r
+                       0);                                             // \83}\83b\83v\91Î\8fÛ\82Ì\83o\83C\83g\90\94\r
+               if (_memory == NULL)\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+       static void write(int nameNumberHigh, int nameNumberLow, int size, int id, char value) {\r
+               if (_memory == NULL && initialize(nameNumberHigh, nameNumberLow, size) == false) {\r
+                       return;\r
+               }\r
+               _memory[id] |= value;\r
+       }\r
+\r
+public:\r
+       static int read(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+               if (_memory == NULL && initialize(nameNumberHigh, nameNumberLow, size) == false) {\r
+                       return -1;\r
+               }\r
+               return _memory[id];\r
+       }\r
+       \r
+       static bool branch(int nameNumberHigh, int nameNumberLow, int size, int id, bool value) {\r
+               write(nameNumberHigh, nameNumberLow, size, id, value ? 1 : 2);\r
+               return value;\r
+       }\r
+       \r
+       static void statement(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+               write(nameNumberHigh, nameNumberLow, size, id, 3);\r
+       }\r
+};\r
+\r
+extern int read(int nameNumberHigh, int nameNumberLow, int size, int id);\r
+extern bool branch(int nameNumberHigh, int nameNumberLow, int size, int id, bool value);\r
+extern void statement(int nameNumberHigh, int nameNumberLow, int size, int id);\r
+\r
+#endif //COVERAGE_MANAGER_H_\r
diff --git a/SharedMemory/Java/CoverageManager.cpp b/SharedMemory/Java/CoverageManager.cpp
new file mode 100644 (file)
index 0000000..1414b69
--- /dev/null
@@ -0,0 +1,17 @@
+#include "stdafx.h"\r
+#include "CoverageManager.h"\r
+\r
+HANDLE CoverageManager::_hMemory = NULL;\r
+char *CoverageManager::_memory = NULL;\r
+\r
+int read(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+       return CoverageManager::read(nameNumberHigh, nameNumberLow, size, id);\r
+}\r
+\r
+bool branch(int nameNumberHigh, int nameNumberLow, int size, int id, bool value) {\r
+       return CoverageManager::branch(nameNumberHigh, nameNumberLow, size, id, value);\r
+}\r
+\r
+void statement(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+       CoverageManager::statement(nameNumberHigh, nameNumberLow, size, id);\r
+}\r
diff --git a/SharedMemory/Java/CoverageManager.h b/SharedMemory/Java/CoverageManager.h
new file mode 100644 (file)
index 0000000..ecc3ff6
--- /dev/null
@@ -0,0 +1,74 @@
+#ifndef COVERAGE_MANAGER_H_\r
+#define COVERAGE_MANAGER_H_\r
+\r
+#undef UNICODE\r
+#include <stdio.h>\r
+#include <windows.h>\r
+\r
+class CoverageManager\r
+{\r
+private:\r
+       static HANDLE _hMemory;\r
+       static char *_memory;\r
+       \r
+       static bool initialize(int nameNumberHigh, int nameNumberLow, int size) {\r
+               char name[256];\r
+               sprintf(name, "%d-%d-%d", nameNumberHigh, nameNumberLow, size);\r
+\r
+               _hMemory = CreateFileMapping(\r
+                       (HANDLE)-1,                     // \83t\83@\83C\83\8b\82Ì\83n\83\93\83h\83\8b(0xFFFFFFFF\82¾\82Æ\83t\83@\83C\83\8b\82ð\90\90¬\82µ\82È\82¢)\r
+                       NULL,                           // \83Z\83L\83\85\83\8a\83e\83B\r
+                       PAGE_READWRITE,         // \95Û\8cì\r
+                       0,                                      // \83T\83C\83Y\82ð\95\\82·\8fã\88Ê DWORD\r
+                       size,                           // \83T\83C\83Y\82ð\95\\82·\89º\88Ê DWORD\r
+                       name);                          // \83I\83u\83W\83F\83N\83g\96¼\81i\8e¯\95Ê\8eq\81j\r
+               if (GetLastError() == ERROR_ALREADY_EXISTS) {\r
+                       _hMemory = OpenFileMapping(\r
+                               FILE_MAP_ALL_ACCESS,    // \83A\83N\83Z\83X\83\82\81[\83h\r
+                               FALSE,                                  // \8cp\8f³\83t\83\89\83O\81i\8eq\83v\83\8d\83Z\83X\82É\8cp\8f³\82·\82é\82©\94Û\82©\81j\r
+                               name);                                  // \83I\83u\83W\83F\83N\83g\96¼\81i\8e¯\95Ê\8eq\81j\r
+               }\r
+               if (_hMemory == NULL)\r
+                       return false;\r
+\r
+               _memory = (char*)MapViewOfFile(\r
+                       _hMemory,                               // \83t\83@\83C\83\8b\83}\83b\83s\83\93\83O\83I\83u\83W\83F\83N\83g\82Ì\83n\83\93\83h\83\8b\r
+                       FILE_MAP_ALL_ACCESS,    // \83A\83N\83Z\83X\83\82\81[\83h\r
+                       0,                                              // \83I\83t\83Z\83b\83g\82Ì\8fã\88Ê DWORD\r
+                       0,                                              // \83I\83t\83Z\83b\83g\82Ì\89º\88Ê DWORD\r
+                       0);                                             // \83}\83b\83v\91Î\8fÛ\82Ì\83o\83C\83g\90\94\r
+               if (_memory == NULL)\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+       static void write(int nameNumberHigh, int nameNumberLow, int size, int id, char value) {\r
+               if (_memory == NULL && initialize(nameNumberHigh, nameNumberLow, size) == false) {\r
+                       return;\r
+               }\r
+               _memory[id] |= value;\r
+       }\r
+\r
+public:\r
+       static int read(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+               if (_memory == NULL && initialize(nameNumberHigh, nameNumberLow, size) == false) {\r
+                       return -1;\r
+               }\r
+               return _memory[id];\r
+       }\r
+       \r
+       static bool branch(int nameNumberHigh, int nameNumberLow, int size, int id, bool value) {\r
+               write(nameNumberHigh, nameNumberLow, size, id, value ? 1 : 2);\r
+               return value;\r
+       }\r
+       \r
+       static void statement(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+               write(nameNumberHigh, nameNumberLow, size, id, 3);\r
+       }\r
+};\r
+\r
+extern int read(int nameNumberHigh, int nameNumberLow, int size, int id);\r
+extern bool branch(int nameNumberHigh, int nameNumberLow, int size, int id, bool value);\r
+extern void statement(int nameNumberHigh, int nameNumberLow, int size, int id);\r
+\r
+#endif //COVERAGE_MANAGER_H_\r
diff --git a/SharedMemory/Java/CoverageManager.i b/SharedMemory/Java/CoverageManager.i
new file mode 100644 (file)
index 0000000..484d824
--- /dev/null
@@ -0,0 +1,7 @@
+%module coverage_manager\r
+\r
+%{\r
+#include "CoverageManager.h"\r
+%}\r
+\r
+%include "CoverageManager.h"\r
diff --git a/SharedMemory/Java/Stdafx.h b/SharedMemory/Java/Stdafx.h
new file mode 100644 (file)
index 0000000..aeef9ea
--- /dev/null
@@ -0,0 +1,7 @@
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\82Ì\83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\81A\82Ü\82½\82Í\r
+// \8eQ\8fÆ\89ñ\90\94\82ª\91½\82­\81A\82©\82Â\82 \82Ü\82è\95Ï\8dX\82³\82ê\82È\82¢\81A\83v\83\8d\83W\83F\83N\83g\90ê\97p\82Ì\83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\r
+// \82ð\8bL\8fq\82µ\82Ü\82·\81B\r
+\r
+#pragma once\r
+\r
+\r
diff --git a/SharedMemory/Python/CoverageManager.cpp b/SharedMemory/Python/CoverageManager.cpp
new file mode 100644 (file)
index 0000000..1414b69
--- /dev/null
@@ -0,0 +1,17 @@
+#include "stdafx.h"\r
+#include "CoverageManager.h"\r
+\r
+HANDLE CoverageManager::_hMemory = NULL;\r
+char *CoverageManager::_memory = NULL;\r
+\r
+int read(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+       return CoverageManager::read(nameNumberHigh, nameNumberLow, size, id);\r
+}\r
+\r
+bool branch(int nameNumberHigh, int nameNumberLow, int size, int id, bool value) {\r
+       return CoverageManager::branch(nameNumberHigh, nameNumberLow, size, id, value);\r
+}\r
+\r
+void statement(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+       CoverageManager::statement(nameNumberHigh, nameNumberLow, size, id);\r
+}\r
diff --git a/SharedMemory/Python/CoverageManager.h b/SharedMemory/Python/CoverageManager.h
new file mode 100644 (file)
index 0000000..ecc3ff6
--- /dev/null
@@ -0,0 +1,74 @@
+#ifndef COVERAGE_MANAGER_H_\r
+#define COVERAGE_MANAGER_H_\r
+\r
+#undef UNICODE\r
+#include <stdio.h>\r
+#include <windows.h>\r
+\r
+class CoverageManager\r
+{\r
+private:\r
+       static HANDLE _hMemory;\r
+       static char *_memory;\r
+       \r
+       static bool initialize(int nameNumberHigh, int nameNumberLow, int size) {\r
+               char name[256];\r
+               sprintf(name, "%d-%d-%d", nameNumberHigh, nameNumberLow, size);\r
+\r
+               _hMemory = CreateFileMapping(\r
+                       (HANDLE)-1,                     // \83t\83@\83C\83\8b\82Ì\83n\83\93\83h\83\8b(0xFFFFFFFF\82¾\82Æ\83t\83@\83C\83\8b\82ð\90\90¬\82µ\82È\82¢)\r
+                       NULL,                           // \83Z\83L\83\85\83\8a\83e\83B\r
+                       PAGE_READWRITE,         // \95Û\8cì\r
+                       0,                                      // \83T\83C\83Y\82ð\95\\82·\8fã\88Ê DWORD\r
+                       size,                           // \83T\83C\83Y\82ð\95\\82·\89º\88Ê DWORD\r
+                       name);                          // \83I\83u\83W\83F\83N\83g\96¼\81i\8e¯\95Ê\8eq\81j\r
+               if (GetLastError() == ERROR_ALREADY_EXISTS) {\r
+                       _hMemory = OpenFileMapping(\r
+                               FILE_MAP_ALL_ACCESS,    // \83A\83N\83Z\83X\83\82\81[\83h\r
+                               FALSE,                                  // \8cp\8f³\83t\83\89\83O\81i\8eq\83v\83\8d\83Z\83X\82É\8cp\8f³\82·\82é\82©\94Û\82©\81j\r
+                               name);                                  // \83I\83u\83W\83F\83N\83g\96¼\81i\8e¯\95Ê\8eq\81j\r
+               }\r
+               if (_hMemory == NULL)\r
+                       return false;\r
+\r
+               _memory = (char*)MapViewOfFile(\r
+                       _hMemory,                               // \83t\83@\83C\83\8b\83}\83b\83s\83\93\83O\83I\83u\83W\83F\83N\83g\82Ì\83n\83\93\83h\83\8b\r
+                       FILE_MAP_ALL_ACCESS,    // \83A\83N\83Z\83X\83\82\81[\83h\r
+                       0,                                              // \83I\83t\83Z\83b\83g\82Ì\8fã\88Ê DWORD\r
+                       0,                                              // \83I\83t\83Z\83b\83g\82Ì\89º\88Ê DWORD\r
+                       0);                                             // \83}\83b\83v\91Î\8fÛ\82Ì\83o\83C\83g\90\94\r
+               if (_memory == NULL)\r
+                       return false;\r
+               return true;\r
+       }\r
+\r
+       static void write(int nameNumberHigh, int nameNumberLow, int size, int id, char value) {\r
+               if (_memory == NULL && initialize(nameNumberHigh, nameNumberLow, size) == false) {\r
+                       return;\r
+               }\r
+               _memory[id] |= value;\r
+       }\r
+\r
+public:\r
+       static int read(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+               if (_memory == NULL && initialize(nameNumberHigh, nameNumberLow, size) == false) {\r
+                       return -1;\r
+               }\r
+               return _memory[id];\r
+       }\r
+       \r
+       static bool branch(int nameNumberHigh, int nameNumberLow, int size, int id, bool value) {\r
+               write(nameNumberHigh, nameNumberLow, size, id, value ? 1 : 2);\r
+               return value;\r
+       }\r
+       \r
+       static void statement(int nameNumberHigh, int nameNumberLow, int size, int id) {\r
+               write(nameNumberHigh, nameNumberLow, size, id, 3);\r
+       }\r
+};\r
+\r
+extern int read(int nameNumberHigh, int nameNumberLow, int size, int id);\r
+extern bool branch(int nameNumberHigh, int nameNumberLow, int size, int id, bool value);\r
+extern void statement(int nameNumberHigh, int nameNumberLow, int size, int id);\r
+\r
+#endif //COVERAGE_MANAGER_H_\r
diff --git a/SharedMemory/Python/CoverageManager.i b/SharedMemory/Python/CoverageManager.i
new file mode 100644 (file)
index 0000000..484d824
--- /dev/null
@@ -0,0 +1,7 @@
+%module coverage_manager\r
+\r
+%{\r
+#include "CoverageManager.h"\r
+%}\r
+\r
+%include "CoverageManager.h"\r
diff --git a/SharedMemory/Python/Stdafx.h b/SharedMemory/Python/Stdafx.h
new file mode 100644 (file)
index 0000000..aeef9ea
--- /dev/null
@@ -0,0 +1,7 @@
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\82Ì\83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\81A\82Ü\82½\82Í\r
+// \8eQ\8fÆ\89ñ\90\94\82ª\91½\82­\81A\82©\82Â\82 \82Ü\82è\95Ï\8dX\82³\82ê\82È\82¢\81A\83v\83\8d\83W\83F\83N\83g\90ê\97p\82Ì\83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\r
+// \82ð\8bL\8fq\82µ\82Ü\82·\81B\r
+\r
+#pragma once\r
+\r
+\r
diff --git a/SharedMemory/Python/memo.txt b/SharedMemory/Python/memo.txt
new file mode 100644 (file)
index 0000000..79eacd4
--- /dev/null
@@ -0,0 +1,9 @@
+swig -c++ -python CoverageManager.i\r
+setup.py build_ext --swig-cpp\r
+build/lib.win32-2.5/_coverage_manager.pyd \82ð coverage_manager.py \82Æ\93¯\82\83t\83H\83\8b\83_\82É\92u\82­\r
+\r
+import os\r
+os.chdir("C:\Local\Projects\OpenCodeCoverageFramework\SharedMemory\Python")\r
+from coverage_manager import *\r
+statement(0, 0, 100, 0)\r
+read(0, 0, 100, 0)\r
diff --git a/SharedMemory/Python/setup.py b/SharedMemory/Python/setup.py
new file mode 100644 (file)
index 0000000..0725e05
--- /dev/null
@@ -0,0 +1,10 @@
+from distutils.core import setup, Extension\r
+\r
+setup(\r
+  ext_modules = [\r
+    Extension('_coverage_manager', ['CoverageManager.i', 'CoverageManager.cpp'],\r
+      library_dirs=[],\r
+      libraries=[],\r
+      extra_compile_args=[],\r
+      extra_link_args=[])\r
+  ])\r
diff --git a/SharedMemory/ReadMe.txt b/SharedMemory/ReadMe.txt
new file mode 100644 (file)
index 0000000..0b67bec
--- /dev/null
@@ -0,0 +1,32 @@
+===============================================================================\r
+    \83_\83C\83i\83~\83b\83\83\8a\83\93\83\83\89\83C\83u\83\89\83\8a: SharedMemory \83v\83\8d\83W\83F\83N\83g\82Ì\8aT\97v\r
+===============================================================================\r
+\r
+\82±\82Ì SharedMemory DLL \82Í\81AAppWizard \82É\82æ\82Á\82Ä\8dì\90¬\82³\82ê\82Ü\82µ\82½\81B  \r
+\r
+\82±\82Ì\83t\83@\83C\83\8b\82É\82Í\81ASharedMemory \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ð\8d\\90¬\82·\82é\8ae\83t\83@\83C\83\8b\82Ì\r
+\93à\97e\82Ì\8aT\97ª\82ª\8bL\8fq\82³\82ê\82Ä\82¢\82Ü\82·\81B\r
+\r
+SharedMemory.vcproj\r
+    \82±\82ê\82Í\81A\83A\83v\83\8a\83P\81[\83V\83\87\83\93 \83E\83B\83U\81[\83h\82Å\90\90¬\82³\82ê\82é VC++ \83v\83\8d\83W\83F\83N\83g\82Ì\83\81\83C\83\93\82Ì\r
+    \83v\83\8d\83W\83F\83N\83\83t\83@\83C\83\8b\82Å\82·\81\r
+    \83t\83@\83C\83\8b\82ð\90\90¬\82µ\82½ Visual C++ \82Ì\83o\81[\83W\83\87\83\93\8fî\95ñ\82Æ\81A\83A\83v\83\8a\83P\81[\83V\83\87\83\93 \83E\83B\83U\81[\r
+    \83h\82Å\91I\91ð\82µ\82½\83v\83\89\83b\83g\83t\83H\81[\83\80\81A\8d\\90¬\81A\82¨\82æ\82Ñ\83v\83\8d\83W\83F\83N\83g\82Ì\8b@\94\\82É\8aÖ\82·\82é\8fî\95ñ\82ª\r
+    \8bL\8fq\82³\82ê\82Ä\82¢\82Ü\82·\81B\r
+\r
+SharedMemory.cpp\r
+    \82±\82ê\82Í\81A\83\81\83C\83\93\82Ì DLL \83\\81[\83\83t\83@\83C\83\8b\82Å\82·\81B\r
+\r
+SharedMemory.h\r
+    \82±\82Ì\83t\83@\83C\83\8b\82É\82Í\81A\83N\83\89\83X\90é\8c¾\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82Ü\82·\81B\r
+\r
+AssemblyInfo.cpp\r
+       \83A\83Z\83\93\83u\83\8a \83\81\83^\83f\81[\83^\82ð\95Ï\8dX\82·\82é\82½\82ß\82Ì\83J\83X\83^\83\80\91®\90«\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82Ü\82·\81B\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
+\82»\82Ì\91¼\82Ì\83\81\83\82 :\r
+\r
+AppWizard \82Å\82Í\81A"TODO:" \82ð\8eg\97p\82µ\82Ä\81A\83\86\81[\83U\81[\82ª\92Ç\89Á\82Ü\82½\82Í\83J\83X\83^\83}\83C\83Y\82·\82é\83\\81[\83X\r
+\95\94\95ª\82ð\8e¦\82µ\82Ü\82·\81B\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
diff --git a/SharedMemory/SharedMemory.cpp b/SharedMemory/SharedMemory.cpp
new file mode 100644 (file)
index 0000000..d9b7bac
--- /dev/null
@@ -0,0 +1,6 @@
+// \82±\82ê\82Í \83\81\83C\83\93 DLL \83t\83@\83C\83\8b\82Å\82·\81B\r
+\r
+#include "stdafx.h"\r
+\r
+#include "SharedMemory.h"\r
+\r
diff --git a/SharedMemory/SharedMemory.h b/SharedMemory/SharedMemory.h
new file mode 100644 (file)
index 0000000..03b055a
--- /dev/null
@@ -0,0 +1,29 @@
+// SharedMemory.h\r
+\r
+#pragma once\r
+\r
+#include "CoverageManager.h"\r
+\r
+using namespace System;\r
+\r
+namespace SharedMemory {\r
+\r
+       public ref class CoverageManagerWrapper\r
+       {\r
+       public:\r
+               static int Read(int nameNumberHigh, int nameNumberLow, int size, int id)\r
+               {\r
+                       return CoverageManager::read(nameNumberHigh, nameNumberLow, size, id);\r
+               }\r
+\r
+               static bool Branch(int nameNumberHigh, int nameNumberLow, int size, int id, bool value)\r
+               {\r
+                       return CoverageManager::branch(nameNumberHigh, nameNumberLow, size, id, value);\r
+               }\r
+\r
+               static void Statement(int nameNumberHigh, int nameNumberLow, int size, int id)\r
+               {\r
+                       CoverageManager::statement(nameNumberHigh, nameNumberLow, size, id);\r
+               }\r
+       };\r
+}\r
diff --git a/SharedMemory/SharedMemory.vcproj b/SharedMemory/SharedMemory.vcproj
new file mode 100644 (file)
index 0000000..9f2346b
--- /dev/null
@@ -0,0 +1,260 @@
+<?xml version="1.0" encoding="shift_jis"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="9.00"\r
+       Name="SharedMemory"\r
+       ProjectGUID="{3958C313-7307-47C4-A091-E1C7579A813A}"\r
+       RootNamespace="SharedMemory"\r
+       Keyword="ManagedCProj"\r
+       TargetFrameworkVersion="196613"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
+                       IntermediateDirectory="$(ConfigurationName)"\r
+                       ConfigurationType="2"\r
+                       CharacterSet="1"\r
+                       ManagedExtensions="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               PreprocessorDefinitions="WIN32;_DEBUG"\r
+                               RuntimeLibrary="3"\r
+                               UsePrecompiledHeader="2"\r
+                               WarningLevel="3"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalDependencies="$(NoInherit)"\r
+                               LinkIncremental="2"\r
+                               GenerateDebugInformation="true"\r
+                               AssemblyDebug="1"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
+                       IntermediateDirectory="$(ConfigurationName)"\r
+                       ConfigurationType="2"\r
+                       CharacterSet="1"\r
+                       ManagedExtensions="1"\r
+                       WholeProgramOptimization="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               PreprocessorDefinitions="WIN32;NDEBUG"\r
+                               RuntimeLibrary="2"\r
+                               UsePrecompiledHeader="2"\r
+                               WarningLevel="3"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalDependencies="$(NoInherit)"\r
+                               LinkIncremental="1"\r
+                               GenerateDebugInformation="true"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+               <AssemblyReference\r
+                       RelativePath="System.dll"\r
+                       AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"\r
+                       MinFrameworkVersion="131072"\r
+               />\r
+               <AssemblyReference\r
+                       RelativePath="System.Data.dll"\r
+                       AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"\r
+                       MinFrameworkVersion="131072"\r
+               />\r
+               <AssemblyReference\r
+                       RelativePath="System.XML.dll"\r
+                       AssemblyName="System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"\r
+                       MinFrameworkVersion="131072"\r
+               />\r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="\83\\81[\83\83t\83@\83C\83\8b"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\AssemblyInfo.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\CoverageManager.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\SharedMemory.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\Stdafx.cpp"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="\83w\83b\83_\81\83t\83@\83C\83\8b"\r
+                       Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
+                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\CoverageManager.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\resource.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\SharedMemory.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\Stdafx.h"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="\83\8a\83\\81[\83\83t\83@\83C\83\8b"\r
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"\r
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\app.ico"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\app.rc"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <File\r
+                       RelativePath=".\ReadMe.txt"\r
+                       >\r
+               </File>\r
+       </Files>\r
+       <Globals>\r
+       </Globals>\r
+</VisualStudioProject>\r
diff --git a/SharedMemory/Stdafx.cpp b/SharedMemory/Stdafx.cpp
new file mode 100644 (file)
index 0000000..9c099f8
--- /dev/null
@@ -0,0 +1,5 @@
+// stdafx.cpp : \95W\8f\80\83C\83\93\83N\83\8b\81[\83h SharedMemory.pch \82Ì\82Ý\82ð\r
+// \8aÜ\82Þ\83\\81[\83\83t\83@\83C\83\8b\82Í\81A\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\83w\83b\83_\81[\82É\82È\82è\82Ü\82·\81B\r
+// stdafx.obj \82É\82Í\83v\83\8a\83R\83\93\83p\83C\83\8b\8dÏ\82Ý\8c^\8fî\95ñ\82ª\8aÜ\82Ü\82ê\82Ü\82·\81B\r
+\r
+#include "stdafx.h"\r
diff --git a/SharedMemory/Stdafx.h b/SharedMemory/Stdafx.h
new file mode 100644 (file)
index 0000000..aeef9ea
--- /dev/null
@@ -0,0 +1,7 @@
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\82Ì\83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\81A\82Ü\82½\82Í\r
+// \8eQ\8fÆ\89ñ\90\94\82ª\91½\82­\81A\82©\82Â\82 \82Ü\82è\95Ï\8dX\82³\82ê\82È\82¢\81A\83v\83\8d\83W\83F\83N\83g\90ê\97p\82Ì\83C\83\93\83N\83\8b\81[\83\83t\83@\83C\83\8b\r
+// \82ð\8bL\8fq\82µ\82Ü\82·\81B\r
+\r
+#pragma once\r
+\r
+\r
diff --git a/SharedMemory/app.ico b/SharedMemory/app.ico
new file mode 100644 (file)
index 0000000..3a5525f
Binary files /dev/null and b/SharedMemory/app.ico differ
diff --git a/SharedMemory/app.rc b/SharedMemory/app.rc
new file mode 100644 (file)
index 0000000..2ad8e34
--- /dev/null
@@ -0,0 +1,63 @@
+// Microsoft Visual C++ \82Å\90\90¬\82³\82ê\82½\83\8a\83\\81[\83\83X\83N\83\8a\83v\83g\82Å\82·\81B\r
+//\r
+#include "resource.h"\r
+\r
+#define APSTUDIO_READONLY_SYMBOLS\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+#undef APSTUDIO_READONLY_SYMBOLS\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+// \89p\8cê (\95Ä\8d\91\83\8a\83\\81[\83X\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// \83A\83C\83R\83\93\r
+//\r
+\r
+// \8dÅ\8f\89\82É\94z\92u\82³\82ê\82½\83A\83C\83R\83\93\81A\82Ü\82½\82Í ID \92l\82ª\8dÅ\82à\92á\82¢\83A\83C\83R\83\93\82ª\81A\83A\83v\83\8a\83P\81[\83V\83\87\83\93 \83A\83C\83R\83\93\82É\82È\82è\82Ü\82·\81B\r
+\r
+LANGUAGE 17, 1\r
+#pragma code_page(932)\r
+1           ICON         "app.ico"\r
+\r
+#ifdef APSTUDIO_INVOKED\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// TEXTINCLUDE\r
+//\r
+\r
+1 TEXTINCLUDE  \r
+BEGIN\r
+    "resource.h\0"\r
+    "\0"\r
+END\r
+\r
+2 TEXTINCLUDE  \r
+BEGIN\r
+    "#include ""afxres.h""\r\n"\r
+    "\0"\r
+END\r
+\r
+3 TEXTINCLUDE  \r
+BEGIN\r
+    "\0"\r
+END\r
+\r
+#endif    // APSTUDIO_INVOKED\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+\r
+#ifndef APSTUDIO_INVOKED\r
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// TEXTINCLUDE 3 \83\8a\83\\81[\83X\82©\82ç\90\90¬\82³\82ê\82Ü\82µ\82½\81B\r
+//\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+#endif    // APSTUDIO_INVOKED \82Å\82È\82¢\8fê\8d\87\r
+\r
diff --git a/SharedMemory/resource.h b/SharedMemory/resource.h
new file mode 100644 (file)
index 0000000..1f2251c
--- /dev/null
@@ -0,0 +1,3 @@
+//{{NO_DEPENDENCIES}}\r
+// Microsoft Visual C++ generated include file.\r
+// Used by app.rc\r
diff --git a/Test/Program.cs b/Test/Program.cs
new file mode 100644 (file)
index 0000000..546995b
--- /dev/null
@@ -0,0 +1,17 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using SharedMemory;\r
+\r
+namespace Test\r
+{\r
+       class Program\r
+       {\r
+               static void Main(string[] args)\r
+               {\r
+                       CoverageManagerWrapper.Statement(0, 0, 100, 0);\r
+                       Console.WriteLine(CoverageManagerWrapper.Read(0, 0, 100, 0));\r
+               }\r
+       }\r
+}\r
diff --git a/Test/Properties/AssemblyInfo.cs b/Test/Properties/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..7c6279f
--- /dev/null
@@ -0,0 +1,36 @@
+using System.Reflection;\r
+using System.Runtime.CompilerServices;\r
+using System.Runtime.InteropServices;\r
+\r
+// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。\r
+// アセンブリに関連付けられている情報を変更するには、\r
+// これらの属性値を変更してください。\r
+[assembly: AssemblyTitle("Test")]\r
+[assembly: AssemblyDescription("")]\r
+[assembly: AssemblyConfiguration("")]\r
+[assembly: AssemblyCompany("")]\r
+[assembly: AssemblyProduct("Test")]\r
+[assembly: AssemblyCopyright("Copyright ©  2009")]\r
+[assembly: AssemblyTrademark("")]\r
+[assembly: AssemblyCulture("")]\r
+\r
+// ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから \r
+// 参照不可能になります。COM からこのアセンブリ内の型にアクセスする場合は、\r
+// その型の ComVisible 属性を true に設定してください。\r
+[assembly: ComVisible(false)]\r
+\r
+// 次の GUID は、このプロジェクトが COM に公開される場合の、typelib の ID です\r
+[assembly: Guid("57b1b409-8677-4f0d-bde0-7d3a5e692a88")]\r
+\r
+// アセンブリのバージョン情報は、以下の 4 つの値で構成されています:\r
+//\r
+//      Major Version\r
+//      Minor Version \r
+//      Build Number\r
+//      Revision\r
+//\r
+// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
+// 既定値にすることができます:\r
+// [assembly: AssemblyVersion("1.0.*")]\r
+[assembly: AssemblyVersion("1.0.0.0")]\r
+[assembly: AssemblyFileVersion("1.0.0.0")]\r
diff --git a/Test/Test.csproj b/Test/Test.csproj
new file mode 100644 (file)
index 0000000..f3d12e7
--- /dev/null
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{4FCDB9FE-A3F7-4005-A20B-DD971D591E8E}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>Test</RootNamespace>\r
+    <AssemblyName>Test</AssemblyName>\r
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <OutputPath>bin\Debug\</OutputPath>\r
+    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <OutputPath>bin\Release\</OutputPath>\r
+    <DefineConstants>TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Reference Include="System" />\r
+    <Reference Include="System.Core">\r
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+    </Reference>\r
+    <Reference Include="System.Xml.Linq">\r
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+    </Reference>\r
+    <Reference Include="System.Data.DataSetExtensions">\r
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+    </Reference>\r
+    <Reference Include="System.Data" />\r
+    <Reference Include="System.Xml" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Compile Include="Program.cs" />\r
+    <Compile Include="Properties\AssemblyInfo.cs" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="..\SharedMemory\SharedMemory.vcproj">\r
+      <Project>{3958C313-7307-47C4-A091-E1C7579A813A}</Project>\r
+      <Name>SharedMemory</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+</Project>
\ No newline at end of file