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 18 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
Explicit, Explicit,
Strict, Strict,
CompareBinary, CompareBinary,
CompareText CompareText,
Infer
} }
/// <summary> /// <summary>
@ -370,6 +371,8 @@ namespace ICSharpCode.NRefactory.Ast
/// </summary> /// </summary>
public enum QueryExpressionOrderingDirection 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; .) =
"Compare" ( "Binary" (. node = new OptionDeclaration(OptionType.CompareBinary, val); .) "Compare" ( "Binary" (. node = new OptionDeclaration(OptionType.CompareBinary, val); .)
| "Text" (. node = new OptionDeclaration(OptionType.CompareText, val); .) | "Text" (. node = new OptionDeclaration(OptionType.CompareText, val); .)
) )
|
"Infer" [ OptionValue<ref val> ]
(. node = new OptionDeclaration(OptionType.Infer, val); .)
) )
EndOfStmt EndOfStmt
(. (.
@ -2962,7 +2965,6 @@ IdentifierForFieldDeclaration =
| "Text" | "Text"
| "Binary" | "Binary"
| "Compare" | "Compare"
/*| "Custom" Custom is not valid for field declaration */
| "Assembly" | "Assembly"
| "Ansi" | "Ansi"
| "Auto" | "Auto"
@ -2971,6 +2973,7 @@ IdentifierForFieldDeclaration =
| "Until" | "Until"
| "Off" | "Off"
| "Explicit" | "Explicit"
| "Infer"
. .
/* 2.2 */ /* 2.2 */

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

@ -51,6 +51,33 @@ namespace ICSharpCode.NRefactory.Tests.Ast
Assert.AreEqual(OptionType.CompareText, opDec.OptionType); Assert.AreEqual(OptionType.CompareText, opDec.OptionType);
Assert.IsTrue(opDec.OptionValue); 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] [Test]
public void VBNetInvalidOptionDeclarationTest() public void VBNetInvalidOptionDeclarationTest()

Loading…
Cancel
Save