private bool IsPossibleFunctionDeclaration()
{
var resetPoint = GetResetPoint();
try
{
ParseAttributes();
var modifiers = new List<SyntaxToken>();
ParseDeclarationModifiers(modifiers);
var st = ScanType();
if (st == ScanTypeFlags.NotType)
return false;
if (Current.Kind != SyntaxKind.IdentifierToken)
return false;
NextToken();
while (Current.Kind == SyntaxKind.ColonColonToken)
{
NextToken();
if (Current.Kind != SyntaxKind.IdentifierToken)
return false;
NextToken();
}
if (Current.Kind == SyntaxKind.OpenParenToken) // Indicates a function, not variable declaration.
return true;
return false;
}
finally
{
Reset(ref resetPoint);
}
}