Introducing NotNullAttribute for null argument checks

This commit is contained in:
Pranav K 2014-03-05 12:09:34 -08:00
parent eb61728107
commit 28b7597779
14 changed files with 46 additions and 46 deletions

View File

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.21005.1
VisualStudioVersion = 12.0.30110.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{DAAE4C74-D06F-4874-A166-33305D2643CE}"
EndProject
@ -51,6 +51,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNet.Mvc.k10",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNet.Mvc.net45", "src\Microsoft.AspNet.Mvc\Microsoft.AspNet.Mvc.net45.csproj", "{64BD92BA-F313-496C-ACE6-B9C4C10C420E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common.net45", "src\Common\Common.net45.csproj", "{10142178-F784-4E17-A583-E9A37A80EFAA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common.k10", "src\Common\Common.k10.csproj", "{D4576205-A5B5-4382-BB34-19DE9855FE94}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -125,6 +129,14 @@ Global
{64BD92BA-F313-496C-ACE6-B9C4C10C420E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{64BD92BA-F313-496C-ACE6-B9C4C10C420E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{64BD92BA-F313-496C-ACE6-B9C4C10C420E}.Release|Any CPU.Build.0 = Release|Any CPU
{10142178-F784-4E17-A583-E9A37A80EFAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{10142178-F784-4E17-A583-E9A37A80EFAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{10142178-F784-4E17-A583-E9A37A80EFAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{10142178-F784-4E17-A583-E9A37A80EFAA}.Release|Any CPU.Build.0 = Release|Any CPU
{D4576205-A5B5-4382-BB34-19DE9855FE94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D4576205-A5B5-4382-BB34-19DE9855FE94}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D4576205-A5B5-4382-BB34-19DE9855FE94}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D4576205-A5B5-4382-BB34-19DE9855FE94}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -134,18 +146,20 @@ Global
{CE037E26-9EB5-48E2-B73B-06C6FF6CC9F5} = {DAAE4C74-D06F-4874-A166-33305D2643CE}
{6C2EDE5B-CA31-42DD-A352-84B10CC70C98} = {32285FA4-6B46-4D6B-A840-2B13E4C8B58E}
{4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3} = {32285FA4-6B46-4D6B-A840-2B13E4C8B58E}
{365CA5C6-037D-4E6E-AF05-F5FA42E024EB} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
{A25566C9-97C7-4770-BBC1-9B815D3B1380} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
{28AA31B2-6504-432D-8599-1501FE0B100A} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
{236CDB04-8FDA-4152-9A5B-7F98C19C663A} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
{365CA5C6-037D-4E6E-AF05-F5FA42E024EB} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
{792E181C-7645-4268-A04F-DB134411AD74} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
{64BD92BA-F313-496C-ACE6-B9C4C10C420E} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
{0D2C8C3D-AFC3-4E1F-A6D8-9F690EE5E063} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
{10142178-F784-4E17-A583-E9A37A80EFAA} = {6C2EDE5B-CA31-42DD-A352-84B10CC70C98}
{613579ED-7B96-4F5C-8DBF-D2C580257BE2} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
{24947215-86AB-4DD0-B94E-88B1EC4DC877} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
{DA65D56F-1C40-4D38-B1E0-BF9641A98C52} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
{0D2C8C3D-AFC3-4E1F-A6D8-9F690EE5E063} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
{5E701B23-73E4-45D2-8521-1D7A94E152F1} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
{BA88E212-5889-48DC-823F-A3A67DDEF123} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
{D4576205-A5B5-4382-BB34-19DE9855FE94} = {4EB70D0E-E27E-4C42-AB58-BC8B325EDFB3}
{501817DD-8143-4A50-888D-99896A82CD12} = {222CA408-93EE-473A-9325-D04989EC9FEF}
{688ABC8B-BFA9-4CFF-9458-A466FEBB0448} = {222CA408-93EE-473A-9325-D04989EC9FEF}
{A7D7CD66-A407-4144-8AB7-07F895F87137} = {CE037E26-9EB5-48E2-B73B-06C6FF6CC9F5}

View File

@ -0,0 +1,9 @@
using System;
namespace Microsoft.AspNet.Mvc
{
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false)]
internal sealed class NotNullAttribute : Attribute
{
}
}

3
src/Common/project.json Normal file
View File

@ -0,0 +1,3 @@
{
"shared": "*.cs"
}

View File

@ -1,16 +1,10 @@
using System;

namespace Microsoft.AspNet.Mvc
{
public class ActionInvokerProviderContext
{
public ActionInvokerProviderContext(ActionContext actionContext)
public ActionInvokerProviderContext([NotNull]ActionContext actionContext)
{
if (actionContext == null)
{
throw new ArgumentNullException("actionContext");
}
ActionContext = actionContext;
}

View File

@ -5,6 +5,7 @@
"Microsoft.AspNet.DependencyInjection" : "0.1-alpha-*",
"Microsoft.AspNet.Abstractions": "0.1-alpha-*",
"Microsoft.AspNet.Routing": "0.1-alpha-*",
"Common": "",
"Microsoft.AspNet.Mvc.ModelBinding": "",
"Microsoft.AspNet.Mvc.Rendering": ""
},

View File

@ -1,23 +1,17 @@
using System;
using Microsoft.AspNet.Mvc.ModelBinding.Internal;
namespace Microsoft.AspNet.Mvc.ModelBinding
{
public class ModelError
{
public ModelError(Exception exception)
public ModelError([NotNull]Exception exception)
: this(exception, errorMessage: null)
{
}
public ModelError(Exception exception, string errorMessage)
public ModelError([NotNull]Exception exception, string errorMessage)
: this(errorMessage)
{
if (exception == null)
{
throw Error.ArgumentNull("exception");
}
Exception = exception;
}

View File

@ -5,12 +5,12 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
{
public class ModelErrorCollection : Collection<ModelError>
{
public void Add(Exception exception)
public void Add([NotNull]Exception exception)
{
Add(new ModelError(exception));
}
public void Add(string errorMessage)
public void Add([NotNull]string errorMessage)
{
Add(new ModelError(errorMessage));
}

View File

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNet.Mvc.ModelBinding.Internal;
namespace Microsoft.AspNet.Mvc.ModelBinding
{
@ -13,13 +12,8 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
{
}
public ModelStateDictionary(ModelStateDictionary dictionary)
public ModelStateDictionary([NotNull]ModelStateDictionary dictionary)
{
if (dictionary == null)
{
throw Error.ArgumentNull("dictionary");
}
foreach (var entry in dictionary)
{
_innerDictionary.Add(entry.Key, entry.Value);
@ -41,13 +35,8 @@ namespace Microsoft.AspNet.Mvc.ModelBinding
GetModelStateForKey(key).Errors.Add(errorMessage);
}
private ModelState GetModelStateForKey(string key)
private ModelState GetModelStateForKey([NotNull]string key)
{
if (key == null)
{
throw Error.ArgumentNull("key");
}
ModelState modelState;
if (!TryGetValue(key, out modelState))
{

View File

@ -6,18 +6,9 @@ namespace Microsoft.AspNet.Mvc
{
public class RequestContext
{
public RequestContext(HttpContext context, IDictionary<string, object> routeValues)
public RequestContext([NotNull]HttpContext context,
[NotNull]IDictionary<string, object> routeValues)
{
if (context == null)
{
throw new ArgumentNullException("context");
}
if (routeValues == null)
{
throw new ArgumentNullException("routeValues");
}
HttpContext = context;
RouteValues = routeValues;
}

View File

@ -1,6 +1,7 @@
{
"version" : "0.1-alpha-*",
"dependencies": {
"Common": "",
"Microsoft.AspNet.DependencyInjection" : "0.1-alpha-*",
"Microsoft.AspNet.Abstractions": "0.1-alpha-*",
"Newtonsoft.Json": "5.0.8"

View File

@ -1,7 +1,8 @@
{
"version" : "0.1-alpha-*",
"dependencies": {
"Microsoft.AspNet.Razor": "0.1-alpha-*"
"Microsoft.AspNet.Razor": "0.1-alpha-*",
"Common": ""
},
"configurations": {
"net45": {},

View File

@ -5,6 +5,7 @@
"Microsoft.AspNet.Abstractions": "0.1-alpha-*",
"Microsoft.AspNet.DependencyInjection": "0.1-alpha-*",
"Microsoft.AspNet.Razor": "0.1-alpha-*",
"Common": "",
"Microsoft.AspNet.Mvc.Core" : "",
"Microsoft.AspNet.Mvc.ModelBinding" : "",
"Microsoft.AspNet.Mvc.Rendering" : "",

View File

@ -3,6 +3,7 @@
"dependencies": {
"Microsoft.AspNet.Abstractions": "0.1-alpha-*",
"Microsoft.AspNet.DependencyInjection": "0.1-alpha-*",
"Common": "",
"Microsoft.AspNet.Mvc.ModelBinding": ""
},
"configurations": {

View File

@ -7,6 +7,7 @@
"Microsoft.AspNet.FileSystems" : "0.1-alpha-*",
"Microsoft.AspNet.Razor" : "0.1-alpha-*",
"Microsoft.AspNet.Routing" : "0.1-alpha-*",
"Common": "",
"Microsoft.AspNet.Mvc.Core": "",
"Microsoft.AspNet.Mvc.Razor": "",
"Microsoft.AspNet.Mvc.ModelBinding" : "",