diff options
Diffstat (limited to 'tools/Contracts/Languages/CSharp/Code Contract Snippets')
18 files changed, 560 insertions, 0 deletions
diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractassert.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractassert.snippet new file mode 100644 index 0000000..7a47503 --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractassert.snippet @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Assert</Title> + <Shortcut>cca</Shortcut> + <Description>Emits a 'Contract.Assert' clause</Description> + <Author>MaF</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>condition</ID> + <ToolTip>condition that must be true</ToolTip> + <Default>false</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Assert($condition$);$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractassume.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractassume.snippet new file mode 100644 index 0000000..4f78ef9 --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractassume.snippet @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Assume</Title> + <Shortcut>cam</Shortcut> + <Description>Emits a 'Contract.Assume' clause</Description> + <Author>MaF</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>condition</ID> + <ToolTip>condition that must be true</ToolTip> + <Default>false</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Assume($condition$);$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractensures.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractensures.snippet new file mode 100644 index 0000000..ecff2bf --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractensures.snippet @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Ensures</Title> + <Shortcut>ce</Shortcut> + <Description>Emits a 'ensures' clause</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Ensures($end$);]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractensuresnonnull.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractensuresnonnull.snippet new file mode 100644 index 0000000..3e4f24b --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractensuresnonnull.snippet @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Ensures(Contract.Result() != null)</Title> + <Shortcut>cen</Shortcut> + <Description>Emits an 'ensures' clause specifying result not null</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>type</ID> + <ToolTip>the method return type</ToolTip> + <Default>string</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Ensures(Contract.Result<$type$>() != null); +$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractensuresnotisnullorempty.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractensuresnotisnullorempty.snippet new file mode 100644 index 0000000..6520876 --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractensuresnotisnullorempty.snippet @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Ensures(!String.IsNullOrEmpty(Contract.Result()))</Title> + <Shortcut>cesn</Shortcut> + <Description>Emits an 'ensures' clause specifying result not null or empty</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Ensures(!String.IsNullOrEmpty(Contract.Result<string>())); +$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinterface.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinterface.snippet new file mode 100644 index 0000000..53c789b --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinterface.snippet @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contracted Interface</Title> + <Shortcut>cintf</Shortcut> + <Description>Boiler plate interface and contract</Description> + <Author>Maf</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>interface</ID> + <ToolTip>Interface name</ToolTip> + <Default>IFoo</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="type decl"><![CDATA[#region $interface$ contract binding +[ContractClass(typeof($interface$Contract))] +public partial interface $interface$ { + $end$ +} + +[ContractClassFor(typeof($interface$))] +public class $interface$Contract : $interface$ { +} +#endregion +]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariant.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariant.snippet new file mode 100644 index 0000000..218a468 --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariant.snippet @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Invariant</Title> + <Shortcut>ci</Shortcut> + <Description>Emits a 'Contract.Invariant' clause</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>condition</ID> + <ToolTip>boolean invariant condition</ToolTip> + <Default>false</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Invariant($condition$);$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariantmethod.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariantmethod.snippet new file mode 100644 index 0000000..20eef7a --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariantmethod.snippet @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract Invariant Method</Title> + <Shortcut>cim</Shortcut> + <Description>Boiler plate invariant method</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>condition</ID> + <ToolTip>boolean precondition</ToolTip> + <Default>false</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[[ContractInvariantMethod] +void ObjectInvariant() +{ + Contract.Invariant($condition$);$end$ +} +]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariantnonnull.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariantnonnull.snippet new file mode 100644 index 0000000..f061cea --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariantnonnull.snippet @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Invariant</Title> + <Shortcut>cin</Shortcut> + <Description>Emits a 'Contract.Invariant' non-null clause</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>expression</ID> + <ToolTip>the non-null expression</ToolTip> + <Default>m_X</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Invariant($expression$ != null);$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariantnotisnullorempty.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariantnotisnullorempty.snippet new file mode 100644 index 0000000..d91b35c --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractinvariantnotisnullorempty.snippet @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Invariant</Title> + <Shortcut>cisn</Shortcut> + <Description>Emits a 'Contract.Invariant' not String.IsNullOrEmpty clause</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>expression</ID> + <ToolTip>expression that is not null or empty</ToolTip> + <Default>m_X</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Invariant(!String.IsNullOrEmpty($expression$));$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractold.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractold.snippet new file mode 100644 index 0000000..7cbbfb4 --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractold.snippet @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <Title>Contract.OldValue</Title> + <Shortcut>co</Shortcut> + <Description>Emits a 'Contract.OldValue' expression</Description> + <Author>Manuel Fahndrich</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>expression</ID> + <ToolTip>old expression</ToolTip> + <Default>x</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="any"><![CDATA[Contract.OldValue($expression$)$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequires.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequires.snippet new file mode 100644 index 0000000..770fbc7 --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequires.snippet @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Requires</Title> + <Shortcut>cr</Shortcut> + <Description>Emits a 'Contract.Requires' clause</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>condition</ID> + <ToolTip>precondition expression</ToolTip> + <Default>false</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Requires($condition$);$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresalways.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresalways.snippet new file mode 100644 index 0000000..eb082d1 --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresalways.snippet @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Requires<E></Title> + <Shortcut>cre</Shortcut> + <Description>Emits a 'Contract.Requires<Exc>' clause</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>exception</ID> + <ToolTip>Exception type</ToolTip> + <Default>ArgumentException</Default> + <Function> + </Function> + </Object> + <Object Editable="true"> + <ID>condition</ID> + <ToolTip>precondition expression</ToolTip> + <Default>false</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Requires<$exception$>($condition$);$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresalwaysnotisnullorempty.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresalwaysnotisnullorempty.snippet new file mode 100644 index 0000000..44f1bf6 --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresalwaysnotisnullorempty.snippet @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Requires<ArgumentException>(!String.IsNullOrEmpty(..))</Title> + <Shortcut>cresn</Shortcut> + <Description>Emits a 'requires with exception' not IsNullOrEmpty</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>variable</ID> + <ToolTip>argument name</ToolTip> + <Default>arg</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Requires<ArgumentException>(!String.IsNullOrEmpty($variable$));$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresalwaysnotnull.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresalwaysnotnull.snippet new file mode 100644 index 0000000..2f1ca2a --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresalwaysnotnull.snippet @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Requires<ArgumentNullException>(.. != null)</Title> + <Shortcut>cren</Shortcut> + <Description>Emits a 'requires with exception' not null clause</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>variable</ID> + <ToolTip>variable name</ToolTip> + <Default>arg</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Requires<ArgumentNullException>($variable$ != null, "$variable$");$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresnotisnullorempty.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresnotisnullorempty.snippet new file mode 100644 index 0000000..d6df838 --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresnotisnullorempty.snippet @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Requires(!String.IsNullOrEmpty(..))</Title> + <Shortcut>crsn</Shortcut> + <Description>Emits a 'requires' not IsNullOrEmpty</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>variable</ID> + <ToolTip>argument name</ToolTip> + <Default>arg</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Requires(!String.IsNullOrEmpty($variable$));$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresnotnull.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresnotnull.snippet new file mode 100644 index 0000000..e0607cc --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractrequiresnotnull.snippet @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <SnippetTypes> + <SnippetType>Expansion</SnippetType> + </SnippetTypes> + <Title>Contract.Requires(.. != null)</Title> + <Shortcut>crn</Shortcut> + <Description>Emits a 'requires' not null clause</Description> + <Author>Jonathan de Halleux</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>variable</ID> + <ToolTip>variable name</ToolTip> + <Default>arg</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="method body"><![CDATA[Contract.Requires($variable$ != null);$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> diff --git a/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractresult.snippet b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractresult.snippet new file mode 100644 index 0000000..3e3f4f2 --- /dev/null +++ b/tools/Contracts/Languages/CSharp/Code Contract Snippets/contractresult.snippet @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> + <CodeSnippet Format="1.0.0"> + <Header> + <Title>Contract.Result</Title> + <Shortcut>crr</Shortcut> + <Description>Emits a 'Contract.Result' expression</Description> + <Author>Manuel Fahndrich</Author> + </Header> + <Snippet> + <Imports> + <Import> + <Namespace>System.Diagnostics.Contracts</Namespace> + </Import> + </Imports> + <Declarations> + <Object Editable="true"> + <ID>type</ID> + <ToolTip>method return type</ToolTip> + <Default>int</Default> + <Function> + </Function> + </Object> + </Declarations> + <Code Language="CSharp" Kind="any"><![CDATA[Contract.Result<$type$>()$end$]]></Code> + </Snippet> + </CodeSnippet> +</CodeSnippets> |