Exemplo n.º 1
0
        internal static void GetLocalNames(CommonForEachStatementSyntax commonForEach, ref List <SyntaxToken> result)
        {
            switch (commonForEach.Kind())
            {
            case SyntaxKind.ForEachStatement:
                GetLocalNames(((ForEachStatementSyntax)commonForEach).Identifier, ref result);
                return;

            case SyntaxKind.ForEachVariableStatement:
                var forEachVariable = (ForEachVariableStatementSyntax)commonForEach;
                GetLocalNames(forEachVariable.Variable, ref result);
                return;

            default: throw ExceptionUtilities.UnexpectedValue(commonForEach.Kind());
            }
        }
        public static bool IsTypeInferred(this CommonForEachStatementSyntax forEachStatement, SemanticModel semanticModel)
        {
            switch (forEachStatement.Kind())
            {
            case SyntaxKind.ForEachStatement:
                return(((ForEachStatementSyntax)forEachStatement).Type.IsTypeInferred(semanticModel));

            case SyntaxKind.ForEachComponentStatement:
                return((((ForEachComponentStatementSyntax)forEachStatement).VariableComponent as TypedVariableComponentSyntax)?.Type.IsTypeInferred(semanticModel) == true);

            default:
                return(false);
            }
        }