Browse Source

VB.Net: "Option Infer" statement

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3381 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Markus Palme 17 years ago
parent
commit
5add8e0921
  1. 7
      src/Libraries/NRefactory/Project/Src/Ast/Enums.cs
  2. 2230
      src/Libraries/NRefactory/Project/Src/Parser/VBNet/Parser.cs
  3. 5
      src/Libraries/NRefactory/Project/Src/Parser/VBNet/VBNET.ATG
  4. 27
      src/Libraries/NRefactory/Test/Parser/GlobalScope/OptionDeclarationTests.cs

7
src/Libraries/NRefactory/Project/Src/Ast/Enums.cs

@ -362,7 +362,8 @@ namespace ICSharpCode.NRefactory.Ast @@ -362,7 +362,8 @@ namespace ICSharpCode.NRefactory.Ast
Explicit,
Strict,
CompareBinary,
CompareText
CompareText,
Infer
}
/// <summary>
@ -370,6 +371,8 @@ namespace ICSharpCode.NRefactory.Ast @@ -370,6 +371,8 @@ namespace ICSharpCode.NRefactory.Ast
/// </summary>
public enum QueryExpressionOrderingDirection
{
None, Ascending, Descending
None,
Ascending,
Descending
}
}

2230
src/Libraries/NRefactory/Project/Src/Parser/VBNet/Parser.cs

File diff suppressed because it is too large Load Diff

5
src/Libraries/NRefactory/Project/Src/Parser/VBNet/VBNET.ATG

@ -253,6 +253,9 @@ OptionStmt (. INode node = null; bool val = true; .) = @@ -253,6 +253,9 @@ OptionStmt (. INode node = null; bool val = true; .) =
"Compare" ( "Binary" (. node = new OptionDeclaration(OptionType.CompareBinary, val); .)
| "Text" (. node = new OptionDeclaration(OptionType.CompareText, val); .)
)
|
"Infer" [ OptionValue<ref val> ]
(. node = new OptionDeclaration(OptionType.Infer, val); .)
)
EndOfStmt
(.
@ -2962,7 +2965,6 @@ IdentifierForFieldDeclaration = @@ -2962,7 +2965,6 @@ IdentifierForFieldDeclaration =
| "Text"
| "Binary"
| "Compare"
/*| "Custom" Custom is not valid for field declaration */
| "Assembly"
| "Ansi"
| "Auto"
@ -2971,6 +2973,7 @@ IdentifierForFieldDeclaration = @@ -2971,6 +2973,7 @@ IdentifierForFieldDeclaration =
| "Until"
| "Off"
| "Explicit"
| "Infer"
.
/* 2.2 */

27
src/Libraries/NRefactory/Test/Parser/GlobalScope/OptionDeclarationTests.cs

@ -51,6 +51,33 @@ namespace ICSharpCode.NRefactory.Tests.Ast @@ -51,6 +51,33 @@ namespace ICSharpCode.NRefactory.Tests.Ast
Assert.AreEqual(OptionType.CompareText, opDec.OptionType);
Assert.IsTrue(opDec.OptionValue);
}
[Test]
public void VBNetInferOnOptionDeclarationTest()
{
string program = "Option Infer On\n";
OptionDeclaration opDec = ParseUtilVBNet.ParseGlobal<OptionDeclaration>(program);
Assert.AreEqual(OptionType.Infer, opDec.OptionType);
Assert.IsTrue(opDec.OptionValue);
}
[Test]
public void VBNetInferOffOptionDeclarationTest()
{
string program = "Option Infer\n";
OptionDeclaration opDec = ParseUtilVBNet.ParseGlobal<OptionDeclaration>(program);
Assert.AreEqual(OptionType.Infer, opDec.OptionType);
Assert.IsTrue(opDec.OptionValue);
}
[Test]
public void VBNetInferOptionDeclarationTest()
{
string program = "Option Infer\n";
OptionDeclaration opDec = ParseUtilVBNet.ParseGlobal<OptionDeclaration>(program);
Assert.AreEqual(OptionType.Infer, opDec.OptionType);
Assert.IsTrue(opDec.OptionValue);
}
[Test]
public void VBNetInvalidOptionDeclarationTest()

Loading…
Cancel
Save