summaryrefslogtreecommitdiffstats
path: root/tools/Contracts/Languages/VisualBasic/Code Contract Snippets
diff options
context:
space:
mode:
Diffstat (limited to 'tools/Contracts/Languages/VisualBasic/Code Contract Snippets')
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractassert.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractassume.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensures.snippet30
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensuresnonnull.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensuresnotisnullorempty.snippet22
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinterface.snippet39
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariant.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariantmethod.snippet35
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariantnonnull.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariantnotisnullorempty.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractold.snippet28
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequires.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresalways.snippet38
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresalwaysnotisnullorempty.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresalwaysnotnull.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresnotisnullorempty.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresnotnull.snippet31
-rw-r--r--tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractresult.snippet28
18 files changed, 561 insertions, 0 deletions
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractassert.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractassert.snippet
new file mode 100644
index 0000000..36c43c0
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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>expression representing the condition that must be true</ToolTip>
+ <Default>False</Default>
+ <Function>
+ </Function>
+ </Object>
+ </Declarations>
+ <Code Language="VB" Kind="method body"><![CDATA[Contract.Assert($condition$)]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractassume.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractassume.snippet
new file mode 100644
index 0000000..420b28f
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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>expression representing the condition that must be true</ToolTip>
+ <Default>False</Default>
+ <Function>
+ </Function>
+ </Object>
+ </Declarations>
+ <Code Language="VB" Kind="method body"><![CDATA[Contract.Assume($condition$)]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensures.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensures.snippet
new file mode 100644
index 0000000..8c8241b
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensures.snippet
@@ -0,0 +1,30 @@
+<?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>cens</Shortcut>
+ <Description>Emits a 'ensures' clause</Description>
+ <Author>Jonathan de Halleux</Author>
+ </Header>
+ <Snippet>
+ <Imports>
+ <Import>
+ <Namespace>System.Diagnostics.Contracts</Namespace>
+ </Import>
+ </Imports>
+ <Declarations>
+ <Literal>
+ <ID>condition</ID>
+ <ToolTip>boolean invariant condition</ToolTip>
+ <Default>false</Default>
+ <ID>condition</ID>
+ </Literal>
+ </Declarations>
+ <Code Language="VB" Kind="method body"><![CDATA[Contract.Ensures($condition$)]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensuresnonnull.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensuresnonnull.snippet
new file mode 100644
index 0000000..7774a4a
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensuresnonnull.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.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="VB" Kind="method body"><![CDATA[Contract.Ensures(Contract.Result(Of $type$)() IsNot Nothing)]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensuresnotisnullorempty.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensuresnotisnullorempty.snippet
new file mode 100644
index 0000000..2832acd
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractensuresnotisnullorempty.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(Not IsNullOrEmpty(Contract.Result()))</Title>
+ <Shortcut>cesn</Shortcut>
+ <Description>Emits an 'ensures' clause specifying result is not null or empty</Description>
+ <Author>Jonathan de Halleux</Author>
+ </Header>
+ <Snippet>
+ <Imports>
+ <Import>
+ <Namespace>System.Diagnostics.Contracts</Namespace>
+ </Import>
+ </Imports>
+ <Code Language="VB" Kind="method body"><![CDATA[Contract.Ensures(Not String.IsNullOrEmpty(Contract.Result(Of String)()))]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinterface.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinterface.snippet
new file mode 100644
index 0000000..c037095
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinterface.snippet
@@ -0,0 +1,39 @@
+<?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="VB" Kind="type decl"><![CDATA[<ContractClass(GetType($interface$Contract))> _
+Public Interface $interface$
+End Interface
+
+<ContractClassFor(GetType($interface$))> _
+Public Class $interface$Contract
+ Implements $interface$
+End Class
+]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariant.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariant.snippet
new file mode 100644
index 0000000..49ff1f1
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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>cinv</Shortcut>
+ <Description>Emits a 'Contract.Invariant' clause</Description>
+ <Author>MaF</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="VB" Kind="method body"><![CDATA[Contract.Invariant($condition$)]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariantmethod.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariantmethod.snippet
new file mode 100644
index 0000000..750fc80
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariantmethod.snippet
@@ -0,0 +1,35 @@
+<?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>
+ <Literal>
+ <ID>condition</ID>
+ <ToolTip>boolean precondition</ToolTip>
+ <Default>False</Default>
+ <Function>
+ </Function>
+ </Literal>
+ </Declarations>
+ <Code Language="VB" Kind="method decl"><![CDATA[<ContractInvariantMethod()> _
+Private Sub ObjectInvariant()
+ Contract.Invariant($condition$)
+End Sub
+]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariantnonnull.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariantnonnull.snippet
new file mode 100644
index 0000000..2bf7072
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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>cinvn</Shortcut>
+ <Description>Emits a 'Contract.Invariant' IsNot Nothing clause</Description>
+ <Author>MaF</Author>
+ </Header>
+ <Snippet>
+ <Imports>
+ <Import>
+ <Namespace>System.Diagnostics.Contracts</Namespace>
+ </Import>
+ </Imports>
+ <Declarations>
+ <Object Editable="true">
+ <ID>expression</ID>
+ <ToolTip>expression that is not nothing</ToolTip>
+ <Default>m_X</Default>
+ <Function>
+ </Function>
+ </Object>
+ </Declarations>
+ <Code Language="VB" Kind="method body"><![CDATA[Contract.Invariant($expression$ IsNot Nothing)]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariantnotisnullorempty.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractinvariantnotisnullorempty.snippet
new file mode 100644
index 0000000..6277172
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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>cinvsn</Shortcut>
+ <Description>Emits a 'Contract.Invariant' Not String.IsNullOrEmpty clause</Description>
+ <Author>MaF</Author>
+ </Header>
+ <Snippet>
+ <Imports>
+ <Import>
+ <Namespace>System.Diagnostics.Contracts</Namespace>
+ </Import>
+ </Imports>
+ <Declarations>
+ <Object Editable="true">
+ <ID>expression</ID>
+ <ToolTip>expression that is not nothing or empty</ToolTip>
+ <Default>m_X</Default>
+ <Function>
+ </Function>
+ </Object>
+ </Declarations>
+ <Code Language="VB" Kind="method body"><![CDATA[Contract.Invariant(Not String.IsNullOrEmpty($expression$))]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractold.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractold.snippet
new file mode 100644
index 0000000..b10586a
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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>cold</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>expression to be evaluated in method pre-state</ToolTip>
+ <Default>x</Default>
+ <Function>
+ </Function>
+ </Object>
+ </Declarations>
+ <Code Language="VB" Kind="any"><![CDATA[Contract.OldValue($expression$)]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequires.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequires.snippet
new file mode 100644
index 0000000..79aa5fd
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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>creq</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="VB" Kind="method body"><![CDATA[Contract.Requires($condition$)]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresalways.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresalways.snippet
new file mode 100644
index 0000000..f31c27e
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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(Of Exc)(...)</Title>
+ <Shortcut>cre</Shortcut>
+ <Description>Emits a 'Contract.Requires with exception' clause</Description>
+ <Author>MaF</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="VB" Kind="method body"><![CDATA[Contract.Requires(Of $exception$)($condition$)]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresalwaysnotisnullorempty.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresalwaysnotisnullorempty.snippet
new file mode 100644
index 0000000..467b10f
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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(Of ArgumentException)(Not String.IsNullOrEmpty(..))</Title>
+ <Shortcut>cresn</Shortcut>
+ <Description>Emits a 'requires with exception' not IsNullOrEmpty</Description>
+ <Author>MaF</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="VB" Kind="method body"><![CDATA[Contract.Requires(Of ArgumentException)(Not String.IsNullOrEmpty($variable$))]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresalwaysnotnull.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresalwaysnotnull.snippet
new file mode 100644
index 0000000..c8f2b8d
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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(Of ArgumentNullException)(.. IsNot Nothing)</Title>
+ <Shortcut>cren</Shortcut>
+ <Description>Emits a 'requires with ArgumentNullException' 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="VB" Kind="method body"><![CDATA[Contract.Requires(Of ArgumentNullException)($variable$ IsNot Nothing, "$variable$")]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresnotisnullorempty.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresnotisnullorempty.snippet
new file mode 100644
index 0000000..f7c6b7e
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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(Not IsNullOrEmpty(arg))</Title>
+ <Shortcut>crsn</Shortcut>
+ <Description>Emits a 'requires' not is null or empty 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>argument name</ToolTip>
+ <Default>arg</Default>
+ <Function>
+ </Function>
+ </Object>
+ </Declarations>
+ <Code Language="VB" Kind="method body"><![CDATA[Contract.Requires(Not String.IsNullOrEmpty($variable$))]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresnotnull.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractrequiresnotnull.snippet
new file mode 100644
index 0000000..1459a74
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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(.. IsNot Nothing)</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="VB" Kind="method body"><![CDATA[Contract.Requires($variable$ IsNot Nothing)]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>
diff --git a/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractresult.snippet b/tools/Contracts/Languages/VisualBasic/Code Contract Snippets/contractresult.snippet
new file mode 100644
index 0000000..53fe39b
--- /dev/null
+++ b/tools/Contracts/Languages/VisualBasic/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>Integer</Default>
+ <Function>
+ </Function>
+ </Object>
+ </Declarations>
+ <Code Language="VB" Kind="any"><![CDATA[Contract.Result(Of $type$)()]]></Code>
+ </Snippet>
+ </CodeSnippet>
+</CodeSnippets>