Browse Source

- reintroduced Identifier-Blocks

- having problems with member variable declarations

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/vbnet@6133 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Siegfried Pammer 16 years ago
parent
commit
20cbf34bd8
  1. 1416
      src/Libraries/NRefactory/Project/Src/Lexer/VBNet/ExpressionFinder.atg
  2. 4
      src/Libraries/NRefactory/Project/Src/Lexer/VBNet/ExpressionFinder.cs
  3. 1230
      src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Parser.cs
  4. 1
      src/Libraries/NRefactory/Project/Src/Lexer/VBNet/PushParser.frame
  5. 36
      src/Libraries/NRefactory/Test/Lexer/VBNet/LexerContextTests.cs
  6. 11
      src/Main/Base/Test/VBExpressionFinderTests.cs
  7. 4
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/VBNet/VBNetExpressionFinder.cs

1416
src/Libraries/NRefactory/Project/Src/Lexer/VBNet/ExpressionFinder.atg

File diff suppressed because it is too large Load Diff

4
src/Libraries/NRefactory/Project/Src/Lexer/VBNet/ExpressionFinder.cs

@ -129,6 +129,10 @@ namespace ICSharpCode.NRefactory.Parser.VB @@ -129,6 +129,10 @@ namespace ICSharpCode.NRefactory.Parser.VB
get { return wasQualifierTokenAtStart; }
}
public bool IsMissingModifier {
get { return isMissingModifier; }
}
public List<Token> Errors {
get { return errors; }
}

1230
src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Parser.cs

File diff suppressed because it is too large Load Diff

1
src/Libraries/NRefactory/Project/Src/Lexer/VBNet/PushParser.frame

@ -39,6 +39,7 @@ partial class ExpressionFinder { @@ -39,6 +39,7 @@ partial class ExpressionFinder {
bool readXmlIdentifier = false;
bool identifierExpected = false;
bool nextTokenIsStartOfImportsOrAccessExpression = false;
bool isMissingModifier = false;
List<Token> errors = new List<Token>();
public ExpressionFinder()

36
src/Libraries/NRefactory/Test/Lexer/VBNet/LexerContextTests.cs

@ -39,9 +39,9 @@ exit Global @@ -39,9 +39,9 @@ exit Global
End Class
",
@"enter Global
enter Identifier
exit Identifier
enter TypeDeclaration
enter Identifier
exit Identifier
enter Member
enter Identifier
exit Identifier
@ -77,9 +77,9 @@ exit Global @@ -77,9 +77,9 @@ exit Global
End Class
",
@"enter Global
enter Identifier
exit Identifier
enter TypeDeclaration
enter Identifier
exit Identifier
enter Member
enter Identifier
exit Identifier
@ -130,9 +130,9 @@ End Class @@ -130,9 +130,9 @@ End Class
@"enter Global
enter Attribute
exit Attribute
enter Identifier
exit Identifier
enter TypeDeclaration
enter Identifier
exit Identifier
enter Member
enter Identifier
exit Identifier
@ -167,9 +167,9 @@ End Class @@ -167,9 +167,9 @@ End Class
@"enter Global
enter Attribute
exit Attribute
enter Identifier
exit Identifier
enter TypeDeclaration
enter Identifier
exit Identifier
enter Member
enter Identifier
exit Identifier
@ -202,9 +202,9 @@ exit Global @@ -202,9 +202,9 @@ exit Global
End Class
",
@"enter Global
enter Identifier
exit Identifier
enter TypeDeclaration
enter Identifier
exit Identifier
enter Member
enter Attribute
exit Attribute
@ -240,9 +240,9 @@ exit Global @@ -240,9 +240,9 @@ exit Global
End Class
",
@"enter Global
enter Identifier
exit Identifier
enter TypeDeclaration
enter Identifier
exit Identifier
enter Member
enter Identifier
exit Identifier
@ -286,9 +286,9 @@ exit Global @@ -286,9 +286,9 @@ exit Global
End Class
",
@"enter Global
enter Identifier
exit Identifier
enter TypeDeclaration
enter Identifier
exit Identifier
enter Member
enter Identifier
exit Identifier
@ -354,9 +354,9 @@ exit Global @@ -354,9 +354,9 @@ exit Global
End Sub
End Class",
@"enter Global
enter Identifier
exit Identifier
enter TypeDeclaration
enter Identifier
exit Identifier
enter Member
enter Identifier
exit Identifier
@ -430,9 +430,9 @@ End Module", @@ -430,9 +430,9 @@ End Module",
exit Importable
enter Importable
exit Importable
enter Identifier
exit Identifier
enter TypeDeclaration
enter Identifier
exit Identifier
enter Member
enter Identifier
exit Identifier

11
src/Main/Base/Test/VBExpressionFinderTests.cs

@ -153,6 +153,17 @@ End Module", "(", 1, "", ExpressionContext.Parameter); @@ -153,6 +153,17 @@ End Module", "(", 1, "", ExpressionContext.Parameter);
{
ContextTest(program4, "Dim ", "Dim".Length, ExpressionContext.MethodBody);
}
[Test, Ignore]
public void ContextInModule()
{
ContextTest(@"Module Test
End Module", @"Module Test
", @"Module Test
".Length, ExpressionContext.TypeDeclaration);
}
#endregion
#region FindFull

4
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/VBNet/VBNetExpressionFinder.cs

@ -70,7 +70,7 @@ namespace ICSharpCode.SharpDevelop.Dom.VBNet @@ -70,7 +70,7 @@ namespace ICSharpCode.SharpDevelop.Dom.VBNet
var block = p.CurrentBlock;
ExpressionContext context = p.IsIdentifierExpected ? ExpressionContext.IdentifierExpected : GetContext(block);
ExpressionContext context = p.IsIdentifierExpected && !p.IsMissingModifier ? ExpressionContext.IdentifierExpected : GetContext(block);
if (t.Location < targetPosition) {
p.InformToken(t);
@ -81,6 +81,8 @@ namespace ICSharpCode.SharpDevelop.Dom.VBNet @@ -81,6 +81,8 @@ namespace ICSharpCode.SharpDevelop.Dom.VBNet
try {
expectedSet = p.GetExpectedSet();
if (p.IsMissingModifier)
expectedSet.Set(Tokens.Identifier, false);
} catch (InvalidOperationException) {
expectedSet = null;
}

Loading…
Cancel
Save