// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; namespace ICSharpCode.NRefactory.VB.Ast { [Flags] public enum Modifiers { None = 0x0000, // Accessibility Private = 0x0001, Friend = 0x0002, Protected = 0x0004, Public = 0x0008, // Scope MustInherit = 0x0010, // Types MustOverride = 0x0020, // Members Overridable = 0x0040, NotInheritable = 0x0080, // Types NotOverridable = 0x0100, // Members Const = 0x0200, Shared = 0x0400, Static = 0x0800, Override = 0x1000, ReadOnly = 0x2000, Shadows = 0x4000, Partial = 0x8000, // Special Overloads = 0x10000, // VB specific WithEvents = 0x20000, // VB specific Default = 0x40000, // VB specific Dim = 0x80000, // VB.NET SPECIFIC, for fields/local variables only /// Only for VB properties. WriteOnly = 0x100000, // VB specific ByVal = 0x200000, ByRef = 0x400000, ParamArray = 0x800000, Optional = 0x1000000, /// /// Special value used to match any modifiers during pattern matching. /// Any = unchecked((int)0x80000000) } public enum ParentType { ClassOrStruct, InterfaceOrEnum, Namespace, Unknown } public enum FieldDirection { None, In, Out, Ref } public enum AssignmentOperatorType { None, Assign, Add, Subtract, Multiply, Divide, Modulus, Power, // (VB only) DivideInteger, // (VB only) ConcatString, // (VB only) ShiftLeft, ShiftRight, BitwiseAnd, BitwiseOr, ExclusiveOr, } public enum CastType { /// /// direct cast (C#, VB "DirectCast") /// Cast, /// /// try cast (C# "as", VB "TryCast") /// TryCast, /// /// converting cast (VB "CType") /// Conversion, /// /// primitive converting cast (VB "CString" etc.) /// PrimitiveConversion } public enum UnaryOperatorType { None, Not, BitNot, Minus, Plus, Increment, Decrement, PostIncrement, PostDecrement, /// Dereferencing pointer Dereference, /// Get address of AddressOf } public enum ContinueType { None, Do, For, While } public enum ConditionType { None, Until, While, DoWhile } public enum ConditionPosition { None, Start, End } public enum ExitType { None, Sub, Function, Property, Do, For, While, Select, Try } public enum ConstructorInitializerType { None, Base, This } public enum ConversionType { None, Implicit, Explicit } public enum OverloadableOperatorType { None, Add, Subtract, Multiply, Divide, Modulus, Concat, UnaryPlus, UnaryMinus, Not, BitNot, BitwiseAnd, BitwiseOr, ExclusiveOr, ShiftLeft, ShiftRight, GreaterThan, GreaterThanOrEqual, Equality, InEquality, LessThan, LessThanOrEqual, Increment, Decrement, IsTrue, IsFalse, // VB specific Like, Power, CType, DivideInteger } /// /// Charset types, used in external methods /// declarations (VB only). /// public enum CharsetModifier { None, Auto, Unicode, Ansi } /// /// Specifies the ordering direction of a QueryExpressionOrdering node. /// public enum QueryExpressionOrderingDirection { None, Ascending, Descending } /// /// Specifies the partition type for a VB.NET /// query expression. /// public enum QueryExpressionPartitionType { Take, TakeWhile, Skip, SkipWhile } public enum XmlAxisType { Element, // . Attribute, // .@ Descendents // ... } public enum XmlContentType { Comment, Text, CData, ProcessingInstruction } }