X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FIKVM.Reflection%2FEmit%2FCustomModifiersBuilder.cs;fp=mcs%2Fclass%2FIKVM.Reflection%2FEmit%2FCustomModifiersBuilder.cs;h=0000000000000000000000000000000000000000;hb=d88a760e9379acff1599f1d7ff264dbf7b0e5709;hp=91f5b834aa7aeeceea4b2267706ac795e449aedf;hpb=76ebd11144d377087e89d8c970ebacef45b05625;p=mono.git diff --git a/mcs/class/IKVM.Reflection/Emit/CustomModifiersBuilder.cs b/mcs/class/IKVM.Reflection/Emit/CustomModifiersBuilder.cs deleted file mode 100644 index 91f5b834aa7..00000000000 --- a/mcs/class/IKVM.Reflection/Emit/CustomModifiersBuilder.cs +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (C) 2011 Jeroen Frijters - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jeroen Frijters - jeroen@frijters.net - -*/ -using System; -using System.Collections.Generic; -using System.Text; - -namespace IKVM.Reflection.Emit -{ - public sealed class CustomModifiersBuilder - { - private readonly List list = new List(); - - internal struct Item - { - internal Type type; - internal bool required; - } - - public void AddRequired(Type type) - { - Item item; - item.type = type; - item.required = true; - list.Add(item); - } - - public void AddOptional(Type type) - { - Item item; - item.type = type; - item.required = false; - list.Add(item); - } - - // this adds the custom modifiers in the same order as the normal SRE APIs - // (the advantage over using the SRE APIs is that a CustomModifiers object is slightly more efficient, - // because unlike the Type arrays it doesn't need to be copied) - public void Add(Type[] requiredCustomModifiers, Type[] optionalCustomModifiers) - { - foreach (CustomModifiers.Entry entry in CustomModifiers.FromReqOpt(requiredCustomModifiers, optionalCustomModifiers)) - { - Item item; - item.type = entry.Type; - item.required = entry.IsRequired; - list.Add(item); - } - } - - public CustomModifiers Create() - { - return new CustomModifiers(list); - } - } -}