ReSharper 8 LiveTemplates for Microsoft RiSE Code Contracts

Saturday February 22 2014 - , , , , , , , ,

Save the following XML into a file with extension .DotSettings, then it can be loaded as a settings layer in ReSharper. It defines LiveTemplates for quickly inserting Code Contracts. The snippets defined are those taken from the Code Contracts user manual. Here’s a GitHub GIST.

These are the templates defined (all except for the very last one, I wasn’t sure what that should expand to):

image

   1: <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
   2:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/@KeyIndexDefined">True</s:Boolean>
   3:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
   4:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
   5:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/Description/@EntryValue">Contract.Ensures</s:String>
   6:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/Reformat/@EntryValue">True</s:Boolean>
   7:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
   8:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
   9:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
  10:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/Shortcut/@EntryValue">ce</s:String>
  11:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
  12:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=043D87E97243F74F986876C4F6810065/Text/@EntryValue">Contract.Ensures($END$);</s:String>
  13:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/@KeyIndexDefined">True</s:Boolean>
  14:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
  15:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
  16:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/Description/@EntryValue">Contract.Assert</s:String>
  17:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/Reformat/@EntryValue">True</s:Boolean>
  18:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
  19:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
  20:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
  21:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/Shortcut/@EntryValue">cca</s:String>
  22:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
  23:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=2436B7F1FB4997409252B03D3E21CC64/Text/@EntryValue">Contract.Assert($END$);</s:String>
  24:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/@KeyIndexDefined">True</s:Boolean>
  25:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
  26:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
  27:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/Description/@EntryValue">Contraint Invariant Method</s:String>
  28:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/Reformat/@EntryValue">True</s:Boolean>
  29:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/Scope/=B68999B9D6B43E47A02B22C12A54C3CC/@KeyIndexDefined">True</s:Boolean>
  30:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/Scope/=B68999B9D6B43E47A02B22C12A54C3CC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
  31:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/Scope/=B68999B9D6B43E47A02B22C12A54C3CC/Type/@EntryValue">InCSharpTypeMember</s:String>
  32:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/Shortcut/@EntryValue">cim</s:String>
  33:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
  34:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=3CE1F522FAD8714A8BDC0AA14D84BF35/Text/@EntryValue">[ContractInvariantMethod]&#xD;
  35: private ObjectInvariant()&#xD;
  36: {&#xD;
  37: Contract.Invariant($END$);&#xD;
  38: }</s:String>
  39:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/@KeyIndexDefined">True</s:Boolean>
  40:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
  41:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
  42:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/Description/@EntryValue">Contract.OldValue</s:String>
  43:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/Reformat/@EntryValue">True</s:Boolean>
  44:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
  45:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
  46:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
  47:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/Shortcut/@EntryValue">co</s:String>
  48:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
  49:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=43A9BFB553401B4A808F6CD2FCD9B017/Text/@EntryValue">Contract.OldValue($END$);</s:String>
  50:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/@KeyIndexDefined">True</s:Boolean>
  51:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
  52:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
  53:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/Description/@EntryValue">Contract.Requires</s:String>
  54:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/Reformat/@EntryValue">True</s:Boolean>
  55:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
  56:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
  57:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
  58:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/Shortcut/@EntryValue">cr</s:String>
  59:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
  60:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=48A3DDBDD47091468FD274520D2E58EA/Text/@EntryValue">Contract.Requires($END$);</s:String>
  61:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/@KeyIndexDefined">True</s:Boolean>
  62:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
  63:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
  64:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Description/@EntryValue">Contract.Result&lt;T&gt;</s:String>
  65:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Field/=T/@KeyIndexDefined">True</s:Boolean>
  66:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Field/=T/Expression/@EntryValue">guessExpectedType("")</s:String>
  67:     <s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Field/=T/Order/@EntryValue">0</s:Int64>
  68:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Reformat/@EntryValue">True</s:Boolean>
  69:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
  70:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
  71:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
  72:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Shortcut/@EntryValue">crr</s:String>
  73:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
  74:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=5F56F90F3D80574ABEB42413B88A274E/Text/@EntryValue">Contract.Result&lt;$T$&gt;($END$);</s:String>
  75:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/@KeyIndexDefined">True</s:Boolean>
  76:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
  77:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
  78:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/Description/@EntryValue">Contract.Ensures(string result not null or empty)</s:String>
  79:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/Reformat/@EntryValue">True</s:Boolean>
  80:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
  81:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
  82:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
  83:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/Shortcut/@EntryValue">cesn</s:String>
  84:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
  85:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=67D218C69A06834E93F246C405199917/Text/@EntryValue">Contract.Ensures( !String.IsNullOrEmpty(Contracts.Result&lt;string&gt;()) );$END$</s:String>
  86:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/@KeyIndexDefined">True</s:Boolean>
  87:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
  88:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
  89:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Description/@EntryValue">Contract.Requires&lt;exception&gt;</s:String>
  90:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Field/=exception/@KeyIndexDefined">True</s:Boolean>
  91:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Field/=exception/Expression/@EntryValue">guessExpectedType("")</s:String>
  92:     <s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Field/=exception/Order/@EntryValue">0</s:Int64>
  93:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Reformat/@EntryValue">True</s:Boolean>
  94:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
  95:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
  96:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
  97:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Shortcut/@EntryValue">cre</s:String>
  98:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
  99:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=6E4FEE84644CC74BAFF56159AACC9676/Text/@EntryValue">Contract.Requires&lt;$exception$&gt;($END$);</s:String>
 100:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/@KeyIndexDefined">True</s:Boolean>
 101:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
 102:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
 103:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Description/@EntryValue">Contract.Ensures(result Not Null)</s:String>
 104:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Field/=Type/@KeyIndexDefined">True</s:Boolean>
 105:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Field/=Type/Expression/@EntryValue">guessExpectedType("")</s:String>
 106:     <s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Field/=Type/Order/@EntryValue">0</s:Int64>
 107:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Reformat/@EntryValue">True</s:Boolean>
 108:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
 109:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
 110:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
 111:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Shortcut/@EntryValue">cen</s:String>
 112:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
 113:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=841F0264E033474AB03C0048FF15C465/Text/@EntryValue">Contract.Ensures(Contract.Result&lt;$Type$&gt;() != null);$END$</s:String>
 114:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/@KeyIndexDefined">True</s:Boolean>
 115:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
 116:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
 117:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Description/@EntryValue">Contract.Requires&lt;ArgumentNullException&gt;(...!=null)</s:String>
 118:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Field/=Arg/@KeyIndexDefined">True</s:Boolean>
 119:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Field/=Arg/Expression/@EntryValue">parameterOfType("")</s:String>
 120:     <s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Field/=Arg/Order/@EntryValue">0</s:Int64>
 121:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Reformat/@EntryValue">True</s:Boolean>
 122:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
 123:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
 124:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
 125:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Shortcut/@EntryValue">cren</s:String>
 126:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
 127:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=862469B40F1EA747A6B0578D9EE9EFFF/Text/@EntryValue">Contract.Requires&lt;ArgumentNullException&gt;($Arg$ != null);$END$</s:String>
 128:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/@KeyIndexDefined">True</s:Boolean>
 129:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
 130:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
 131:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Description/@EntryValue">Contract.Requires(string not null or empty)</s:String>
 132:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Field/=StringArgument/@KeyIndexDefined">True</s:Boolean>
 133:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Field/=StringArgument/Expression/@EntryValue">parameterOfType("System.String")</s:String>
 134:     <s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Field/=StringArgument/Order/@EntryValue">0</s:Int64>
 135:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Reformat/@EntryValue">True</s:Boolean>
 136:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
 137:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
 138:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
 139:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Shortcut/@EntryValue">crsn</s:String>
 140:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
 141:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=9369893CE9F1334BBC1313933682753D/Text/@EntryValue">Contract.Requires( !String.IsNullOrEmpty($StringArgument$) );$END$</s:String>
 142:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/@KeyIndexDefined">True</s:Boolean>
 143:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
 144:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
 145:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/Description/@EntryValue">Contract.Invariant</s:String>
 146:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/Reformat/@EntryValue">True</s:Boolean>
 147:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
 148:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
 149:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
 150:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/Shortcut/@EntryValue">ci</s:String>
 151:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
 152:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E2E183F869ECA040A449803729D9B497/Text/@EntryValue">Contract.Invariant($END$);</s:String>
 153:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/@KeyIndexDefined">True</s:Boolean>
 154:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
 155:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
 156:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/Description/@EntryValue">Contract.Assume</s:String>
 157:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/Reformat/@EntryValue">True</s:Boolean>
 158:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
 159:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
 160:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
 161:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/Shortcut/@EntryValue">cam</s:String>
 162:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
 163:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E69035E73C3865428D95B3D87D204542/Text/@EntryValue">Contract.Assume($END$);</s:String>
 164:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/@KeyIndexDefined">True</s:Boolean>
 165:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
 166:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
 167:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Description/@EntryValue">Contract.Requires(Not Null)</s:String>
 168:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Field/=Arg/@KeyIndexDefined">True</s:Boolean>
 169:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Field/=Arg/Expression/@EntryValue">parameterOfType("")</s:String>
 170:     <s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Field/=Arg/Order/@EntryValue">0</s:Int64>
 171:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Reformat/@EntryValue">True</s:Boolean>
 172:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
 173:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
 174:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
 175:     
 176:     
 177:     
 178:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Shortcut/@EntryValue">crn</s:String>
 179:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
 180:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=E85481F9AFE9F6459429EB0D6A0841F8/Text/@EntryValue">Contract.Requires($Arg$ != null);$END$</s:String>
 181:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/@KeyIndexDefined">True</s:Boolean>
 182:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Applicability/=Live/@EntryIndexedValue">True</s:Boolean>
 183:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Categories/=Contracts/@EntryIndexedValue">Contracts</s:String>
 184:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Description/@EntryValue">Contract.Requires&lt;ArgumentException&gt;(string not null or empty)</s:String>
 185:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Field/=StringArg/@KeyIndexDefined">True</s:Boolean>
 186:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Field/=StringArg/Expression/@EntryValue">parameterOfType("System.String")</s:String>
 187:     <s:Int64 x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Field/=StringArg/Order/@EntryValue">0</s:Int64>
 188:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Reformat/@EntryValue">True</s:Boolean>
 189:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/@KeyIndexDefined">True</s:Boolean>
 190:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/CustomProperties/=minimumLanguageVersion/@EntryIndexedValue">2.0</s:String>
 191:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Scope/=2C285F182AC98D44B0B4F29D4D2149EC/Type/@EntryValue">InCSharpStatement</s:String>
 192:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Shortcut/@EntryValue">cresn</s:String>
 193:     <s:Boolean x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/ShortenQualifiedReferences/@EntryValue">True</s:Boolean>
 194:     <s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=EE887E375D144B4B8AF67C39EEDE22DB/Text/@EntryValue">Contract.Requires&lt;ArgumentException&gt;( !String.IsNullOrEmpty($StringArg$) );$END$</s:String></wpf:ResourceDictionary>