private bool IsTerminator()
{
if (Current.Kind == SyntaxKind.EndOfFileToken)
return true;
for (int i = 1; i <= LastTerminatorState; i <<= 1)
{
TerminatorState isolated = _termState & (TerminatorState) i;
if (isolated != 0)
{
switch (isolated)
{
case TerminatorState.IsPossibleGlobalDeclarationStartOrStop:
if (this.IsPossibleGlobalDeclarationStartOrStop())
{
return true;
}
break;
//case TerminatorState.IsAttributeDeclarationTerminator:
// if (this.IsAttributeDeclarationTerminator())
// {
// return true;
// }
// break;
//case TerminatorState.IsPossibleMemberStartOrStop:
// if (this.IsPossibleMemberStartOrStop())
// {
// return true;
// }
// break;
//case TerminatorState.IsPossibleAggregateClauseStartOrStop:
// if (this.IsPossibleAggregateClauseStartOrStop())
// {
// return true;
// }
// break;
//case TerminatorState.IsEndOfReturnType:
// if (this.IsEndOfReturnType())
// {
// return true;
// }
// break;
//case TerminatorState.IsEndOfParameterList:
// if (this.IsEndOfParameterList())
// {
// return true;
// }
// break;
//case TerminatorState.IsEndOfFieldDeclaration:
// if (this.IsEndOfFieldDeclaration())
// {
// return true;
// }
// break;
//case TerminatorState.IsPossibleEndOfVariableDeclaration:
// if (this.IsPossibleEndOfVariableDeclaration())
// {
// return true;
// }
// break;
//case TerminatorState.IsEndOfTypeArgumentList:
// if (this.IsEndOfTypeArgumentList())
// {
// return true;
// }
// break;
case TerminatorState.IsPossibleStatementStartOrStop:
if (this.IsPossibleStatementStartOrStop())
return true;
break;
//case TerminatorState.IsEndOfDoWhileExpression:
// if (this.IsEndOfDoWhileExpression())
// {
// return true;
// }
// break;
//case TerminatorState.IsEndOfForStatementArgument:
// if (this.IsEndOfForStatementArgument())
// {
// return true;
// }
// break;
//case TerminatorState.IsEndOfDeclarationClause:
// if (this.IsEndOfDeclarationClause())
// {
// return true;
// }
// break;
//case TerminatorState.IsEndOfArgumentList:
// if (this.IsEndOfArgumentList())
// {
// return true;
// }
// break;
//case TerminatorState.IsSwitchSectionStart:
// if (this.IsPossibleSwitchSection())
// {
// return true;
// }
// break;
//case TerminatorState.IsEndOfTypeParameterList:
// if (this.IsEndOfTypeParameterList())
// {
// return true;
// }
// break;
//case TerminatorState.IsEndOfMethodSignature:
// if (this.IsEndOfMethodSignature())
// {
// return true;
// }
// break;
}
}
}
return false;
}