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
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
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
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
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
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
<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
+++ /dev/null
-namespace CoverageFramework.Element.Decorator\r
-{\r
- public interface ITaggedXElementDecoratorFactory\r
- {\r
- ITaggedXElementDecorator GetInstance();\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-namespace CoverageFramework.Element.Decorator\r
-{\r
- public interface IXElementDecoratorFactory\r
- {\r
- IXElementDecorator GetInstance();\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-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
+++ /dev/null
-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
--- /dev/null
+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
+++ /dev/null
-namespace CoverageFramework.Element.Generator\r
-{\r
- public interface IXElementGeneratorFactory\r
- {\r
- IXElementGenerator GetInstance();\r
- }\r
-}
\ No newline at end of file
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
+++ /dev/null
-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
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
{\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
--- /dev/null
+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
[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
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
.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
--- /dev/null
+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
--- /dev/null
+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
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
});\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
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
[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
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
--- /dev/null
+#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
--- /dev/null
+#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
--- /dev/null
+#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
--- /dev/null
+#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
--- /dev/null
+#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
--- /dev/null
+%module coverage_manager\r
+\r
+%{\r
+#include "CoverageManager.h"\r
+%}\r
+\r
+%include "CoverageManager.h"\r
--- /dev/null
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\82Ì\83C\83\93\83N\83\8b\81[\83h \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[\83h \83t\83@\83C\83\8b\r
+// \82ð\8bL\8fq\82µ\82Ü\82·\81B\r
+\r
+#pragma once\r
+\r
+\r
--- /dev/null
+#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
--- /dev/null
+#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
--- /dev/null
+%module coverage_manager\r
+\r
+%{\r
+#include "CoverageManager.h"\r
+%}\r
+\r
+%include "CoverageManager.h"\r
--- /dev/null
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\82Ì\83C\83\93\83N\83\8b\81[\83h \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[\83h \83t\83@\83C\83\8b\r
+// \82ð\8bL\8fq\82µ\82Ü\82·\81B\r
+\r
+#pragma once\r
+\r
+\r
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+===============================================================================\r
+ \83_\83C\83i\83~\83b\83N \83\8a\83\93\83N \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\83g \83t\83@\83C\83\8b\82Å\82·\81B \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[\83X \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
--- /dev/null
+// \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
--- /dev/null
+// 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
--- /dev/null
+<?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[\83X \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[\83X \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
--- /dev/null
+// stdafx.cpp : \95W\8f\80\83C\83\93\83N\83\8b\81[\83h SharedMemory.pch \82Ì\82Ý\82ð\r
+// \8aÜ\82Þ\83\\81[\83X \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
--- /dev/null
+// stdafx.h : \95W\8f\80\82Ì\83V\83X\83e\83\80 \83C\83\93\83N\83\8b\81[\83h \83t\83@\83C\83\8b\82Ì\83C\83\93\83N\83\8b\81[\83h \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[\83h \83t\83@\83C\83\8b\r
+// \82ð\8bL\8fq\82µ\82Ü\82·\81B\r
+\r
+#pragma once\r
+\r
+\r
--- /dev/null
+// Microsoft Visual C++ \82Å\90¶\90¬\82³\82ê\82½\83\8a\83\\81[\83X \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
--- /dev/null
+//{{NO_DEPENDENCIES}}\r
+// Microsoft Visual C++ generated include file.\r
+// Used by app.rc\r
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+<?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