diff --git a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitor.cs b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitor.cs index 9a9eef72bf..8ba00aba7e 100644 --- a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitor.cs +++ b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitor.cs @@ -88,61 +88,61 @@ namespace NRefactoryToBooConverter B.TypeMemberModifiers ConvertModifier(AttributedNode node, B.TypeMemberModifiers defaultVisibility) { - Modifier m = node.Modifier; + Modifiers m = node.Modifier; B.TypeMemberModifiers r = B.TypeMemberModifiers.None; - if ((m & Modifier.Private) != 0) + if ((m & Modifiers.Private) != 0) r |= B.TypeMemberModifiers.Private; - if ((m & Modifier.Internal) != 0) + if ((m & Modifiers.Internal) != 0) r |= B.TypeMemberModifiers.Internal; - if ((m & Modifier.Public) != 0) + if ((m & Modifiers.Public) != 0) r |= B.TypeMemberModifiers.Public; - if ((m & Modifier.Protected) != 0) + if ((m & Modifiers.Protected) != 0) r |= B.TypeMemberModifiers.Protected; if (r == B.TypeMemberModifiers.None) r = defaultVisibility; - if ((m & Modifier.Abstract) != 0) + if ((m & Modifiers.Abstract) != 0) r |= B.TypeMemberModifiers.Abstract; - if ((m & Modifier.Virtual) != 0) + if ((m & Modifiers.Virtual) != 0) r |= B.TypeMemberModifiers.Virtual; - if ((m & Modifier.Sealed) != 0) + if ((m & Modifiers.Sealed) != 0) r |= B.TypeMemberModifiers.Final; - if ((m & Modifier.Static) != 0) { + if ((m & Modifiers.Static) != 0) { r |= B.TypeMemberModifiers.Static; } else if (currentType != null && currentType.IsStatic) { if (!(node is TypeDeclaration)) r |= B.TypeMemberModifiers.Static; } - if ((m & Modifier.Override) != 0) + if ((m & Modifiers.Override) != 0) r |= B.TypeMemberModifiers.Override; - if ((m & Modifier.ReadOnly) != 0 && !(node is PropertyDeclaration)) { + if ((m & Modifiers.ReadOnly) != 0 && !(node is PropertyDeclaration)) { r |= B.TypeMemberModifiers.Final; } - if ((m & Modifier.Const) != 0) { + if ((m & Modifiers.Const) != 0) { r |= B.TypeMemberModifiers.Final | B.TypeMemberModifiers.Static; } - if ((m & Modifier.New) != 0) { + if ((m & Modifiers.New) != 0) { AddError(node, "shadowing is not supported"); } - if ((m & Modifier.Partial) != 0) { + if ((m & Modifiers.Partial) != 0) { r |= B.TypeMemberModifiers.Partial; } - if ((m & Modifier.Extern) != 0) { + if ((m & Modifiers.Extern) != 0) { // not necessary in Boo } - if ((m & Modifier.Volatile) != 0) { + if ((m & Modifiers.Volatile) != 0) { AddError(node, "Volatile modifier is not supported"); } - if ((m & Modifier.Unsafe) != 0) { + if ((m & Modifiers.Unsafe) != 0) { AddError(node, "Unsafe modifier is not supported"); } - if ((m & Modifier.Overloads) != 0) { + if ((m & Modifiers.Overloads) != 0) { // not necessary in Boo } - if ((m & Modifier.WithEvents) != 0) { + if ((m & Modifiers.WithEvents) != 0) { // not necessary in Boo } - if ((m & Modifier.Default) != 0) { + if ((m & Modifiers.Default) != 0) { ParametrizedNode parametrizedNode = node as ParametrizedNode; string name = null; if (parametrizedNode != null) { diff --git a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorGlobal.cs b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorGlobal.cs index b30c7b6844..c6cb91236f 100644 --- a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorGlobal.cs +++ b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorGlobal.cs @@ -101,7 +101,7 @@ namespace NRefactoryToBooConverter break; case ClassType.Module: typeDef = new B.ClassDefinition(GetLexicalInfo(typeDeclaration)); - typeDeclaration.Modifier |= Modifier.Static; + typeDeclaration.Modifier |= Modifiers.Static; break; default: AddError(typeDeclaration, "Unknown class type."); diff --git a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorTypeMembers.cs b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorTypeMembers.cs index a92eaf6f87..3e6f87a3be 100644 --- a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorTypeMembers.cs +++ b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorTypeMembers.cs @@ -160,16 +160,16 @@ namespace NRefactoryToBooConverter B.ParameterDeclaration ConvertParameter(ParameterDeclarationExpression pde, out bool isParams) { B.ParameterDeclaration para = new B.ParameterDeclaration(pde.ParameterName, ConvertTypeReference(pde.TypeReference)); - if ((pde.ParamModifier & ParamModifier.Optional) != 0) { + if ((pde.ParamModifier & ParameterModifiers.Optional) != 0) { AddError(pde, "Optional parameters are not supported."); } - if ((pde.ParamModifier & ParamModifier.Out) != 0) { + if ((pde.ParamModifier & ParameterModifiers.Out) != 0) { para.Modifiers |= B.ParameterModifiers.Ref; } - if ((pde.ParamModifier & ParamModifier.Ref) != 0) { + if ((pde.ParamModifier & ParameterModifiers.Ref) != 0) { para.Modifiers |= B.ParameterModifiers.Ref; } - isParams = (pde.ParamModifier & ParamModifier.Params) != 0; + isParams = (pde.ParamModifier & ParameterModifiers.Params) != 0; ConvertAttributes(pde.Attributes, para.Attributes); return para; } diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/NRefactoryDesignerLoader.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/NRefactoryDesignerLoader.cs index 218dd20718..cb9e4a2db6 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/NRefactoryDesignerLoader.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/NRefactoryDesignerLoader.cs @@ -200,7 +200,7 @@ namespace ICSharpCode.FormsDesigner CompilationUnit combinedCu = new CompilationUnit(); NamespaceDeclaration nsDecl = new NamespaceDeclaration(formClass.Namespace); combinedCu.AddChild(nsDecl); - TypeDeclaration formDecl = new TypeDeclaration(Modifier.Public, null); + TypeDeclaration formDecl = new TypeDeclaration(Modifiers.Public, null); nsDecl.AddChild(formDecl); formDecl.Name = formClass.Name; foreach (KeyValuePair entry in compilationUnits) { diff --git a/src/Libraries/NRefactory/NRefactoryASTGenerator/AST/GlobalLevel.cs b/src/Libraries/NRefactory/NRefactoryASTGenerator/AST/GlobalLevel.cs index 9152f837aa..45c18baca4 100644 --- a/src/Libraries/NRefactory/NRefactoryASTGenerator/AST/GlobalLevel.cs +++ b/src/Libraries/NRefactory/NRefactoryASTGenerator/AST/GlobalLevel.cs @@ -71,10 +71,10 @@ namespace NRefactoryASTGenerator.Ast public Using(string name, TypeReference alias) {} } - [IncludeMember("public UsingDeclaration(string nameSpace) : this(nameSpace, null) {}")] - [IncludeMember("public UsingDeclaration(string nameSpace, TypeReference alias) {" + + [IncludeMember("public UsingDeclaration(string @namespace) : this(@namespace, null) {}")] + [IncludeMember("public UsingDeclaration(string @namespace, TypeReference alias) {" + " usings = new List(1);" + - " usings.Add(new Using(nameSpace, alias)); " + + " usings.Add(new Using(@namespace, alias)); " + "}")] class UsingDeclaration : AbstractNode { diff --git a/src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs b/src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs index 3beb02bfd5..515af80986 100644 --- a/src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs +++ b/src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs @@ -28,7 +28,7 @@ namespace NRefactoryASTGenerator Debug.WriteLine("did not find output directory"); return; } - if (!File.Exists(visitorsDir + "IASTVisitor.cs")) { + if (!File.Exists(visitorsDir + "AbstractAstTransformer.cs")) { Debug.WriteLine("did not find visitor output directory"); return; } @@ -106,7 +106,7 @@ namespace NRefactoryASTGenerator using (StringWriter writer = new StringWriter()) { new Microsoft.CSharp.CSharpCodeProvider().GenerateCodeFromCompileUnit(ccu, writer, settings); - File.WriteAllText(visitorsDir + "IAstVisitor.cs", writer.ToString()); + File.WriteAllText(visitorsDir + "../IAstVisitor.cs", writer.ToString()); } ccu = new CodeCompileUnit(); diff --git a/src/Libraries/NRefactory/Project/NRefactory.csproj b/src/Libraries/NRefactory/Project/NRefactory.csproj index 311f90c040..dc5d6c14a2 100644 --- a/src/Libraries/NRefactory/Project/NRefactory.csproj +++ b/src/Libraries/NRefactory/Project/NRefactory.csproj @@ -23,7 +23,7 @@ 4096 ..\src\Tools\UpdateAssemblyInfo\bin\Debug\UpdateAssemblyInfo.exe False - -Microsoft.Design#CA1002;-Microsoft.Design#CA1051;-Microsoft.Design#CA1062;-Microsoft.Globalization#CA1303;-Microsoft.Globalization#CA1305;-Microsoft.Naming#CA1704;-Microsoft.Performance#CA1800;-Microsoft.Performance#CA1805;-Microsoft.Usage#CA2211;-Microsoft.Usage#CA2227 + -Microsoft.Design#CA1002;-Microsoft.Design#CA1020;-Microsoft.Design#CA1051;-Microsoft.Design#CA1062;-Microsoft.Globalization#CA1303;-Microsoft.Globalization#CA1305;-Microsoft.Naming#CA1704;-Microsoft.Performance#CA1800;-Microsoft.Performance#CA1805;-Microsoft.Usage#CA2211;-Microsoft.Usage#CA2227 False @@ -76,13 +76,12 @@ - - + @@ -122,13 +121,12 @@ + - - @@ -142,7 +140,6 @@ - diff --git a/src/Libraries/NRefactory/Project/Src/Ast/Enums.cs b/src/Libraries/NRefactory/Project/Src/Ast/Enums.cs index 775f97305e..061306d561 100644 --- a/src/Libraries/NRefactory/Project/Src/Ast/Enums.cs +++ b/src/Libraries/NRefactory/Project/Src/Ast/Enums.cs @@ -10,7 +10,7 @@ using System; namespace ICSharpCode.NRefactory.Ast { [Flags] - public enum Modifier // TODO: Rename to Modifiers + public enum Modifiers { None = 0x0000, @@ -107,7 +107,7 @@ namespace ICSharpCode.NRefactory.Ast } [Flags] - public enum ParamModifier // TODO: Rename to ParamModifiers + public enum ParameterModifiers { // Values must be the same as in SharpDevelop's ParameterModifiers None = 0, diff --git a/src/Libraries/NRefactory/Project/Src/Ast/General/LocalVariableDeclaration.cs b/src/Libraries/NRefactory/Project/Src/Ast/General/LocalVariableDeclaration.cs index df73df3e23..1ce4f69810 100644 --- a/src/Libraries/NRefactory/Project/Src/Ast/General/LocalVariableDeclaration.cs +++ b/src/Libraries/NRefactory/Project/Src/Ast/General/LocalVariableDeclaration.cs @@ -15,7 +15,7 @@ namespace ICSharpCode.NRefactory.Ast public class LocalVariableDeclaration : Statement { TypeReference typeReference; - Modifier modifier = Modifier.None; + Modifiers modifier = Modifiers.None; List variables = new List(1); public TypeReference TypeReference { @@ -27,7 +27,7 @@ namespace ICSharpCode.NRefactory.Ast } } - public Modifier Modifier { + public Modifiers Modifier { get { return modifier; } @@ -66,13 +66,13 @@ namespace ICSharpCode.NRefactory.Ast this.TypeReference = typeReference; } - public LocalVariableDeclaration(TypeReference typeReference, Modifier modifier) + public LocalVariableDeclaration(TypeReference typeReference, Modifiers modifier) { this.TypeReference = typeReference; this.modifier = modifier; } - public LocalVariableDeclaration(Modifier modifier) + public LocalVariableDeclaration(Modifiers modifier) { this.typeReference = TypeReference.Null; this.modifier = modifier; diff --git a/src/Libraries/NRefactory/Project/Src/Ast/Generated.cs b/src/Libraries/NRefactory/Project/Src/Ast/Generated.cs index cefaf149ad..e4acc78707 100644 --- a/src/Libraries/NRefactory/Project/Src/Ast/Generated.cs +++ b/src/Libraries/NRefactory/Project/Src/Ast/Generated.cs @@ -353,7 +353,7 @@ namespace ICSharpCode.NRefactory.Ast { List attributes; - Modifier modifier; + Modifiers modifier; public List Attributes { get { @@ -364,7 +364,7 @@ namespace ICSharpCode.NRefactory.Ast { } } - public Modifier Modifier { + public Modifiers Modifier { get { return modifier; } @@ -377,7 +377,7 @@ namespace ICSharpCode.NRefactory.Ast { Attributes = attributes; } - protected AttributedNode(Modifier modifier, List attributes) { + protected AttributedNode(Modifiers modifier, List attributes) { Modifier = modifier; Attributes = attributes; } @@ -855,13 +855,13 @@ namespace ICSharpCode.NRefactory.Ast { } } - public ConstructorDeclaration(string name, Modifier modifier, List parameters, List attributes) : + public ConstructorDeclaration(string name, Modifiers modifier, List parameters, List attributes) : base(modifier, attributes, name, parameters) { constructorInitializer = ConstructorInitializer.Null; body = BlockStatement.Null; } - public ConstructorDeclaration(string name, Modifier modifier, List parameters, ConstructorInitializer constructorInitializer, List attributes) : + public ConstructorDeclaration(string name, Modifiers modifier, List parameters, ConstructorInitializer constructorInitializer, List attributes) : base(modifier, attributes, name, parameters) { ConstructorInitializer = constructorInitializer; body = BlockStatement.Null; @@ -1029,7 +1029,7 @@ namespace ICSharpCode.NRefactory.Ast { } } - public DeclareDeclaration(string name, Modifier modifier, TypeReference typeReference, List parameters, List attributes, string library, string alias, CharsetModifier charset) : + public DeclareDeclaration(string name, Modifiers modifier, TypeReference typeReference, List parameters, List attributes, string library, string alias, CharsetModifier charset) : base(modifier, attributes, name, parameters) { TypeReference = typeReference; Library = library; @@ -1119,7 +1119,7 @@ namespace ICSharpCode.NRefactory.Ast { } } - public DelegateDeclaration(Modifier modifier, List attributes) : + public DelegateDeclaration(Modifiers modifier, List attributes) : base(attributes) { Modifier = modifier; name = "?"; @@ -1163,7 +1163,7 @@ namespace ICSharpCode.NRefactory.Ast { } } - public DestructorDeclaration(string name, Modifier modifier, List attributes) : + public DestructorDeclaration(string name, Modifiers modifier, List attributes) : base(attributes) { Name = name; Modifier = modifier; @@ -1551,7 +1551,7 @@ namespace ICSharpCode.NRefactory.Ast { } } - public EventDeclaration(TypeReference typeReference, string name, Modifier modifier, List attributes, List parameters) : + public EventDeclaration(TypeReference typeReference, string name, Modifiers modifier, List attributes, List parameters) : base(modifier, attributes, name, parameters) { TypeReference = typeReference; interfaceImplementations = new List(); @@ -1562,7 +1562,7 @@ namespace ICSharpCode.NRefactory.Ast { bodyEnd = Location.Empty; } - public EventDeclaration(TypeReference typeReference, Modifier modifier, List parameters, List attributes, string name, List interfaceImplementations) : + public EventDeclaration(TypeReference typeReference, Modifiers modifier, List parameters, List attributes, string name, List interfaceImplementations) : base(modifier, attributes, name, parameters) { TypeReference = typeReference; InterfaceImplementations = interfaceImplementations; @@ -1785,7 +1785,7 @@ namespace ICSharpCode.NRefactory.Ast { fields = new List(); } - public FieldDeclaration(List attributes, TypeReference typeReference, Modifier modifier) : + public FieldDeclaration(List attributes, TypeReference typeReference, Modifiers modifier) : base(attributes) { TypeReference = typeReference; Modifier = modifier; @@ -2369,7 +2369,7 @@ namespace ICSharpCode.NRefactory.Ast { } } - public IndexerDeclaration(Modifier modifier, List parameters, List attributes) : + public IndexerDeclaration(Modifiers modifier, List parameters, List attributes) : base(attributes) { Modifier = modifier; Parameters = parameters; @@ -2381,7 +2381,7 @@ namespace ICSharpCode.NRefactory.Ast { setRegion = PropertySetRegion.Null; } - public IndexerDeclaration(TypeReference typeReference, List parameters, Modifier modifier, List attributes) : + public IndexerDeclaration(TypeReference typeReference, List parameters, Modifiers modifier, List attributes) : base(attributes) { TypeReference = typeReference; Parameters = parameters; @@ -2680,7 +2680,7 @@ namespace ICSharpCode.NRefactory.Ast { } } - public MethodDeclaration(string name, Modifier modifier, TypeReference typeReference, List parameters, List attributes) : + public MethodDeclaration(string name, Modifiers modifier, TypeReference typeReference, List parameters, List attributes) : base(modifier, attributes, name, parameters) { TypeReference = typeReference; body = BlockStatement.Null; @@ -2852,13 +2852,13 @@ namespace ICSharpCode.NRefactory.Ast { } } - public OperatorDeclaration(Modifier modifier, List attributes, List parameters, TypeReference typeReference, ConversionType conversionType) : + public OperatorDeclaration(Modifiers modifier, List attributes, List parameters, TypeReference typeReference, ConversionType conversionType) : base(null, modifier, typeReference, parameters, attributes) { ConversionType = conversionType; returnTypeAttributes = new List(); } - public OperatorDeclaration(Modifier modifier, List attributes, List parameters, TypeReference typeReference, OverloadableOperatorType overloadableOperator) : + public OperatorDeclaration(Modifiers modifier, List attributes, List parameters, TypeReference typeReference, OverloadableOperatorType overloadableOperator) : base(null, modifier, typeReference, parameters, attributes) { OverloadableOperator = overloadableOperator; returnTypeAttributes = new List(); @@ -2927,7 +2927,7 @@ namespace ICSharpCode.NRefactory.Ast { TypeReference typeReference; - ParamModifier paramModifier; + ParameterModifiers paramModifier; Expression defaultValue; @@ -2958,7 +2958,7 @@ namespace ICSharpCode.NRefactory.Ast { } } - public ParamModifier ParamModifier { + public ParameterModifiers ParamModifier { get { return paramModifier; } @@ -2984,7 +2984,7 @@ namespace ICSharpCode.NRefactory.Ast { defaultValue = Expression.Null; } - public ParameterDeclarationExpression(TypeReference typeReference, string parameterName, ParamModifier paramModifier) { + public ParameterDeclarationExpression(TypeReference typeReference, string parameterName, ParameterModifiers paramModifier) { TypeReference = typeReference; ParameterName = parameterName; ParamModifier = paramModifier; @@ -2992,7 +2992,7 @@ namespace ICSharpCode.NRefactory.Ast { defaultValue = Expression.Null; } - public ParameterDeclarationExpression(TypeReference typeReference, string parameterName, ParamModifier paramModifier, Expression defaultValue) { + public ParameterDeclarationExpression(TypeReference typeReference, string parameterName, ParameterModifiers paramModifier, Expression defaultValue) { TypeReference = typeReference; ParameterName = parameterName; ParamModifier = paramModifier; @@ -3034,14 +3034,14 @@ namespace ICSharpCode.NRefactory.Ast { } } - protected ParametrizedNode(Modifier modifier, List attributes, string name, List parameters) : + protected ParametrizedNode(Modifiers modifier, List attributes, string name, List parameters) : base(attributes) { Modifier = modifier; Name = name; Parameters = parameters; } - protected ParametrizedNode(Modifier modifier, List attributes) : + protected ParametrizedNode(Modifiers modifier, List attributes) : base(attributes) { Modifier = modifier; name = ""; @@ -3183,7 +3183,7 @@ namespace ICSharpCode.NRefactory.Ast { } } - public PropertyDeclaration(Modifier modifier, List attributes, string name, List parameters) : + public PropertyDeclaration(Modifiers modifier, List attributes, string name, List parameters) : base(modifier, attributes, name, parameters) { interfaceImplementations = new List(); typeReference = TypeReference.Null; @@ -3206,13 +3206,13 @@ namespace ICSharpCode.NRefactory.Ast { } - public PropertyDeclaration(string name, TypeReference typeReference, Modifier modifier, List attributes) : this(modifier, attributes, name, null) + public PropertyDeclaration(string name, TypeReference typeReference, Modifiers modifier, List attributes) : this(modifier, attributes, name, null) { this.TypeReference = typeReference; - if ((modifier & Modifier.ReadOnly) != Modifier.ReadOnly) { + if ((modifier & Modifiers.ReadOnly) != Modifiers.ReadOnly) { this.SetRegion = new PropertySetRegion(null, null); } - if ((modifier & Modifier.WriteOnly) != Modifier.WriteOnly) { + if ((modifier & Modifiers.WriteOnly) != Modifiers.WriteOnly) { this.GetRegion = new PropertyGetRegion(null, null); } } @@ -3900,7 +3900,7 @@ namespace ICSharpCode.NRefactory.Ast { } } - public TypeDeclaration(Modifier modifier, List attributes) : + public TypeDeclaration(Modifiers modifier, List attributes) : base(attributes) { Modifier = modifier; name = ""; @@ -4203,9 +4203,9 @@ public TypeReferenceExpression(string typeName) : this(new TypeReference(typeNam Usings = usings; } -public UsingDeclaration(string nameSpace) : this(nameSpace, null) {} +public UsingDeclaration(string @namespace) : this(@namespace, null) {} -public UsingDeclaration(string nameSpace, TypeReference alias) { usings = new List(1); usings.Add(new Using(nameSpace, alias)); } +public UsingDeclaration(string @namespace, TypeReference alias) { usings = new List(1); usings.Add(new Using(@namespace, alias)); } public override object AcceptVisitor(IAstVisitor visitor, object data) { return visitor.VisitUsingDeclaration(this, data); diff --git a/src/Libraries/NRefactory/Project/Src/Lexer/BuildKeywords.pl b/src/Libraries/NRefactory/Project/Src/Lexer/BuildKeywords.pl index c274099d03..083fe28f60 100644 --- a/src/Libraries/NRefactory/Project/Src/Lexer/BuildKeywords.pl +++ b/src/Libraries/NRefactory/Project/Src/Lexer/BuildKeywords.pl @@ -174,7 +174,7 @@ sub write_tokensfile { print DAT "\n"; print DAT "namespace " . $properties{'Namespace'} . "\n"; print DAT "{\n"; - print DAT "\tpublic sealed class Tokens\n"; + print DAT "\tpublic static class Tokens\n"; print DAT "\t{\n"; $tokenValue = 0; @@ -197,13 +197,13 @@ sub write_tokensfile { } print DAT "\n"; - print DAT "\t\tpublic const int maxToken = " . $tokenValue . ";\n"; + print DAT "\t\tpublic const int MaxToken = " . $tokenValue . ";\n"; #write sets. if ($#sets > 0) { print DAT "\t\tstatic BitArray NewSet(params int[] values)\n"; print DAT "\t\t{\n"; - print DAT "\t\t\tBitArray bitArray = new BitArray(maxToken);\n"; + print DAT "\t\t\tBitArray bitArray = new BitArray(MaxToken);\n"; print DAT "\t\t\tforeach (int val in values) {\n"; print DAT "\t\t\tbitArray[val] = true;\n"; print DAT "\t\t\t}\n"; diff --git a/src/Libraries/NRefactory/Project/Src/Lexer/CSharp/Tokens.cs b/src/Libraries/NRefactory/Project/Src/Lexer/CSharp/Tokens.cs index e998bf0dd0..6a96598074 100644 --- a/src/Libraries/NRefactory/Project/Src/Lexer/CSharp/Tokens.cs +++ b/src/Libraries/NRefactory/Project/Src/Lexer/CSharp/Tokens.cs @@ -144,10 +144,10 @@ namespace ICSharpCode.NRefactory.Parser.CSharp public const int Volatile = 123; public const int While = 124; - public const int maxToken = 125; + public const int MaxToken = 125; static BitArray NewSet(params int[] values) { - BitArray bitArray = new BitArray(maxToken); + BitArray bitArray = new BitArray(MaxToken); foreach (int val in values) { bitArray[val] = true; } diff --git a/src/Libraries/NRefactory/Project/Src/Lexer/Special/PreProcessingDirective.cs b/src/Libraries/NRefactory/Project/Src/Lexer/Special/PreProcessingDirective.cs index 6ca7c70bde..5f54fa7dec 100644 --- a/src/Libraries/NRefactory/Project/Src/Lexer/Special/PreProcessingDirective.cs +++ b/src/Libraries/NRefactory/Project/Src/Lexer/Special/PreProcessingDirective.cs @@ -23,22 +23,19 @@ namespace ICSharpCode.NRefactory public static PreprocessingDirective VBToCSharp(PreprocessingDirective dir) { - string cmd = dir.Cmd.ToLowerInvariant(); + string cmd = dir.Cmd; string arg = dir.Arg; - switch (cmd) { - case "#end": - if (arg.ToLowerInvariant().StartsWith("region")) { - cmd = "#endregion"; - arg = ""; - } else if ("if".Equals(arg, StringComparison.InvariantCultureIgnoreCase)) { - cmd = "#endif"; - arg = ""; - } - break; - case "#if": - if (arg.ToLowerInvariant().EndsWith(" then")) - arg = arg.Substring(0, arg.Length - 5); - break; + if (cmd.Equals("#end", StringComparison.InvariantCultureIgnoreCase)) { + if (arg.ToLowerInvariant().StartsWith("region")) { + cmd = "#endregion"; + arg = ""; + } else if ("if".Equals(arg, StringComparison.InvariantCultureIgnoreCase)) { + cmd = "#endif"; + arg = ""; + } + } else if (cmd.Equals("#if", StringComparison.InvariantCultureIgnoreCase)) { + if (arg.ToLowerInvariant().EndsWith(" then")) + arg = arg.Substring(0, arg.Length - 5); } return new PreprocessingDirective(cmd, arg, dir.StartPosition, dir.EndPosition); } diff --git a/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs b/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs index 271da9956c..45f6c6f691 100644 --- a/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs +++ b/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs @@ -532,8 +532,6 @@ namespace ICSharpCode.NRefactory.Parser.VB sb.Length = 0; StringBuilder curWord = specialCommentHash != null ? new StringBuilder() : null; int missingApostrophes = 2; // no. of ' missing until it is a documentation comment - //int x = Col; - int y = Line; int nextChar; while ((nextChar = ReaderRead()) != -1) { char ch = (char)nextChar; diff --git a/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Tokens.cs b/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Tokens.cs index cda10c9b9f..6ef61bf546 100644 --- a/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Tokens.cs +++ b/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Tokens.cs @@ -11,7 +11,7 @@ using System.Collections; namespace ICSharpCode.NRefactory.Parser.VB { - public sealed class Tokens + public static class Tokens { // ----- terminal classes ----- public const int EOF = 0; @@ -224,10 +224,10 @@ namespace ICSharpCode.NRefactory.Parser.VB public const int Partial = 203; public const int Custom = 204; - public const int maxToken = 205; + public const int MaxToken = 205; static BitArray NewSet(params int[] values) { - BitArray bitArray = new BitArray(maxToken); + BitArray bitArray = new BitArray(MaxToken); foreach (int val in values) { bitArray[val] = true; } diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AbstractParser.cs b/src/Libraries/NRefactory/Project/Src/Parser/AbstractParser.cs index 4d13b6b2a9..16e84fb3ea 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/AbstractParser.cs +++ b/src/Libraries/NRefactory/Project/Src/Parser/AbstractParser.cs @@ -10,19 +10,16 @@ using ICSharpCode.NRefactory.Ast; namespace ICSharpCode.NRefactory.Parser { - /// - /// Description of AbstractParser. - /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1708:IdentifiersShouldDifferByMoreThanCase")] public abstract class AbstractParser : IParser { - protected const int minErrDist = 2; - protected const string errMsgFormat = "-- line {0} col {1}: {2}"; // 0=line, 1=column, 2=text + protected const int MinErrDist = 2; + protected const string ErrMsgFormat = "-- line {0} col {1}: {2}"; // 0=line, 1=column, 2=text protected Errors errors; private ILexer lexer; - protected int errDist = minErrDist; + protected int errDist = MinErrDist; protected CompilationUnit compilationUnit; @@ -70,7 +67,7 @@ namespace ICSharpCode.NRefactory.Parser protected void SynErr(int n) { - if (errDist >= minErrDist) { + if (errDist >= MinErrDist) { errors.SynErr(lexer.LookAhead.line, lexer.LookAhead.col, n); } errDist = 0; @@ -78,7 +75,7 @@ namespace ICSharpCode.NRefactory.Parser protected void SemErr(string msg) { - if (errDist >= minErrDist) { + if (errDist >= MinErrDist) { errors.Error(lexer.Token.line, lexer.Token.col, msg); } errDist = 0; @@ -94,6 +91,7 @@ namespace ICSharpCode.NRefactory.Parser } #region System.IDisposable interface implementation + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1063:ImplementIDisposableCorrectly")] public void Dispose() { errors = null; diff --git a/src/Libraries/NRefactory/Project/Src/Parser/CSharp/CSharpParser.cs b/src/Libraries/NRefactory/Project/Src/Parser/CSharp/CSharpParser.cs index 8e2e5c6bb8..a6f37418f4 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/CSharp/CSharpParser.cs +++ b/src/Libraries/NRefactory/Project/Src/Parser/CSharp/CSharpParser.cs @@ -39,7 +39,7 @@ namespace ICSharpCode.NRefactory.Parser.CSharp public void Error(string s) { - if (errDist >= minErrDist) { + if (errDist >= MinErrDist) { errors.Error(la.line, la.col, s); } errDist = 0; diff --git a/src/Libraries/NRefactory/Project/Src/Parser/CSharp/Parser.cs b/src/Libraries/NRefactory/Project/Src/Parser/CSharp/Parser.cs index 575a39dc3d..c75c8ec8c9 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/CSharp/Parser.cs +++ b/src/Libraries/NRefactory/Project/Src/Parser/CSharp/Parser.cs @@ -136,7 +136,7 @@ out attribute); #line 293 "cs.ATG" AttributeSection section; List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); string qualident; if (la.kind == 87) { @@ -490,76 +490,76 @@ out attribute); void TypeModifier( #line 639 "cs.ATG" -Modifiers m) { +ModifierList m) { switch (la.kind) { case 88: { lexer.NextToken(); #line 641 "cs.ATG" - m.Add(Modifier.New, t.Location); + m.Add(Modifiers.New, t.Location); break; } case 97: { lexer.NextToken(); #line 642 "cs.ATG" - m.Add(Modifier.Public, t.Location); + m.Add(Modifiers.Public, t.Location); break; } case 96: { lexer.NextToken(); #line 643 "cs.ATG" - m.Add(Modifier.Protected, t.Location); + m.Add(Modifiers.Protected, t.Location); break; } case 83: { lexer.NextToken(); #line 644 "cs.ATG" - m.Add(Modifier.Internal, t.Location); + m.Add(Modifiers.Internal, t.Location); break; } case 95: { lexer.NextToken(); #line 645 "cs.ATG" - m.Add(Modifier.Private, t.Location); + m.Add(Modifiers.Private, t.Location); break; } case 118: { lexer.NextToken(); #line 646 "cs.ATG" - m.Add(Modifier.Unsafe, t.Location); + m.Add(Modifiers.Unsafe, t.Location); break; } case 48: { lexer.NextToken(); #line 647 "cs.ATG" - m.Add(Modifier.Abstract, t.Location); + m.Add(Modifiers.Abstract, t.Location); break; } case 102: { lexer.NextToken(); #line 648 "cs.ATG" - m.Add(Modifier.Sealed, t.Location); + m.Add(Modifiers.Sealed, t.Location); break; } case 106: { lexer.NextToken(); #line 649 "cs.ATG" - m.Add(Modifier.Static, t.Location); + m.Add(Modifiers.Static, t.Location); break; } case 1: { lexer.NextToken(); #line 650 "cs.ATG" - if (t.val == "partial") { m.Add(Modifier.Partial, t.Location); } else { Error("Unexpected identifier"); } + if (t.val == "partial") { m.Add(Modifiers.Partial, t.Location); } else { Error("Unexpected identifier"); } break; } default: SynErr(130); break; @@ -568,7 +568,7 @@ Modifiers m) { void TypeDecl( #line 318 "cs.ATG" -Modifiers m, List attributes) { +ModifierList m, List attributes) { #line 320 "cs.ATG" TypeReference type; @@ -580,7 +580,7 @@ Modifiers m, List attributes) { if (la.kind == 58) { #line 326 "cs.ATG" - m.Check(Modifier.Classes); + m.Check(Modifiers.Classes); lexer.NextToken(); #line 327 "cs.ATG" @@ -631,7 +631,7 @@ templates); } else if (StartOf(8)) { #line 350 "cs.ATG" - m.Check(Modifier.StructsInterfacesEnumsDelegates); + m.Check(Modifiers.StructsInterfacesEnumsDelegates); if (la.kind == 108) { lexer.NextToken(); @@ -942,7 +942,7 @@ out type); #line 460 "cs.ATG" List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); while (la.kind == 18) { AttributeSection( @@ -997,7 +997,7 @@ out typeRef, false); #line 484 "cs.ATG" List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); while (la.kind == 18) { AttributeSection( @@ -1315,7 +1315,7 @@ out typeArguments, canBeUnbound); void MemberModifiers( #line 674 "cs.ATG" -Modifiers m) { +ModifierList m) { while (StartOf(15) || #line 691 "cs.ATG" la.kind == Tokens.Identifier && la.val == "partial") { @@ -1323,84 +1323,84 @@ la.kind == Tokens.Identifier && la.val == "partial") { lexer.NextToken(); #line 677 "cs.ATG" - m.Add(Modifier.Abstract, t.Location); + m.Add(Modifiers.Abstract, t.Location); } else if (la.kind == 70) { lexer.NextToken(); #line 678 "cs.ATG" - m.Add(Modifier.Extern, t.Location); + m.Add(Modifiers.Extern, t.Location); } else if (la.kind == 83) { lexer.NextToken(); #line 679 "cs.ATG" - m.Add(Modifier.Internal, t.Location); + m.Add(Modifiers.Internal, t.Location); } else if (la.kind == 88) { lexer.NextToken(); #line 680 "cs.ATG" - m.Add(Modifier.New, t.Location); + m.Add(Modifiers.New, t.Location); } else if (la.kind == 93) { lexer.NextToken(); #line 681 "cs.ATG" - m.Add(Modifier.Override, t.Location); + m.Add(Modifiers.Override, t.Location); } else if (la.kind == 95) { lexer.NextToken(); #line 682 "cs.ATG" - m.Add(Modifier.Private, t.Location); + m.Add(Modifiers.Private, t.Location); } else if (la.kind == 96) { lexer.NextToken(); #line 683 "cs.ATG" - m.Add(Modifier.Protected, t.Location); + m.Add(Modifiers.Protected, t.Location); } else if (la.kind == 97) { lexer.NextToken(); #line 684 "cs.ATG" - m.Add(Modifier.Public, t.Location); + m.Add(Modifiers.Public, t.Location); } else if (la.kind == 98) { lexer.NextToken(); #line 685 "cs.ATG" - m.Add(Modifier.ReadOnly, t.Location); + m.Add(Modifiers.ReadOnly, t.Location); } else if (la.kind == 102) { lexer.NextToken(); #line 686 "cs.ATG" - m.Add(Modifier.Sealed, t.Location); + m.Add(Modifiers.Sealed, t.Location); } else if (la.kind == 106) { lexer.NextToken(); #line 687 "cs.ATG" - m.Add(Modifier.Static, t.Location); + m.Add(Modifiers.Static, t.Location); } else if (la.kind == 118) { lexer.NextToken(); #line 688 "cs.ATG" - m.Add(Modifier.Unsafe, t.Location); + m.Add(Modifiers.Unsafe, t.Location); } else if (la.kind == 121) { lexer.NextToken(); #line 689 "cs.ATG" - m.Add(Modifier.Virtual, t.Location); + m.Add(Modifiers.Virtual, t.Location); } else if (la.kind == 123) { lexer.NextToken(); #line 690 "cs.ATG" - m.Add(Modifier.Volatile, t.Location); + m.Add(Modifiers.Volatile, t.Location); } else { Expect(1); #line 692 "cs.ATG" - m.Add(Modifier.Partial, t.Location); + m.Add(Modifiers.Partial, t.Location); } } } void ClassMemberDecl( #line 967 "cs.ATG" -Modifiers m, List attributes) { +ModifierList m, List attributes) { #line 968 "cs.ATG" Statement stmt = null; @@ -1411,7 +1411,7 @@ m, attributes); } else if (la.kind == 27) { #line 971 "cs.ATG" - m.Check(Modifier.Destructors); Location startPos = t.Location; + m.Check(Modifiers.Destructors); Location startPos = t.Location; lexer.NextToken(); Expect(1); @@ -1442,7 +1442,7 @@ out stmt); void StructMemberDecl( #line 697 "cs.ATG" -Modifiers m, List attributes) { +ModifierList m, List attributes) { #line 699 "cs.ATG" string qualident = null; @@ -1457,7 +1457,7 @@ Modifiers m, List attributes) { if (la.kind == 59) { #line 709 "cs.ATG" - m.Check(Modifier.Constants); + m.Check(Modifiers.Constants); lexer.NextToken(); #line 710 "cs.ATG" @@ -1468,7 +1468,7 @@ out type); Expect(1); #line 711 "cs.ATG" - FieldDeclaration fd = new FieldDeclaration(attributes, type, m.Modifier | Modifier.Const); + FieldDeclaration fd = new FieldDeclaration(attributes, type, m.Modifier | Modifiers.Const); fd.StartLocation = m.GetDeclarationLocation(startPos); VariableDeclaration f = new VariableDeclaration(t.val); fd.Fields.Add(f); @@ -1505,7 +1505,7 @@ out expr); NotVoidPointer()) { #line 725 "cs.ATG" - m.Check(Modifier.PropertysEventsMethods); + m.Check(Modifiers.PropertysEventsMethods); Expect(122); #line 726 "cs.ATG" @@ -1576,7 +1576,7 @@ out stmt); } else if (la.kind == 68) { #line 760 "cs.ATG" - m.Check(Modifier.PropertysEventsMethods); + m.Check(Modifiers.PropertysEventsMethods); lexer.NextToken(); #line 761 "cs.ATG" @@ -1641,7 +1641,7 @@ out addBlock, out removeBlock); IdentAndLPar()) { #line 788 "cs.ATG" - m.Check(Modifier.Constructors | Modifier.StaticConstructors); + m.Check(Modifiers.Constructors | Modifiers.StaticConstructors); Expect(1); #line 789 "cs.ATG" @@ -1650,7 +1650,7 @@ IdentAndLPar()) { if (StartOf(10)) { #line 789 "cs.ATG" - m.Check(Modifier.Constructors); + m.Check(Modifiers.Constructors); FormalParameterList( #line 790 "cs.ATG" p); @@ -1662,7 +1662,7 @@ p); if (la.kind == 9) { #line 793 "cs.ATG" - m.Check(Modifier.Constructors); + m.Check(Modifiers.Constructors); ConstructorInitializer( #line 794 "cs.ATG" out init); @@ -1686,7 +1686,7 @@ out stmt); } else if (la.kind == 69 || la.kind == 79) { #line 804 "cs.ATG" - m.Check(Modifier.Operators); + m.Check(Modifiers.Operators); if (m.isNone) Error("at least one modifier must be set"); bool isImplicit = true; Location startPos = Location.Empty; @@ -1761,7 +1761,7 @@ out type); #line 836 "cs.ATG" OverloadableOperatorType op; - m.Check(Modifier.Operators); + m.Check(Modifiers.Operators); if (m.isNone) Error("at least one modifier must be set"); lexer.NextToken(); @@ -1823,7 +1823,7 @@ out stmt); IsVarDecl()) { #line 870 "cs.ATG" - m.Check(Modifier.Fields); + m.Check(Modifiers.Fields); FieldDeclaration fd = new FieldDeclaration(attributes, type, m.Modifier); fd.StartLocation = m.GetDeclarationLocation(startPos); @@ -1843,7 +1843,7 @@ variableDeclarators); } else if (la.kind == 110) { #line 879 "cs.ATG" - m.Check(Modifier.Indexers); + m.Check(Modifiers.Indexers); lexer.NextToken(); Expect(18); FormalParameterList( @@ -1901,7 +1901,7 @@ out explicitInterface, false); if (la.kind == 20 || la.kind == 23) { #line 906 "cs.ATG" - m.Check(Modifier.PropertysEventsMethods); + m.Check(Modifiers.PropertysEventsMethods); if (la.kind == 23) { TypeParameterList( #line 908 "cs.ATG" @@ -1973,7 +1973,7 @@ out getRegion, out setRegion); } else if (la.kind == 15) { #line 945 "cs.ATG" - m.Check(Modifier.Indexers); + m.Check(Modifiers.Indexers); lexer.NextToken(); Expect(110); Expect(18); @@ -2018,7 +2018,7 @@ out getRegion, out setRegion); TypeReference type; AttributeSection section; - Modifier mod = Modifier.None; + Modifiers mod = Modifiers.None; List attributes = new List(); List parameters = new List(); string name; @@ -2039,7 +2039,7 @@ out section); lexer.NextToken(); #line 998 "cs.ATG" - mod = Modifier.New; startLocation = t.Location; + mod = Modifiers.New; startLocation = t.Location; } if ( #line 1001 "cs.ATG" @@ -2346,7 +2346,7 @@ out ParameterDeclarationExpression p) { #line 611 "cs.ATG" TypeReference type; - ParamModifier mod = ParamModifier.In; + ParameterModifiers mod = ParameterModifiers.In; Location start = t.Location; if (la.kind == 92 || la.kind == 99) { @@ -2354,12 +2354,12 @@ out ParameterDeclarationExpression p) { lexer.NextToken(); #line 617 "cs.ATG" - mod = ParamModifier.Ref; + mod = ParameterModifiers.Ref; } else { lexer.NextToken(); #line 618 "cs.ATG" - mod = ParamModifier.Out; + mod = ParameterModifiers.Out; } } Type( @@ -2384,41 +2384,41 @@ out type); Expect(1); #line 626 "cs.ATG" - p = new ParameterDeclarationExpression(type, t.val, ParamModifier.Params); + p = new ParameterDeclarationExpression(type, t.val, ParameterModifiers.Params); } void AccessorModifiers( #line 629 "cs.ATG" -out Modifiers m) { +out ModifierList m) { #line 630 "cs.ATG" - m = new Modifiers(); + m = new ModifierList(); if (la.kind == 95) { lexer.NextToken(); #line 632 "cs.ATG" - m.Add(Modifier.Private, t.Location); + m.Add(Modifiers.Private, t.Location); } else if (la.kind == 96) { lexer.NextToken(); #line 633 "cs.ATG" - m.Add(Modifier.Protected, t.Location); + m.Add(Modifiers.Protected, t.Location); if (la.kind == 83) { lexer.NextToken(); #line 634 "cs.ATG" - m.Add(Modifier.Internal, t.Location); + m.Add(Modifiers.Internal, t.Location); } } else if (la.kind == 83) { lexer.NextToken(); #line 635 "cs.ATG" - m.Add(Modifier.Internal, t.Location); + m.Add(Modifiers.Internal, t.Location); if (la.kind == 96) { lexer.NextToken(); #line 636 "cs.ATG" - m.Add(Modifier.Protected, t.Location); + m.Add(Modifiers.Protected, t.Location); } } else SynErr(157); } @@ -2758,7 +2758,7 @@ out PropertyGetRegion getBlock, out PropertySetRegion setBlock) { AttributeSection section; getBlock = null; setBlock = null; - Modifiers modifiers = null; + ModifierList modifiers = null; while (la.kind == 18) { AttributeSection( @@ -3077,7 +3077,7 @@ IsLabel()) { out type); #line 1357 "cs.ATG" - LocalVariableDeclaration var = new LocalVariableDeclaration(type, Modifier.Const); string ident = null; var.StartLocation = t.Location; + LocalVariableDeclaration var = new LocalVariableDeclaration(type, Modifiers.Const); string ident = null; var.StartLocation = t.Location; Expect(1); #line 1358 "cs.ATG" diff --git a/src/Libraries/NRefactory/Project/Src/Parser/CSharp/cs.ATG b/src/Libraries/NRefactory/Project/Src/Parser/CSharp/cs.ATG index d8ceb37b1a..c3f1100471 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/CSharp/cs.ATG +++ b/src/Libraries/NRefactory/Project/Src/Parser/CSharp/cs.ATG @@ -292,7 +292,7 @@ NamespaceMemberDecl (. AttributeSection section; List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); string qualident; .) = /*--- namespace declaration: */ @@ -315,7 +315,7 @@ NamespaceMemberDecl TypeDecl . -TypeDecl attributes> +TypeDecl attributes> (. TypeReference type; List names; @@ -323,7 +323,7 @@ TypeDecl attributes> string name; List templates; .) -= /*--- class declaration: */ (. m.Check(Modifier.Classes); .) += /*--- class declaration: */ (. m.Check(Modifiers.Classes); .) "class" (. TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); templates = newType.Templates; compilationUnit.AddChild(newType); @@ -347,7 +347,7 @@ TypeDecl attributes> [ ";" ] (. newType.EndLocation = t.Location; compilationUnit.BlockEnd(); .) -| /*--- struct declaration: */ (. m.Check(Modifier.StructsInterfacesEnumsDelegates); .) +| /*--- struct declaration: */ (. m.Check(Modifiers.StructsInterfacesEnumsDelegates); .) ( "struct" (. TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); templates = newType.Templates; newType.StartLocation = m.GetDeclarationLocation(t.Location); @@ -458,7 +458,7 @@ ClassBody = "{" { (.List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); .) { AttributeSection (. attributes.Add(section); .) } MemberModifiers @@ -482,7 +482,7 @@ StructBody = "{" { (.List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); .) { AttributeSection (. attributes.Add(section); .) } MemberModifiers @@ -609,13 +609,13 @@ FormalParameterList parameter> FixedParameter (. TypeReference type; - ParamModifier mod = ParamModifier.In; + ParameterModifiers mod = ParameterModifiers.In; Location start = t.Location; .) = [ - "ref" (. mod = ParamModifier.Ref; .) - | "out" (. mod = ParamModifier.Out; .) + "ref" (. mod = ParameterModifiers.Ref; .) + | "out" (. mod = ParameterModifiers.Out; .) ] Type ident (. p = new ParameterDeclarationExpression(type, t.val, mod); p.StartLocation = start; p.EndLocation = t.Location; .) . @@ -623,31 +623,31 @@ FixedParameter ParameterArray (. TypeReference type; .) = - "params" Type ident (. p = new ParameterDeclarationExpression(type, t.val, ParamModifier.Params); .) + "params" Type ident (. p = new ParameterDeclarationExpression(type, t.val, ParameterModifiers.Params); .) . -AccessorModifiers -(. m = new Modifiers(); .) +AccessorModifiers +(. m = new ModifierList(); .) = - "private" (. m.Add(Modifier.Private, t.Location); .) - | "protected" (. m.Add(Modifier.Protected, t.Location); .) - ["internal" (. m.Add(Modifier.Internal, t.Location); .)] - | "internal" (. m.Add(Modifier.Internal, t.Location); .) - ["protected" (. m.Add(Modifier.Protected, t.Location); .)] + "private" (. m.Add(Modifiers.Private, t.Location); .) + | "protected" (. m.Add(Modifiers.Protected, t.Location); .) + ["internal" (. m.Add(Modifiers.Internal, t.Location); .)] + | "internal" (. m.Add(Modifiers.Internal, t.Location); .) + ["protected" (. m.Add(Modifiers.Protected, t.Location); .)] . -TypeModifier +TypeModifier = - "new" (. m.Add(Modifier.New, t.Location); .) - | "public" (. m.Add(Modifier.Public, t.Location); .) - | "protected" (. m.Add(Modifier.Protected, t.Location); .) - | "internal" (. m.Add(Modifier.Internal, t.Location); .) - | "private" (. m.Add(Modifier.Private, t.Location); .) - | "unsafe" (. m.Add(Modifier.Unsafe, t.Location); .) - | "abstract" (. m.Add(Modifier.Abstract, t.Location); .) - | "sealed" (. m.Add(Modifier.Sealed, t.Location); .) - | "static" (. m.Add(Modifier.Static, t.Location); .) - | ident (. if (t.val == "partial") { m.Add(Modifier.Partial, t.Location); } else { Error("Unexpected identifier"); } .) + "new" (. m.Add(Modifiers.New, t.Location); .) + | "public" (. m.Add(Modifiers.Public, t.Location); .) + | "protected" (. m.Add(Modifiers.Protected, t.Location); .) + | "internal" (. m.Add(Modifiers.Internal, t.Location); .) + | "private" (. m.Add(Modifiers.Private, t.Location); .) + | "unsafe" (. m.Add(Modifiers.Unsafe, t.Location); .) + | "abstract" (. m.Add(Modifiers.Abstract, t.Location); .) + | "sealed" (. m.Add(Modifiers.Sealed, t.Location); .) + | "static" (. m.Add(Modifiers.Static, t.Location); .) + | ident (. if (t.val == "partial") { m.Add(Modifiers.Partial, t.Location); } else { Error("Unexpected identifier"); } .) . ClassType @@ -671,30 +671,30 @@ IntegralType (. name = ""; .) | "char" (. name = "char"; .) . -MemberModifiers +MemberModifiers = { - "abstract" (. m.Add(Modifier.Abstract, t.Location); .) - | "extern" (. m.Add(Modifier.Extern, t.Location); .) - | "internal" (. m.Add(Modifier.Internal, t.Location); .) - | "new" (. m.Add(Modifier.New, t.Location); .) - | "override" (. m.Add(Modifier.Override, t.Location); .) - | "private" (. m.Add(Modifier.Private, t.Location); .) - | "protected" (. m.Add(Modifier.Protected, t.Location); .) - | "public" (. m.Add(Modifier.Public, t.Location); .) - | "readonly" (. m.Add(Modifier.ReadOnly, t.Location); .) - | "sealed" (. m.Add(Modifier.Sealed, t.Location); .) - | "static" (. m.Add(Modifier.Static, t.Location); .) - | "unsafe" (. m.Add(Modifier.Unsafe, t.Location); .) - | "virtual" (. m.Add(Modifier.Virtual, t.Location); .) - | "volatile" (. m.Add(Modifier.Volatile, t.Location); .) + "abstract" (. m.Add(Modifiers.Abstract, t.Location); .) + | "extern" (. m.Add(Modifiers.Extern, t.Location); .) + | "internal" (. m.Add(Modifiers.Internal, t.Location); .) + | "new" (. m.Add(Modifiers.New, t.Location); .) + | "override" (. m.Add(Modifiers.Override, t.Location); .) + | "private" (. m.Add(Modifiers.Private, t.Location); .) + | "protected" (. m.Add(Modifiers.Protected, t.Location); .) + | "public" (. m.Add(Modifiers.Public, t.Location); .) + | "readonly" (. m.Add(Modifiers.ReadOnly, t.Location); .) + | "sealed" (. m.Add(Modifiers.Sealed, t.Location); .) + | "static" (. m.Add(Modifiers.Static, t.Location); .) + | "unsafe" (. m.Add(Modifiers.Unsafe, t.Location); .) + | "virtual" (. m.Add(Modifiers.Virtual, t.Location); .) + | "volatile" (. m.Add(Modifiers.Volatile, t.Location); .) | ( IF(la.kind == Tokens.Identifier && la.val == "partial") - ident (. m.Add(Modifier.Partial, t.Location); .) + ident (. m.Add(Modifiers.Partial, t.Location); .) ) } . -StructMemberDecl attributes> +StructMemberDecl attributes> (. string qualident = null; TypeReference type; @@ -706,9 +706,9 @@ StructMemberDecl attributes> TypeReference explicitInterface = null; .) = - /*--- constant declaration: */ (. m.Check(Modifier.Constants); .) + /*--- constant declaration: */ (. m.Check(Modifiers.Constants); .) "const" (.Location startPos = t.Location; .) - Type ident (. FieldDeclaration fd = new FieldDeclaration(attributes, type, m.Modifier | Modifier.Const); + Type ident (. FieldDeclaration fd = new FieldDeclaration(attributes, type, m.Modifier | Modifiers.Const); fd.StartLocation = m.GetDeclarationLocation(startPos); VariableDeclaration f = new VariableDeclaration(t.val); fd.Fields.Add(f); @@ -722,7 +722,7 @@ StructMemberDecl attributes> | /*--- void method (procedure) declaration: */ - IF (NotVoidPointer()) (. m.Check(Modifier.PropertysEventsMethods); .) + IF (NotVoidPointer()) (. m.Check(Modifiers.PropertysEventsMethods); .) "void" (. Location startPos = t.Location; .) ( IF (IsExplicitInterfaceImplementation()) TypeName @@ -757,7 +757,7 @@ StructMemberDecl attributes> methodDeclaration.Body = (BlockStatement)stmt; .) -| /*--- event declaration: */ (. m.Check(Modifier.PropertysEventsMethods); .) +| /*--- event declaration: */ (. m.Check(Modifiers.PropertysEventsMethods); .) "event" (. EventDeclaration eventDecl = new EventDeclaration(null, null, m.Modifier, attributes, null); eventDecl.StartLocation = t.Location; compilationUnit.AddChild(eventDecl); @@ -785,12 +785,12 @@ StructMemberDecl attributes> .) | /*--- constructor or static contructor declaration: */ - IF (IdentAndLPar()) (. m.Check(Modifier.Constructors | Modifier.StaticConstructors); .) - ident (. string name = t.val; Location startPos = t.Location; .) "(" [ (. m.Check(Modifier.Constructors); .) + IF (IdentAndLPar()) (. m.Check(Modifiers.Constructors | Modifiers.StaticConstructors); .) + ident (. string name = t.val; Location startPos = t.Location; .) "(" [ (. m.Check(Modifiers.Constructors); .) FormalParameterList

] ")" (.ConstructorInitializer init = null; .) - [ (. m.Check(Modifier.Constructors); .) + [ (. m.Check(Modifiers.Constructors); .) ConstructorInitializer ] (. ConstructorDeclaration cd = new ConstructorDeclaration(name, m.Modifier, p, init, attributes); @@ -801,7 +801,7 @@ StructMemberDecl attributes> ( Block | ";" ) (. cd.Body = (BlockStatement)stmt; compilationUnit.AddChild(cd); .) -| /*--- conversion operator declaration: */ (. m.Check(Modifier.Operators); +| /*--- conversion operator declaration: */ (. m.Check(Modifiers.Operators); if (m.isNone) Error("at least one modifier must be set"); bool isImplicit = true; Location startPos = Location.Empty; @@ -834,7 +834,7 @@ StructMemberDecl attributes> | Type (. Location startPos = t.Location; .) ( /*--- operator declaration: */ (. OverloadableOperatorType op; - m.Check(Modifier.Operators); + m.Check(Modifiers.Operators); if (m.isNone) Error("at least one modifier must be set"); .) "operator" OverloadableOperator (. TypeReference firstType, secondType = null; string secondName = null; .) @@ -867,7 +867,7 @@ StructMemberDecl attributes> .) /*--- field declaration: */ - | IF (IsVarDecl()) (. m.Check(Modifier.Fields); + | IF (IsVarDecl()) (. m.Check(Modifiers.Fields); FieldDeclaration fd = new FieldDeclaration(attributes, type, m.Modifier); fd.StartLocation = m.GetDeclarationLocation(startPos); .) @@ -876,7 +876,7 @@ StructMemberDecl attributes> ";" (. fd.EndLocation = t.EndLocation; fd.Fields = variableDeclarators; compilationUnit.AddChild(fd); .) /*--- unqualified indexer declaration (without interface name): */ - | (. m.Check(Modifier.Indexers); .) + | (. m.Check(Modifiers.Indexers); .) "this" "[" FormalParameterList

"]" (. Location endLocation = t.EndLocation; .) "{" (. IndexerDeclaration indexer = new IndexerDeclaration(type, p, m.Modifier, attributes); indexer.StartLocation = startPos; @@ -903,7 +903,7 @@ StructMemberDecl attributes> ( /*--- "not void" method (function) declaration: */ - ( (. m.Check(Modifier.PropertysEventsMethods); .) + ( (. m.Check(Modifiers.PropertysEventsMethods); .) /* .NET 2.0 */ [ TypeParameterList ] "(" [ FormalParameterList

] ")" (. @@ -942,7 +942,7 @@ StructMemberDecl attributes> ) /*--- qualified indexer declaration (with interface name): */ - | (. m.Check(Modifier.Indexers); .) + | (. m.Check(Modifiers.Indexers); .) "." "this" "[" FormalParameterList

"]" (. IndexerDeclaration indexer = new IndexerDeclaration(type, p, m.Modifier, attributes); indexer.StartLocation = m.GetDeclarationLocation(startPos); @@ -964,11 +964,11 @@ StructMemberDecl attributes> ) . -ClassMemberDecl attributes> +ClassMemberDecl attributes> (. Statement stmt = null; .) = StructMemberDecl - | /*--- destructor declaration: */ (. m.Check(Modifier.Destructors); Location startPos = t.Location; .) + | /*--- destructor declaration: */ (. m.Check(Modifiers.Destructors); Location startPos = t.Location; .) "~" ident (. DestructorDeclaration d = new DestructorDeclaration(t.val, m.Modifier, attributes); d.Modifier = m.Modifier; d.StartLocation = m.GetDeclarationLocation(startPos); @@ -984,7 +984,7 @@ InterfaceMemberDecl TypeReference type; AttributeSection section; - Modifier mod = Modifier.None; + Modifiers mod = Modifiers.None; List attributes = new List(); List parameters = new List(); string name; @@ -995,7 +995,7 @@ InterfaceMemberDecl .) = { AttributeSection (. attributes.Add(section); .)} - [ "new" (. mod = Modifier.New; startLocation = t.Location; .) ] + [ "new" (. mod = Modifiers.New; startLocation = t.Location; .) ] ( /*--- interface void method (procedure) declaration: */ IF (NotVoidPointer()) "void" (. if (startLocation.X == -1) startLocation = t.Location; .) ident (. name = t.val; .) @@ -1067,7 +1067,7 @@ AccessorDecls AttributeSection section; getBlock = null; setBlock = null; - Modifiers modifiers = null; + ModifierList modifiers = null; .) = { AttributeSection (. attributes.Add(section); .) } @@ -1354,7 +1354,7 @@ Statement IF (IsLabel()) ident (. compilationUnit.AddChild(new LabelStatement(t.val)); .) ":" Statement /*--- local constant declaration: */ - | "const" Type (. LocalVariableDeclaration var = new LocalVariableDeclaration(type, Modifier.Const); string ident = null; var.StartLocation = t.Location; .) + | "const" Type (. LocalVariableDeclaration var = new LocalVariableDeclaration(type, Modifiers.Const); string ident = null; var.StartLocation = t.Location; .) ident (. ident = t.val; .) "=" Expr (. var.Variables.Add(new VariableDeclaration(ident, expr)); .) { "," ident (. ident = t.val; .) "=" Expr (. var.Variables.Add(new VariableDeclaration(ident, expr)); .) } diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Modifiers.cs b/src/Libraries/NRefactory/Project/Src/Parser/ModifierList.cs similarity index 62% rename from src/Libraries/NRefactory/Project/Src/Parser/Modifiers.cs rename to src/Libraries/NRefactory/Project/Src/Parser/ModifierList.cs index ad46749c3a..1f88ac191b 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/Modifiers.cs +++ b/src/Libraries/NRefactory/Project/Src/Parser/ModifierList.cs @@ -9,12 +9,12 @@ using ICSharpCode.NRefactory.Ast; namespace ICSharpCode.NRefactory.Parser { - internal class Modifiers + internal class ModifierList { - Modifier cur; + Modifiers cur; Location location = new Location(-1, -1); - public Modifier Modifier { + public Modifiers Modifier { get { return cur; } @@ -28,23 +28,23 @@ namespace ICSharpCode.NRefactory.Parser return location; } - public Location Location { - get { - return location; - } - set { - location = value; - } - } +// public Location Location { +// get { +// return location; +// } +// set { +// location = value; +// } +// } - public bool isNone { get { return cur == Modifier.None; } } + public bool isNone { get { return cur == Modifiers.None; } } - public bool Contains(Modifier m) + public bool Contains(Modifiers m) { return ((cur & m) != 0); } - public void Add(Modifier m, Location tokenLocation) + public void Add(Modifiers m, Location tokenLocation) { if(location.X == -1 && location.Y == -1) { location = tokenLocation; @@ -57,15 +57,15 @@ namespace ICSharpCode.NRefactory.Parser } } - public void Add(Modifiers m) - { - Add(m.cur, m.Location); - } +// public void Add(Modifiers m) +// { +// Add(m.cur, m.Location); +// } - public void Check(Modifier allowed) + public void Check(Modifiers allowed) { - Modifier wrong = cur & ~allowed; - if (wrong != Modifier.None) { + Modifiers wrong = cur & ~allowed; + if (wrong != Modifiers.None) { // parser.Error("modifier(s) " + wrong + " not allowed here"); } } diff --git a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/ParamModifier.cs b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/ParamModifierList.cs similarity index 60% rename from src/Libraries/NRefactory/Project/Src/Parser/VBNet/ParamModifier.cs rename to src/Libraries/NRefactory/Project/Src/Parser/VBNet/ParamModifierList.cs index 8612fe848b..d8d879b37c 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/ParamModifier.cs +++ b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/ParamModifierList.cs @@ -9,26 +9,26 @@ using ICSharpCode.NRefactory.Ast; namespace ICSharpCode.NRefactory.Parser.VB { - internal class ParamModifiers + internal class ParamModifierList { - ParamModifier cur; + ParameterModifiers cur; Parser parser; - public ParamModifier Modifier { + public ParameterModifiers Modifier { get { return cur; } } - public ParamModifiers(Parser parser) + public ParamModifierList(Parser parser) { this.parser = parser; - cur = ParamModifier.None; + cur = ParameterModifiers.None; } - public bool isNone { get { return cur == ParamModifier.None; } } + public bool isNone { get { return cur == ParameterModifiers.None; } } - public void Add(ParamModifier m) + public void Add(ParameterModifiers m) { if ((cur & m) == 0) { cur |= m; @@ -37,15 +37,15 @@ namespace ICSharpCode.NRefactory.Parser.VB } } - public void Add(ParamModifiers m) + public void Add(ParamModifierList m) { Add(m.cur); } public void Check() { - if((cur & ParamModifier.In) != 0 && - (cur & ParamModifier.Ref) != 0) { + if((cur & ParameterModifiers.In) != 0 && + (cur & ParameterModifiers.Ref) != 0) { parser.Error("ByRef and ByVal are not allowed at the same time."); } } diff --git a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Parser.cs b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Parser.cs index 411ccfe742..75bcee5c82 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Parser.cs +++ b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/Parser.cs @@ -149,7 +149,7 @@ out u); void GlobalAttributeSection() { -#line 1984 "VBNET.ATG" +#line 1986 "VBNET.ATG" Location startPos = t.Location; Expect(27); if (la.kind == 49) { @@ -158,20 +158,20 @@ out u); lexer.NextToken(); } else SynErr(208); -#line 1986 "VBNET.ATG" +#line 1988 "VBNET.ATG" string attributeTarget = t.val.ToLower(System.Globalization.CultureInfo.InvariantCulture); List attributes = new List(); ASTAttribute attribute; Expect(13); Attribute( -#line 1990 "VBNET.ATG" +#line 1992 "VBNET.ATG" out attribute); -#line 1990 "VBNET.ATG" +#line 1992 "VBNET.ATG" attributes.Add(attribute); while ( -#line 1991 "VBNET.ATG" +#line 1993 "VBNET.ATG" NotFinalComma()) { if (la.kind == 12) { lexer.NextToken(); @@ -183,10 +183,10 @@ NotFinalComma()) { Expect(13); } Attribute( -#line 1991 "VBNET.ATG" +#line 1993 "VBNET.ATG" out attribute); -#line 1991 "VBNET.ATG" +#line 1993 "VBNET.ATG" attributes.Add(attribute); } if (la.kind == 12) { @@ -195,7 +195,7 @@ out attribute); Expect(26); EndOfStmt(); -#line 1996 "VBNET.ATG" +#line 1998 "VBNET.ATG" AttributeSection section = new AttributeSection(attributeTarget, attributes); section.StartLocation = startPos; section.EndLocation = t.EndLocation; @@ -206,7 +206,7 @@ out attribute); void NamespaceMemberDecl() { #line 321 "VBNET.ATG" - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); AttributeSection section; List attributes = new List(); string qualident; @@ -312,47 +312,47 @@ out aliasedType); } void Qualident( -#line 2700 "VBNET.ATG" +#line 2702 "VBNET.ATG" out string qualident) { -#line 2702 "VBNET.ATG" +#line 2704 "VBNET.ATG" string name; qualidentBuilder.Length = 0; Identifier(); -#line 2706 "VBNET.ATG" +#line 2708 "VBNET.ATG" qualidentBuilder.Append(t.val); while ( -#line 2707 "VBNET.ATG" +#line 2709 "VBNET.ATG" DotAndIdentOrKw()) { Expect(10); IdentifierOrKeyword( -#line 2707 "VBNET.ATG" +#line 2709 "VBNET.ATG" out name); -#line 2707 "VBNET.ATG" +#line 2709 "VBNET.ATG" qualidentBuilder.Append('.'); qualidentBuilder.Append(name); } -#line 2709 "VBNET.ATG" +#line 2711 "VBNET.ATG" qualident = qualidentBuilder.ToString(); } void TypeName( -#line 1877 "VBNET.ATG" +#line 1879 "VBNET.ATG" out TypeReference typeref) { -#line 1878 "VBNET.ATG" +#line 1880 "VBNET.ATG" ArrayList rank = null; NonArrayTypeName( -#line 1880 "VBNET.ATG" +#line 1882 "VBNET.ATG" out typeref, false); ArrayTypeModifiers( -#line 1881 "VBNET.ATG" +#line 1883 "VBNET.ATG" out rank); -#line 1882 "VBNET.ATG" +#line 1884 "VBNET.ATG" if (rank != null && typeref != null) { typeref.RankSpecifier = (int[])rank.ToArray(typeof(int)); } @@ -369,35 +369,35 @@ out rank); } void AttributeSection( -#line 2054 "VBNET.ATG" +#line 2056 "VBNET.ATG" out AttributeSection section) { -#line 2056 "VBNET.ATG" +#line 2058 "VBNET.ATG" string attributeTarget = "";List attributes = new List(); ASTAttribute attribute; Expect(27); -#line 2060 "VBNET.ATG" +#line 2062 "VBNET.ATG" Location startPos = t.Location; if ( -#line 2061 "VBNET.ATG" +#line 2063 "VBNET.ATG" IsLocalAttrTarget()) { if (la.kind == 93) { lexer.NextToken(); -#line 2062 "VBNET.ATG" +#line 2064 "VBNET.ATG" attributeTarget = "event"; } else if (la.kind == 154) { lexer.NextToken(); -#line 2063 "VBNET.ATG" +#line 2065 "VBNET.ATG" attributeTarget = "return"; } else { Identifier(); -#line 2066 "VBNET.ATG" +#line 2068 "VBNET.ATG" string val = t.val.ToLower(System.Globalization.CultureInfo.InvariantCulture); if (val != "field" || val != "method" || val != "module" || val != "param" || @@ -410,20 +410,20 @@ IsLocalAttrTarget()) { Expect(13); } Attribute( -#line 2076 "VBNET.ATG" +#line 2078 "VBNET.ATG" out attribute); -#line 2076 "VBNET.ATG" +#line 2078 "VBNET.ATG" attributes.Add(attribute); while ( -#line 2077 "VBNET.ATG" +#line 2079 "VBNET.ATG" NotFinalComma()) { Expect(12); Attribute( -#line 2077 "VBNET.ATG" +#line 2079 "VBNET.ATG" out attribute); -#line 2077 "VBNET.ATG" +#line 2079 "VBNET.ATG" attributes.Add(attribute); } if (la.kind == 12) { @@ -431,7 +431,7 @@ out attribute); } Expect(26); -#line 2081 "VBNET.ATG" +#line 2083 "VBNET.ATG" section = new AttributeSection(attributeTarget, attributes); section.StartLocation = startPos; section.EndLocation = t.EndLocation; @@ -439,70 +439,70 @@ out attribute); } void TypeModifier( -#line 2776 "VBNET.ATG" -Modifiers m) { +#line 2778 "VBNET.ATG" +ModifierList m) { switch (la.kind) { case 148: { lexer.NextToken(); -#line 2777 "VBNET.ATG" - m.Add(Modifier.Public, t.Location); +#line 2779 "VBNET.ATG" + m.Add(Modifiers.Public, t.Location); break; } case 147: { lexer.NextToken(); -#line 2778 "VBNET.ATG" - m.Add(Modifier.Protected, t.Location); +#line 2780 "VBNET.ATG" + m.Add(Modifiers.Protected, t.Location); break; } case 99: { lexer.NextToken(); -#line 2779 "VBNET.ATG" - m.Add(Modifier.Internal, t.Location); +#line 2781 "VBNET.ATG" + m.Add(Modifiers.Internal, t.Location); break; } case 145: { lexer.NextToken(); -#line 2780 "VBNET.ATG" - m.Add(Modifier.Private, t.Location); +#line 2782 "VBNET.ATG" + m.Add(Modifiers.Private, t.Location); break; } case 158: { lexer.NextToken(); -#line 2781 "VBNET.ATG" - m.Add(Modifier.Static, t.Location); +#line 2783 "VBNET.ATG" + m.Add(Modifiers.Static, t.Location); break; } case 157: { lexer.NextToken(); -#line 2782 "VBNET.ATG" - m.Add(Modifier.New, t.Location); +#line 2784 "VBNET.ATG" + m.Add(Modifiers.New, t.Location); break; } case 122: { lexer.NextToken(); -#line 2783 "VBNET.ATG" - m.Add(Modifier.Abstract, t.Location); +#line 2785 "VBNET.ATG" + m.Add(Modifiers.Abstract, t.Location); break; } case 131: { lexer.NextToken(); -#line 2784 "VBNET.ATG" - m.Add(Modifier.Sealed, t.Location); +#line 2786 "VBNET.ATG" + m.Add(Modifiers.Sealed, t.Location); break; } case 203: { lexer.NextToken(); -#line 2785 "VBNET.ATG" - m.Add(Modifier.Partial, t.Location); +#line 2787 "VBNET.ATG" + m.Add(Modifiers.Partial, t.Location); break; } default: SynErr(213); break; @@ -511,7 +511,7 @@ Modifiers m) { void NonModuleDeclaration( #line 396 "VBNET.ATG" -Modifiers m, List attributes) { +ModifierList m, List attributes) { #line 398 "VBNET.ATG" TypeReference typeRef = null; @@ -521,7 +521,7 @@ Modifiers m, List attributes) { case 67: { #line 401 "VBNET.ATG" - m.Check(Modifier.Classes); + m.Check(Modifiers.Classes); lexer.NextToken(); #line 404 "VBNET.ATG" @@ -572,7 +572,7 @@ newType); lexer.NextToken(); #line 423 "VBNET.ATG" - m.Check(Modifier.VBModules); + m.Check(Modifiers.VBModules); TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); compilationUnit.AddChild(newType); compilationUnit.BlockStart(newType); @@ -600,7 +600,7 @@ newType); lexer.NextToken(); #line 439 "VBNET.ATG" - m.Check(Modifier.VBStructures); + m.Check(Modifiers.VBStructures); TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); compilationUnit.AddChild(newType); compilationUnit.BlockStart(newType); @@ -639,7 +639,7 @@ newType); lexer.NextToken(); #line 458 "VBNET.ATG" - m.Check(Modifier.VBEnums); + m.Check(Modifiers.VBEnums); TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); newType.StartLocation = m.GetDeclarationLocation(t.Location); compilationUnit.AddChild(newType); @@ -677,7 +677,7 @@ newType); lexer.NextToken(); #line 477 "VBNET.ATG" - m.Check(Modifier.VBInterfacs); + m.Check(Modifiers.VBInterfacs); TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); newType.StartLocation = m.GetDeclarationLocation(t.Location); compilationUnit.AddChild(newType); @@ -716,7 +716,7 @@ newType); lexer.NextToken(); #line 496 "VBNET.ATG" - m.Check(Modifier.VBDelegates); + m.Check(Modifiers.VBDelegates); DelegateDeclaration delegateDeclr = new DelegateDeclaration(m.Modifier, attributes); delegateDeclr.ReturnType = new TypeReference("", "System.Void"); delegateDeclr.StartLocation = m.GetDeclarationLocation(t.Location); @@ -939,28 +939,28 @@ out typeRef); } void TypeImplementsClause( -#line 1477 "VBNET.ATG" +#line 1479 "VBNET.ATG" out List baseInterfaces) { -#line 1479 "VBNET.ATG" +#line 1481 "VBNET.ATG" baseInterfaces = new List(); TypeReference type = null; Expect(107); TypeName( -#line 1482 "VBNET.ATG" +#line 1484 "VBNET.ATG" out type); -#line 1484 "VBNET.ATG" +#line 1486 "VBNET.ATG" baseInterfaces.Add(type); while (la.kind == 12) { lexer.NextToken(); TypeName( -#line 1487 "VBNET.ATG" +#line 1489 "VBNET.ATG" out type); -#line 1488 "VBNET.ATG" +#line 1490 "VBNET.ATG" baseInterfaces.Add(type); } EndOfStmt(); @@ -976,7 +976,7 @@ TypeDeclaration newType) { #line 528 "VBNET.ATG" List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); while (la.kind == 27) { AttributeSection( @@ -1013,7 +1013,7 @@ TypeDeclaration newType) { #line 557 "VBNET.ATG" List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); while (la.kind == 27) { AttributeSection( @@ -1050,7 +1050,7 @@ TypeDeclaration newType) { #line 542 "VBNET.ATG" List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); while (la.kind == 27) { AttributeSection( @@ -1078,10 +1078,10 @@ m, attributes); } void NonArrayTypeName( -#line 1900 "VBNET.ATG" +#line 1902 "VBNET.ATG" out TypeReference typeref, bool canBeUnbound) { -#line 1902 "VBNET.ATG" +#line 1904 "VBNET.ATG" string name; typeref = null; bool isGlobal = false; @@ -1091,38 +1091,38 @@ out TypeReference typeref, bool canBeUnbound) { lexer.NextToken(); Expect(10); -#line 1907 "VBNET.ATG" +#line 1909 "VBNET.ATG" isGlobal = true; } QualIdentAndTypeArguments( -#line 1908 "VBNET.ATG" +#line 1910 "VBNET.ATG" out typeref, canBeUnbound); -#line 1909 "VBNET.ATG" +#line 1911 "VBNET.ATG" typeref.IsGlobal = isGlobal; while (la.kind == 10) { lexer.NextToken(); -#line 1910 "VBNET.ATG" +#line 1912 "VBNET.ATG" TypeReference nestedTypeRef; QualIdentAndTypeArguments( -#line 1911 "VBNET.ATG" +#line 1913 "VBNET.ATG" out nestedTypeRef, canBeUnbound); -#line 1912 "VBNET.ATG" +#line 1914 "VBNET.ATG" typeref = new InnerClassTypeReference(typeref, nestedTypeRef.Type, nestedTypeRef.GenericTypes); } } else if (la.kind == 133) { lexer.NextToken(); -#line 1915 "VBNET.ATG" +#line 1917 "VBNET.ATG" typeref = new TypeReference("System.Object"); } else if (StartOf(9)) { PrimitiveTypeName( -#line 1916 "VBNET.ATG" +#line 1918 "VBNET.ATG" out name); -#line 1916 "VBNET.ATG" +#line 1918 "VBNET.ATG" typeref = new TypeReference(name); } else SynErr(218); } @@ -1150,27 +1150,27 @@ out f); } void InterfaceBase( -#line 1462 "VBNET.ATG" +#line 1464 "VBNET.ATG" out List bases) { -#line 1464 "VBNET.ATG" +#line 1466 "VBNET.ATG" TypeReference type; bases = new List(); Expect(110); TypeName( -#line 1468 "VBNET.ATG" +#line 1470 "VBNET.ATG" out type); -#line 1468 "VBNET.ATG" +#line 1470 "VBNET.ATG" bases.Add(type); while (la.kind == 12) { lexer.NextToken(); TypeName( -#line 1471 "VBNET.ATG" +#line 1473 "VBNET.ATG" out type); -#line 1471 "VBNET.ATG" +#line 1473 "VBNET.ATG" bases.Add(type); } Expect(1); @@ -1191,27 +1191,27 @@ TypeDeclaration newType) { } void FormalParameterList( -#line 2088 "VBNET.ATG" +#line 2090 "VBNET.ATG" List parameter) { -#line 2090 "VBNET.ATG" +#line 2092 "VBNET.ATG" ParameterDeclarationExpression p; AttributeSection section; List attributes = new List(); while (la.kind == 27) { AttributeSection( -#line 2094 "VBNET.ATG" +#line 2096 "VBNET.ATG" out section); -#line 2094 "VBNET.ATG" +#line 2096 "VBNET.ATG" attributes.Add(section); } FormalParameter( -#line 2096 "VBNET.ATG" +#line 2098 "VBNET.ATG" out p); -#line 2098 "VBNET.ATG" +#line 2100 "VBNET.ATG" bool paramsFound = false; p.Attributes = attributes; parameter.Add(p); @@ -1219,153 +1219,153 @@ out p); while (la.kind == 12) { lexer.NextToken(); -#line 2103 "VBNET.ATG" +#line 2105 "VBNET.ATG" if (paramsFound) Error("params array must be at end of parameter list"); while (la.kind == 27) { AttributeSection( -#line 2104 "VBNET.ATG" +#line 2106 "VBNET.ATG" out section); -#line 2104 "VBNET.ATG" +#line 2106 "VBNET.ATG" attributes.Add(section); } FormalParameter( -#line 2106 "VBNET.ATG" +#line 2108 "VBNET.ATG" out p); -#line 2106 "VBNET.ATG" +#line 2108 "VBNET.ATG" p.Attributes = attributes; parameter.Add(p); } } void MemberModifier( -#line 2788 "VBNET.ATG" -Modifiers m) { +#line 2790 "VBNET.ATG" +ModifierList m) { switch (la.kind) { case 122: { lexer.NextToken(); -#line 2789 "VBNET.ATG" - m.Add(Modifier.Abstract, t.Location); +#line 2791 "VBNET.ATG" + m.Add(Modifiers.Abstract, t.Location); break; } case 79: { lexer.NextToken(); -#line 2790 "VBNET.ATG" - m.Add(Modifier.Default, t.Location); +#line 2792 "VBNET.ATG" + m.Add(Modifiers.Default, t.Location); break; } case 99: { lexer.NextToken(); -#line 2791 "VBNET.ATG" - m.Add(Modifier.Internal, t.Location); +#line 2793 "VBNET.ATG" + m.Add(Modifiers.Internal, t.Location); break; } case 157: { lexer.NextToken(); -#line 2792 "VBNET.ATG" - m.Add(Modifier.New, t.Location); +#line 2794 "VBNET.ATG" + m.Add(Modifiers.New, t.Location); break; } case 142: { lexer.NextToken(); -#line 2793 "VBNET.ATG" - m.Add(Modifier.Override, t.Location); +#line 2795 "VBNET.ATG" + m.Add(Modifiers.Override, t.Location); break; } case 123: { lexer.NextToken(); -#line 2794 "VBNET.ATG" - m.Add(Modifier.Abstract, t.Location); +#line 2796 "VBNET.ATG" + m.Add(Modifiers.Abstract, t.Location); break; } case 145: { lexer.NextToken(); -#line 2795 "VBNET.ATG" - m.Add(Modifier.Private, t.Location); +#line 2797 "VBNET.ATG" + m.Add(Modifiers.Private, t.Location); break; } case 147: { lexer.NextToken(); -#line 2796 "VBNET.ATG" - m.Add(Modifier.Protected, t.Location); +#line 2798 "VBNET.ATG" + m.Add(Modifiers.Protected, t.Location); break; } case 148: { lexer.NextToken(); -#line 2797 "VBNET.ATG" - m.Add(Modifier.Public, t.Location); +#line 2799 "VBNET.ATG" + m.Add(Modifiers.Public, t.Location); break; } case 131: { lexer.NextToken(); -#line 2798 "VBNET.ATG" - m.Add(Modifier.Sealed, t.Location); +#line 2800 "VBNET.ATG" + m.Add(Modifiers.Sealed, t.Location); break; } case 132: { lexer.NextToken(); -#line 2799 "VBNET.ATG" - m.Add(Modifier.Sealed, t.Location); +#line 2801 "VBNET.ATG" + m.Add(Modifiers.Sealed, t.Location); break; } case 158: { lexer.NextToken(); -#line 2800 "VBNET.ATG" - m.Add(Modifier.Static, t.Location); +#line 2802 "VBNET.ATG" + m.Add(Modifiers.Static, t.Location); break; } case 141: { lexer.NextToken(); -#line 2801 "VBNET.ATG" - m.Add(Modifier.Virtual, t.Location); +#line 2803 "VBNET.ATG" + m.Add(Modifiers.Virtual, t.Location); break; } case 140: { lexer.NextToken(); -#line 2802 "VBNET.ATG" - m.Add(Modifier.Overloads, t.Location); +#line 2804 "VBNET.ATG" + m.Add(Modifiers.Overloads, t.Location); break; } case 150: { lexer.NextToken(); -#line 2803 "VBNET.ATG" - m.Add(Modifier.ReadOnly, t.Location); +#line 2805 "VBNET.ATG" + m.Add(Modifiers.ReadOnly, t.Location); break; } case 184: { lexer.NextToken(); -#line 2804 "VBNET.ATG" - m.Add(Modifier.WriteOnly, t.Location); +#line 2806 "VBNET.ATG" + m.Add(Modifiers.WriteOnly, t.Location); break; } case 183: { lexer.NextToken(); -#line 2805 "VBNET.ATG" - m.Add(Modifier.WithEvents, t.Location); +#line 2807 "VBNET.ATG" + m.Add(Modifiers.WithEvents, t.Location); break; } case 81: { lexer.NextToken(); -#line 2806 "VBNET.ATG" - m.Add(Modifier.Dim, t.Location); +#line 2808 "VBNET.ATG" + m.Add(Modifiers.Dim, t.Location); break; } default: SynErr(219); break; @@ -1374,7 +1374,7 @@ Modifiers m) { void ClassMemberDecl( #line 688 "VBNET.ATG" -Modifiers m, List attributes) { +ModifierList m, List attributes) { StructureMemberDecl( #line 689 "VBNET.ATG" m, attributes); @@ -1382,7 +1382,7 @@ m, attributes); void StructureMemberDecl( #line 702 "VBNET.ATG" -Modifiers m, List attributes) { +ModifierList m, List attributes) { #line 704 "VBNET.ATG" TypeReference type = null; @@ -1415,7 +1415,7 @@ m, attributes); #line 725 "VBNET.ATG" name = t.val; - m.Check(Modifier.VBMethods); + m.Check(Modifiers.VBMethods); TypeParameterList( #line 728 "VBNET.ATG" @@ -1511,7 +1511,7 @@ p); } #line 783 "VBNET.ATG" - m.Check(Modifier.Constructors); + m.Check(Modifiers.Constructors); #line 784 "VBNET.ATG" Location constructorEndLocation = t.EndLocation; @@ -1552,7 +1552,7 @@ out stmt); lexer.NextToken(); #line 811 "VBNET.ATG" - m.Check(Modifier.VBMethods); + m.Check(Modifiers.VBMethods); string name = String.Empty; Location startPos = t.Location; MethodDeclaration methodDeclaration;List handlesClause = null; @@ -1664,7 +1664,7 @@ out stmt); lexer.NextToken(); #line 886 "VBNET.ATG" - m.Check(Modifier.VBExternalMethods); + m.Check(Modifiers.VBExternalMethods); Location startPos = t.Location; CharsetModifier charsetModifer = CharsetModifier.None; string library = String.Empty; @@ -1759,7 +1759,7 @@ out type); lexer.NextToken(); #line 926 "VBNET.ATG" - m.Check(Modifier.VBEvents); + m.Check(Modifiers.VBEvents); Location startPos = t.Location; EventDeclaration eventDeclaration; string name = String.Empty; @@ -1806,7 +1806,7 @@ out implementsClause); Location startPos = t.Location; #line 949 "VBNET.ATG" - m.Check(Modifier.Fields); + m.Check(Modifiers.Fields); FieldDeclaration fd = new FieldDeclaration(attributes, null, m.Modifier); fd.StartLocation = m.GetDeclarationLocation(startPos); @@ -1835,11 +1835,11 @@ variableDeclarators); case 71: { #line 963 "VBNET.ATG" - m.Check(Modifier.Fields); + m.Check(Modifiers.Fields); lexer.NextToken(); #line 964 "VBNET.ATG" - m.Add(Modifier.Const, t.Location); + m.Add(Modifiers.Const, t.Location); #line 966 "VBNET.ATG" FieldDeclaration fd = new FieldDeclaration(attributes, type, m.Modifier); @@ -1872,7 +1872,7 @@ constantDeclarators); lexer.NextToken(); #line 984 "VBNET.ATG" - m.Check(Modifier.VBProperties); + m.Check(Modifiers.VBProperties); Location startPos = t.Location; List implementsClause = null; @@ -1957,7 +1957,7 @@ out getRegion, out setRegion); Expect(93); #line 1035 "VBNET.ATG" - m.Check(Modifier.VBCustomEvents); + m.Check(Modifiers.VBCustomEvents); EventAddRemoveRegion eventAccessorDeclaration; EventAddRegion addHandlerAccessorDeclaration = null; EventRemoveRegion removeHandlerAccessorDeclaration = null; @@ -2048,7 +2048,7 @@ out eventAccessorDeclaration); Expect(187); #line 1093 "VBNET.ATG" - m.Check(Modifier.VBOperators); + m.Check(Modifiers.VBOperators); Location startPos = t.Location; TypeReference returnType = NullTypeReference.Instance; TypeReference operandType = NullTypeReference.Instance; @@ -2077,7 +2077,7 @@ out operandType); } #line 1106 "VBNET.ATG" - parameters.Add(new ParameterDeclarationExpression(operandType, operandName, ParamModifier.In)); + parameters.Add(new ParameterDeclarationExpression(operandType, operandName, ParameterModifiers.In)); while (la.kind == 12) { lexer.NextToken(); if (la.kind == 55) { @@ -2095,7 +2095,7 @@ out operandType); } #line 1112 "VBNET.ATG" - parameters.Add(new ParameterDeclarationExpression(operandType, operandName, ParamModifier.In)); + parameters.Add(new ParameterDeclarationExpression(operandType, operandName, ParameterModifiers.In)); } Expect(25); @@ -2192,7 +2192,7 @@ out expr); List p = new List(); List templates = new List(); AttributeSection section, returnTypeAttributeSection = null; - Modifiers mod = new Modifiers(); + ModifierList mod = new ModifierList(); List attributes = new List(); string name; @@ -2214,7 +2214,7 @@ mod); lexer.NextToken(); #line 601 "VBNET.ATG" - mod.Check(Modifier.VBInterfaceEvents); + mod.Check(Modifiers.VBInterfaceEvents); Identifier(); #line 602 "VBNET.ATG" @@ -2245,7 +2245,7 @@ out type); lexer.NextToken(); #line 613 "VBNET.ATG" - mod.Check(Modifier.VBInterfaceMethods); + mod.Check(Modifiers.VBInterfaceMethods); Identifier(); #line 614 "VBNET.ATG" @@ -2275,7 +2275,7 @@ p); lexer.NextToken(); #line 627 "VBNET.ATG" - mod.Check(Modifier.VBInterfaceMethods); + mod.Check(Modifiers.VBInterfaceMethods); Identifier(); #line 628 "VBNET.ATG" @@ -2322,7 +2322,7 @@ out type); lexer.NextToken(); #line 648 "VBNET.ATG" - mod.Check(Modifier.VBInterfaceProperties); + mod.Check(Modifiers.VBInterfaceProperties); Identifier(); #line 649 "VBNET.ATG" @@ -2365,91 +2365,91 @@ mod, attributes); } void Expr( -#line 1523 "VBNET.ATG" +#line 1525 "VBNET.ATG" out Expression expr) { DisjunctionExpr( -#line 1525 "VBNET.ATG" +#line 1527 "VBNET.ATG" out expr); } void ImplementsClause( -#line 1494 "VBNET.ATG" +#line 1496 "VBNET.ATG" out List baseInterfaces) { -#line 1496 "VBNET.ATG" +#line 1498 "VBNET.ATG" baseInterfaces = new List(); TypeReference type = null; string memberName = null; Expect(107); NonArrayTypeName( -#line 1501 "VBNET.ATG" +#line 1503 "VBNET.ATG" out type, false); -#line 1502 "VBNET.ATG" +#line 1504 "VBNET.ATG" if (type != null) memberName = TypeReference.StripLastIdentifierFromType(ref type); -#line 1503 "VBNET.ATG" +#line 1505 "VBNET.ATG" baseInterfaces.Add(new InterfaceImplementation(type, memberName)); while (la.kind == 12) { lexer.NextToken(); NonArrayTypeName( -#line 1505 "VBNET.ATG" +#line 1507 "VBNET.ATG" out type, false); -#line 1506 "VBNET.ATG" +#line 1508 "VBNET.ATG" if (type != null) memberName = TypeReference.StripLastIdentifierFromType(ref type); -#line 1507 "VBNET.ATG" +#line 1509 "VBNET.ATG" baseInterfaces.Add(new InterfaceImplementation(type, memberName)); } } void HandlesClause( -#line 1452 "VBNET.ATG" +#line 1454 "VBNET.ATG" out List handlesClause) { -#line 1454 "VBNET.ATG" +#line 1456 "VBNET.ATG" handlesClause = new List(); string name; Expect(105); EventMemberSpecifier( -#line 1457 "VBNET.ATG" +#line 1459 "VBNET.ATG" out name); -#line 1457 "VBNET.ATG" +#line 1459 "VBNET.ATG" handlesClause.Add(name); while (la.kind == 12) { lexer.NextToken(); EventMemberSpecifier( -#line 1458 "VBNET.ATG" +#line 1460 "VBNET.ATG" out name); -#line 1458 "VBNET.ATG" +#line 1460 "VBNET.ATG" handlesClause.Add(name); } } void Block( -#line 2144 "VBNET.ATG" +#line 2146 "VBNET.ATG" out Statement stmt) { -#line 2147 "VBNET.ATG" +#line 2149 "VBNET.ATG" BlockStatement blockStmt = new BlockStatement(); blockStmt.StartLocation = t.Location; compilationUnit.BlockStart(blockStmt); while (StartOf(19) || -#line 2152 "VBNET.ATG" +#line 2154 "VBNET.ATG" IsEndStmtAhead()) { if ( -#line 2152 "VBNET.ATG" +#line 2154 "VBNET.ATG" IsEndStmtAhead()) { Expect(88); EndOfStmt(); -#line 2152 "VBNET.ATG" +#line 2154 "VBNET.ATG" compilationUnit.AddChild(new EndStatement()); } else { Statement(); @@ -2457,7 +2457,7 @@ IsEndStmtAhead()) { } } -#line 2157 "VBNET.ATG" +#line 2159 "VBNET.ATG" stmt = blockStmt; blockStmt.EndLocation = t.EndLocation; compilationUnit.BlockEnd(); @@ -2465,26 +2465,26 @@ IsEndStmtAhead()) { } void Charset( -#line 1444 "VBNET.ATG" +#line 1446 "VBNET.ATG" out CharsetModifier charsetModifier) { -#line 1445 "VBNET.ATG" +#line 1447 "VBNET.ATG" charsetModifier = CharsetModifier.None; if (la.kind == 100 || la.kind == 167) { } else if (la.kind == 47) { lexer.NextToken(); -#line 1446 "VBNET.ATG" +#line 1448 "VBNET.ATG" charsetModifier = CharsetModifier.Ansi; } else if (la.kind == 50) { lexer.NextToken(); -#line 1447 "VBNET.ATG" +#line 1449 "VBNET.ATG" charsetModifier = CharsetModifier.Auto; } else if (la.kind == 176) { lexer.NextToken(); -#line 1448 "VBNET.ATG" +#line 1450 "VBNET.ATG" charsetModifier = CharsetModifier.Unicode; } else SynErr(229); } @@ -2582,17 +2582,19 @@ out expr); out type); #line 1341 "VBNET.ATG" + if (type != null) { for (int i = fieldDeclaration.Count - 1; i >= 0; i--) { - VariableDeclaration vd = fieldDeclaration[i]; - if (vd.TypeReference.Type.Length > 0) break; - TypeReference newType = type.Clone(); - newType.RankSpecifier = vd.TypeReference.RankSpecifier; - vd.TypeReference = newType; + VariableDeclaration vd = fieldDeclaration[i]; + if (vd.TypeReference.Type.Length > 0) break; + TypeReference newType = type.Clone(); + newType.RankSpecifier = vd.TypeReference.RankSpecifier; + vd.TypeReference = newType; + } } } -#line 1351 "VBNET.ATG" +#line 1353 "VBNET.ATG" if (type == null && (dimension != null || rank != null)) { type = new TypeReference(""); } @@ -2621,12 +2623,12 @@ out type); if (la.kind == 11) { lexer.NextToken(); VariableInitializer( -#line 1376 "VBNET.ATG" +#line 1378 "VBNET.ATG" out expr); } } else SynErr(231); -#line 1378 "VBNET.ATG" +#line 1380 "VBNET.ATG" fieldDeclaration.Add(new VariableDeclaration(name, expr, type)); } @@ -3006,7 +3008,7 @@ out OverloadableOperatorType operatorType) { out PropertyGetRegion getBlock, List attributes) { #line 1258 "VBNET.ATG" - Statement stmt = null; Modifier m; + Statement stmt = null; Modifiers m; PropertyAccessorAccessModifier( #line 1260 "VBNET.ATG" out m); @@ -3039,7 +3041,7 @@ out PropertySetRegion setBlock, List attributes) { #line 1275 "VBNET.ATG" Statement stmt = null; List p = new List(); - Modifier m; + Modifiers m; PropertyAccessorAccessModifier( #line 1280 "VBNET.ATG" @@ -3076,67 +3078,67 @@ out stmt); } void PropertyAccessorAccessModifier( -#line 2809 "VBNET.ATG" -out Modifier m) { +#line 2811 "VBNET.ATG" +out Modifiers m) { -#line 2810 "VBNET.ATG" - m = Modifier.None; +#line 2812 "VBNET.ATG" + m = Modifiers.None; while (StartOf(25)) { if (la.kind == 148) { lexer.NextToken(); -#line 2812 "VBNET.ATG" - m |= Modifier.Public; +#line 2814 "VBNET.ATG" + m |= Modifiers.Public; } else if (la.kind == 147) { lexer.NextToken(); -#line 2813 "VBNET.ATG" - m |= Modifier.Protected; +#line 2815 "VBNET.ATG" + m |= Modifiers.Protected; } else if (la.kind == 99) { lexer.NextToken(); -#line 2814 "VBNET.ATG" - m |= Modifier.Internal; +#line 2816 "VBNET.ATG" + m |= Modifiers.Internal; } else { lexer.NextToken(); -#line 2815 "VBNET.ATG" - m |= Modifier.Private; +#line 2817 "VBNET.ATG" + m |= Modifiers.Private; } } } void ArrayInitializationModifier( -#line 1382 "VBNET.ATG" +#line 1384 "VBNET.ATG" out List arrayModifiers) { -#line 1384 "VBNET.ATG" +#line 1386 "VBNET.ATG" arrayModifiers = null; Expect(24); InitializationRankList( -#line 1386 "VBNET.ATG" +#line 1388 "VBNET.ATG" out arrayModifiers); Expect(25); } void ArrayNameModifier( -#line 1936 "VBNET.ATG" +#line 1938 "VBNET.ATG" out ArrayList arrayModifiers) { -#line 1938 "VBNET.ATG" +#line 1940 "VBNET.ATG" arrayModifiers = null; ArrayTypeModifiers( -#line 1940 "VBNET.ATG" +#line 1942 "VBNET.ATG" out arrayModifiers); } void ObjectCreateExpression( -#line 1817 "VBNET.ATG" +#line 1819 "VBNET.ATG" out Expression oce) { -#line 1819 "VBNET.ATG" +#line 1821 "VBNET.ATG" TypeReference type = null; Expression initializer = null; List arguments = null; @@ -3145,35 +3147,35 @@ out Expression oce) { Expect(127); NonArrayTypeName( -#line 1825 "VBNET.ATG" +#line 1827 "VBNET.ATG" out type, false); if (la.kind == 24) { lexer.NextToken(); ArgumentList( -#line 1826 "VBNET.ATG" +#line 1828 "VBNET.ATG" out arguments); Expect(25); if (la.kind == 22 || -#line 1827 "VBNET.ATG" +#line 1829 "VBNET.ATG" la.kind == Tokens.OpenParenthesis) { if ( -#line 1827 "VBNET.ATG" +#line 1829 "VBNET.ATG" la.kind == Tokens.OpenParenthesis) { ArrayTypeModifiers( -#line 1828 "VBNET.ATG" +#line 1830 "VBNET.ATG" out dimensions); ArrayInitializer( -#line 1829 "VBNET.ATG" +#line 1831 "VBNET.ATG" out initializer); } else { ArrayInitializer( -#line 1830 "VBNET.ATG" +#line 1832 "VBNET.ATG" out initializer); } } } -#line 1833 "VBNET.ATG" +#line 1835 "VBNET.ATG" if (type == null) type = new TypeReference("Object"); // fallback type on parser errors if (initializer == null) { oce = new ObjectCreateExpression(type, arguments); @@ -3189,120 +3191,120 @@ out initializer); } void VariableInitializer( -#line 1416 "VBNET.ATG" +#line 1418 "VBNET.ATG" out Expression initializerExpression) { -#line 1418 "VBNET.ATG" +#line 1420 "VBNET.ATG" initializerExpression = null; if (StartOf(26)) { Expr( -#line 1420 "VBNET.ATG" +#line 1422 "VBNET.ATG" out initializerExpression); } else if (la.kind == 22) { ArrayInitializer( -#line 1421 "VBNET.ATG" +#line 1423 "VBNET.ATG" out initializerExpression); } else SynErr(235); } void InitializationRankList( -#line 1390 "VBNET.ATG" +#line 1392 "VBNET.ATG" out List rank) { -#line 1392 "VBNET.ATG" +#line 1394 "VBNET.ATG" rank = new List(); Expression expr = null; Expr( -#line 1395 "VBNET.ATG" +#line 1397 "VBNET.ATG" out expr); if (la.kind == 172) { lexer.NextToken(); -#line 1397 "VBNET.ATG" +#line 1399 "VBNET.ATG" if (!(expr is PrimitiveExpression) || (expr as PrimitiveExpression).StringValue != "0") Error("lower bound of array must be zero"); Expr( -#line 1400 "VBNET.ATG" +#line 1402 "VBNET.ATG" out expr); } -#line 1402 "VBNET.ATG" +#line 1404 "VBNET.ATG" if (expr != null) { rank.Add(expr); } while (la.kind == 12) { lexer.NextToken(); Expr( -#line 1404 "VBNET.ATG" +#line 1406 "VBNET.ATG" out expr); if (la.kind == 172) { lexer.NextToken(); -#line 1406 "VBNET.ATG" +#line 1408 "VBNET.ATG" if (!(expr is PrimitiveExpression) || (expr as PrimitiveExpression).StringValue != "0") Error("lower bound of array must be zero"); Expr( -#line 1409 "VBNET.ATG" +#line 1411 "VBNET.ATG" out expr); } -#line 1411 "VBNET.ATG" +#line 1413 "VBNET.ATG" if (expr != null) { rank.Add(expr); } } } void ArrayInitializer( -#line 1425 "VBNET.ATG" +#line 1427 "VBNET.ATG" out Expression outExpr) { -#line 1427 "VBNET.ATG" +#line 1429 "VBNET.ATG" Expression expr = null; ArrayInitializerExpression initializer = new ArrayInitializerExpression(); Expect(22); if (StartOf(27)) { VariableInitializer( -#line 1432 "VBNET.ATG" +#line 1434 "VBNET.ATG" out expr); -#line 1434 "VBNET.ATG" +#line 1436 "VBNET.ATG" if (expr != null) { initializer.CreateExpressions.Add(expr); } while ( -#line 1437 "VBNET.ATG" +#line 1439 "VBNET.ATG" NotFinalComma()) { Expect(12); VariableInitializer( -#line 1437 "VBNET.ATG" +#line 1439 "VBNET.ATG" out expr); -#line 1438 "VBNET.ATG" +#line 1440 "VBNET.ATG" if (expr != null) { initializer.CreateExpressions.Add(expr); } } } Expect(23); -#line 1441 "VBNET.ATG" +#line 1443 "VBNET.ATG" outExpr = initializer; } void EventMemberSpecifier( -#line 1511 "VBNET.ATG" +#line 1513 "VBNET.ATG" out string name) { -#line 1512 "VBNET.ATG" +#line 1514 "VBNET.ATG" string type; name = String.Empty; if (StartOf(12)) { Identifier(); -#line 1513 "VBNET.ATG" +#line 1515 "VBNET.ATG" type = t.val; Expect(10); Identifier(); -#line 1515 "VBNET.ATG" +#line 1517 "VBNET.ATG" name = type + "." + t.val; } else if (la.kind == 124) { lexer.NextToken(); @@ -3310,128 +3312,128 @@ out string name) { if (StartOf(12)) { Identifier(); -#line 1518 "VBNET.ATG" +#line 1520 "VBNET.ATG" name = "MyBase." + t.val; } else if (la.kind == 92) { lexer.NextToken(); -#line 1519 "VBNET.ATG" +#line 1521 "VBNET.ATG" name = "MyBase.Error"; } else SynErr(236); } else SynErr(237); } void DisjunctionExpr( -#line 1661 "VBNET.ATG" +#line 1663 "VBNET.ATG" out Expression outExpr) { -#line 1663 "VBNET.ATG" +#line 1665 "VBNET.ATG" Expression expr; BinaryOperatorType op = BinaryOperatorType.None; ConjunctionExpr( -#line 1666 "VBNET.ATG" +#line 1668 "VBNET.ATG" out outExpr); while (la.kind == 138 || la.kind == 139 || la.kind == 185) { if (la.kind == 138) { lexer.NextToken(); -#line 1669 "VBNET.ATG" +#line 1671 "VBNET.ATG" op = BinaryOperatorType.BitwiseOr; } else if (la.kind == 139) { lexer.NextToken(); -#line 1670 "VBNET.ATG" +#line 1672 "VBNET.ATG" op = BinaryOperatorType.LogicalOr; } else { lexer.NextToken(); -#line 1671 "VBNET.ATG" +#line 1673 "VBNET.ATG" op = BinaryOperatorType.ExclusiveOr; } ConjunctionExpr( -#line 1673 "VBNET.ATG" +#line 1675 "VBNET.ATG" out expr); -#line 1673 "VBNET.ATG" +#line 1675 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, op, expr); } } void AssignmentOperator( -#line 1528 "VBNET.ATG" +#line 1530 "VBNET.ATG" out AssignmentOperatorType op) { -#line 1529 "VBNET.ATG" +#line 1531 "VBNET.ATG" op = AssignmentOperatorType.None; switch (la.kind) { case 11: { lexer.NextToken(); -#line 1530 "VBNET.ATG" +#line 1532 "VBNET.ATG" op = AssignmentOperatorType.Assign; break; } case 41: { lexer.NextToken(); -#line 1531 "VBNET.ATG" +#line 1533 "VBNET.ATG" op = AssignmentOperatorType.ConcatString; break; } case 33: { lexer.NextToken(); -#line 1532 "VBNET.ATG" +#line 1534 "VBNET.ATG" op = AssignmentOperatorType.Add; break; } case 35: { lexer.NextToken(); -#line 1533 "VBNET.ATG" +#line 1535 "VBNET.ATG" op = AssignmentOperatorType.Subtract; break; } case 36: { lexer.NextToken(); -#line 1534 "VBNET.ATG" +#line 1536 "VBNET.ATG" op = AssignmentOperatorType.Multiply; break; } case 37: { lexer.NextToken(); -#line 1535 "VBNET.ATG" +#line 1537 "VBNET.ATG" op = AssignmentOperatorType.Divide; break; } case 38: { lexer.NextToken(); -#line 1536 "VBNET.ATG" +#line 1538 "VBNET.ATG" op = AssignmentOperatorType.DivideInteger; break; } case 34: { lexer.NextToken(); -#line 1537 "VBNET.ATG" +#line 1539 "VBNET.ATG" op = AssignmentOperatorType.Power; break; } case 39: { lexer.NextToken(); -#line 1538 "VBNET.ATG" +#line 1540 "VBNET.ATG" op = AssignmentOperatorType.ShiftLeft; break; } case 40: { lexer.NextToken(); -#line 1539 "VBNET.ATG" +#line 1541 "VBNET.ATG" op = AssignmentOperatorType.ShiftRight; break; } @@ -3440,10 +3442,10 @@ out AssignmentOperatorType op) { } void SimpleExpr( -#line 1543 "VBNET.ATG" +#line 1545 "VBNET.ATG" out Expression pexpr) { -#line 1545 "VBNET.ATG" +#line 1547 "VBNET.ATG" Expression expr; TypeReference type = null; string name = String.Empty; @@ -3454,143 +3456,143 @@ out Expression pexpr) { case 3: { lexer.NextToken(); -#line 1553 "VBNET.ATG" +#line 1555 "VBNET.ATG" pexpr = new PrimitiveExpression(t.literalValue, t.val); break; } case 4: { lexer.NextToken(); -#line 1554 "VBNET.ATG" +#line 1556 "VBNET.ATG" pexpr = new PrimitiveExpression(t.literalValue, t.val); break; } case 7: { lexer.NextToken(); -#line 1555 "VBNET.ATG" +#line 1557 "VBNET.ATG" pexpr = new PrimitiveExpression(t.literalValue, t.val); break; } case 6: { lexer.NextToken(); -#line 1556 "VBNET.ATG" +#line 1558 "VBNET.ATG" pexpr = new PrimitiveExpression(t.literalValue, t.val); break; } case 5: { lexer.NextToken(); -#line 1557 "VBNET.ATG" +#line 1559 "VBNET.ATG" pexpr = new PrimitiveExpression(t.literalValue, t.val); break; } case 9: { lexer.NextToken(); -#line 1558 "VBNET.ATG" +#line 1560 "VBNET.ATG" pexpr = new PrimitiveExpression(t.literalValue, t.val); break; } case 8: { lexer.NextToken(); -#line 1559 "VBNET.ATG" +#line 1561 "VBNET.ATG" pexpr = new PrimitiveExpression(t.literalValue, t.val); break; } case 173: { lexer.NextToken(); -#line 1561 "VBNET.ATG" +#line 1563 "VBNET.ATG" pexpr = new PrimitiveExpression(true, "true"); break; } case 96: { lexer.NextToken(); -#line 1562 "VBNET.ATG" +#line 1564 "VBNET.ATG" pexpr = new PrimitiveExpression(false, "false"); break; } case 130: { lexer.NextToken(); -#line 1563 "VBNET.ATG" +#line 1565 "VBNET.ATG" pexpr = new PrimitiveExpression(null, "null"); break; } case 24: { lexer.NextToken(); Expr( -#line 1564 "VBNET.ATG" +#line 1566 "VBNET.ATG" out expr); Expect(25); -#line 1564 "VBNET.ATG" +#line 1566 "VBNET.ATG" pexpr = new ParenthesizedExpression(expr); break; } case 2: case 47: case 49: case 50: case 51: case 70: case 144: case 169: case 176: case 177: case 204: { Identifier(); -#line 1565 "VBNET.ATG" +#line 1567 "VBNET.ATG" pexpr = new IdentifierExpression(t.val); break; } case 52: case 54: case 65: case 76: case 77: case 84: case 111: case 117: case 133: case 159: case 160: case 165: case 190: case 191: case 192: case 193: { -#line 1566 "VBNET.ATG" +#line 1568 "VBNET.ATG" string val = String.Empty; if (StartOf(9)) { PrimitiveTypeName( -#line 1567 "VBNET.ATG" +#line 1569 "VBNET.ATG" out val); } else if (la.kind == 133) { lexer.NextToken(); -#line 1567 "VBNET.ATG" +#line 1569 "VBNET.ATG" val = "Object"; } else SynErr(239); Expect(10); -#line 1568 "VBNET.ATG" +#line 1570 "VBNET.ATG" t.val = ""; Identifier(); -#line 1568 "VBNET.ATG" +#line 1570 "VBNET.ATG" pexpr = new FieldReferenceExpression(new TypeReferenceExpression(val), t.val); break; } case 119: { lexer.NextToken(); -#line 1569 "VBNET.ATG" +#line 1571 "VBNET.ATG" pexpr = new ThisReferenceExpression(); break; } case 124: case 125: { -#line 1570 "VBNET.ATG" +#line 1572 "VBNET.ATG" Expression retExpr = null; if (la.kind == 124) { lexer.NextToken(); -#line 1571 "VBNET.ATG" +#line 1573 "VBNET.ATG" retExpr = new BaseReferenceExpression(); } else if (la.kind == 125) { lexer.NextToken(); -#line 1572 "VBNET.ATG" +#line 1574 "VBNET.ATG" retExpr = new ClassReferenceExpression(); } else SynErr(240); Expect(10); IdentifierOrKeyword( -#line 1574 "VBNET.ATG" +#line 1576 "VBNET.ATG" out name); -#line 1574 "VBNET.ATG" +#line 1576 "VBNET.ATG" pexpr = new FieldReferenceExpression(retExpr, name); break; } @@ -3599,77 +3601,77 @@ out name); Expect(10); Identifier(); -#line 1576 "VBNET.ATG" +#line 1578 "VBNET.ATG" type = new TypeReference(t.val ?? ""); -#line 1578 "VBNET.ATG" +#line 1580 "VBNET.ATG" type.IsGlobal = true; -#line 1579 "VBNET.ATG" +#line 1581 "VBNET.ATG" pexpr = new TypeReferenceExpression(type); break; } case 127: { ObjectCreateExpression( -#line 1580 "VBNET.ATG" +#line 1582 "VBNET.ATG" out expr); -#line 1580 "VBNET.ATG" +#line 1582 "VBNET.ATG" pexpr = expr; break; } case 75: case 82: case 199: { -#line 1582 "VBNET.ATG" +#line 1584 "VBNET.ATG" CastType castType = CastType.Cast; if (la.kind == 82) { lexer.NextToken(); } else if (la.kind == 75) { lexer.NextToken(); -#line 1584 "VBNET.ATG" +#line 1586 "VBNET.ATG" castType = CastType.Conversion; } else if (la.kind == 199) { lexer.NextToken(); -#line 1585 "VBNET.ATG" +#line 1587 "VBNET.ATG" castType = CastType.TryCast; } else SynErr(241); Expect(24); Expr( -#line 1587 "VBNET.ATG" +#line 1589 "VBNET.ATG" out expr); Expect(12); TypeName( -#line 1587 "VBNET.ATG" +#line 1589 "VBNET.ATG" out type); Expect(25); -#line 1588 "VBNET.ATG" +#line 1590 "VBNET.ATG" pexpr = new CastExpression(type, expr, castType); break; } case 59: case 60: case 61: case 62: case 63: case 64: case 66: case 68: case 69: case 72: case 73: case 74: case 194: case 195: case 196: case 197: { CastTarget( -#line 1589 "VBNET.ATG" +#line 1591 "VBNET.ATG" out type); Expect(24); Expr( -#line 1589 "VBNET.ATG" +#line 1591 "VBNET.ATG" out expr); Expect(25); -#line 1589 "VBNET.ATG" +#line 1591 "VBNET.ATG" pexpr = new CastExpression(type, expr, CastType.PrimitiveConversion); break; } case 43: { lexer.NextToken(); Expr( -#line 1590 "VBNET.ATG" +#line 1592 "VBNET.ATG" out expr); -#line 1590 "VBNET.ATG" +#line 1592 "VBNET.ATG" pexpr = new AddressOfExpression(expr); break; } @@ -3677,159 +3679,159 @@ out expr); lexer.NextToken(); Expect(24); GetTypeTypeName( -#line 1591 "VBNET.ATG" +#line 1593 "VBNET.ATG" out type); Expect(25); -#line 1591 "VBNET.ATG" +#line 1593 "VBNET.ATG" pexpr = new TypeOfExpression(type); break; } case 175: { lexer.NextToken(); SimpleExpr( -#line 1592 "VBNET.ATG" +#line 1594 "VBNET.ATG" out expr); Expect(113); TypeName( -#line 1592 "VBNET.ATG" +#line 1594 "VBNET.ATG" out type); -#line 1592 "VBNET.ATG" +#line 1594 "VBNET.ATG" pexpr = new TypeOfIsExpression(expr, type); break; } } while (la.kind == 10 || la.kind == 24) { InvocationOrMemberReferenceExpression( -#line 1594 "VBNET.ATG" +#line 1596 "VBNET.ATG" ref pexpr); } } else if (la.kind == 10) { lexer.NextToken(); IdentifierOrKeyword( -#line 1597 "VBNET.ATG" +#line 1599 "VBNET.ATG" out name); -#line 1597 "VBNET.ATG" +#line 1599 "VBNET.ATG" pexpr = new FieldReferenceExpression(pexpr, name); while (la.kind == 10 || la.kind == 24) { InvocationOrMemberReferenceExpression( -#line 1598 "VBNET.ATG" +#line 1600 "VBNET.ATG" ref pexpr); } } else SynErr(242); } void PrimitiveTypeName( -#line 2750 "VBNET.ATG" +#line 2752 "VBNET.ATG" out string type) { -#line 2751 "VBNET.ATG" +#line 2753 "VBNET.ATG" type = String.Empty; switch (la.kind) { case 52: { lexer.NextToken(); -#line 2752 "VBNET.ATG" +#line 2754 "VBNET.ATG" type = "Boolean"; break; } case 76: { lexer.NextToken(); -#line 2753 "VBNET.ATG" +#line 2755 "VBNET.ATG" type = "Date"; break; } case 65: { lexer.NextToken(); -#line 2754 "VBNET.ATG" +#line 2756 "VBNET.ATG" type = "Char"; break; } case 165: { lexer.NextToken(); -#line 2755 "VBNET.ATG" +#line 2757 "VBNET.ATG" type = "String"; break; } case 77: { lexer.NextToken(); -#line 2756 "VBNET.ATG" +#line 2758 "VBNET.ATG" type = "Decimal"; break; } case 54: { lexer.NextToken(); -#line 2757 "VBNET.ATG" +#line 2759 "VBNET.ATG" type = "Byte"; break; } case 159: { lexer.NextToken(); -#line 2758 "VBNET.ATG" +#line 2760 "VBNET.ATG" type = "Short"; break; } case 111: { lexer.NextToken(); -#line 2759 "VBNET.ATG" +#line 2761 "VBNET.ATG" type = "Integer"; break; } case 117: { lexer.NextToken(); -#line 2760 "VBNET.ATG" +#line 2762 "VBNET.ATG" type = "Long"; break; } case 160: { lexer.NextToken(); -#line 2761 "VBNET.ATG" +#line 2763 "VBNET.ATG" type = "Single"; break; } case 84: { lexer.NextToken(); -#line 2762 "VBNET.ATG" +#line 2764 "VBNET.ATG" type = "Double"; break; } case 191: { lexer.NextToken(); -#line 2763 "VBNET.ATG" +#line 2765 "VBNET.ATG" type = "UInteger"; break; } case 192: { lexer.NextToken(); -#line 2764 "VBNET.ATG" +#line 2766 "VBNET.ATG" type = "ULong"; break; } case 193: { lexer.NextToken(); -#line 2765 "VBNET.ATG" +#line 2767 "VBNET.ATG" type = "UShort"; break; } case 190: { lexer.NextToken(); -#line 2766 "VBNET.ATG" +#line 2768 "VBNET.ATG" type = "SByte"; break; } @@ -3838,130 +3840,130 @@ out string type) { } void IdentifierOrKeyword( -#line 2743 "VBNET.ATG" +#line 2745 "VBNET.ATG" out string name) { -#line 2745 "VBNET.ATG" +#line 2747 "VBNET.ATG" lexer.NextToken(); name = t.val; } void CastTarget( -#line 1639 "VBNET.ATG" +#line 1641 "VBNET.ATG" out TypeReference type) { -#line 1641 "VBNET.ATG" +#line 1643 "VBNET.ATG" type = null; switch (la.kind) { case 59: { lexer.NextToken(); -#line 1643 "VBNET.ATG" +#line 1645 "VBNET.ATG" type = new TypeReference("System.Boolean"); break; } case 60: { lexer.NextToken(); -#line 1644 "VBNET.ATG" +#line 1646 "VBNET.ATG" type = new TypeReference("System.Byte"); break; } case 194: { lexer.NextToken(); -#line 1645 "VBNET.ATG" +#line 1647 "VBNET.ATG" type = new TypeReference("System.SByte"); break; } case 61: { lexer.NextToken(); -#line 1646 "VBNET.ATG" +#line 1648 "VBNET.ATG" type = new TypeReference("System.Char"); break; } case 62: { lexer.NextToken(); -#line 1647 "VBNET.ATG" +#line 1649 "VBNET.ATG" type = new TypeReference("System.DateTime"); break; } case 64: { lexer.NextToken(); -#line 1648 "VBNET.ATG" +#line 1650 "VBNET.ATG" type = new TypeReference("System.Decimal"); break; } case 63: { lexer.NextToken(); -#line 1649 "VBNET.ATG" +#line 1651 "VBNET.ATG" type = new TypeReference("System.Double"); break; } case 72: { lexer.NextToken(); -#line 1650 "VBNET.ATG" +#line 1652 "VBNET.ATG" type = new TypeReference("System.Int16"); break; } case 66: { lexer.NextToken(); -#line 1651 "VBNET.ATG" +#line 1653 "VBNET.ATG" type = new TypeReference("System.Int32"); break; } case 68: { lexer.NextToken(); -#line 1652 "VBNET.ATG" +#line 1654 "VBNET.ATG" type = new TypeReference("System.Int64"); break; } case 195: { lexer.NextToken(); -#line 1653 "VBNET.ATG" +#line 1655 "VBNET.ATG" type = new TypeReference("System.UInt16"); break; } case 196: { lexer.NextToken(); -#line 1654 "VBNET.ATG" +#line 1656 "VBNET.ATG" type = new TypeReference("System.UInt32"); break; } case 197: { lexer.NextToken(); -#line 1655 "VBNET.ATG" +#line 1657 "VBNET.ATG" type = new TypeReference("System.UInt64"); break; } case 69: { lexer.NextToken(); -#line 1656 "VBNET.ATG" +#line 1658 "VBNET.ATG" type = new TypeReference("System.Object"); break; } case 73: { lexer.NextToken(); -#line 1657 "VBNET.ATG" +#line 1659 "VBNET.ATG" type = new TypeReference("System.Single"); break; } case 74: { lexer.NextToken(); -#line 1658 "VBNET.ATG" +#line 1660 "VBNET.ATG" type = new TypeReference("System.String"); break; } @@ -3970,19 +3972,19 @@ out TypeReference type) { } void GetTypeTypeName( -#line 1888 "VBNET.ATG" +#line 1890 "VBNET.ATG" out TypeReference typeref) { -#line 1889 "VBNET.ATG" +#line 1891 "VBNET.ATG" ArrayList rank = null; NonArrayTypeName( -#line 1891 "VBNET.ATG" +#line 1893 "VBNET.ATG" out typeref, true); ArrayTypeModifiers( -#line 1892 "VBNET.ATG" +#line 1894 "VBNET.ATG" out rank); -#line 1893 "VBNET.ATG" +#line 1895 "VBNET.ATG" if (rank != null && typeref != null) { typeref.RankSpecifier = (int[])rank.ToArray(typeof(int)); } @@ -3990,53 +3992,53 @@ out rank); } void InvocationOrMemberReferenceExpression( -#line 1602 "VBNET.ATG" +#line 1604 "VBNET.ATG" ref Expression pexpr) { -#line 1603 "VBNET.ATG" +#line 1605 "VBNET.ATG" string name; if (la.kind == 10) { lexer.NextToken(); IdentifierOrKeyword( -#line 1605 "VBNET.ATG" +#line 1607 "VBNET.ATG" out name); -#line 1605 "VBNET.ATG" +#line 1607 "VBNET.ATG" pexpr = new FieldReferenceExpression(pexpr, name); } else if (la.kind == 24) { InvocationExpression( -#line 1606 "VBNET.ATG" +#line 1608 "VBNET.ATG" ref pexpr); } else SynErr(245); } void InvocationExpression( -#line 1609 "VBNET.ATG" +#line 1611 "VBNET.ATG" ref Expression pexpr) { -#line 1610 "VBNET.ATG" +#line 1612 "VBNET.ATG" List typeParameters = new List(); List parameters = null; TypeReference type; Expect(24); -#line 1614 "VBNET.ATG" +#line 1616 "VBNET.ATG" Location start = t.Location; if (la.kind == 200) { lexer.NextToken(); TypeName( -#line 1616 "VBNET.ATG" +#line 1618 "VBNET.ATG" out type); -#line 1616 "VBNET.ATG" +#line 1618 "VBNET.ATG" if (type != null) typeParameters.Add(type); while (la.kind == 12) { lexer.NextToken(); TypeName( -#line 1619 "VBNET.ATG" +#line 1621 "VBNET.ATG" out type); -#line 1619 "VBNET.ATG" +#line 1621 "VBNET.ATG" if (type != null) typeParameters.Add(type); } Expect(25); @@ -4044,375 +4046,375 @@ out type); lexer.NextToken(); Identifier(); -#line 1624 "VBNET.ATG" +#line 1626 "VBNET.ATG" pexpr = new FieldReferenceExpression(GetTypeReferenceExpression(pexpr, typeParameters), t.val); } else if (la.kind == 24) { lexer.NextToken(); ArgumentList( -#line 1626 "VBNET.ATG" +#line 1628 "VBNET.ATG" out parameters); Expect(25); -#line 1628 "VBNET.ATG" +#line 1630 "VBNET.ATG" pexpr = new InvocationExpression(pexpr, parameters, typeParameters); } else SynErr(246); } else if (StartOf(29)) { ArgumentList( -#line 1630 "VBNET.ATG" +#line 1632 "VBNET.ATG" out parameters); Expect(25); -#line 1632 "VBNET.ATG" +#line 1634 "VBNET.ATG" pexpr = new InvocationExpression(pexpr, parameters, typeParameters); } else SynErr(247); -#line 1634 "VBNET.ATG" +#line 1636 "VBNET.ATG" pexpr.StartLocation = start; pexpr.EndLocation = t.Location; } void ArgumentList( -#line 1848 "VBNET.ATG" +#line 1850 "VBNET.ATG" out List arguments) { -#line 1850 "VBNET.ATG" +#line 1852 "VBNET.ATG" arguments = new List(); Expression expr = null; if (StartOf(26)) { Argument( -#line 1853 "VBNET.ATG" +#line 1855 "VBNET.ATG" out expr); } while (la.kind == 12) { lexer.NextToken(); -#line 1854 "VBNET.ATG" +#line 1856 "VBNET.ATG" arguments.Add(expr ?? Expression.Null); expr = null; if (StartOf(26)) { Argument( -#line 1855 "VBNET.ATG" +#line 1857 "VBNET.ATG" out expr); } -#line 1856 "VBNET.ATG" +#line 1858 "VBNET.ATG" if (expr == null) expr = Expression.Null; } -#line 1858 "VBNET.ATG" +#line 1860 "VBNET.ATG" if (expr != null) arguments.Add(expr); } void ConjunctionExpr( -#line 1677 "VBNET.ATG" +#line 1679 "VBNET.ATG" out Expression outExpr) { -#line 1679 "VBNET.ATG" +#line 1681 "VBNET.ATG" Expression expr; BinaryOperatorType op = BinaryOperatorType.None; NotExpr( -#line 1682 "VBNET.ATG" +#line 1684 "VBNET.ATG" out outExpr); while (la.kind == 45 || la.kind == 46) { if (la.kind == 45) { lexer.NextToken(); -#line 1685 "VBNET.ATG" +#line 1687 "VBNET.ATG" op = BinaryOperatorType.BitwiseAnd; } else { lexer.NextToken(); -#line 1686 "VBNET.ATG" +#line 1688 "VBNET.ATG" op = BinaryOperatorType.LogicalAnd; } NotExpr( -#line 1688 "VBNET.ATG" +#line 1690 "VBNET.ATG" out expr); -#line 1688 "VBNET.ATG" +#line 1690 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, op, expr); } } void NotExpr( -#line 1692 "VBNET.ATG" +#line 1694 "VBNET.ATG" out Expression outExpr) { -#line 1693 "VBNET.ATG" +#line 1695 "VBNET.ATG" UnaryOperatorType uop = UnaryOperatorType.None; while (la.kind == 129) { lexer.NextToken(); -#line 1694 "VBNET.ATG" +#line 1696 "VBNET.ATG" uop = UnaryOperatorType.Not; } ComparisonExpr( -#line 1695 "VBNET.ATG" +#line 1697 "VBNET.ATG" out outExpr); -#line 1696 "VBNET.ATG" +#line 1698 "VBNET.ATG" if (uop != UnaryOperatorType.None) outExpr = new UnaryOperatorExpression(outExpr, uop); } void ComparisonExpr( -#line 1701 "VBNET.ATG" +#line 1703 "VBNET.ATG" out Expression outExpr) { -#line 1703 "VBNET.ATG" +#line 1705 "VBNET.ATG" Expression expr; BinaryOperatorType op = BinaryOperatorType.None; ShiftExpr( -#line 1706 "VBNET.ATG" +#line 1708 "VBNET.ATG" out outExpr); while (StartOf(30)) { switch (la.kind) { case 27: { lexer.NextToken(); -#line 1709 "VBNET.ATG" +#line 1711 "VBNET.ATG" op = BinaryOperatorType.LessThan; break; } case 26: { lexer.NextToken(); -#line 1710 "VBNET.ATG" +#line 1712 "VBNET.ATG" op = BinaryOperatorType.GreaterThan; break; } case 30: { lexer.NextToken(); -#line 1711 "VBNET.ATG" +#line 1713 "VBNET.ATG" op = BinaryOperatorType.LessThanOrEqual; break; } case 29: { lexer.NextToken(); -#line 1712 "VBNET.ATG" +#line 1714 "VBNET.ATG" op = BinaryOperatorType.GreaterThanOrEqual; break; } case 28: { lexer.NextToken(); -#line 1713 "VBNET.ATG" +#line 1715 "VBNET.ATG" op = BinaryOperatorType.InEquality; break; } case 11: { lexer.NextToken(); -#line 1714 "VBNET.ATG" +#line 1716 "VBNET.ATG" op = BinaryOperatorType.Equality; break; } case 116: { lexer.NextToken(); -#line 1715 "VBNET.ATG" +#line 1717 "VBNET.ATG" op = BinaryOperatorType.Like; break; } case 113: { lexer.NextToken(); -#line 1716 "VBNET.ATG" +#line 1718 "VBNET.ATG" op = BinaryOperatorType.ReferenceEquality; break; } case 189: { lexer.NextToken(); -#line 1717 "VBNET.ATG" +#line 1719 "VBNET.ATG" op = BinaryOperatorType.ReferenceInequality; break; } } if (StartOf(31)) { ShiftExpr( -#line 1720 "VBNET.ATG" +#line 1722 "VBNET.ATG" out expr); -#line 1720 "VBNET.ATG" +#line 1722 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, op, expr); } else if (la.kind == 129) { lexer.NextToken(); ShiftExpr( -#line 1723 "VBNET.ATG" +#line 1725 "VBNET.ATG" out expr); -#line 1723 "VBNET.ATG" +#line 1725 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, op, new UnaryOperatorExpression(expr, UnaryOperatorType.Not)); } else SynErr(248); } } void ShiftExpr( -#line 1728 "VBNET.ATG" +#line 1730 "VBNET.ATG" out Expression outExpr) { -#line 1730 "VBNET.ATG" +#line 1732 "VBNET.ATG" Expression expr; BinaryOperatorType op = BinaryOperatorType.None; ConcatenationExpr( -#line 1733 "VBNET.ATG" +#line 1735 "VBNET.ATG" out outExpr); while (la.kind == 31 || la.kind == 32) { if (la.kind == 31) { lexer.NextToken(); -#line 1736 "VBNET.ATG" +#line 1738 "VBNET.ATG" op = BinaryOperatorType.ShiftLeft; } else { lexer.NextToken(); -#line 1737 "VBNET.ATG" +#line 1739 "VBNET.ATG" op = BinaryOperatorType.ShiftRight; } ConcatenationExpr( -#line 1739 "VBNET.ATG" +#line 1741 "VBNET.ATG" out expr); -#line 1739 "VBNET.ATG" +#line 1741 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, op, expr); } } void ConcatenationExpr( -#line 1743 "VBNET.ATG" +#line 1745 "VBNET.ATG" out Expression outExpr) { -#line 1744 "VBNET.ATG" +#line 1746 "VBNET.ATG" Expression expr; AdditiveExpr( -#line 1746 "VBNET.ATG" +#line 1748 "VBNET.ATG" out outExpr); while (la.kind == 19) { lexer.NextToken(); AdditiveExpr( -#line 1746 "VBNET.ATG" +#line 1748 "VBNET.ATG" out expr); -#line 1746 "VBNET.ATG" +#line 1748 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, BinaryOperatorType.Concat, expr); } } void AdditiveExpr( -#line 1749 "VBNET.ATG" +#line 1751 "VBNET.ATG" out Expression outExpr) { -#line 1751 "VBNET.ATG" +#line 1753 "VBNET.ATG" Expression expr; BinaryOperatorType op = BinaryOperatorType.None; ModuloExpr( -#line 1754 "VBNET.ATG" +#line 1756 "VBNET.ATG" out outExpr); while (la.kind == 14 || la.kind == 15) { if (la.kind == 14) { lexer.NextToken(); -#line 1757 "VBNET.ATG" +#line 1759 "VBNET.ATG" op = BinaryOperatorType.Add; } else { lexer.NextToken(); -#line 1758 "VBNET.ATG" +#line 1760 "VBNET.ATG" op = BinaryOperatorType.Subtract; } ModuloExpr( -#line 1760 "VBNET.ATG" +#line 1762 "VBNET.ATG" out expr); -#line 1760 "VBNET.ATG" +#line 1762 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, op, expr); } } void ModuloExpr( -#line 1764 "VBNET.ATG" +#line 1766 "VBNET.ATG" out Expression outExpr) { -#line 1765 "VBNET.ATG" +#line 1767 "VBNET.ATG" Expression expr; IntegerDivisionExpr( -#line 1767 "VBNET.ATG" +#line 1769 "VBNET.ATG" out outExpr); while (la.kind == 120) { lexer.NextToken(); IntegerDivisionExpr( -#line 1767 "VBNET.ATG" +#line 1769 "VBNET.ATG" out expr); -#line 1767 "VBNET.ATG" +#line 1769 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, BinaryOperatorType.Modulus, expr); } } void IntegerDivisionExpr( -#line 1770 "VBNET.ATG" +#line 1772 "VBNET.ATG" out Expression outExpr) { -#line 1771 "VBNET.ATG" +#line 1773 "VBNET.ATG" Expression expr; MultiplicativeExpr( -#line 1773 "VBNET.ATG" +#line 1775 "VBNET.ATG" out outExpr); while (la.kind == 18) { lexer.NextToken(); MultiplicativeExpr( -#line 1773 "VBNET.ATG" +#line 1775 "VBNET.ATG" out expr); -#line 1773 "VBNET.ATG" +#line 1775 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, BinaryOperatorType.DivideInteger, expr); } } void MultiplicativeExpr( -#line 1776 "VBNET.ATG" +#line 1778 "VBNET.ATG" out Expression outExpr) { -#line 1778 "VBNET.ATG" +#line 1780 "VBNET.ATG" Expression expr; BinaryOperatorType op = BinaryOperatorType.None; UnaryExpr( -#line 1781 "VBNET.ATG" +#line 1783 "VBNET.ATG" out outExpr); while (la.kind == 16 || la.kind == 17) { if (la.kind == 16) { lexer.NextToken(); -#line 1784 "VBNET.ATG" +#line 1786 "VBNET.ATG" op = BinaryOperatorType.Multiply; } else { lexer.NextToken(); -#line 1785 "VBNET.ATG" +#line 1787 "VBNET.ATG" op = BinaryOperatorType.Divide; } UnaryExpr( -#line 1787 "VBNET.ATG" +#line 1789 "VBNET.ATG" out expr); -#line 1787 "VBNET.ATG" +#line 1789 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, op, expr); } } void UnaryExpr( -#line 1791 "VBNET.ATG" +#line 1793 "VBNET.ATG" out Expression uExpr) { -#line 1793 "VBNET.ATG" +#line 1795 "VBNET.ATG" Expression expr; UnaryOperatorType uop = UnaryOperatorType.None; bool isUOp = false; @@ -4421,25 +4423,25 @@ out Expression uExpr) { if (la.kind == 14) { lexer.NextToken(); -#line 1797 "VBNET.ATG" +#line 1799 "VBNET.ATG" uop = UnaryOperatorType.Plus; isUOp = true; } else if (la.kind == 15) { lexer.NextToken(); -#line 1798 "VBNET.ATG" +#line 1800 "VBNET.ATG" uop = UnaryOperatorType.Minus; isUOp = true; } else { lexer.NextToken(); -#line 1799 "VBNET.ATG" +#line 1801 "VBNET.ATG" uop = UnaryOperatorType.Star; isUOp = true; } } ExponentiationExpr( -#line 1801 "VBNET.ATG" +#line 1803 "VBNET.ATG" out expr); -#line 1803 "VBNET.ATG" +#line 1805 "VBNET.ATG" if (isUOp) { uExpr = new UnaryOperatorExpression(expr, uop); } else { @@ -4449,50 +4451,50 @@ out expr); } void ExponentiationExpr( -#line 1811 "VBNET.ATG" +#line 1813 "VBNET.ATG" out Expression outExpr) { -#line 1812 "VBNET.ATG" +#line 1814 "VBNET.ATG" Expression expr; SimpleExpr( -#line 1814 "VBNET.ATG" +#line 1816 "VBNET.ATG" out outExpr); while (la.kind == 20) { lexer.NextToken(); SimpleExpr( -#line 1814 "VBNET.ATG" +#line 1816 "VBNET.ATG" out expr); -#line 1814 "VBNET.ATG" +#line 1816 "VBNET.ATG" outExpr = new BinaryOperatorExpression(outExpr, BinaryOperatorType.Power, expr); } } void ArrayTypeModifiers( -#line 1945 "VBNET.ATG" +#line 1947 "VBNET.ATG" out ArrayList arrayModifiers) { -#line 1947 "VBNET.ATG" +#line 1949 "VBNET.ATG" arrayModifiers = new ArrayList(); int i = 0; while ( -#line 1950 "VBNET.ATG" +#line 1952 "VBNET.ATG" IsDims()) { Expect(24); if (la.kind == 12 || la.kind == 25) { RankList( -#line 1952 "VBNET.ATG" +#line 1954 "VBNET.ATG" out i); } -#line 1954 "VBNET.ATG" +#line 1956 "VBNET.ATG" arrayModifiers.Add(i); Expect(25); } -#line 1959 "VBNET.ATG" +#line 1961 "VBNET.ATG" if(arrayModifiers.Count == 0) { arrayModifiers = null; } @@ -4500,69 +4502,69 @@ out i); } void Argument( -#line 1862 "VBNET.ATG" +#line 1864 "VBNET.ATG" out Expression argumentexpr) { -#line 1864 "VBNET.ATG" +#line 1866 "VBNET.ATG" Expression expr; argumentexpr = null; string name; if ( -#line 1868 "VBNET.ATG" +#line 1870 "VBNET.ATG" IsNamedAssign()) { Identifier(); -#line 1868 "VBNET.ATG" +#line 1870 "VBNET.ATG" name = t.val; Expect(13); Expect(11); Expr( -#line 1868 "VBNET.ATG" +#line 1870 "VBNET.ATG" out expr); -#line 1870 "VBNET.ATG" +#line 1872 "VBNET.ATG" argumentexpr = new NamedArgumentExpression(name, expr); } else if (StartOf(26)) { Expr( -#line 1873 "VBNET.ATG" +#line 1875 "VBNET.ATG" out argumentexpr); } else SynErr(249); } void QualIdentAndTypeArguments( -#line 1919 "VBNET.ATG" +#line 1921 "VBNET.ATG" out TypeReference typeref, bool canBeUnbound) { -#line 1920 "VBNET.ATG" +#line 1922 "VBNET.ATG" string name; typeref = null; Qualident( -#line 1922 "VBNET.ATG" +#line 1924 "VBNET.ATG" out name); -#line 1923 "VBNET.ATG" +#line 1925 "VBNET.ATG" typeref = new TypeReference(name); if ( -#line 1924 "VBNET.ATG" +#line 1926 "VBNET.ATG" la.kind == Tokens.OpenParenthesis && Peek(1).kind == Tokens.Of) { lexer.NextToken(); Expect(200); if ( -#line 1926 "VBNET.ATG" +#line 1928 "VBNET.ATG" canBeUnbound && (la.kind == Tokens.CloseParenthesis || la.kind == Tokens.Comma)) { -#line 1927 "VBNET.ATG" +#line 1929 "VBNET.ATG" typeref.GenericTypes.Add(NullTypeReference.Instance); while (la.kind == 12) { lexer.NextToken(); -#line 1928 "VBNET.ATG" +#line 1930 "VBNET.ATG" typeref.GenericTypes.Add(NullTypeReference.Instance); } } else if (StartOf(5)) { TypeArgumentList( -#line 1929 "VBNET.ATG" +#line 1931 "VBNET.ATG" typeref.GenericTypes); } else SynErr(250); Expect(25); @@ -4570,48 +4572,48 @@ typeref.GenericTypes); } void TypeArgumentList( -#line 1972 "VBNET.ATG" +#line 1974 "VBNET.ATG" List typeArguments) { -#line 1974 "VBNET.ATG" +#line 1976 "VBNET.ATG" TypeReference typeref; TypeName( -#line 1976 "VBNET.ATG" +#line 1978 "VBNET.ATG" out typeref); -#line 1976 "VBNET.ATG" +#line 1978 "VBNET.ATG" if (typeref != null) typeArguments.Add(typeref); while (la.kind == 12) { lexer.NextToken(); TypeName( -#line 1979 "VBNET.ATG" +#line 1981 "VBNET.ATG" out typeref); -#line 1979 "VBNET.ATG" +#line 1981 "VBNET.ATG" if (typeref != null) typeArguments.Add(typeref); } } void RankList( -#line 1966 "VBNET.ATG" +#line 1968 "VBNET.ATG" out int i) { -#line 1967 "VBNET.ATG" +#line 1969 "VBNET.ATG" i = 0; while (la.kind == 12) { lexer.NextToken(); -#line 1968 "VBNET.ATG" +#line 1970 "VBNET.ATG" ++i; } } void Attribute( -#line 2004 "VBNET.ATG" +#line 2006 "VBNET.ATG" out ASTAttribute attribute) { -#line 2005 "VBNET.ATG" +#line 2007 "VBNET.ATG" string name; List positional = new List(); List named = new List(); @@ -4621,39 +4623,39 @@ out ASTAttribute attribute) { Expect(10); } Qualident( -#line 2010 "VBNET.ATG" +#line 2012 "VBNET.ATG" out name); if (la.kind == 24) { AttributeArguments( -#line 2011 "VBNET.ATG" +#line 2013 "VBNET.ATG" positional, named); } -#line 2012 "VBNET.ATG" +#line 2014 "VBNET.ATG" attribute = new ASTAttribute(name, positional, named); } void AttributeArguments( -#line 2016 "VBNET.ATG" +#line 2018 "VBNET.ATG" List positional, List named) { -#line 2018 "VBNET.ATG" +#line 2020 "VBNET.ATG" bool nameFound = false; string name = ""; Expression expr; Expect(24); if ( -#line 2024 "VBNET.ATG" +#line 2026 "VBNET.ATG" IsNotClosingParenthesis()) { if ( -#line 2026 "VBNET.ATG" +#line 2028 "VBNET.ATG" IsNamedAssign()) { -#line 2026 "VBNET.ATG" +#line 2028 "VBNET.ATG" nameFound = true; IdentifierOrKeyword( -#line 2027 "VBNET.ATG" +#line 2029 "VBNET.ATG" out name); if (la.kind == 13) { lexer.NextToken(); @@ -4661,10 +4663,10 @@ out name); Expect(11); } Expr( -#line 2029 "VBNET.ATG" +#line 2031 "VBNET.ATG" out expr); -#line 2031 "VBNET.ATG" +#line 2033 "VBNET.ATG" if (expr != null) { if (string.IsNullOrEmpty(name)) { positional.Add(expr); } else { named.Add(new NamedArgumentExpression(name, expr)); name = ""; } @@ -4673,13 +4675,13 @@ out expr); while (la.kind == 12) { lexer.NextToken(); if ( -#line 2039 "VBNET.ATG" +#line 2041 "VBNET.ATG" IsNamedAssign()) { -#line 2039 "VBNET.ATG" +#line 2041 "VBNET.ATG" nameFound = true; IdentifierOrKeyword( -#line 2040 "VBNET.ATG" +#line 2042 "VBNET.ATG" out name); if (la.kind == 13) { lexer.NextToken(); @@ -4687,14 +4689,14 @@ out name); Expect(11); } else if (StartOf(26)) { -#line 2042 "VBNET.ATG" +#line 2044 "VBNET.ATG" if (nameFound) Error("no positional argument after named argument"); } else SynErr(251); Expr( -#line 2043 "VBNET.ATG" +#line 2045 "VBNET.ATG" out expr); -#line 2043 "VBNET.ATG" +#line 2045 "VBNET.ATG" if (expr != null) { if(name == "") positional.Add(expr); else { named.Add(new NamedArgumentExpression(name, expr)); name = ""; } } @@ -4705,39 +4707,39 @@ out expr); } void FormalParameter( -#line 2112 "VBNET.ATG" +#line 2114 "VBNET.ATG" out ParameterDeclarationExpression p) { -#line 2114 "VBNET.ATG" +#line 2116 "VBNET.ATG" TypeReference type = null; - ParamModifiers mod = new ParamModifiers(this); + ParamModifierList mod = new ParamModifierList(this); Expression expr = null; p = null;ArrayList arrayModifiers = null; while (StartOf(32)) { ParameterModifier( -#line 2119 "VBNET.ATG" +#line 2121 "VBNET.ATG" mod); } Identifier(); -#line 2120 "VBNET.ATG" +#line 2122 "VBNET.ATG" string parameterName = t.val; if ( -#line 2121 "VBNET.ATG" +#line 2123 "VBNET.ATG" IsDims()) { ArrayTypeModifiers( -#line 2121 "VBNET.ATG" +#line 2123 "VBNET.ATG" out arrayModifiers); } if (la.kind == 48) { lexer.NextToken(); TypeName( -#line 2122 "VBNET.ATG" +#line 2124 "VBNET.ATG" out type); } -#line 2124 "VBNET.ATG" +#line 2126 "VBNET.ATG" if(type != null) { if (arrayModifiers != null) { if (type.RankSpecifier != null) { @@ -4753,45 +4755,45 @@ out type); if (la.kind == 11) { lexer.NextToken(); Expr( -#line 2136 "VBNET.ATG" +#line 2138 "VBNET.ATG" out expr); } -#line 2138 "VBNET.ATG" +#line 2140 "VBNET.ATG" mod.Check(); p = new ParameterDeclarationExpression(type, parameterName, mod.Modifier, expr); } void ParameterModifier( -#line 2769 "VBNET.ATG" -ParamModifiers m) { +#line 2771 "VBNET.ATG" +ParamModifierList m) { if (la.kind == 55) { lexer.NextToken(); -#line 2770 "VBNET.ATG" - m.Add(ParamModifier.In); +#line 2772 "VBNET.ATG" + m.Add(ParameterModifiers.In); } else if (la.kind == 53) { lexer.NextToken(); -#line 2771 "VBNET.ATG" - m.Add(ParamModifier.Ref); +#line 2773 "VBNET.ATG" + m.Add(ParameterModifiers.Ref); } else if (la.kind == 137) { lexer.NextToken(); -#line 2772 "VBNET.ATG" - m.Add(ParamModifier.Optional); +#line 2774 "VBNET.ATG" + m.Add(ParameterModifiers.Optional); } else if (la.kind == 143) { lexer.NextToken(); -#line 2773 "VBNET.ATG" - m.Add(ParamModifier.Params); +#line 2775 "VBNET.ATG" + m.Add(ParameterModifiers.Params); } else SynErr(252); } void Statement() { -#line 2165 "VBNET.ATG" +#line 2167 "VBNET.ATG" Statement stmt = null; Location startPos = la.Location; string label = String.Empty; @@ -4799,34 +4801,34 @@ ParamModifiers m) { if (la.kind == 1 || la.kind == 13) { } else if ( -#line 2171 "VBNET.ATG" +#line 2173 "VBNET.ATG" IsLabel()) { LabelName( -#line 2171 "VBNET.ATG" +#line 2173 "VBNET.ATG" out label); -#line 2173 "VBNET.ATG" +#line 2175 "VBNET.ATG" compilationUnit.AddChild(new LabelStatement(t.val)); Expect(13); Statement(); } else if (StartOf(33)) { EmbeddedStatement( -#line 2176 "VBNET.ATG" +#line 2178 "VBNET.ATG" out stmt); -#line 2176 "VBNET.ATG" +#line 2178 "VBNET.ATG" compilationUnit.AddChild(stmt); } else if (StartOf(34)) { LocalDeclarationStatement( -#line 2177 "VBNET.ATG" +#line 2179 "VBNET.ATG" out stmt); -#line 2177 "VBNET.ATG" +#line 2179 "VBNET.ATG" compilationUnit.AddChild(stmt); } else SynErr(253); -#line 2180 "VBNET.ATG" +#line 2182 "VBNET.ATG" if (stmt != null) { stmt.StartLocation = startPos; stmt.EndLocation = t.Location; @@ -4835,30 +4837,30 @@ out stmt); } void LabelName( -#line 2556 "VBNET.ATG" +#line 2558 "VBNET.ATG" out string name) { -#line 2558 "VBNET.ATG" +#line 2560 "VBNET.ATG" name = String.Empty; if (StartOf(12)) { Identifier(); -#line 2560 "VBNET.ATG" +#line 2562 "VBNET.ATG" name = t.val; } else if (la.kind == 5) { lexer.NextToken(); -#line 2561 "VBNET.ATG" +#line 2563 "VBNET.ATG" name = t.val; } else SynErr(254); } void EmbeddedStatement( -#line 2219 "VBNET.ATG" +#line 2221 "VBNET.ATG" out Statement statement) { -#line 2221 "VBNET.ATG" +#line 2223 "VBNET.ATG" Statement embeddedStatement = null; statement = null; Expression expr = null; @@ -4869,103 +4871,103 @@ out Statement statement) { case 94: { lexer.NextToken(); -#line 2227 "VBNET.ATG" +#line 2229 "VBNET.ATG" ExitType exitType = ExitType.None; switch (la.kind) { case 167: { lexer.NextToken(); -#line 2229 "VBNET.ATG" +#line 2231 "VBNET.ATG" exitType = ExitType.Sub; break; } case 100: { lexer.NextToken(); -#line 2231 "VBNET.ATG" +#line 2233 "VBNET.ATG" exitType = ExitType.Function; break; } case 146: { lexer.NextToken(); -#line 2233 "VBNET.ATG" +#line 2235 "VBNET.ATG" exitType = ExitType.Property; break; } case 83: { lexer.NextToken(); -#line 2235 "VBNET.ATG" +#line 2237 "VBNET.ATG" exitType = ExitType.Do; break; } case 98: { lexer.NextToken(); -#line 2237 "VBNET.ATG" +#line 2239 "VBNET.ATG" exitType = ExitType.For; break; } case 174: { lexer.NextToken(); -#line 2239 "VBNET.ATG" +#line 2241 "VBNET.ATG" exitType = ExitType.Try; break; } case 181: { lexer.NextToken(); -#line 2241 "VBNET.ATG" +#line 2243 "VBNET.ATG" exitType = ExitType.While; break; } case 155: { lexer.NextToken(); -#line 2243 "VBNET.ATG" +#line 2245 "VBNET.ATG" exitType = ExitType.Select; break; } default: SynErr(255); break; } -#line 2245 "VBNET.ATG" +#line 2247 "VBNET.ATG" statement = new ExitStatement(exitType); break; } case 174: { TryStatement( -#line 2246 "VBNET.ATG" +#line 2248 "VBNET.ATG" out statement); break; } case 186: { lexer.NextToken(); -#line 2247 "VBNET.ATG" +#line 2249 "VBNET.ATG" ContinueType continueType = ContinueType.None; if (la.kind == 83 || la.kind == 98 || la.kind == 181) { if (la.kind == 83) { lexer.NextToken(); -#line 2247 "VBNET.ATG" +#line 2249 "VBNET.ATG" continueType = ContinueType.Do; } else if (la.kind == 98) { lexer.NextToken(); -#line 2247 "VBNET.ATG" +#line 2249 "VBNET.ATG" continueType = ContinueType.For; } else { lexer.NextToken(); -#line 2247 "VBNET.ATG" +#line 2249 "VBNET.ATG" continueType = ContinueType.While; } } -#line 2247 "VBNET.ATG" +#line 2249 "VBNET.ATG" statement = new ContinueStatement(continueType); break; } @@ -4973,11 +4975,11 @@ out statement); lexer.NextToken(); if (StartOf(26)) { Expr( -#line 2249 "VBNET.ATG" +#line 2251 "VBNET.ATG" out expr); } -#line 2249 "VBNET.ATG" +#line 2251 "VBNET.ATG" statement = new ThrowStatement(expr); break; } @@ -4985,27 +4987,27 @@ out expr); lexer.NextToken(); if (StartOf(26)) { Expr( -#line 2251 "VBNET.ATG" +#line 2253 "VBNET.ATG" out expr); } -#line 2251 "VBNET.ATG" +#line 2253 "VBNET.ATG" statement = new ReturnStatement(expr); break; } case 168: { lexer.NextToken(); Expr( -#line 2253 "VBNET.ATG" +#line 2255 "VBNET.ATG" out expr); EndOfStmt(); Block( -#line 2253 "VBNET.ATG" +#line 2255 "VBNET.ATG" out embeddedStatement); Expect(88); Expect(168); -#line 2254 "VBNET.ATG" +#line 2256 "VBNET.ATG" statement = new LockStatement(expr, embeddedStatement); break; } @@ -5013,42 +5015,42 @@ out embeddedStatement); lexer.NextToken(); Identifier(); -#line 2256 "VBNET.ATG" +#line 2258 "VBNET.ATG" name = t.val; if (la.kind == 24) { lexer.NextToken(); if (StartOf(29)) { ArgumentList( -#line 2257 "VBNET.ATG" +#line 2259 "VBNET.ATG" out p); } Expect(25); } -#line 2258 "VBNET.ATG" +#line 2260 "VBNET.ATG" statement = new RaiseEventStatement(name, p); break; } case 182: { WithStatement( -#line 2260 "VBNET.ATG" +#line 2262 "VBNET.ATG" out statement); break; } case 42: { lexer.NextToken(); -#line 2262 "VBNET.ATG" +#line 2264 "VBNET.ATG" Expression handlerExpr = null; Expr( -#line 2263 "VBNET.ATG" +#line 2265 "VBNET.ATG" out expr); Expect(12); Expr( -#line 2263 "VBNET.ATG" +#line 2265 "VBNET.ATG" out handlerExpr); -#line 2265 "VBNET.ATG" +#line 2267 "VBNET.ATG" statement = new AddHandlerStatement(expr, handlerExpr); break; @@ -5056,17 +5058,17 @@ out handlerExpr); case 152: { lexer.NextToken(); -#line 2268 "VBNET.ATG" +#line 2270 "VBNET.ATG" Expression handlerExpr = null; Expr( -#line 2269 "VBNET.ATG" +#line 2271 "VBNET.ATG" out expr); Expect(12); Expr( -#line 2269 "VBNET.ATG" +#line 2271 "VBNET.ATG" out handlerExpr); -#line 2271 "VBNET.ATG" +#line 2273 "VBNET.ATG" statement = new RemoveHandlerStatement(expr, handlerExpr); break; @@ -5074,16 +5076,16 @@ out handlerExpr); case 181: { lexer.NextToken(); Expr( -#line 2274 "VBNET.ATG" +#line 2276 "VBNET.ATG" out expr); EndOfStmt(); Block( -#line 2275 "VBNET.ATG" +#line 2277 "VBNET.ATG" out embeddedStatement); Expect(88); Expect(181); -#line 2277 "VBNET.ATG" +#line 2279 "VBNET.ATG" statement = new DoLoopStatement(expr, embeddedStatement, ConditionType.While, ConditionPosition.Start); break; @@ -5091,23 +5093,23 @@ out embeddedStatement); case 83: { lexer.NextToken(); -#line 2282 "VBNET.ATG" +#line 2284 "VBNET.ATG" ConditionType conditionType = ConditionType.None; if (la.kind == 177 || la.kind == 181) { WhileOrUntil( -#line 2285 "VBNET.ATG" +#line 2287 "VBNET.ATG" out conditionType); Expr( -#line 2285 "VBNET.ATG" +#line 2287 "VBNET.ATG" out expr); EndOfStmt(); Block( -#line 2286 "VBNET.ATG" +#line 2288 "VBNET.ATG" out embeddedStatement); Expect(118); -#line 2289 "VBNET.ATG" +#line 2291 "VBNET.ATG" statement = new DoLoopStatement(expr, embeddedStatement, conditionType == ConditionType.While ? ConditionType.DoWhile : conditionType, @@ -5116,19 +5118,19 @@ out embeddedStatement); } else if (la.kind == 1 || la.kind == 13) { EndOfStmt(); Block( -#line 2296 "VBNET.ATG" +#line 2298 "VBNET.ATG" out embeddedStatement); Expect(118); if (la.kind == 177 || la.kind == 181) { WhileOrUntil( -#line 2297 "VBNET.ATG" +#line 2299 "VBNET.ATG" out conditionType); Expr( -#line 2297 "VBNET.ATG" +#line 2299 "VBNET.ATG" out expr); } -#line 2299 "VBNET.ATG" +#line 2301 "VBNET.ATG" statement = new DoLoopStatement(expr, embeddedStatement, conditionType, ConditionPosition.End); } else SynErr(256); @@ -5137,7 +5139,7 @@ out expr); case 98: { lexer.NextToken(); -#line 2304 "VBNET.ATG" +#line 2306 "VBNET.ATG" Expression group = null; TypeReference typeReference; string typeName; @@ -5146,24 +5148,24 @@ out expr); if (la.kind == 85) { lexer.NextToken(); LoopControlVariable( -#line 2311 "VBNET.ATG" +#line 2313 "VBNET.ATG" out typeReference, out typeName); Expect(109); Expr( -#line 2312 "VBNET.ATG" +#line 2314 "VBNET.ATG" out group); EndOfStmt(); Block( -#line 2313 "VBNET.ATG" +#line 2315 "VBNET.ATG" out embeddedStatement); Expect(128); if (StartOf(26)) { Expr( -#line 2314 "VBNET.ATG" +#line 2316 "VBNET.ATG" out expr); } -#line 2316 "VBNET.ATG" +#line 2318 "VBNET.ATG" statement = new ForeachStatement(typeReference, typeName, group, @@ -5175,53 +5177,53 @@ out expr); } else if (StartOf(12)) { -#line 2327 "VBNET.ATG" +#line 2329 "VBNET.ATG" Expression start = null; Expression end = null; Expression step = null; Expression nextExpr = null;List nextExpressions = null; LoopControlVariable( -#line 2332 "VBNET.ATG" +#line 2334 "VBNET.ATG" out typeReference, out typeName); Expect(11); Expr( -#line 2333 "VBNET.ATG" +#line 2335 "VBNET.ATG" out start); Expect(172); Expr( -#line 2333 "VBNET.ATG" +#line 2335 "VBNET.ATG" out end); if (la.kind == 162) { lexer.NextToken(); Expr( -#line 2333 "VBNET.ATG" +#line 2335 "VBNET.ATG" out step); } EndOfStmt(); Block( -#line 2334 "VBNET.ATG" +#line 2336 "VBNET.ATG" out embeddedStatement); Expect(128); if (StartOf(26)) { Expr( -#line 2337 "VBNET.ATG" +#line 2339 "VBNET.ATG" out nextExpr); -#line 2337 "VBNET.ATG" +#line 2339 "VBNET.ATG" nextExpressions = new List(); nextExpressions.Add(nextExpr); while (la.kind == 12) { lexer.NextToken(); Expr( -#line 2338 "VBNET.ATG" +#line 2340 "VBNET.ATG" out nextExpr); -#line 2338 "VBNET.ATG" +#line 2340 "VBNET.ATG" nextExpressions.Add(nextExpr); } } -#line 2341 "VBNET.ATG" +#line 2343 "VBNET.ATG" statement = new ForNextStatement(typeReference, typeName, start, end, step, embeddedStatement, nextExpressions); } else SynErr(257); @@ -5230,29 +5232,29 @@ out nextExpr); case 92: { lexer.NextToken(); Expr( -#line 2345 "VBNET.ATG" +#line 2347 "VBNET.ATG" out expr); -#line 2345 "VBNET.ATG" +#line 2347 "VBNET.ATG" statement = new ErrorStatement(expr); break; } case 151: { lexer.NextToken(); -#line 2347 "VBNET.ATG" +#line 2349 "VBNET.ATG" bool isPreserve = false; if (la.kind == 144) { lexer.NextToken(); -#line 2347 "VBNET.ATG" +#line 2349 "VBNET.ATG" isPreserve = true; } Expr( -#line 2348 "VBNET.ATG" +#line 2350 "VBNET.ATG" out expr); -#line 2350 "VBNET.ATG" +#line 2352 "VBNET.ATG" ReDimStatement reDimStatement = new ReDimStatement(isPreserve); statement = reDimStatement; InvocationExpression redimClause = expr as InvocationExpression; @@ -5261,13 +5263,13 @@ out expr); while (la.kind == 12) { lexer.NextToken(); Expr( -#line 2355 "VBNET.ATG" +#line 2357 "VBNET.ATG" out expr); -#line 2356 "VBNET.ATG" +#line 2358 "VBNET.ATG" redimClause = expr as InvocationExpression; -#line 2357 "VBNET.ATG" +#line 2359 "VBNET.ATG" if (redimClause != null) { reDimStatement.ReDimClauses.Add(redimClause); } } break; @@ -5275,10 +5277,10 @@ out expr); case 91: { lexer.NextToken(); Expr( -#line 2361 "VBNET.ATG" +#line 2363 "VBNET.ATG" out expr); -#line 2362 "VBNET.ATG" +#line 2364 "VBNET.ATG" List arrays = new List(); if (expr != null) { arrays.Add(expr);} EraseStatement eraseStatement = new EraseStatement(arrays); @@ -5287,53 +5289,53 @@ out expr); while (la.kind == 12) { lexer.NextToken(); Expr( -#line 2367 "VBNET.ATG" +#line 2369 "VBNET.ATG" out expr); -#line 2367 "VBNET.ATG" +#line 2369 "VBNET.ATG" if (expr != null) { arrays.Add(expr); } } -#line 2368 "VBNET.ATG" +#line 2370 "VBNET.ATG" statement = eraseStatement; break; } case 163: { lexer.NextToken(); -#line 2370 "VBNET.ATG" +#line 2372 "VBNET.ATG" statement = new StopStatement(); break; } case 106: { lexer.NextToken(); Expr( -#line 2372 "VBNET.ATG" +#line 2374 "VBNET.ATG" out expr); if (la.kind == 170) { lexer.NextToken(); } if ( -#line 2374 "VBNET.ATG" +#line 2376 "VBNET.ATG" IsEndStmtAhead()) { Expect(88); -#line 2374 "VBNET.ATG" +#line 2376 "VBNET.ATG" statement = new IfElseStatement(expr, new EndStatement()); } else if (la.kind == 1 || la.kind == 13) { EndOfStmt(); Block( -#line 2377 "VBNET.ATG" +#line 2379 "VBNET.ATG" out embeddedStatement); -#line 2379 "VBNET.ATG" +#line 2381 "VBNET.ATG" IfElseStatement ifStatement = new IfElseStatement(expr, embeddedStatement); while (la.kind == 87 || -#line 2383 "VBNET.ATG" +#line 2385 "VBNET.ATG" IsElseIf()) { if ( -#line 2383 "VBNET.ATG" +#line 2385 "VBNET.ATG" IsElseIf()) { Expect(86); Expect(106); @@ -5341,20 +5343,20 @@ IsElseIf()) { lexer.NextToken(); } -#line 2386 "VBNET.ATG" +#line 2388 "VBNET.ATG" Expression condition = null; Statement block = null; Expr( -#line 2387 "VBNET.ATG" +#line 2389 "VBNET.ATG" out condition); if (la.kind == 170) { lexer.NextToken(); } EndOfStmt(); Block( -#line 2388 "VBNET.ATG" +#line 2390 "VBNET.ATG" out block); -#line 2390 "VBNET.ATG" +#line 2392 "VBNET.ATG" ifStatement.ElseIfSections.Add(new ElseIfSection(condition, block)); } @@ -5362,59 +5364,59 @@ out block); lexer.NextToken(); EndOfStmt(); Block( -#line 2395 "VBNET.ATG" +#line 2397 "VBNET.ATG" out embeddedStatement); -#line 2397 "VBNET.ATG" +#line 2399 "VBNET.ATG" ifStatement.FalseStatement.Add(embeddedStatement); } Expect(88); Expect(106); -#line 2401 "VBNET.ATG" +#line 2403 "VBNET.ATG" statement = ifStatement; } else if (StartOf(33)) { EmbeddedStatement( -#line 2404 "VBNET.ATG" +#line 2406 "VBNET.ATG" out embeddedStatement); -#line 2406 "VBNET.ATG" +#line 2408 "VBNET.ATG" IfElseStatement ifStatement = new IfElseStatement(expr, embeddedStatement); while (la.kind == 13) { lexer.NextToken(); EmbeddedStatement( -#line 2408 "VBNET.ATG" +#line 2410 "VBNET.ATG" out embeddedStatement); -#line 2408 "VBNET.ATG" +#line 2410 "VBNET.ATG" ifStatement.TrueStatement.Add(embeddedStatement); } if (la.kind == 86) { lexer.NextToken(); if (StartOf(33)) { EmbeddedStatement( -#line 2410 "VBNET.ATG" +#line 2412 "VBNET.ATG" out embeddedStatement); } -#line 2412 "VBNET.ATG" +#line 2414 "VBNET.ATG" ifStatement.FalseStatement.Add(embeddedStatement); while (la.kind == 13) { lexer.NextToken(); EmbeddedStatement( -#line 2415 "VBNET.ATG" +#line 2417 "VBNET.ATG" out embeddedStatement); -#line 2416 "VBNET.ATG" +#line 2418 "VBNET.ATG" ifStatement.FalseStatement.Add(embeddedStatement); } } -#line 2419 "VBNET.ATG" +#line 2421 "VBNET.ATG" statement = ifStatement; } else SynErr(258); break; @@ -5425,43 +5427,43 @@ out embeddedStatement); lexer.NextToken(); } Expr( -#line 2422 "VBNET.ATG" +#line 2424 "VBNET.ATG" out expr); EndOfStmt(); -#line 2423 "VBNET.ATG" +#line 2425 "VBNET.ATG" List selectSections = new List(); Statement block = null; while (la.kind == 57) { -#line 2427 "VBNET.ATG" +#line 2429 "VBNET.ATG" List caseClauses = null; lexer.NextToken(); CaseClauses( -#line 2428 "VBNET.ATG" +#line 2430 "VBNET.ATG" out caseClauses); if ( -#line 2428 "VBNET.ATG" +#line 2430 "VBNET.ATG" IsNotStatementSeparator()) { lexer.NextToken(); } EndOfStmt(); -#line 2430 "VBNET.ATG" +#line 2432 "VBNET.ATG" SwitchSection selectSection = new SwitchSection(caseClauses); Block( -#line 2432 "VBNET.ATG" +#line 2434 "VBNET.ATG" out block); -#line 2434 "VBNET.ATG" +#line 2436 "VBNET.ATG" selectSection.Children = block.Children; selectSections.Add(selectSection); } -#line 2438 "VBNET.ATG" +#line 2440 "VBNET.ATG" statement = new SwitchStatement(expr, selectSections); Expect(88); Expect(155); @@ -5469,43 +5471,43 @@ out block); } case 135: { -#line 2440 "VBNET.ATG" +#line 2442 "VBNET.ATG" OnErrorStatement onErrorStatement = null; OnErrorStatement( -#line 2441 "VBNET.ATG" +#line 2443 "VBNET.ATG" out onErrorStatement); -#line 2441 "VBNET.ATG" +#line 2443 "VBNET.ATG" statement = onErrorStatement; break; } case 104: { -#line 2442 "VBNET.ATG" +#line 2444 "VBNET.ATG" GotoStatement goToStatement = null; GotoStatement( -#line 2443 "VBNET.ATG" +#line 2445 "VBNET.ATG" out goToStatement); -#line 2443 "VBNET.ATG" +#line 2445 "VBNET.ATG" statement = goToStatement; break; } case 153: { -#line 2444 "VBNET.ATG" +#line 2446 "VBNET.ATG" ResumeStatement resumeStatement = null; ResumeStatement( -#line 2445 "VBNET.ATG" +#line 2447 "VBNET.ATG" out resumeStatement); -#line 2445 "VBNET.ATG" +#line 2447 "VBNET.ATG" statement = resumeStatement; break; } case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 24: case 43: case 47: case 49: case 50: case 51: case 52: case 54: case 59: case 60: case 61: case 62: case 63: case 64: case 65: case 66: case 68: case 69: case 70: case 72: case 73: case 74: case 75: case 76: case 77: case 82: case 84: case 96: case 102: case 111: case 117: case 119: case 124: case 125: case 127: case 130: case 133: case 144: case 159: case 160: case 165: case 169: case 173: case 175: case 176: case 177: case 190: case 191: case 192: case 193: case 194: case 195: case 196: case 197: case 198: case 199: case 204: { -#line 2448 "VBNET.ATG" +#line 2450 "VBNET.ATG" Expression val = null; AssignmentOperatorType op; @@ -5513,25 +5515,25 @@ out resumeStatement); la.kind == Tokens.Not || la.kind == Tokens.Times; SimpleExpr( -#line 2454 "VBNET.ATG" +#line 2456 "VBNET.ATG" out expr); if (StartOf(35)) { AssignmentOperator( -#line 2456 "VBNET.ATG" +#line 2458 "VBNET.ATG" out op); Expr( -#line 2456 "VBNET.ATG" +#line 2458 "VBNET.ATG" out val); -#line 2456 "VBNET.ATG" +#line 2458 "VBNET.ATG" expr = new AssignmentExpression(expr, op, val); } else if (la.kind == 1 || la.kind == 13 || la.kind == 86) { -#line 2457 "VBNET.ATG" +#line 2459 "VBNET.ATG" if (mustBeAssignment) Error("error in assignment."); } else SynErr(259); -#line 2460 "VBNET.ATG" +#line 2462 "VBNET.ATG" // a field reference expression that stands alone is a // invocation expression without parantheses and arguments if(expr is FieldReferenceExpression || expr is IdentifierExpression) { @@ -5544,48 +5546,48 @@ out val); case 56: { lexer.NextToken(); SimpleExpr( -#line 2467 "VBNET.ATG" +#line 2469 "VBNET.ATG" out expr); -#line 2467 "VBNET.ATG" +#line 2469 "VBNET.ATG" statement = new ExpressionStatement(expr); break; } case 188: { lexer.NextToken(); -#line 2469 "VBNET.ATG" +#line 2471 "VBNET.ATG" Statement block; if ( -#line 2470 "VBNET.ATG" +#line 2472 "VBNET.ATG" Peek(1).kind == Tokens.As) { -#line 2471 "VBNET.ATG" - LocalVariableDeclaration resourceAquisition = new LocalVariableDeclaration(Modifier.None); +#line 2473 "VBNET.ATG" + LocalVariableDeclaration resourceAquisition = new LocalVariableDeclaration(Modifiers.None); VariableDeclarator( -#line 2472 "VBNET.ATG" +#line 2474 "VBNET.ATG" resourceAquisition.Variables); while (la.kind == 12) { lexer.NextToken(); VariableDeclarator( -#line 2474 "VBNET.ATG" +#line 2476 "VBNET.ATG" resourceAquisition.Variables); } Block( -#line 2476 "VBNET.ATG" +#line 2478 "VBNET.ATG" out block); -#line 2477 "VBNET.ATG" +#line 2479 "VBNET.ATG" statement = new UsingStatement(resourceAquisition, block); } else if (StartOf(26)) { Expr( -#line 2478 "VBNET.ATG" +#line 2480 "VBNET.ATG" out expr); Block( -#line 2479 "VBNET.ATG" +#line 2481 "VBNET.ATG" out block); -#line 2480 "VBNET.ATG" +#line 2482 "VBNET.ATG" statement = new UsingStatement(new ExpressionStatement(expr), block); } else SynErr(260); Expect(88); @@ -5597,11 +5599,11 @@ out block); } void LocalDeclarationStatement( -#line 2188 "VBNET.ATG" +#line 2190 "VBNET.ATG" out Statement statement) { -#line 2190 "VBNET.ATG" - Modifiers m = new Modifiers(); +#line 2192 "VBNET.ATG" + ModifierList m = new ModifierList(); LocalVariableDeclaration localVariableDeclaration; bool dimfound = false; @@ -5609,23 +5611,23 @@ out Statement statement) { if (la.kind == 71) { lexer.NextToken(); -#line 2196 "VBNET.ATG" - m.Add(Modifier.Const, t.Location); +#line 2198 "VBNET.ATG" + m.Add(Modifiers.Const, t.Location); } else if (la.kind == 161) { lexer.NextToken(); -#line 2197 "VBNET.ATG" - m.Add(Modifier.Static, t.Location); +#line 2199 "VBNET.ATG" + m.Add(Modifiers.Static, t.Location); } else { lexer.NextToken(); -#line 2198 "VBNET.ATG" +#line 2200 "VBNET.ATG" dimfound = true; } } -#line 2201 "VBNET.ATG" - if(dimfound && (m.Modifier & Modifier.Const) != 0) { +#line 2203 "VBNET.ATG" + if(dimfound && (m.Modifier & Modifiers.Const) != 0) { Error("Dim is not allowed on constants."); } @@ -5637,135 +5639,135 @@ out Statement statement) { localVariableDeclaration.StartLocation = t.Location; VariableDeclarator( -#line 2212 "VBNET.ATG" +#line 2214 "VBNET.ATG" localVariableDeclaration.Variables); while (la.kind == 12) { lexer.NextToken(); VariableDeclarator( -#line 2213 "VBNET.ATG" +#line 2215 "VBNET.ATG" localVariableDeclaration.Variables); } -#line 2215 "VBNET.ATG" +#line 2217 "VBNET.ATG" statement = localVariableDeclaration; } void TryStatement( -#line 2666 "VBNET.ATG" +#line 2668 "VBNET.ATG" out Statement tryStatement) { -#line 2668 "VBNET.ATG" +#line 2670 "VBNET.ATG" Statement blockStmt = null, finallyStmt = null;List catchClauses = null; Expect(174); EndOfStmt(); Block( -#line 2671 "VBNET.ATG" +#line 2673 "VBNET.ATG" out blockStmt); if (la.kind == 58 || la.kind == 88 || la.kind == 97) { CatchClauses( -#line 2672 "VBNET.ATG" +#line 2674 "VBNET.ATG" out catchClauses); } if (la.kind == 97) { lexer.NextToken(); EndOfStmt(); Block( -#line 2673 "VBNET.ATG" +#line 2675 "VBNET.ATG" out finallyStmt); } Expect(88); Expect(174); -#line 2676 "VBNET.ATG" +#line 2678 "VBNET.ATG" tryStatement = new TryCatchStatement(blockStmt, catchClauses, finallyStmt); } void WithStatement( -#line 2646 "VBNET.ATG" +#line 2648 "VBNET.ATG" out Statement withStatement) { -#line 2648 "VBNET.ATG" +#line 2650 "VBNET.ATG" Statement blockStmt = null; Expression expr = null; Expect(182); -#line 2651 "VBNET.ATG" +#line 2653 "VBNET.ATG" Location start = t.Location; Expr( -#line 2652 "VBNET.ATG" +#line 2654 "VBNET.ATG" out expr); EndOfStmt(); -#line 2654 "VBNET.ATG" +#line 2656 "VBNET.ATG" withStatement = new WithStatement(expr); withStatement.StartLocation = start; Block( -#line 2657 "VBNET.ATG" +#line 2659 "VBNET.ATG" out blockStmt); -#line 2659 "VBNET.ATG" +#line 2661 "VBNET.ATG" ((WithStatement)withStatement).Body = (BlockStatement)blockStmt; Expect(88); Expect(182); -#line 2662 "VBNET.ATG" +#line 2664 "VBNET.ATG" withStatement.EndLocation = t.Location; } void WhileOrUntil( -#line 2639 "VBNET.ATG" +#line 2641 "VBNET.ATG" out ConditionType conditionType) { -#line 2640 "VBNET.ATG" +#line 2642 "VBNET.ATG" conditionType = ConditionType.None; if (la.kind == 181) { lexer.NextToken(); -#line 2641 "VBNET.ATG" +#line 2643 "VBNET.ATG" conditionType = ConditionType.While; } else if (la.kind == 177) { lexer.NextToken(); -#line 2642 "VBNET.ATG" +#line 2644 "VBNET.ATG" conditionType = ConditionType.Until; } else SynErr(262); } void LoopControlVariable( -#line 2486 "VBNET.ATG" +#line 2488 "VBNET.ATG" out TypeReference type, out string name) { -#line 2487 "VBNET.ATG" +#line 2489 "VBNET.ATG" ArrayList arrayModifiers = null; type = null; Qualident( -#line 2491 "VBNET.ATG" +#line 2493 "VBNET.ATG" out name); if ( -#line 2492 "VBNET.ATG" +#line 2494 "VBNET.ATG" IsDims()) { ArrayTypeModifiers( -#line 2492 "VBNET.ATG" +#line 2494 "VBNET.ATG" out arrayModifiers); } if (la.kind == 48) { lexer.NextToken(); TypeName( -#line 2493 "VBNET.ATG" +#line 2495 "VBNET.ATG" out type); -#line 2493 "VBNET.ATG" +#line 2495 "VBNET.ATG" if (name.IndexOf('.') > 0) { Error("No type def for 'for each' member indexer allowed."); } } -#line 2495 "VBNET.ATG" +#line 2497 "VBNET.ATG" if (type != null) { if(type.RankSpecifier != null && arrayModifiers != null) { Error("array rank only allowed one time"); @@ -5777,48 +5779,48 @@ out type); } void CaseClauses( -#line 2599 "VBNET.ATG" +#line 2601 "VBNET.ATG" out List caseClauses) { -#line 2601 "VBNET.ATG" +#line 2603 "VBNET.ATG" caseClauses = new List(); CaseLabel caseClause = null; CaseClause( -#line 2604 "VBNET.ATG" +#line 2606 "VBNET.ATG" out caseClause); -#line 2604 "VBNET.ATG" +#line 2606 "VBNET.ATG" if (caseClause != null) { caseClauses.Add(caseClause); } while (la.kind == 12) { lexer.NextToken(); CaseClause( -#line 2605 "VBNET.ATG" +#line 2607 "VBNET.ATG" out caseClause); -#line 2605 "VBNET.ATG" +#line 2607 "VBNET.ATG" if (caseClause != null) { caseClauses.Add(caseClause); } } } void OnErrorStatement( -#line 2506 "VBNET.ATG" +#line 2508 "VBNET.ATG" out OnErrorStatement stmt) { -#line 2508 "VBNET.ATG" +#line 2510 "VBNET.ATG" stmt = null; GotoStatement goToStatement = null; Expect(135); Expect(92); if ( -#line 2514 "VBNET.ATG" +#line 2516 "VBNET.ATG" IsNegativeLabelName()) { Expect(104); Expect(15); Expect(5); -#line 2516 "VBNET.ATG" +#line 2518 "VBNET.ATG" long intLabel = Int64.Parse(t.val); if(intLabel != 1) { Error("invalid label in on error statement."); @@ -5827,10 +5829,10 @@ IsNegativeLabelName()) { } else if (la.kind == 104) { GotoStatement( -#line 2522 "VBNET.ATG" +#line 2524 "VBNET.ATG" out goToStatement); -#line 2524 "VBNET.ATG" +#line 2526 "VBNET.ATG" string val = goToStatement.Label; // if value is numeric, make sure that is 0 @@ -5847,63 +5849,63 @@ out goToStatement); lexer.NextToken(); Expect(128); -#line 2538 "VBNET.ATG" +#line 2540 "VBNET.ATG" stmt = new OnErrorStatement(new ResumeStatement(true)); } else SynErr(263); } void GotoStatement( -#line 2544 "VBNET.ATG" +#line 2546 "VBNET.ATG" out GotoStatement goToStatement) { -#line 2546 "VBNET.ATG" +#line 2548 "VBNET.ATG" string label = String.Empty; Expect(104); LabelName( -#line 2549 "VBNET.ATG" +#line 2551 "VBNET.ATG" out label); -#line 2551 "VBNET.ATG" +#line 2553 "VBNET.ATG" goToStatement = new GotoStatement(label); } void ResumeStatement( -#line 2588 "VBNET.ATG" +#line 2590 "VBNET.ATG" out ResumeStatement resumeStatement) { -#line 2590 "VBNET.ATG" +#line 2592 "VBNET.ATG" resumeStatement = null; string label = String.Empty; if ( -#line 2593 "VBNET.ATG" +#line 2595 "VBNET.ATG" IsResumeNext()) { Expect(153); Expect(128); -#line 2594 "VBNET.ATG" +#line 2596 "VBNET.ATG" resumeStatement = new ResumeStatement(true); } else if (la.kind == 153) { lexer.NextToken(); if (StartOf(36)) { LabelName( -#line 2595 "VBNET.ATG" +#line 2597 "VBNET.ATG" out label); } -#line 2595 "VBNET.ATG" +#line 2597 "VBNET.ATG" resumeStatement = new ResumeStatement(label); } else SynErr(264); } void CaseClause( -#line 2609 "VBNET.ATG" +#line 2611 "VBNET.ATG" out CaseLabel caseClause) { -#line 2611 "VBNET.ATG" +#line 2613 "VBNET.ATG" Expression expr = null; Expression sexpr = null; BinaryOperatorType op = BinaryOperatorType.None; @@ -5912,7 +5914,7 @@ out CaseLabel caseClause) { if (la.kind == 86) { lexer.NextToken(); -#line 2617 "VBNET.ATG" +#line 2619 "VBNET.ATG" caseClause = new CaseLabel(); } else if (StartOf(37)) { if (la.kind == 113) { @@ -5922,76 +5924,76 @@ out CaseLabel caseClause) { case 27: { lexer.NextToken(); -#line 2621 "VBNET.ATG" +#line 2623 "VBNET.ATG" op = BinaryOperatorType.LessThan; break; } case 26: { lexer.NextToken(); -#line 2622 "VBNET.ATG" +#line 2624 "VBNET.ATG" op = BinaryOperatorType.GreaterThan; break; } case 30: { lexer.NextToken(); -#line 2623 "VBNET.ATG" +#line 2625 "VBNET.ATG" op = BinaryOperatorType.LessThanOrEqual; break; } case 29: { lexer.NextToken(); -#line 2624 "VBNET.ATG" +#line 2626 "VBNET.ATG" op = BinaryOperatorType.GreaterThanOrEqual; break; } case 11: { lexer.NextToken(); -#line 2625 "VBNET.ATG" +#line 2627 "VBNET.ATG" op = BinaryOperatorType.Equality; break; } case 28: { lexer.NextToken(); -#line 2626 "VBNET.ATG" +#line 2628 "VBNET.ATG" op = BinaryOperatorType.InEquality; break; } default: SynErr(265); break; } Expr( -#line 2628 "VBNET.ATG" +#line 2630 "VBNET.ATG" out expr); -#line 2630 "VBNET.ATG" +#line 2632 "VBNET.ATG" caseClause = new CaseLabel(op, expr); } else if (StartOf(26)) { Expr( -#line 2632 "VBNET.ATG" +#line 2634 "VBNET.ATG" out expr); if (la.kind == 172) { lexer.NextToken(); Expr( -#line 2632 "VBNET.ATG" +#line 2634 "VBNET.ATG" out sexpr); } -#line 2634 "VBNET.ATG" +#line 2636 "VBNET.ATG" caseClause = new CaseLabel(expr, sexpr); } else SynErr(266); } void CatchClauses( -#line 2681 "VBNET.ATG" +#line 2683 "VBNET.ATG" out List catchClauses) { -#line 2683 "VBNET.ATG" +#line 2685 "VBNET.ATG" catchClauses = new List(); TypeReference type = null; Statement blockStmt = null; @@ -6003,27 +6005,27 @@ out List catchClauses) { if (StartOf(12)) { Identifier(); -#line 2691 "VBNET.ATG" +#line 2693 "VBNET.ATG" name = t.val; if (la.kind == 48) { lexer.NextToken(); TypeName( -#line 2691 "VBNET.ATG" +#line 2693 "VBNET.ATG" out type); } } if (la.kind == 180) { lexer.NextToken(); Expr( -#line 2692 "VBNET.ATG" +#line 2694 "VBNET.ATG" out expr); } EndOfStmt(); Block( -#line 2694 "VBNET.ATG" +#line 2696 "VBNET.ATG" out blockStmt); -#line 2695 "VBNET.ATG" +#line 2697 "VBNET.ATG" catchClauses.Add(new CatchClause(type, name, blockStmt, expr)); } } diff --git a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/VBNET.ATG b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/VBNET.ATG index ec8cb34b85..ee99cf18b4 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/VBNET.ATG +++ b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/VBNET.ATG @@ -318,7 +318,7 @@ ImportClause /* 6.4.2 */ NamespaceMemberDecl (. - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); AttributeSection section; List attributes = new List(); string qualident; @@ -393,12 +393,12 @@ TypeParameterConstraints . /* 6.4.2 */ -NonModuleDeclaration attributes> +NonModuleDeclaration attributes> (. TypeReference typeRef = null; List baseInterfaces = null; .) = - (. m.Check(Modifier.Classes); .) + (. m.Check(Modifiers.Classes); .) /* Spec, 7.5 */ "Class" (. TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); @@ -420,7 +420,7 @@ NonModuleDeclaration attributes> .) | "Module" (. - m.Check(Modifier.VBModules); + m.Check(Modifiers.VBModules); TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); compilationUnit.AddChild(newType); compilationUnit.BlockStart(newType); @@ -436,7 +436,7 @@ NonModuleDeclaration attributes> .) | "Structure" (. - m.Check(Modifier.VBStructures); + m.Check(Modifiers.VBStructures); TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); compilationUnit.AddChild(newType); compilationUnit.BlockStart(newType); @@ -455,7 +455,7 @@ NonModuleDeclaration attributes> | /* 7.4 */ "Enum" (. - m.Check(Modifier.VBEnums); + m.Check(Modifiers.VBEnums); TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); newType.StartLocation = m.GetDeclarationLocation(t.Location); compilationUnit.AddChild(newType); @@ -474,7 +474,7 @@ NonModuleDeclaration attributes> | /* 7.8 */ "Interface" (. - m.Check(Modifier.VBInterfacs); + m.Check(Modifiers.VBInterfacs); TypeDeclaration newType = new TypeDeclaration(m.Modifier, attributes); newType.StartLocation = m.GetDeclarationLocation(t.Location); compilationUnit.AddChild(newType); @@ -493,7 +493,7 @@ NonModuleDeclaration attributes> | /* 7.10 */ "Delegate" (. - m.Check(Modifier.VBDelegates); + m.Check(Modifiers.VBDelegates); DelegateDeclaration delegateDeclr = new DelegateDeclaration(m.Modifier, attributes); delegateDeclr.ReturnType = new TypeReference("", "System.Void"); delegateDeclr.StartLocation = m.GetDeclarationLocation(t.Location); @@ -526,7 +526,7 @@ ClassBody (. AttributeSection section; .) = { (.List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); .) { AttributeSection (. attributes.Add(section); .) } { MemberModifier } @@ -540,7 +540,7 @@ StructureBody (. AttributeSection section; .) = { (.List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); .) { AttributeSection (. attributes.Add(section); .) } { MemberModifier } @@ -555,7 +555,7 @@ ModuleBody (. AttributeSection section; .) = { (.List attributes = new List(); - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); .) { AttributeSection (. attributes.Add(section); .) } { MemberModifier } @@ -588,7 +588,7 @@ InterfaceMemberDecl List p = new List(); List templates = new List(); AttributeSection section, returnTypeAttributeSection = null; - Modifiers mod = new Modifiers(); + ModifierList mod = new ModifierList(); List attributes = new List(); string name; .) = @@ -598,7 +598,7 @@ InterfaceMemberDecl { MemberModifier } ( "Event" - (. mod.Check(Modifier.VBInterfaceEvents); .) + (. mod.Check(Modifiers.VBInterfaceEvents); .) Identifier (. name = t.val; .) [ "(" [ FormalParameterList

] ")" ] [ "As" TypeName ] @@ -610,7 +610,7 @@ InterfaceMemberDecl .) | "Sub" - (. mod.Check(Modifier.VBInterfaceMethods); .) + (. mod.Check(Modifiers.VBInterfaceMethods); .) Identifier (. name = t.val; .) TypeParameterList [ "(" [ FormalParameterList

] ")" ] @@ -624,7 +624,7 @@ InterfaceMemberDecl .) | "Function" - (. mod.Check(Modifier.VBInterfaceMethods); .) + (. mod.Check(Modifiers.VBInterfaceMethods); .) Identifier (. name = t.val; .) TypeParameterList [ "(" [ FormalParameterList

] ")" ] @@ -645,7 +645,7 @@ InterfaceMemberDecl EOL | "Property" - (. mod.Check(Modifier.VBInterfaceProperties); .) + (. mod.Check(Modifiers.VBInterfaceProperties); .) Identifier (. name = t.val; .) [ "(" [ FormalParameterList

] ")" ] [ "As" TypeName ] @@ -685,7 +685,7 @@ EnumMemberDecl EOL . -ClassMemberDecl attributes> = +ClassMemberDecl attributes> = StructureMemberDecl . @@ -699,7 +699,7 @@ ClassBaseType . /* 7.6.1 */ -StructureMemberDecl attributes> +StructureMemberDecl attributes> (. TypeReference type = null; List p = new List(); @@ -723,7 +723,7 @@ StructureMemberDecl attributes> Identifier (. name = t.val; - m.Check(Modifier.VBMethods); + m.Check(Modifiers.VBMethods); .) TypeParameterList [ "(" [ FormalParameterList

] ")" ] @@ -780,7 +780,7 @@ StructureMemberDecl attributes> ) /* 9.3 */ | "New" [ "(" [ FormalParameterList

] ")" ] - (. m.Check(Modifier.Constructors); .) + (. m.Check(Modifiers.Constructors); .) (. Location constructorEndLocation = t.EndLocation; .) EOL @@ -808,7 +808,7 @@ StructureMemberDecl attributes> /* 9.2.1 */ "Function" (. - m.Check(Modifier.VBMethods); + m.Check(Modifiers.VBMethods); string name = String.Empty; Location startPos = t.Location; MethodDeclaration methodDeclaration;List handlesClause = null; @@ -883,7 +883,7 @@ StructureMemberDecl attributes> /* 9.2.2. */ "Declare" (. - m.Check(Modifier.VBExternalMethods); + m.Check(Modifiers.VBExternalMethods); Location startPos = t.Location; CharsetModifier charsetModifer = CharsetModifier.None; string library = String.Empty; @@ -923,7 +923,7 @@ StructureMemberDecl attributes> /* 9. 4 */ "Event" (. - m.Check(Modifier.VBEvents); + m.Check(Modifiers.VBEvents); Location startPos = t.Location; EventDeclaration eventDeclaration; string name = String.Empty; @@ -946,7 +946,7 @@ StructureMemberDecl attributes> | /* 9.6 */ (. Location startPos = t.Location; .) (. - m.Check(Modifier.Fields); + m.Check(Modifiers.Fields); FieldDeclaration fd = new FieldDeclaration(attributes, null, m.Modifier); fd.StartLocation = m.GetDeclarationLocation(startPos); .) @@ -960,8 +960,8 @@ StructureMemberDecl attributes> compilationUnit.AddChild(fd); .) | /* 9.4 */ - (. m.Check(Modifier.Fields); .) - "Const" (. m.Add(Modifier.Const, t.Location); .) + (. m.Check(Modifiers.Fields); .) + "Const" (. m.Add(Modifiers.Const, t.Location); .) (. FieldDeclaration fd = new FieldDeclaration(attributes, type, m.Modifier); fd.StartLocation = m.GetDeclarationLocation(t.Location); @@ -981,7 +981,7 @@ StructureMemberDecl attributes> | /* 9.7 */ "Property" (. - m.Check(Modifier.VBProperties); + m.Check(Modifiers.VBProperties); Location startPos = t.Location; List implementsClause = null; .) @@ -1032,7 +1032,7 @@ StructureMemberDecl attributes> | "Custom" (. Location startPos = t.Location; .) "Event" (. - m.Check(Modifier.VBCustomEvents); + m.Check(Modifiers.VBCustomEvents); EventAddRemoveRegion eventAccessorDeclaration; EventAddRegion addHandlerAccessorDeclaration = null; EventRemoveRegion removeHandlerAccessorDeclaration = null; @@ -1090,7 +1090,7 @@ StructureMemberDecl attributes> | "Narrowing" (. opConversionType = ConversionType.Explicit;.) ] "Operator" (. - m.Check(Modifier.VBOperators); + m.Check(Modifiers.VBOperators); Location startPos = t.Location; TypeReference returnType = NullTypeReference.Instance; TypeReference operandType = NullTypeReference.Instance; @@ -1103,13 +1103,13 @@ StructureMemberDecl attributes> OverloadableOperator "(" [ "ByVal" ] Identifier (. operandName = t.val; .) [ "As" TypeName ] - (. parameters.Add(new ParameterDeclarationExpression(operandType, operandName, ParamModifier.In)); .) + (. parameters.Add(new ParameterDeclarationExpression(operandType, operandName, ParameterModifiers.In)); .) { "," [ "ByVal" ] Identifier (. operandName = t.val; .) [ "As" TypeName ] - (. parameters.Add(new ParameterDeclarationExpression(operandType, operandName, ParamModifier.In)); .) + (. parameters.Add(new ParameterDeclarationExpression(operandType, operandName, ParameterModifiers.In)); .) } ")" (. Location endPos = t.EndLocation; .) @@ -1255,7 +1255,7 @@ AccessorDecls /* 9.7.1 */ GetAccessorDecl attributes> - (. Statement stmt = null; Modifier m; .) + (. Statement stmt = null; Modifiers m; .) = PropertyAccessorAccessModifier "Get" @@ -1274,7 +1274,7 @@ SetAccessorDecl attribute (. Statement stmt = null; List p = new List(); - Modifier m; + Modifiers m; .) = PropertyAccessorAccessModifier @@ -1338,12 +1338,14 @@ VariableDeclaratorPartAfterIdentifier fieldDeclaration | [ "As" TypeName (. - for (int i = fieldDeclaration.Count - 1; i >= 0; i--) { - VariableDeclaration vd = fieldDeclaration[i]; - if (vd.TypeReference.Type.Length > 0) break; - TypeReference newType = type.Clone(); - newType.RankSpecifier = vd.TypeReference.RankSpecifier; - vd.TypeReference = newType; + if (type != null) { + for (int i = fieldDeclaration.Count - 1; i >= 0; i--) { + VariableDeclaration vd = fieldDeclaration[i]; + if (vd.TypeReference.Type.Length > 0) break; + TypeReference newType = type.Clone(); + newType.RankSpecifier = vd.TypeReference.RankSpecifier; + vd.TypeReference = newType; + } } .) ] @@ -2112,7 +2114,7 @@ FormalParameterList parameter> FormalParameter (. TypeReference type = null; - ParamModifiers mod = new ParamModifiers(this); + ParamModifierList mod = new ParamModifierList(this); Expression expr = null; p = null;ArrayList arrayModifiers = null; .) = @@ -2187,18 +2189,18 @@ Statement /* 10.2 */ LocalDeclarationStatement (. - Modifiers m = new Modifiers(); + ModifierList m = new ModifierList(); LocalVariableDeclaration localVariableDeclaration; bool dimfound = false; .) = /* this differs from the spec: dim static x compiles with vbc. */ { - "Const" (. m.Add(Modifier.Const, t.Location); .) - | "Static" (. m.Add(Modifier.Static, t.Location); .) + "Const" (. m.Add(Modifiers.Const, t.Location); .) + | "Static" (. m.Add(Modifiers.Static, t.Location); .) | "Dim" (. dimfound = true; .) } (. - if(dimfound && (m.Modifier & Modifier.Const) != 0) { + if(dimfound && (m.Modifier & Modifiers.Const) != 0) { Error("Dim is not allowed on constants."); } @@ -2468,7 +2470,7 @@ EmbeddedStatement | "Using" (. Statement block; .) ( IF (Peek(1).kind == Tokens.As) - (. LocalVariableDeclaration resourceAquisition = new LocalVariableDeclaration(Modifier.None); .) + (. LocalVariableDeclaration resourceAquisition = new LocalVariableDeclaration(Modifiers.None); .) VariableDeclarator { "," VariableDeclarator @@ -2766,53 +2768,53 @@ PrimitiveTypeName | "SByte" (. type = "SByte"; .) . -ParameterModifier - = "ByVal" (. m.Add(ParamModifier.In); .) - | "ByRef" (. m.Add(ParamModifier.Ref); .) - | "Optional" (. m.Add(ParamModifier.Optional); .) - | "ParamArray" (. m.Add(ParamModifier.Params); .) +ParameterModifier + = "ByVal" (. m.Add(ParameterModifiers.In); .) + | "ByRef" (. m.Add(ParameterModifiers.Ref); .) + | "Optional" (. m.Add(ParameterModifiers.Optional); .) + | "ParamArray" (. m.Add(ParameterModifiers.Params); .) . -TypeModifier -= "Public" (. m.Add(Modifier.Public, t.Location); .) - | "Protected" (. m.Add(Modifier.Protected, t.Location); .) - | "Friend" (. m.Add(Modifier.Internal, t.Location); .) - | "Private" (. m.Add(Modifier.Private, t.Location); .) - | "Shared" (. m.Add(Modifier.Static, t.Location); .) - | "Shadows" (. m.Add(Modifier.New, t.Location); .) - | "MustInherit" (. m.Add(Modifier.Abstract, t.Location); .) - | "NotInheritable" (. m.Add(Modifier.Sealed, t.Location); .) - | "Partial" (. m.Add(Modifier.Partial, t.Location); .) +TypeModifier += "Public" (. m.Add(Modifiers.Public, t.Location); .) + | "Protected" (. m.Add(Modifiers.Protected, t.Location); .) + | "Friend" (. m.Add(Modifiers.Internal, t.Location); .) + | "Private" (. m.Add(Modifiers.Private, t.Location); .) + | "Shared" (. m.Add(Modifiers.Static, t.Location); .) + | "Shadows" (. m.Add(Modifiers.New, t.Location); .) + | "MustInherit" (. m.Add(Modifiers.Abstract, t.Location); .) + | "NotInheritable" (. m.Add(Modifiers.Sealed, t.Location); .) + | "Partial" (. m.Add(Modifiers.Partial, t.Location); .) . -MemberModifier = - "MustInherit" (.m.Add(Modifier.Abstract, t.Location);.) - | "Default" (.m.Add(Modifier.Default, t.Location);.) - | "Friend" (.m.Add(Modifier.Internal, t.Location);.) - | "Shadows" (.m.Add(Modifier.New, t.Location);.) - | "Overrides" (.m.Add(Modifier.Override, t.Location);.) - | "MustOverride" (.m.Add(Modifier.Abstract, t.Location);.) - | "Private" (.m.Add(Modifier.Private, t.Location);.) - | "Protected" (.m.Add(Modifier.Protected, t.Location);.) - | "Public" (.m.Add(Modifier.Public, t.Location);.) - | "NotInheritable" (.m.Add(Modifier.Sealed, t.Location);.) - | "NotOverridable" (.m.Add(Modifier.Sealed, t.Location);.) - | "Shared" (.m.Add(Modifier.Static, t.Location);.) - | "Overridable" (.m.Add(Modifier.Virtual, t.Location);.) - | "Overloads" (.m.Add(Modifier.Overloads, t.Location);.) - | "ReadOnly" (.m.Add(Modifier.ReadOnly, t.Location);.) - | "WriteOnly" (.m.Add(Modifier.WriteOnly, t.Location);.) - | "WithEvents" (.m.Add(Modifier.WithEvents, t.Location);.) - | "Dim" (.m.Add(Modifier.Dim, t.Location);.) +MemberModifier = + "MustInherit" (.m.Add(Modifiers.Abstract, t.Location);.) + | "Default" (.m.Add(Modifiers.Default, t.Location);.) + | "Friend" (.m.Add(Modifiers.Internal, t.Location);.) + | "Shadows" (.m.Add(Modifiers.New, t.Location);.) + | "Overrides" (.m.Add(Modifiers.Override, t.Location);.) + | "MustOverride" (.m.Add(Modifiers.Abstract, t.Location);.) + | "Private" (.m.Add(Modifiers.Private, t.Location);.) + | "Protected" (.m.Add(Modifiers.Protected, t.Location);.) + | "Public" (.m.Add(Modifiers.Public, t.Location);.) + | "NotInheritable" (.m.Add(Modifiers.Sealed, t.Location);.) + | "NotOverridable" (.m.Add(Modifiers.Sealed, t.Location);.) + | "Shared" (.m.Add(Modifiers.Static, t.Location);.) + | "Overridable" (.m.Add(Modifiers.Virtual, t.Location);.) + | "Overloads" (.m.Add(Modifiers.Overloads, t.Location);.) + | "ReadOnly" (.m.Add(Modifiers.ReadOnly, t.Location);.) + | "WriteOnly" (.m.Add(Modifiers.WriteOnly, t.Location);.) + | "WithEvents" (.m.Add(Modifiers.WithEvents, t.Location);.) + | "Dim" (.m.Add(Modifiers.Dim, t.Location);.) . -PropertyAccessorAccessModifier = - (. m = Modifier.None; .) +PropertyAccessorAccessModifier = + (. m = Modifiers.None; .) {( - "Public" (. m |= Modifier.Public; .) - | "Protected" (. m |= Modifier.Protected; .) - | "Friend" (. m |= Modifier.Internal; .) - | "Private" (. m |= Modifier.Private; .) + "Public" (. m |= Modifiers.Public; .) + | "Protected" (. m |= Modifiers.Protected; .) + | "Friend" (. m |= Modifiers.Internal; .) + | "Private" (. m |= Modifiers.Private; .) )} . diff --git a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/VBNetParser.cs b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/VBNetParser.cs index c15c636a38..84184f8e82 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/VBNet/VBNetParser.cs +++ b/src/Libraries/NRefactory/Project/Src/Parser/VBNet/VBNetParser.cs @@ -51,7 +51,7 @@ namespace ICSharpCode.NRefactory.Parser.VB public void Error(string s) { - if (errDist >= minErrDist) { + if (errDist >= MinErrDist) { errors.Error(la.line, la.col, s); } errDist = 0; @@ -177,9 +177,9 @@ namespace ICSharpCode.NRefactory.Parser.VB return la.kind == Tokens.Colon && Peek(1).kind == Tokens.EOL; } - static bool IsMustOverride(Modifiers m) + static bool IsMustOverride(ModifierList m) { - return m.Contains(Modifier.Abstract); + return m.Contains(Modifiers.Abstract); } TypeReferenceExpression GetTypeReferenceExpression(Expression expr, List genericTypes) diff --git a/src/Libraries/NRefactory/Project/Src/ParserFactory.cs b/src/Libraries/NRefactory/Project/Src/ParserFactory.cs index bd72cf32d8..ddd7ef63d7 100644 --- a/src/Libraries/NRefactory/Project/Src/ParserFactory.cs +++ b/src/Libraries/NRefactory/Project/Src/ParserFactory.cs @@ -18,9 +18,9 @@ namespace ICSharpCode.NRefactory } ///

- /// Description of IParser. + /// Static helper class that constructs lexer and parser objects. /// - public class ParserFactory + public static class ParserFactory { public static Parser.ILexer CreateLexer(SupportedLanguage language, TextReader textReader) { diff --git a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs index d0829f5758..01e6e7e43b 100644 --- a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs @@ -181,11 +181,11 @@ namespace ICSharpCode.NRefactory.PrettyPrinter } } - public object VisitInnerClassTypeReference(InnerClassTypeReference typeReference, object data) + public object VisitInnerClassTypeReference(InnerClassTypeReference innerClassTypeReference, object data) { - nodeTracker.TrackedVisit(typeReference.BaseType, data); + nodeTracker.TrackedVisit(innerClassTypeReference.BaseType, data); outputFormatter.PrintToken(Tokens.Dot); - return VisitTypeReference((TypeReference)typeReference, data); + return VisitTypeReference((TypeReference)innerClassTypeReference, data); } #region Global scope @@ -216,7 +216,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter if (this.prettyPrintOptions.SpacesWithinBrackets) { outputFormatter.Space(); } - if (attributeSection.AttributeTarget != null && attributeSection.AttributeTarget != String.Empty) { + if (!string.IsNullOrEmpty(attributeSection.AttributeTarget)) { outputFormatter.PrintText(attributeSection.AttributeTarget); outputFormatter.PrintToken(Tokens.Colon); outputFormatter.Space(); @@ -267,19 +267,19 @@ namespace ICSharpCode.NRefactory.PrettyPrinter return null; } - public object VisitUsing(Using u, object data) + public object VisitUsing(Using @using, object data) { outputFormatter.Indent(); outputFormatter.PrintToken(Tokens.Using); outputFormatter.Space(); - outputFormatter.PrintIdentifier(u.Name); + outputFormatter.PrintIdentifier(@using.Name); - if (u.IsAlias) { + if (@using.IsAlias) { outputFormatter.Space(); outputFormatter.PrintToken(Tokens.Assign); outputFormatter.Space(); - nodeTracker.TrackedVisit(u.Alias, data); + nodeTracker.TrackedVisit(@using.Alias, data); } outputFormatter.PrintToken(Tokens.Semicolon); @@ -302,7 +302,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter outputFormatter.Space(); outputFormatter.PrintIdentifier(namespaceDeclaration.Name); - outputFormatter.BeginBrace(this.prettyPrintOptions.NameSpaceBraceStyle); + outputFormatter.BeginBrace(this.prettyPrintOptions.NamespaceBraceStyle); nodeTracker.TrackedVisitChildren(namespaceDeclaration, data); @@ -502,7 +502,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter { VisitAttributes(propertyDeclaration.Attributes, data); outputFormatter.Indent(); - propertyDeclaration.Modifier &= ~Modifier.ReadOnly; + propertyDeclaration.Modifier &= ~Modifiers.ReadOnly; OutputModifier(propertyDeclaration.Modifier); nodeTracker.TrackedVisit(propertyDeclaration.TypeReference, data); outputFormatter.Space(); @@ -2181,7 +2181,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter outputFormatter.PrintToken(Tokens.OpenParenthesis); nodeTracker.TrackedVisit(castExpression.CastTo, data); outputFormatter.PrintToken(Tokens.CloseParenthesis); - if (this.prettyPrintOptions.SpacesAfterTypeCast) { + if (this.prettyPrintOptions.SpacesAfterTypecast) { outputFormatter.Space(); } nodeTracker.TrackedVisit(castExpression.Expression, data); @@ -2339,25 +2339,25 @@ namespace ICSharpCode.NRefactory.PrettyPrinter #endregion #endregion - void OutputModifier(ParamModifier modifier) + void OutputModifier(ParameterModifiers modifier) { switch (modifier) { - case ParamModifier.None: - case ParamModifier.In: + case ParameterModifiers.None: + case ParameterModifiers.In: break; - case ParamModifier.Out: + case ParameterModifiers.Out: outputFormatter.PrintToken(Tokens.Out); outputFormatter.Space(); break; - case ParamModifier.Params: + case ParameterModifiers.Params: outputFormatter.PrintToken(Tokens.Params); outputFormatter.Space(); break; - case ParamModifier.Ref: + case ParameterModifiers.Ref: outputFormatter.PrintToken(Tokens.Ref); outputFormatter.Space(); break; - case ParamModifier.Optional: + case ParameterModifiers.Optional: errors.Error(-1, -1, String.Format("Optional parameters aren't supported in C#")); break; default: @@ -2366,57 +2366,57 @@ namespace ICSharpCode.NRefactory.PrettyPrinter } } - void OutputModifier(Modifier modifier) + void OutputModifier(Modifiers modifier) { ArrayList tokenList = new ArrayList(); - if ((modifier & Modifier.Unsafe) != 0) { + if ((modifier & Modifiers.Unsafe) != 0) { tokenList.Add(Tokens.Unsafe); } - if ((modifier & Modifier.Public) != 0) { + if ((modifier & Modifiers.Public) != 0) { tokenList.Add(Tokens.Public); } - if ((modifier & Modifier.Private) != 0) { + if ((modifier & Modifiers.Private) != 0) { tokenList.Add(Tokens.Private); } - if ((modifier & Modifier.Protected) != 0) { + if ((modifier & Modifiers.Protected) != 0) { tokenList.Add(Tokens.Protected); } - if ((modifier & Modifier.Static) != 0) { + if ((modifier & Modifiers.Static) != 0) { tokenList.Add(Tokens.Static); } - if ((modifier & Modifier.Internal) != 0) { + if ((modifier & Modifiers.Internal) != 0) { tokenList.Add(Tokens.Internal); } - if ((modifier & Modifier.Override) != 0) { + if ((modifier & Modifiers.Override) != 0) { tokenList.Add(Tokens.Override); } - if ((modifier & Modifier.Abstract) != 0) { + if ((modifier & Modifiers.Abstract) != 0) { tokenList.Add(Tokens.Abstract); } - if ((modifier & Modifier.Virtual) != 0) { + if ((modifier & Modifiers.Virtual) != 0) { tokenList.Add(Tokens.Virtual); } - if ((modifier & Modifier.New) != 0) { + if ((modifier & Modifiers.New) != 0) { tokenList.Add(Tokens.New); } - if ((modifier & Modifier.Sealed) != 0) { + if ((modifier & Modifiers.Sealed) != 0) { tokenList.Add(Tokens.Sealed); } - if ((modifier & Modifier.Extern) != 0) { + if ((modifier & Modifiers.Extern) != 0) { tokenList.Add(Tokens.Extern); } - if ((modifier & Modifier.Const) != 0) { + if ((modifier & Modifiers.Const) != 0) { tokenList.Add(Tokens.Const); } - if ((modifier & Modifier.ReadOnly) != 0) { + if ((modifier & Modifiers.ReadOnly) != 0) { tokenList.Add(Tokens.Readonly); } - if ((modifier & Modifier.Volatile) != 0) { + if ((modifier & Modifiers.Volatile) != 0) { tokenList.Add(Tokens.Volatile); } outputFormatter.PrintTokenList(tokenList); - if ((modifier & Modifier.Partial) != 0) { + if ((modifier & Modifiers.Partial) != 0) { outputFormatter.PrintText("partial "); } } diff --git a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/PrettyPrintOptions.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/PrettyPrintOptions.cs index 8339cd6ac6..aee630022c 100644 --- a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/PrettyPrintOptions.cs +++ b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/PrettyPrintOptions.cs @@ -27,7 +27,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter public class PrettyPrintOptions : AbstractPrettyPrintOptions { #region BraceStyle - BraceStyle nameSpaceBraceStyle = BraceStyle.NextLine; + BraceStyle namespaceBraceStyle = BraceStyle.NextLine; BraceStyle classBraceStyle = BraceStyle.NextLine; BraceStyle interfaceBraceStyle = BraceStyle.NextLine; BraceStyle structBraceStyle = BraceStyle.NextLine; @@ -55,12 +55,12 @@ namespace ICSharpCode.NRefactory.PrettyPrinter } } - public BraceStyle NameSpaceBraceStyle { + public BraceStyle NamespaceBraceStyle { get { - return nameSpaceBraceStyle; + return namespaceBraceStyle; } set { - nameSpaceBraceStyle = value; + namespaceBraceStyle = value; } } @@ -468,7 +468,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter bool spacesAfterComma = true; bool spacesBeforeComma = false; bool spacesAfterSemicolon = true; - bool spacesAfterTypeCast = false; + bool spacesAfterTypecast = false; public bool SpacesAfterComma { get { @@ -486,12 +486,12 @@ namespace ICSharpCode.NRefactory.PrettyPrinter spacesAfterSemicolon = value; } } - public bool SpacesAfterTypeCast { + public bool SpacesAfterTypecast { get { - return spacesAfterTypeCast; + return spacesAfterTypecast; } set { - spacesAfterTypeCast = value; + spacesAfterTypecast = value; } } public bool SpacesBeforeComma { diff --git a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputFormatter.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputFormatter.cs index 8e20a55dc6..0fa0e9457e 100644 --- a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputFormatter.cs +++ b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputFormatter.cs @@ -42,17 +42,17 @@ namespace ICSharpCode.NRefactory.PrettyPrinter } } - public override void PrintComment(Comment comment, bool forceWriteInPreviousLine) + public override void PrintComment(Comment comment, bool forceWriteInPreviousBlock) { switch (comment.CommentType) { case CommentType.Block: - WriteLineInPreviousLine("'" + comment.CommentText.Replace("\n", "\n'"), forceWriteInPreviousLine); + WriteLineInPreviousLine("'" + comment.CommentText.Replace("\n", "\n'"), forceWriteInPreviousBlock); break; case CommentType.Documentation: - WriteLineInPreviousLine("'''" + comment.CommentText, forceWriteInPreviousLine); + WriteLineInPreviousLine("'''" + comment.CommentText, forceWriteInPreviousBlock); break; default: - WriteLineInPreviousLine("'" + comment.CommentText, forceWriteInPreviousLine); + WriteLineInPreviousLine("'" + comment.CommentText, forceWriteInPreviousBlock); break; } } diff --git a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs index ac31b64c31..00ccb0dd90 100644 --- a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs @@ -223,7 +223,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter return null; } - public object VisitUsing(Using u, object data) + public object VisitUsing(Using @using, object data) { Debug.Fail("Should never be called. The usings should be handled in Visit(UsingDeclaration)"); return null; @@ -479,10 +479,10 @@ namespace ICSharpCode.NRefactory.PrettyPrinter VisitAttributes(fieldDeclaration.Attributes, data); outputFormatter.Indent(); - if (fieldDeclaration.Modifier == Modifier.None) { + if (fieldDeclaration.Modifier == Modifiers.None) { outputFormatter.PrintToken(Tokens.Private); outputFormatter.Space(); - } else if (fieldDeclaration.Modifier == Modifier.Dim) { + } else if (fieldDeclaration.Modifier == Modifiers.Dim) { outputFormatter.PrintToken(Tokens.Dim); outputFormatter.Space(); } else { @@ -535,7 +535,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter outputFormatter.Indent(); OutputModifier(propertyDeclaration.Modifier); - if ((propertyDeclaration.Modifier & (Modifier.ReadOnly | Modifier.WriteOnly)) == Modifier.None) { + if ((propertyDeclaration.Modifier & (Modifiers.ReadOnly | Modifiers.WriteOnly)) == Modifiers.None) { if (propertyDeclaration.IsReadOnly) { outputFormatter.PrintToken(Tokens.ReadOnly); outputFormatter.Space(); @@ -851,7 +851,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter bool IsAbstract(AttributedNode node) { - if ((node.Modifier & Modifier.Abstract) == Modifier.Abstract) + if ((node.Modifier & Modifiers.Abstract) == Modifiers.Abstract) return true; return currentType != null && currentType.Type == ClassType.Interface; } @@ -1315,11 +1315,11 @@ namespace ICSharpCode.NRefactory.PrettyPrinter public object VisitLocalVariableDeclaration(LocalVariableDeclaration localVariableDeclaration, object data) { - if (localVariableDeclaration.Modifier != Modifier.None) { + if (localVariableDeclaration.Modifier != Modifiers.None) { OutputModifier(localVariableDeclaration.Modifier); } if (!isUsingResourceAcquisition) { - if ((localVariableDeclaration.Modifier & Modifier.Const) == 0) { + if ((localVariableDeclaration.Modifier & Modifiers.Const) == 0) { outputFormatter.PrintToken(Tokens.Dim); } outputFormatter.Space(); @@ -2531,24 +2531,24 @@ namespace ICSharpCode.NRefactory.PrettyPrinter #endregion - void OutputModifier(ParamModifier modifier) + void OutputModifier(ParameterModifiers modifier) { switch (modifier) { - case ParamModifier.None: - case ParamModifier.In: + case ParameterModifiers.None: + case ParameterModifiers.In: outputFormatter.PrintToken(Tokens.ByVal); break; - case ParamModifier.Out: + case ParameterModifiers.Out: errors.Error(-1, -1, String.Format("Out parameter converted to ByRef")); outputFormatter.PrintToken(Tokens.ByRef); break; - case ParamModifier.Params: + case ParameterModifiers.Params: outputFormatter.PrintToken(Tokens.ParamArray); break; - case ParamModifier.Ref: + case ParameterModifiers.Ref: outputFormatter.PrintToken(Tokens.ByRef); break; - case ParamModifier.Optional: + case ParameterModifiers.Optional: outputFormatter.PrintToken(Tokens.Optional); break; default: @@ -2558,88 +2558,88 @@ namespace ICSharpCode.NRefactory.PrettyPrinter outputFormatter.Space(); } - void OutputModifier(Modifier modifier) + void OutputModifier(Modifiers modifier) { OutputModifier(modifier, false); } - void OutputModifier(Modifier modifier, bool forTypeDecl) + void OutputModifier(Modifiers modifier, bool forTypeDecl) { - if ((modifier & Modifier.Public) == Modifier.Public) { + if ((modifier & Modifiers.Public) == Modifiers.Public) { outputFormatter.PrintToken(Tokens.Public); outputFormatter.Space(); - } else if ((modifier & Modifier.Private) == Modifier.Private) { + } else if ((modifier & Modifiers.Private) == Modifiers.Private) { outputFormatter.PrintToken(Tokens.Private); outputFormatter.Space(); - } else if ((modifier & (Modifier.Protected | Modifier.Internal)) == (Modifier.Protected | Modifier.Internal)) { + } else if ((modifier & (Modifiers.Protected | Modifiers.Internal)) == (Modifiers.Protected | Modifiers.Internal)) { outputFormatter.PrintToken(Tokens.Protected); outputFormatter.Space(); outputFormatter.PrintToken(Tokens.Friend); outputFormatter.Space(); - } else if ((modifier & Modifier.Internal) == Modifier.Internal) { + } else if ((modifier & Modifiers.Internal) == Modifiers.Internal) { outputFormatter.PrintToken(Tokens.Friend); outputFormatter.Space(); - } else if ((modifier & Modifier.Protected) == Modifier.Protected) { + } else if ((modifier & Modifiers.Protected) == Modifiers.Protected) { outputFormatter.PrintToken(Tokens.Protected); outputFormatter.Space(); } - if ((modifier & Modifier.Static) == Modifier.Static) { + if ((modifier & Modifiers.Static) == Modifiers.Static) { outputFormatter.PrintToken(Tokens.Shared); outputFormatter.Space(); } - if ((modifier & Modifier.Virtual) == Modifier.Virtual) { + if ((modifier & Modifiers.Virtual) == Modifiers.Virtual) { outputFormatter.PrintToken(Tokens.Overridable); outputFormatter.Space(); } - if ((modifier & Modifier.Abstract) == Modifier.Abstract) { + if ((modifier & Modifiers.Abstract) == Modifiers.Abstract) { outputFormatter.PrintToken(forTypeDecl ? Tokens.MustInherit : Tokens.MustOverride); outputFormatter.Space(); } - if ((modifier & Modifier.Override) == Modifier.Override) { + if ((modifier & Modifiers.Override) == Modifiers.Override) { outputFormatter.PrintToken(Tokens.Overloads); outputFormatter.Space(); outputFormatter.PrintToken(Tokens.Overrides); outputFormatter.Space(); } - if ((modifier & Modifier.New) == Modifier.New) { + if ((modifier & Modifiers.New) == Modifiers.New) { outputFormatter.PrintToken(Tokens.Shadows); outputFormatter.Space(); } - if ((modifier & Modifier.Sealed) == Modifier.Sealed) { + if ((modifier & Modifiers.Sealed) == Modifiers.Sealed) { outputFormatter.PrintToken(forTypeDecl ? Tokens.NotInheritable : Tokens.NotOverridable); outputFormatter.Space(); } - if ((modifier & Modifier.ReadOnly) == Modifier.ReadOnly) { + if ((modifier & Modifiers.ReadOnly) == Modifiers.ReadOnly) { outputFormatter.PrintToken(Tokens.ReadOnly); outputFormatter.Space(); } - if ((modifier & Modifier.WriteOnly) == Modifier.WriteOnly) { + if ((modifier & Modifiers.WriteOnly) == Modifiers.WriteOnly) { outputFormatter.PrintToken(Tokens.WriteOnly); outputFormatter.Space(); } - if ((modifier & Modifier.Const) == Modifier.Const) { + if ((modifier & Modifiers.Const) == Modifiers.Const) { outputFormatter.PrintToken(Tokens.Const); outputFormatter.Space(); } - if ((modifier & Modifier.Partial) == Modifier.Partial) { + if ((modifier & Modifiers.Partial) == Modifiers.Partial) { outputFormatter.PrintToken(Tokens.Partial); outputFormatter.Space(); } - if ((modifier & Modifier.Extern) == Modifier.Extern) { + if ((modifier & Modifiers.Extern) == Modifiers.Extern) { // not required in VB } // TODO : Volatile - if ((modifier & Modifier.Volatile) == Modifier.Volatile) { + if ((modifier & Modifiers.Volatile) == Modifiers.Volatile) { errors.Error(-1, -1, String.Format("'Volatile' modifier not convertable")); } // TODO : Unsafe - if ((modifier & Modifier.Unsafe) == Modifier.Unsafe) { + if ((modifier & Modifiers.Unsafe) == Modifiers.Unsafe) { errors.Error(-1, -1, String.Format("'Unsafe' modifier not convertable")); } } diff --git a/src/Libraries/NRefactory/Project/Src/Visitors/CodeDOMOutputVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/CodeDOMOutputVisitor.cs index b4509e340c..872cd2335c 100644 --- a/src/Libraries/NRefactory/Project/Src/Visitors/CodeDOMOutputVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/Visitors/CodeDOMOutputVisitor.cs @@ -73,34 +73,34 @@ namespace ICSharpCode.NRefactory.Visitors } // FIXME: map all modifiers correctly - static MemberAttributes ConvMemberAttributes(Modifier modifier) + static MemberAttributes ConvMemberAttributes(Modifiers modifier) { MemberAttributes attr = (MemberAttributes)0; - if ((modifier & Modifier.Abstract) != 0) + if ((modifier & Modifiers.Abstract) != 0) attr |= MemberAttributes.Abstract; - if ((modifier & Modifier.Const) != 0) + if ((modifier & Modifiers.Const) != 0) attr |= MemberAttributes.Const; - if ((modifier & Modifier.Sealed) != 0) + if ((modifier & Modifiers.Sealed) != 0) attr |= MemberAttributes.Final; - if ((modifier & Modifier.New) != 0) + if ((modifier & Modifiers.New) != 0) attr |= MemberAttributes.New; - if ((modifier & Modifier.Virtual) != 0) + if ((modifier & Modifiers.Virtual) != 0) attr |= MemberAttributes.Overloaded; - if ((modifier & Modifier.Override) != 0) + if ((modifier & Modifiers.Override) != 0) attr |= MemberAttributes.Override; - if ((modifier & Modifier.Static) != 0) + if ((modifier & Modifiers.Static) != 0) attr |= MemberAttributes.Static; - if ((modifier & Modifier.Private) != 0) + if ((modifier & Modifiers.Private) != 0) attr |= MemberAttributes.Private; - else if ((modifier & Modifier.Public) != 0) + else if ((modifier & Modifiers.Public) != 0) attr |= MemberAttributes.Public; - else if ((modifier & Modifier.Internal) != 0 && (modifier & Modifier.Protected) != 0) + else if ((modifier & Modifiers.Internal) != 0 && (modifier & Modifiers.Protected) != 0) attr |= MemberAttributes.FamilyOrAssembly; - else if ((modifier & Modifier.Internal) != 0) + else if ((modifier & Modifiers.Internal) != 0) attr |= MemberAttributes.Assembly; - else if ((modifier & Modifier.Protected) != 0) + else if ((modifier & Modifiers.Protected) != 0) attr |= MemberAttributes.Family; return attr; @@ -200,7 +200,7 @@ namespace ICSharpCode.NRefactory.Visitors for (int i = 0; i < fieldDeclaration.Fields.Count; ++i) { VariableDeclaration field = (VariableDeclaration)fieldDeclaration.Fields[i]; - if ((fieldDeclaration.Modifier & Modifier.WithEvents) != 0) { + if ((fieldDeclaration.Modifier & Modifiers.WithEvents) != 0) { //this.withEventsFields.Add(field); } TypeReference fieldType = fieldDeclaration.GetTypeForField(i); diff --git a/src/Libraries/NRefactory/Project/Src/Visitors/LookupTableVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/LookupTableVisitor.cs index 98bd0023f8..12333eb2a8 100644 --- a/src/Libraries/NRefactory/Project/Src/Visitors/LookupTableVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/Visitors/LookupTableVisitor.cs @@ -54,6 +54,7 @@ namespace ICSharpCode.NRefactory.Visitors { Dictionary> variables; + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")] public Dictionary> Variables { get { return variables; @@ -112,7 +113,7 @@ namespace ICSharpCode.NRefactory.Visitors varDecl.Name, localVariableDeclaration.StartLocation, (blockStack.Count == 0) ? new Location(-1, -1) : blockStack.Peek().EndLocation, - (localVariableDeclaration.Modifier & Modifier.Const) == Modifier.Const); + (localVariableDeclaration.Modifier & Modifiers.Const) == Modifiers.Const); } return base.VisitLocalVariableDeclaration(localVariableDeclaration, data); } diff --git a/src/Libraries/NRefactory/Project/Src/Visitors/ToCSharpConvertVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/ToCSharpConvertVisitor.cs index 7922787f20..627075b351 100644 --- a/src/Libraries/NRefactory/Project/Src/Visitors/ToCSharpConvertVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/Visitors/ToCSharpConvertVisitor.cs @@ -48,7 +48,7 @@ namespace ICSharpCode.NRefactory.Visitors public override object VisitLocalVariableDeclaration(LocalVariableDeclaration localVariableDeclaration, object data) { base.VisitLocalVariableDeclaration(localVariableDeclaration, data); - if ((localVariableDeclaration.Modifier & Modifier.Static) == Modifier.Static) { + if ((localVariableDeclaration.Modifier & Modifiers.Static) == Modifiers.Static) { INode parent = localVariableDeclaration.Parent; while (parent != null && !IsTypeLevel(parent)) { parent = parent.Parent; @@ -60,7 +60,7 @@ namespace ICSharpCode.NRefactory.Visitors if (pos >= 0) { FieldDeclaration field = new FieldDeclaration(null); field.TypeReference = localVariableDeclaration.TypeReference; - field.Modifier = Modifier.Static; + field.Modifier = Modifiers.Static; field.Fields = localVariableDeclaration.Variables; new PrefixFieldsVisitor(field.Fields, "static_" + GetTypeLevelEntityName(parent) + "_").Run(parent); type.Children.Insert(pos + 1, field); diff --git a/src/Libraries/NRefactory/Project/Src/Visitors/ToVBNetConvertVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/ToVBNetConvertVisitor.cs index 48de97e342..109db4080e 100644 --- a/src/Libraries/NRefactory/Project/Src/Visitors/ToVBNetConvertVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/Visitors/ToVBNetConvertVisitor.cs @@ -144,7 +144,7 @@ namespace ICSharpCode.NRefactory.Visitors public override object VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression, object data) { - MethodDeclaration method = new MethodDeclaration(GetAnonymousMethodName(), Modifier.Private, new TypeReference("System.Void"), anonymousMethodExpression.Parameters, null); + MethodDeclaration method = new MethodDeclaration(GetAnonymousMethodName(), Modifiers.Private, new TypeReference("System.Void"), anonymousMethodExpression.Parameters, null); method.Body = anonymousMethodExpression.Body; currentType.Children.Add(method); ReplaceCurrentNode(new AddressOfExpression(new IdentifierExpression(method.Name))); @@ -173,12 +173,12 @@ namespace ICSharpCode.NRefactory.Visitors public override object VisitMethodDeclaration(MethodDeclaration methodDeclaration, object data) { - if ((methodDeclaration.Modifier & Modifier.Visibility) == 0) - methodDeclaration.Modifier |= Modifier.Private; + if ((methodDeclaration.Modifier & Modifiers.Visibility) == 0) + methodDeclaration.Modifier |= Modifiers.Private; base.VisitMethodDeclaration(methodDeclaration, data); - const Modifier externStatic = Modifier.Static | Modifier.Extern; + const Modifiers externStatic = Modifiers.Static | Modifiers.Extern; if ((methodDeclaration.Modifier & externStatic) == externStatic && methodDeclaration.Body.IsNull) { @@ -261,7 +261,7 @@ namespace ICSharpCode.NRefactory.Visitors } if (setLastError && exactSpelling) { // Only P/Invokes with SetLastError and ExactSpelling can be converted to a DeclareDeclaration - const Modifier removeModifiers = Modifier.Static | Modifier.Extern; + const Modifiers removeModifiers = Modifiers.Static | Modifiers.Extern; DeclareDeclaration decl = new DeclareDeclaration(method.Name, method.Modifier &~ removeModifiers, method.TypeReference, method.Parameters, @@ -277,16 +277,16 @@ namespace ICSharpCode.NRefactory.Visitors public override object VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration, object data) { - if ((propertyDeclaration.Modifier & Modifier.Visibility) == 0) - propertyDeclaration.Modifier |= Modifier.Private; + if ((propertyDeclaration.Modifier & Modifiers.Visibility) == 0) + propertyDeclaration.Modifier |= Modifiers.Private; return base.VisitPropertyDeclaration(propertyDeclaration, data); } public override object VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration, object data) { // make constructor private if visiblity is not set (unless constructor is static) - if ((constructorDeclaration.Modifier & (Modifier.Visibility | Modifier.Static)) == 0) - constructorDeclaration.Modifier |= Modifier.Private; + if ((constructorDeclaration.Modifier & (Modifiers.Visibility | Modifiers.Static)) == 0) + constructorDeclaration.Modifier |= Modifiers.Private; return base.VisitConstructorDeclaration(constructorDeclaration, data); } } diff --git a/src/Libraries/NRefactory/Project/Src/Visitors/VBNetConstructsConvertVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/VBNetConstructsConvertVisitor.cs index 67f7710150..3d6b919ec7 100644 --- a/src/Libraries/NRefactory/Project/Src/Visitors/VBNetConstructsConvertVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/Visitors/VBNetConstructsConvertVisitor.cs @@ -65,8 +65,8 @@ namespace ICSharpCode.NRefactory.Visitors public override object VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration, object data) { // make constructor public if visiblity is not set (unless constructor is static) - if ((constructorDeclaration.Modifier & (Modifier.Visibility | Modifier.Static)) == 0) - constructorDeclaration.Modifier = Modifier.Public; + if ((constructorDeclaration.Modifier & (Modifiers.Visibility | Modifiers.Static)) == 0) + constructorDeclaration.Modifier = Modifiers.Public; // MyBase.New() and MyClass.New() calls inside the constructor are converted to :base() and :this() BlockStatement body = constructorDeclaration.Body; @@ -105,7 +105,7 @@ namespace ICSharpCode.NRefactory.Visitors MethodDeclaration method = new MethodDeclaration(declareDeclaration.Name, declareDeclaration.Modifier, declareDeclaration.TypeReference, declareDeclaration.Parameters, declareDeclaration.Attributes); - method.Modifier |= Modifier.Extern | Modifier.Static; + method.Modifier |= Modifiers.Extern | Modifiers.Static; Attribute att = new Attribute("DllImport", null, null); att.PositionalArguments.Add(CreateStringLiteral(declareDeclaration.Library)); if (declareDeclaration.Alias.Length > 0) { @@ -144,12 +144,12 @@ namespace ICSharpCode.NRefactory.Visitors public override object VisitMethodDeclaration(MethodDeclaration methodDeclaration, object data) { - if ((methodDeclaration.Modifier & Modifier.Visibility) == 0) - methodDeclaration.Modifier |= Modifier.Public; + if ((methodDeclaration.Modifier & Modifiers.Visibility) == 0) + methodDeclaration.Modifier |= Modifiers.Public; if ("Finalize".Equals(methodDeclaration.Name, StringComparison.InvariantCultureIgnoreCase) && methodDeclaration.Parameters.Count == 0 - && methodDeclaration.Modifier == (Modifier.Protected | Modifier.Override) + && methodDeclaration.Modifier == (Modifiers.Protected | Modifiers.Override) && methodDeclaration.Body.Children.Count == 1) { TryCatchStatement tcs = methodDeclaration.Body.Children[0] as TryCatchStatement; @@ -168,7 +168,7 @@ namespace ICSharpCode.NRefactory.Visitors && (ie.TargetObject as FieldReferenceExpression).TargetObject is BaseReferenceExpression && "Finalize".Equals((ie.TargetObject as FieldReferenceExpression).FieldName, StringComparison.InvariantCultureIgnoreCase)) { - DestructorDeclaration des = new DestructorDeclaration("Destructor", Modifier.None, methodDeclaration.Attributes); + DestructorDeclaration des = new DestructorDeclaration("Destructor", Modifiers.None, methodDeclaration.Attributes); ReplaceCurrentNode(des); des.Body = (BlockStatement)tcs.StatementBlock; return base.VisitDestructorDeclaration(des, data); @@ -177,13 +177,13 @@ namespace ICSharpCode.NRefactory.Visitors } } - if ((methodDeclaration.Modifier & (Modifier.Static | Modifier.Extern)) == Modifier.Static + if ((methodDeclaration.Modifier & (Modifiers.Static | Modifiers.Extern)) == Modifiers.Static && methodDeclaration.Body.Children.Count == 0) { foreach (AttributeSection sec in methodDeclaration.Attributes) { foreach (Attribute att in sec.Attributes) { if ("DllImport".Equals(att.Name, StringComparison.InvariantCultureIgnoreCase)) { - methodDeclaration.Modifier |= Modifier.Extern; + methodDeclaration.Modifier |= Modifiers.Extern; methodDeclaration.Body = null; } } @@ -268,14 +268,14 @@ namespace ICSharpCode.NRefactory.Visitors public override object VisitFieldDeclaration(FieldDeclaration fieldDeclaration, object data) { - fieldDeclaration.Modifier &= ~Modifier.Dim; // remove "Dim" flag + fieldDeclaration.Modifier &= ~Modifiers.Dim; // remove "Dim" flag return base.VisitFieldDeclaration(fieldDeclaration, data); } public override object VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration, object data) { - if ((propertyDeclaration.Modifier & Modifier.Visibility) == 0) - propertyDeclaration.Modifier = Modifier.Public; + if ((propertyDeclaration.Modifier & Modifiers.Visibility) == 0) + propertyDeclaration.Modifier = Modifiers.Public; if (propertyDeclaration.HasSetRegion) { string from = "Value"; @@ -312,6 +312,7 @@ namespace ICSharpCode.NRefactory.Visitors static volatile Dictionary constantTable; static volatile Dictionary methodTable; + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1802:UseLiteralsWhereAppropriate")] public static readonly string VBAssemblyName = "Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; static Dictionary CreateDictionary(params string[] classNames) diff --git a/src/Libraries/NRefactory/Test/Parser/GlobalScope/TypeDeclarationTests.cs b/src/Libraries/NRefactory/Test/Parser/GlobalScope/TypeDeclarationTests.cs index 445f9f0416..59c8e6e776 100644 --- a/src/Libraries/NRefactory/Test/Parser/GlobalScope/TypeDeclarationTests.cs +++ b/src/Libraries/NRefactory/Test/Parser/GlobalScope/TypeDeclarationTests.cs @@ -23,7 +23,7 @@ namespace ICSharpCode.NRefactory.Tests.Ast Assert.AreEqual(ClassType.Class, td.Type); Assert.AreEqual("MyClass", td.Name); Assert.AreEqual("My.Base.Class", td.BaseTypes[0].Type); - Assert.AreEqual(Modifier.None, td.Modifier); + Assert.AreEqual(Modifiers.None, td.Modifier); } [Test] @@ -45,7 +45,7 @@ namespace ICSharpCode.NRefactory.Tests.Ast Assert.IsNotNull(td); Assert.AreEqual(ClassType.Class, td.Type); Assert.AreEqual("MyClass", td.Name); - Assert.AreEqual(Modifier.Partial, td.Modifier); + Assert.AreEqual(Modifiers.Partial, td.Modifier); } [Test] @@ -55,10 +55,10 @@ namespace ICSharpCode.NRefactory.Tests.Ast Assert.IsNotNull(td); Assert.AreEqual(ClassType.Class, td.Type); Assert.AreEqual("MyClass", td.Name); - Assert.AreEqual(Modifier.Partial, ((TypeDeclaration)td.Children[0]).Modifier); - Assert.AreEqual(Modifier.Partial | Modifier.Public, ((TypeDeclaration)td.Children[1]).Modifier); - Assert.AreEqual(Modifier.Static, ((TypeDeclaration)td.Children[2]).Modifier); - Assert.AreEqual(Modifier.Static | Modifier.Internal, ((TypeDeclaration)td.Children[3]).Modifier); + Assert.AreEqual(Modifiers.Partial, ((TypeDeclaration)td.Children[0]).Modifier); + Assert.AreEqual(Modifiers.Partial | Modifiers.Public, ((TypeDeclaration)td.Children[1]).Modifier); + Assert.AreEqual(Modifiers.Static, ((TypeDeclaration)td.Children[2]).Modifier); + Assert.AreEqual(Modifiers.Static | Modifiers.Internal, ((TypeDeclaration)td.Children[3]).Modifier); } [Test] @@ -68,7 +68,7 @@ namespace ICSharpCode.NRefactory.Tests.Ast Assert.IsNotNull(td); Assert.AreEqual(ClassType.Class, td.Type); Assert.AreEqual("MyClass", td.Name); - Assert.AreEqual(Modifier.Static, td.Modifier); + Assert.AreEqual(Modifiers.Static, td.Modifier); } [Test] @@ -78,7 +78,7 @@ namespace ICSharpCode.NRefactory.Tests.Ast Assert.AreEqual(ClassType.Class, td.Type); Assert.AreEqual("G", td.Name); - Assert.AreEqual(Modifier.Public, td.Modifier); + Assert.AreEqual(Modifiers.Public, td.Modifier); Assert.AreEqual(0, td.BaseTypes.Count); Assert.AreEqual(1, td.Templates.Count); Assert.AreEqual("T", td.Templates[0].Name); @@ -115,7 +115,7 @@ public class Generic : System.IComparable where S : G where T : MyNa Assert.AreEqual(ClassType.Class, td.Type); Assert.AreEqual("Generic", td.Name); - Assert.AreEqual(Modifier.Public, td.Modifier); + Assert.AreEqual(Modifiers.Public, td.Modifier); Assert.AreEqual(1, td.BaseTypes.Count); Assert.AreEqual("System.IComparable", td.BaseTypes[0].Type); @@ -144,7 +144,7 @@ public abstract class MyClass : MyBase, Interface1, My.Test.Interface2 Assert.AreEqual(ClassType.Class, td.Type); Assert.AreEqual("MyClass", td.Name); - Assert.AreEqual(Modifier.Public | Modifier.Abstract, td.Modifier); + Assert.AreEqual(Modifiers.Public | Modifiers.Abstract, td.Modifier); Assert.AreEqual(1, td.Attributes.Count); Assert.AreEqual(3, td.BaseTypes.Count); Assert.AreEqual("MyBase", td.BaseTypes[0].Type); @@ -244,7 +244,7 @@ public abstract class MyClass : MyBase, Interface1, My.Test.Interface2 Assert.AreEqual("TestClass", td.Name); Assert.AreEqual(ClassType.Class, td.Type); - Assert.AreEqual(Modifier.Partial, td.Modifier); + Assert.AreEqual(Modifiers.Partial, td.Modifier); } [Test] @@ -255,7 +255,7 @@ public abstract class MyClass : MyBase, Interface1, My.Test.Interface2 Assert.AreEqual("TestClass", td.Name); Assert.AreEqual(ClassType.Class, td.Type); - Assert.AreEqual(Modifier.Partial | Modifier.Public, td.Modifier); + Assert.AreEqual(Modifiers.Partial | Modifiers.Public, td.Modifier); } [Test] @@ -270,7 +270,7 @@ End Class Assert.AreEqual(ClassType.Class, td.Type); Assert.AreEqual("Test", td.Name); - Assert.AreEqual(Modifier.Public, td.Modifier); + Assert.AreEqual(Modifiers.Public, td.Modifier); Assert.AreEqual(0, td.BaseTypes.Count); Assert.AreEqual(1, td.Templates.Count); Assert.AreEqual("T", td.Templates[0].Name); @@ -307,7 +307,7 @@ End Class Assert.AreEqual(ClassType.Class, td.Type); Assert.AreEqual("Generic", td.Name); - Assert.AreEqual(Modifier.Public, td.Modifier); + Assert.AreEqual(Modifiers.Public, td.Modifier); Assert.AreEqual(1, td.BaseTypes.Count); Assert.AreEqual("System.IComparable", td.BaseTypes[0].Type); diff --git a/src/Libraries/NRefactory/Test/Parser/TypeLevel/ConstructorDeclarationTests.cs b/src/Libraries/NRefactory/Test/Parser/TypeLevel/ConstructorDeclarationTests.cs index d3474f2af3..c09073ceee 100644 --- a/src/Libraries/NRefactory/Test/Parser/TypeLevel/ConstructorDeclarationTests.cs +++ b/src/Libraries/NRefactory/Test/Parser/TypeLevel/ConstructorDeclarationTests.cs @@ -56,7 +56,7 @@ namespace ICSharpCode.NRefactory.Tests.Ast Assert.AreEqual(2, cd.Parameters.Count); Assert.AreEqual("Integer", cd.Parameters[0].TypeReference.Type); Assert.AreEqual("String", cd.Parameters[1].TypeReference.Type); - Assert.AreEqual(ParamModifier.Optional, cd.Parameters[1].ParamModifier & ParamModifier.Optional); + Assert.AreEqual(ParameterModifiers.Optional, cd.Parameters[1].ParamModifier & ParameterModifiers.Optional); } #endregion } diff --git a/src/Libraries/NRefactory/Test/Parser/TypeLevel/MethodDeclarationTests.cs b/src/Libraries/NRefactory/Test/Parser/TypeLevel/MethodDeclarationTests.cs index d3508094dc..b6e5ce9a7a 100644 --- a/src/Libraries/NRefactory/Test/Parser/TypeLevel/MethodDeclarationTests.cs +++ b/src/Libraries/NRefactory/Test/Parser/TypeLevel/MethodDeclarationTests.cs @@ -222,7 +222,7 @@ namespace ICSharpCode.NRefactory.Tests.Ast end sub"; MethodDeclaration md = ParseUtilVBNet.ParseTypeMember(program); - Assert.AreEqual(Modifier.Public | Modifier.Static, md.Modifier); + Assert.AreEqual(Modifiers.Public | Modifiers.Static, md.Modifier); Assert.AreEqual(2, md.StartLocation.Y, "StartLocation.Y"); Assert.AreEqual(2, md.EndLocation.Y, "EndLocation.Y"); Assert.AreEqual(2, md.StartLocation.X, "StartLocation.X"); diff --git a/src/Main/Base/Project/Src/Dom/ModifierEnum.cs b/src/Main/Base/Project/Src/Dom/ModifierEnum.cs index 4cc938f4e2..0f78e01560 100644 --- a/src/Main/Base/Project/Src/Dom/ModifierEnum.cs +++ b/src/Main/Base/Project/Src/Dom/ModifierEnum.cs @@ -6,7 +6,7 @@ // using System; -using M = ICSharpCode.NRefactory.Ast.Modifier; +using M = ICSharpCode.NRefactory.Ast.Modifiers; namespace ICSharpCode.SharpDevelop.Dom { diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs index 5b86b4bcc7..e3751ddc12 100644 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs +++ b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs @@ -42,7 +42,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver return currentClass.Count == 0 ? null : currentClass.Peek(); } - ModifierEnum ConvertModifier(AST.Modifier m) + ModifierEnum ConvertModifier(AST.Modifiers m) { if (currentClass.Count > 0 && currentClass.Peek().ClassType == ClassType.Interface) return ConvertModifier(m, ModifierEnum.Public); @@ -50,7 +50,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver return ConvertModifier(m, ModifierEnum.Private); } - ModifierEnum ConvertModifier(AST.Modifier m, ModifierEnum defaultModifier) + ModifierEnum ConvertModifier(AST.Modifiers m, ModifierEnum defaultModifier) { ModifierEnum r = (ModifierEnum)m; if (r == ModifierEnum.None) diff --git a/src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs b/src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs index 9c90339a7e..ffbb6c7d3e 100644 --- a/src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs +++ b/src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs @@ -14,6 +14,7 @@ using ICSharpCode.NRefactory.Ast; using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.TextEditor; using ICSharpCode.TextEditor.Document; +using NR = ICSharpCode.NRefactory.Ast; namespace ICSharpCode.SharpDevelop.Refactoring { @@ -80,14 +81,14 @@ namespace ICSharpCode.SharpDevelop.Refactoring return typeInTargetContext != null && typeInTargetContext.FullyQualifiedName == returnType.FullyQualifiedName; } - public static Modifier ConvertModifier(ModifierEnum m) + public static Modifiers ConvertModifier(ModifierEnum m) { - return (Modifier)m; + return (Modifiers)m; } - public static ParamModifier ConvertModifier(ParameterModifiers m) + public static NR.ParameterModifiers ConvertModifier(Dom.ParameterModifiers m) { - return (ParamModifier)m; + return (NR.ParameterModifiers)m; } public static UsingDeclaration ConvertUsing(IUsing u) @@ -334,7 +335,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring property.SetRegion = new PropertySetRegion(block, null); } - property.Modifier = Modifier.Public | (property.Modifier & Modifier.Static); + property.Modifier = Modifiers.Public | (property.Modifier & Modifiers.Static); return property; } #endregion @@ -431,7 +432,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring { ClassFinder context = new ClassFinder(targetClass, targetClass.Region.BeginLine + 1, 0); TypeReference interfaceReference = ConvertType(interf, context); - Modifier modifier = ConvertModifier(implModifier); + Modifiers modifier = ConvertModifier(implModifier); List targetClassEvents = targetClass.DefaultReturnType.GetEvents(); foreach (IEvent e in interf.GetEvents()) { if (targetClassEvents.Find(delegate(IEvent te) { return e.Name == te.Name; }) == null) { @@ -482,8 +483,8 @@ namespace ICSharpCode.SharpDevelop.Refactoring public virtual AttributedNode GetOverridingMethod(IMember baseMember, ClassFinder targetContext) { AttributedNode node = ConvertMember(baseMember, targetContext); - node.Modifier &= ~(Modifier.Virtual | Modifier.Abstract); - node.Modifier |= Modifier.Override; + node.Modifier &= ~(Modifiers.Virtual | Modifiers.Abstract); + node.Modifier |= Modifiers.Override; MethodDeclaration method = node as MethodDeclaration; if (method != null) { @@ -520,9 +521,9 @@ namespace ICSharpCode.SharpDevelop.Refactoring InvocationExpression ie = new InvocationExpression(methodName, null); foreach (ParameterDeclarationExpression param in method.Parameters) { Expression expr = new IdentifierExpression(param.ParameterName); - if (param.ParamModifier == ParamModifier.Ref) { + if (param.ParamModifier == NR.ParameterModifiers.Ref) { expr = new DirectionExpression(FieldDirection.Ref, expr); - } else if (param.ParamModifier == ParamModifier.Out) { + } else if (param.ParamModifier == NR.ParameterModifiers.Out) { expr = new DirectionExpression(FieldDirection.Out, expr); } ie.Arguments.Add(expr); diff --git a/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/AbstractClassImplementorCodeGenerator.cs b/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/AbstractClassImplementorCodeGenerator.cs index 89ecc13076..c59db869b0 100644 --- a/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/AbstractClassImplementorCodeGenerator.cs +++ b/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/AbstractClassImplementorCodeGenerator.cs @@ -35,16 +35,16 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands foreach (IProperty property in currentClass.DefaultReturnType.GetProperties()) { if (property.IsAbstract) { AttributedNode node = CodeGenerator.ConvertMember(property, classFinderContext); - node.Modifier &= ~(Modifier.Abstract | Modifier.Virtual); - node.Modifier |= Modifier.Override; + node.Modifier &= ~(Modifiers.Abstract | Modifiers.Virtual); + node.Modifier |= Modifiers.Override; nodes.Add(node); } } foreach (IMethod method in currentClass.DefaultReturnType.GetMethods()) { if (method.IsAbstract) { AttributedNode node = CodeGenerator.ConvertMember(method, classFinderContext); - node.Modifier &= ~(Modifier.Abstract | Modifier.Virtual); - node.Modifier |= Modifier.Override; + node.Modifier &= ~(Modifiers.Abstract | Modifiers.Virtual); + node.Modifier |= Modifiers.Override; nodes.Add(node); } } diff --git a/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/ConstructorCodeGenerator.cs b/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/ConstructorCodeGenerator.cs index c70edeaef5..e8b68f19a8 100644 --- a/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/ConstructorCodeGenerator.cs +++ b/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/ConstructorCodeGenerator.cs @@ -36,7 +36,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands public override void GenerateCode(List nodes, IList items) { - ConstructorDeclaration ctor = new ConstructorDeclaration(currentClass.Name, Modifier.Public, null, null); + ConstructorDeclaration ctor = new ConstructorDeclaration(currentClass.Name, Modifiers.Public, null, null); ctor.Body = new BlockStatement(); foreach (FieldWrapper w in items) { string parameterName = codeGen.GetParameterName(w.Field.Name); diff --git a/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/EqualsCodeGenerator.cs b/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/EqualsCodeGenerator.cs index 73f8c244ee..64dfb74a25 100644 --- a/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/EqualsCodeGenerator.cs +++ b/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/EqualsCodeGenerator.cs @@ -26,7 +26,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands public override void GenerateCode(List nodes, IList items) { TypeReference intReference = new TypeReference("System.Int32"); - MethodDeclaration method = new MethodDeclaration("GetHashCode", Modifier.Public | Modifier.Override, intReference, null, null); + MethodDeclaration method = new MethodDeclaration("GetHashCode", Modifiers.Public | Modifiers.Override, intReference, null, null); Expression expr = CallGetHashCode(new IdentifierExpression(currentClass.Fields[0].Name)); for (int i = 1; i < currentClass.Fields.Count; i++) { IdentifierExpression identifier = new IdentifierExpression(currentClass.Fields[i].Name); @@ -40,7 +40,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands TypeReference boolReference = new TypeReference("System.Boolean"); TypeReference objectReference = new TypeReference("System.Object"); - method = new MethodDeclaration("Equals", Modifier.Public | Modifier.Override, boolReference, null, null); + method = new MethodDeclaration("Equals", Modifiers.Public | Modifiers.Override, boolReference, null, null); method.Parameters.Add(new ParameterDeclarationExpression(objectReference, "obj")); method.Body = new BlockStatement(); diff --git a/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/ToStringCodeGenerator.cs b/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/ToStringCodeGenerator.cs index 232c6c52fb..7ad1246485 100644 --- a/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/ToStringCodeGenerator.cs +++ b/src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/ToStringCodeGenerator.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands { TypeReference stringReference = new TypeReference("System.String"); MethodDeclaration method = new MethodDeclaration("ToString", - Modifier.Public | Modifier.Override, + Modifiers.Public | Modifiers.Override, stringReference, null, null); method.Body = new BlockStatement();