Esempio n. 1
0
        public static bool IsEquivalentKind(this SyntaxToken node, CS.SyntaxKind kind)
        {
            int rawKind = (int)kind;

            if (node.Language == LanguageNames.VisualBasic)
            {
                rawKind = (int)GetVBSyntaxKind(kind);
            }

            return(node.RawKind == rawKind);
        }
Esempio n. 2
0
        public static bool IsKind(this SyntaxNode node, CSSyntaxKind kind1, CSSyntaxKind kind2, CSSyntaxKind kind3, CSSyntaxKind kind4, CSSyntaxKind kind5)
        {
            if (node == null)
            {
                return(false);
            }

            var csharpKind = CSharpExtensions.Kind(node);

            return(csharpKind == kind1 || csharpKind == kind2 || csharpKind == kind3 || csharpKind == kind4 || csharpKind == kind5);
        }
Esempio n. 3
0
        public static SyntaxToken ConvertTypesTokenToKind(CS.SyntaxKind t, bool isXml = false)
        {
            switch (t)
            {
            case CS.SyntaxKind.None: return(global::VisualBasicSyntaxFactory.EmptyToken);

            case CS.SyntaxKind.BoolKeyword: return(global::VisualBasicSyntaxFactory.BooleanKeyword);

            case CS.SyntaxKind.ByteKeyword: return(global::VisualBasicSyntaxFactory.ByteKeyword);

            case CS.SyntaxKind.SByteKeyword: return(global::VisualBasicSyntaxFactory.SByteKeyword);

            case CS.SyntaxKind.ShortKeyword: return(global::VisualBasicSyntaxFactory.ShortKeyword);

            case CS.SyntaxKind.UShortKeyword: return(global::VisualBasicSyntaxFactory.UShortKeyword);

            case CS.SyntaxKind.IntKeyword: return(global::VisualBasicSyntaxFactory.IntegerKeyword);

            case CS.SyntaxKind.UIntKeyword: return(global::VisualBasicSyntaxFactory.UIntegerKeyword);

            case CS.SyntaxKind.LongKeyword: return(global::VisualBasicSyntaxFactory.LongKeyword);

            case CS.SyntaxKind.ULongKeyword: return(global::VisualBasicSyntaxFactory.ULongKeyword);

            case CS.SyntaxKind.DoubleKeyword: return(global::VisualBasicSyntaxFactory.DoubleKeyword);

            case CS.SyntaxKind.FloatKeyword: return(global::VisualBasicSyntaxFactory.SingleKeyword);

            case CS.SyntaxKind.DecimalKeyword: return(global::VisualBasicSyntaxFactory.DecimalKeyword);

            case CS.SyntaxKind.StringKeyword: return(global::VisualBasicSyntaxFactory.StringKeyword);

            case CS.SyntaxKind.CharKeyword: return(global::VisualBasicSyntaxFactory.CharKeyword);

            case CS.SyntaxKind.VoidKeyword:                             // not supported
                if (isXml)
                {
                    return(global::VisualBasicSyntaxFactory.NothingKeyword);
                }
                return(global::VisualBasicSyntaxFactory.EmptyToken);

            case CS.SyntaxKind.ObjectKeyword: return(global::VisualBasicSyntaxFactory.ObjectKeyword);
            }

            throw new NotSupportedException($"Type.Kind {t} is not supported!");
        }
Esempio n. 4
0
        public static VB.SyntaxKind GetVBSyntaxKind(this CS.SyntaxKind kind)
        {
            switch (kind)
            {
            case CS.SyntaxKind.SimpleMemberAccessExpression:
                return(VB.SyntaxKind.SimpleMemberAccessExpression);

            case CS.SyntaxKind.OverrideKeyword:
                return(VB.SyntaxKind.OverridesKeyword);

            case CS.SyntaxKind.NewKeyword:
                return(VB.SyntaxKind.NewKeyword);

            default:
                throw new ArgumentException($"Can't convert {kind} to VB Syntax Kind");
            }
        }
Esempio n. 5
0
 public static bool IsKind(this SyntaxToken token, Microsoft.CodeAnalysis.CSharp.SyntaxKind kind1, Microsoft.CodeAnalysis.CSharp.SyntaxKind kind2, Microsoft.CodeAnalysis.CSharp.SyntaxKind kind3)
 {
     return(Microsoft.CodeAnalysis.CSharp.CSharpExtensions.Kind(token) == kind1 ||
            Microsoft.CodeAnalysis.CSharp.CSharpExtensions.Kind(token) == kind2 ||
            Microsoft.CodeAnalysis.CSharp.CSharpExtensions.Kind(token) == kind3);
 }
        static SyntaxKind ConvertToken(CS.SyntaxKind t, TokenContext context = TokenContext.Global)
        {
            switch (t)
            {
            case CS.SyntaxKind.None:
                return(SyntaxKind.None);

            // built-in types
            case CS.SyntaxKind.BoolKeyword:
                return(SyntaxKind.BooleanKeyword);

            case CS.SyntaxKind.ByteKeyword:
                return(SyntaxKind.ByteKeyword);

            case CS.SyntaxKind.SByteKeyword:
                return(SyntaxKind.SByteKeyword);

            case CS.SyntaxKind.ShortKeyword:
                return(SyntaxKind.ShortKeyword);

            case CS.SyntaxKind.UShortKeyword:
                return(SyntaxKind.UShortKeyword);

            case CS.SyntaxKind.IntKeyword:
                return(SyntaxKind.IntegerKeyword);

            case CS.SyntaxKind.UIntKeyword:
                return(SyntaxKind.UIntegerKeyword);

            case CS.SyntaxKind.LongKeyword:
                return(SyntaxKind.LongKeyword);

            case CS.SyntaxKind.ULongKeyword:
                return(SyntaxKind.ULongKeyword);

            case CS.SyntaxKind.DoubleKeyword:
                return(SyntaxKind.DoubleKeyword);

            case CS.SyntaxKind.FloatKeyword:
                return(SyntaxKind.SingleKeyword);

            case CS.SyntaxKind.DecimalKeyword:
                return(SyntaxKind.DecimalKeyword);

            case CS.SyntaxKind.StringKeyword:
                return(SyntaxKind.StringKeyword);

            case CS.SyntaxKind.CharKeyword:
                return(SyntaxKind.CharKeyword);

            case CS.SyntaxKind.VoidKeyword:
                // not supported
                return(SyntaxKind.None);

            case CS.SyntaxKind.ObjectKeyword:
                return(SyntaxKind.ObjectKeyword);

            // literals
            case CS.SyntaxKind.NullKeyword:
                return(SyntaxKind.NothingKeyword);

            case CS.SyntaxKind.TrueKeyword:
                return(SyntaxKind.TrueKeyword);

            case CS.SyntaxKind.FalseKeyword:
                return(SyntaxKind.FalseKeyword);

            case CS.SyntaxKind.ThisKeyword:
                return(SyntaxKind.MeKeyword);

            case CS.SyntaxKind.BaseKeyword:
                return(SyntaxKind.MyBaseKeyword);

            // modifiers
            case CS.SyntaxKind.PublicKeyword:
                return(SyntaxKind.PublicKeyword);

            case CS.SyntaxKind.PrivateKeyword:
                return(SyntaxKind.PrivateKeyword);

            case CS.SyntaxKind.InternalKeyword:
                return(SyntaxKind.FriendKeyword);

            case CS.SyntaxKind.ProtectedKeyword:
                return(SyntaxKind.ProtectedKeyword);

            case CS.SyntaxKind.StaticKeyword:
                return(SyntaxKind.SharedKeyword);

            case CS.SyntaxKind.ReadOnlyKeyword:
                return(SyntaxKind.ReadOnlyKeyword);

            case CS.SyntaxKind.SealedKeyword:
                return(context == TokenContext.Global ? SyntaxKind.NotInheritableKeyword : SyntaxKind.NotOverridableKeyword);

            case CS.SyntaxKind.ConstKeyword:
                return(SyntaxKind.ConstKeyword);

            case CS.SyntaxKind.OverrideKeyword:
                return(SyntaxKind.OverridesKeyword);

            case CS.SyntaxKind.AbstractKeyword:
                return(context == TokenContext.Global ? SyntaxKind.MustInheritKeyword : SyntaxKind.MustOverrideKeyword);

            case CS.SyntaxKind.VirtualKeyword:
                return(SyntaxKind.OverridableKeyword);

            case CS.SyntaxKind.RefKeyword:
                return(SyntaxKind.ByRefKeyword);

            case CS.SyntaxKind.OutKeyword:
                return(SyntaxKind.ByRefKeyword);

            case CS.SyntaxKind.PartialKeyword:
                return(SyntaxKind.PartialKeyword);

            case CS.SyntaxKind.AsyncKeyword:
                return(SyntaxKind.AsyncKeyword);

            case CS.SyntaxKind.ExternKeyword:
                // not supported
                return(SyntaxKind.None);

            case CS.SyntaxKind.NewKeyword:
                return(SyntaxKind.ShadowsKeyword);

            case CS.SyntaxKind.ParamsKeyword:
                return(SyntaxKind.ParamArrayKeyword);

            // others
            case CS.SyntaxKind.AscendingKeyword:
                return(SyntaxKind.AscendingKeyword);

            case CS.SyntaxKind.DescendingKeyword:
                return(SyntaxKind.DescendingKeyword);

            case CS.SyntaxKind.AwaitKeyword:
                return(SyntaxKind.AwaitKeyword);

            // expressions
            case CS.SyntaxKind.AddExpression:
                return(SyntaxKind.AddExpression);

            case CS.SyntaxKind.SubtractExpression:
                return(SyntaxKind.SubtractExpression);

            case CS.SyntaxKind.MultiplyExpression:
                return(SyntaxKind.MultiplyExpression);

            case CS.SyntaxKind.DivideExpression:
                return(SyntaxKind.DivideExpression);

            case CS.SyntaxKind.ModuloExpression:
                return(SyntaxKind.ModuloExpression);

            case CS.SyntaxKind.LeftShiftExpression:
                return(SyntaxKind.LeftShiftExpression);

            case CS.SyntaxKind.RightShiftExpression:
                return(SyntaxKind.RightShiftExpression);

            case CS.SyntaxKind.LogicalOrExpression:
                return(SyntaxKind.OrElseExpression);

            case CS.SyntaxKind.LogicalAndExpression:
                return(SyntaxKind.AndAlsoExpression);

            case CS.SyntaxKind.BitwiseOrExpression:
                return(SyntaxKind.OrExpression);

            case CS.SyntaxKind.BitwiseAndExpression:
                return(SyntaxKind.AndExpression);

            case CS.SyntaxKind.ExclusiveOrExpression:
                return(SyntaxKind.ExclusiveOrExpression);

            case CS.SyntaxKind.EqualsExpression:
                return(SyntaxKind.EqualsExpression);

            case CS.SyntaxKind.NotEqualsExpression:
                return(SyntaxKind.NotEqualsExpression);

            case CS.SyntaxKind.LessThanExpression:
                return(SyntaxKind.LessThanExpression);

            case CS.SyntaxKind.LessThanOrEqualExpression:
                return(SyntaxKind.LessThanOrEqualExpression);

            case CS.SyntaxKind.GreaterThanExpression:
                return(SyntaxKind.GreaterThanExpression);

            case CS.SyntaxKind.GreaterThanOrEqualExpression:
                return(SyntaxKind.GreaterThanOrEqualExpression);

            case CS.SyntaxKind.SimpleAssignmentExpression:
                return(SyntaxKind.SimpleAssignmentStatement);

            case CS.SyntaxKind.AddAssignmentExpression:
                return(SyntaxKind.AddAssignmentStatement);

            case CS.SyntaxKind.SubtractAssignmentExpression:
                return(SyntaxKind.SubtractAssignmentStatement);

            case CS.SyntaxKind.MultiplyAssignmentExpression:
                return(SyntaxKind.MultiplyAssignmentStatement);

            case CS.SyntaxKind.DivideAssignmentExpression:
                return(SyntaxKind.DivideAssignmentStatement);

            case CS.SyntaxKind.ModuloAssignmentExpression:
                return(SyntaxKind.ModuloExpression);

            case CS.SyntaxKind.AndAssignmentExpression:
                return(SyntaxKind.AndExpression);

            case CS.SyntaxKind.ExclusiveOrAssignmentExpression:
                return(SyntaxKind.ExclusiveOrExpression);

            case CS.SyntaxKind.OrAssignmentExpression:
                return(SyntaxKind.OrExpression);

            case CS.SyntaxKind.LeftShiftAssignmentExpression:
                break;

            case CS.SyntaxKind.RightShiftAssignmentExpression:
                break;

            case CS.SyntaxKind.UnaryPlusExpression:
                return(SyntaxKind.UnaryPlusExpression);

            case CS.SyntaxKind.UnaryMinusExpression:
                return(SyntaxKind.UnaryMinusExpression);

            case CS.SyntaxKind.BitwiseNotExpression:
                return(SyntaxKind.NotExpression);

            case CS.SyntaxKind.LogicalNotExpression:
                return(SyntaxKind.NotExpression);

            case CS.SyntaxKind.PreIncrementExpression:
                return(SyntaxKind.AddAssignmentStatement);

            case CS.SyntaxKind.PreDecrementExpression:
                return(SyntaxKind.SubtractAssignmentStatement);

            case CS.SyntaxKind.PostIncrementExpression:
                return(SyntaxKind.AddAssignmentStatement);

            case CS.SyntaxKind.PostDecrementExpression:
                return(SyntaxKind.SubtractAssignmentStatement);

            case CS.SyntaxKind.PlusPlusToken:
                return(SyntaxKind.PlusToken);

            case CS.SyntaxKind.MinusMinusToken:
                return(SyntaxKind.MinusToken);
            }

            throw new NotSupportedException(t + " is not supported!");
        }
Esempio n. 7
0
 public KeywordPair(CS.SyntaxKind cs, VB.SyntaxKind vb, System.AttributeTargets target = AttributeTargets.All)
 {
     CS = cs;
     VB = vb;
     Targets = target;
 }
        static SyntaxKind ConvertToken(CS.SyntaxKind t, TokenContext context = TokenContext.Global)
        {
            switch (t)
            {
            case CS.SyntaxKind.None:
                return(SyntaxKind.None);

            // built-in types
            case CS.SyntaxKind.BoolKeyword:
                return(SyntaxKind.BooleanKeyword);

            case CS.SyntaxKind.ByteKeyword:
                return(SyntaxKind.ByteKeyword);

            case CS.SyntaxKind.SByteKeyword:
                return(SyntaxKind.SByteKeyword);

            case CS.SyntaxKind.ShortKeyword:
                return(SyntaxKind.ShortKeyword);

            case CS.SyntaxKind.UShortKeyword:
                return(SyntaxKind.UShortKeyword);

            case CS.SyntaxKind.IntKeyword:
                return(SyntaxKind.IntegerKeyword);

            case CS.SyntaxKind.UIntKeyword:
                return(SyntaxKind.UIntegerKeyword);

            case CS.SyntaxKind.LongKeyword:
                return(SyntaxKind.LongKeyword);

            case CS.SyntaxKind.ULongKeyword:
                return(SyntaxKind.ULongKeyword);

            case CS.SyntaxKind.DoubleKeyword:
                return(SyntaxKind.DoubleKeyword);

            case CS.SyntaxKind.FloatKeyword:
                return(SyntaxKind.SingleKeyword);

            case CS.SyntaxKind.DecimalKeyword:
                return(SyntaxKind.DecimalKeyword);

            case CS.SyntaxKind.StringKeyword:
                return(SyntaxKind.StringKeyword);

            case CS.SyntaxKind.CharKeyword:
                return(SyntaxKind.CharKeyword);

            case CS.SyntaxKind.VoidKeyword:
                // not supported
                break;

            case CS.SyntaxKind.ObjectKeyword:
                return(SyntaxKind.ObjectKeyword);

            // literals
            case CS.SyntaxKind.NullKeyword:
                return(SyntaxKind.NothingKeyword);

            case CS.SyntaxKind.TrueKeyword:
                return(SyntaxKind.TrueKeyword);

            case CS.SyntaxKind.FalseKeyword:
                return(SyntaxKind.FalseKeyword);

            case CS.SyntaxKind.ThisKeyword:
                return(SyntaxKind.MeKeyword);

            case CS.SyntaxKind.BaseKeyword:
                return(SyntaxKind.MyBaseKeyword);

            // modifiers
            case CS.SyntaxKind.PublicKeyword:
                return(SyntaxKind.PublicKeyword);

            case CS.SyntaxKind.PrivateKeyword:
                return(SyntaxKind.PrivateKeyword);

            case CS.SyntaxKind.InternalKeyword:
                return(SyntaxKind.FriendKeyword);

            case CS.SyntaxKind.ProtectedKeyword:
                return(SyntaxKind.ProtectedKeyword);

            case CS.SyntaxKind.StaticKeyword:
                return(SyntaxKind.SharedKeyword);

            case CS.SyntaxKind.ReadOnlyKeyword:
                break;

            case CS.SyntaxKind.SealedKeyword:
                if (context == TokenContext.Global)
                {
                    return(SyntaxKind.NotInheritableKeyword);
                }
                else if (context == TokenContext.Member)
                {
                    return(SyntaxKind.NotOverridableKeyword);
                }
                break;

            case CS.SyntaxKind.ConstKeyword:
                break;

            case CS.SyntaxKind.FixedKeyword:
                break;

            case CS.SyntaxKind.StackAllocKeyword:
                break;

            case CS.SyntaxKind.VolatileKeyword:
                break;

            case CS.SyntaxKind.NewKeyword:
                break;

            case CS.SyntaxKind.OverrideKeyword:
                break;

            case CS.SyntaxKind.AbstractKeyword:
                return(context == TokenContext.Global ? SyntaxKind.MustInheritKeyword : SyntaxKind.MustOverrideKeyword);

            case CS.SyntaxKind.VirtualKeyword:
                break;

            case CS.SyntaxKind.UnsafeKeyword:
                break;

            case CS.SyntaxKind.ExternKeyword:
                break;

            case CS.SyntaxKind.RefKeyword:
                return(SyntaxKind.ByRefKeyword);

            case CS.SyntaxKind.OutKeyword:
                return(SyntaxKind.ByRefKeyword);

            case CS.SyntaxKind.InKeyword:
                break;

            case CS.SyntaxKind.IsKeyword:
                break;

            case CS.SyntaxKind.AsKeyword:
                break;

            case CS.SyntaxKind.ParamsKeyword:
                break;

            case CS.SyntaxKind.ArgListKeyword:
                break;

            case CS.SyntaxKind.MakeRefKeyword:
                break;

            case CS.SyntaxKind.RefTypeKeyword:
                break;

            case CS.SyntaxKind.RefValueKeyword:
                break;

            case CS.SyntaxKind.OperatorKeyword:
                break;

            case CS.SyntaxKind.ExplicitKeyword:
                break;

            case CS.SyntaxKind.ImplicitKeyword:
                break;

            case CS.SyntaxKind.YieldKeyword:
                break;

            case CS.SyntaxKind.PartialKeyword:
                break;

            case CS.SyntaxKind.AliasKeyword:
                break;

            case CS.SyntaxKind.GlobalKeyword:
                break;

            case CS.SyntaxKind.AssemblyKeyword:
                break;

            case CS.SyntaxKind.ModuleKeyword:
                break;

            case CS.SyntaxKind.TypeKeyword:
                break;

            case CS.SyntaxKind.FieldKeyword:
                break;

            case CS.SyntaxKind.MethodKeyword:
                break;

            case CS.SyntaxKind.ParamKeyword:
                break;

            case CS.SyntaxKind.PropertyKeyword:
                break;

            case CS.SyntaxKind.TypeVarKeyword:
                break;

            case CS.SyntaxKind.GetKeyword:
                break;

            case CS.SyntaxKind.SetKeyword:
                break;

            case CS.SyntaxKind.AddKeyword:
                break;

            case CS.SyntaxKind.RemoveKeyword:
                break;

            case CS.SyntaxKind.WhereKeyword:
                break;

            case CS.SyntaxKind.FromKeyword:
                break;

            case CS.SyntaxKind.GroupKeyword:
                break;

            case CS.SyntaxKind.JoinKeyword:
                break;

            case CS.SyntaxKind.IntoKeyword:
                break;

            case CS.SyntaxKind.LetKeyword:
                break;

            case CS.SyntaxKind.ByKeyword:
                break;

            case CS.SyntaxKind.SelectKeyword:
                break;

            case CS.SyntaxKind.OrderByKeyword:
                break;

            case CS.SyntaxKind.OnKeyword:
                break;

            case CS.SyntaxKind.EqualsKeyword:
                break;

            case CS.SyntaxKind.AscendingKeyword:
                break;

            case CS.SyntaxKind.DescendingKeyword:
                break;

            case CS.SyntaxKind.NameOfKeyword:
                break;

            case CS.SyntaxKind.AsyncKeyword:
                break;

            case CS.SyntaxKind.AwaitKeyword:
                break;

            case CS.SyntaxKind.WhenKeyword:
                break;

            case CS.SyntaxKind.ElifKeyword:
                break;

            case CS.SyntaxKind.EndIfKeyword:
                break;

            case CS.SyntaxKind.RegionKeyword:
                break;

            case CS.SyntaxKind.EndRegionKeyword:
                break;

            case CS.SyntaxKind.DefineKeyword:
                break;

            case CS.SyntaxKind.UndefKeyword:
                break;

            case CS.SyntaxKind.WarningKeyword:
                break;

            case CS.SyntaxKind.ErrorKeyword:
                break;

            case CS.SyntaxKind.LineKeyword:
                break;

            case CS.SyntaxKind.PragmaKeyword:
                break;

            case CS.SyntaxKind.HiddenKeyword:
                break;

            case CS.SyntaxKind.ChecksumKeyword:
                break;

            case CS.SyntaxKind.DisableKeyword:
                break;

            case CS.SyntaxKind.RestoreKeyword:
                break;

            case CS.SyntaxKind.ReferenceKeyword:
                break;

            case CS.SyntaxKind.InterpolatedStringStartToken:
                break;

            case CS.SyntaxKind.InterpolatedStringEndToken:
                break;

            case CS.SyntaxKind.InterpolatedVerbatimStringStartToken:
                break;

            case CS.SyntaxKind.OmittedTypeArgumentToken:
                break;

            case CS.SyntaxKind.OmittedArraySizeExpressionToken:
                break;

            case CS.SyntaxKind.EndOfDirectiveToken:
                break;

            case CS.SyntaxKind.EndOfDocumentationCommentToken:
                break;

            case CS.SyntaxKind.EndOfFileToken:
                break;

            case CS.SyntaxKind.BadToken:
                break;

            case CS.SyntaxKind.IdentifierToken:
                break;

            case CS.SyntaxKind.NumericLiteralToken:
                break;

            case CS.SyntaxKind.CharacterLiteralToken:
                break;

            case CS.SyntaxKind.StringLiteralToken:
                break;

            case CS.SyntaxKind.XmlEntityLiteralToken:
                break;

            case CS.SyntaxKind.XmlTextLiteralToken:
                break;

            case CS.SyntaxKind.XmlTextLiteralNewLineToken:
                break;

            case CS.SyntaxKind.InterpolatedStringToken:
                break;

            case CS.SyntaxKind.InterpolatedStringTextToken:
                break;

            case CS.SyntaxKind.TypeCref:
                break;

            case CS.SyntaxKind.QualifiedCref:
                break;

            case CS.SyntaxKind.NameMemberCref:
                break;

            case CS.SyntaxKind.IndexerMemberCref:
                break;

            case CS.SyntaxKind.OperatorMemberCref:
                break;

            case CS.SyntaxKind.ConversionOperatorMemberCref:
                break;

            case CS.SyntaxKind.CrefParameterList:
                break;

            case CS.SyntaxKind.CrefBracketedParameterList:
                break;

            case CS.SyntaxKind.CrefParameter:
                break;

            case CS.SyntaxKind.IdentifierName:
                break;

            case CS.SyntaxKind.QualifiedName:
                break;

            case CS.SyntaxKind.GenericName:
                break;

            case CS.SyntaxKind.TypeArgumentList:
                break;

            case CS.SyntaxKind.AliasQualifiedName:
                break;

            case CS.SyntaxKind.PredefinedType:
                break;

            case CS.SyntaxKind.ArrayType:
                break;

            case CS.SyntaxKind.ArrayRankSpecifier:
                break;

            case CS.SyntaxKind.PointerType:
                break;

            case CS.SyntaxKind.NullableType:
                break;

            case CS.SyntaxKind.OmittedTypeArgument:
                break;

            case CS.SyntaxKind.ParenthesizedExpression:
                break;

            case CS.SyntaxKind.ConditionalExpression:
                break;

            case CS.SyntaxKind.InvocationExpression:
                break;

            case CS.SyntaxKind.ElementAccessExpression:
                break;

            case CS.SyntaxKind.ArgumentList:
                break;

            case CS.SyntaxKind.BracketedArgumentList:
                break;

            case CS.SyntaxKind.Argument:
                break;

            case CS.SyntaxKind.NameColon:
                break;

            case CS.SyntaxKind.CastExpression:
                break;

            case CS.SyntaxKind.AnonymousMethodExpression:
                break;

            case CS.SyntaxKind.SimpleLambdaExpression:
                break;

            case CS.SyntaxKind.ParenthesizedLambdaExpression:
                break;

            case CS.SyntaxKind.ObjectInitializerExpression:
                break;

            case CS.SyntaxKind.CollectionInitializerExpression:
                break;

            case CS.SyntaxKind.ArrayInitializerExpression:
                break;

            case CS.SyntaxKind.AnonymousObjectMemberDeclarator:
                break;

            case CS.SyntaxKind.ComplexElementInitializerExpression:
                break;

            case CS.SyntaxKind.ObjectCreationExpression:
                break;

            case CS.SyntaxKind.AnonymousObjectCreationExpression:
                break;

            case CS.SyntaxKind.ArrayCreationExpression:
                break;

            case CS.SyntaxKind.ImplicitArrayCreationExpression:
                break;

            case CS.SyntaxKind.StackAllocArrayCreationExpression:
                break;

            case CS.SyntaxKind.OmittedArraySizeExpression:
                break;

            case CS.SyntaxKind.InterpolatedStringExpression:
                break;

            case CS.SyntaxKind.ImplicitElementAccess:
                break;

            case CS.SyntaxKind.AddExpression:
                break;

            case CS.SyntaxKind.SubtractExpression:
                break;

            case CS.SyntaxKind.MultiplyExpression:
                break;

            case CS.SyntaxKind.DivideExpression:
                break;

            case CS.SyntaxKind.ModuloExpression:
                break;

            case CS.SyntaxKind.LeftShiftExpression:
                break;

            case CS.SyntaxKind.RightShiftExpression:
                break;

            case CS.SyntaxKind.LogicalOrExpression:
                return(SyntaxKind.OrElseExpression);

            case CS.SyntaxKind.LogicalAndExpression:
                return(SyntaxKind.AndAlsoExpression);

            case CS.SyntaxKind.BitwiseOrExpression:
                return(SyntaxKind.OrExpression);

            case CS.SyntaxKind.BitwiseAndExpression:
                return(SyntaxKind.AndExpression);

            case CS.SyntaxKind.ExclusiveOrExpression:
                return(SyntaxKind.ExclusiveOrExpression);

            case CS.SyntaxKind.EqualsExpression:
                return(SyntaxKind.EqualsExpression);

            case CS.SyntaxKind.NotEqualsExpression:
                return(SyntaxKind.NotEqualsExpression);

            case CS.SyntaxKind.LessThanExpression:
                return(SyntaxKind.LessThanExpression);

            case CS.SyntaxKind.LessThanOrEqualExpression:
                return(SyntaxKind.LessThanOrEqualExpression);

            case CS.SyntaxKind.GreaterThanExpression:
                return(SyntaxKind.GreaterThanExpression);

            case CS.SyntaxKind.GreaterThanOrEqualExpression:
                return(SyntaxKind.GreaterThanOrEqualExpression);

            case CS.SyntaxKind.IsExpression:
                break;

            case CS.SyntaxKind.AsExpression:
                break;

            case CS.SyntaxKind.CoalesceExpression:
                break;

            case CS.SyntaxKind.SimpleMemberAccessExpression:
                break;

            case CS.SyntaxKind.PointerMemberAccessExpression:
                break;

            case CS.SyntaxKind.ConditionalAccessExpression:
                break;

            case CS.SyntaxKind.MemberBindingExpression:
                break;

            case CS.SyntaxKind.ElementBindingExpression:
                break;

            case CS.SyntaxKind.SimpleAssignmentExpression:
                return(SyntaxKind.SimpleAssignmentStatement);

            case CS.SyntaxKind.AddAssignmentExpression:
                return(SyntaxKind.AddAssignmentStatement);

            case CS.SyntaxKind.SubtractAssignmentExpression:
                return(SyntaxKind.SubtractAssignmentStatement);

            case CS.SyntaxKind.MultiplyAssignmentExpression:
                return(SyntaxKind.MultiplyAssignmentStatement);

            case CS.SyntaxKind.DivideAssignmentExpression:
                return(SyntaxKind.DivideAssignmentStatement);

            case CS.SyntaxKind.ModuloAssignmentExpression:
                break;

            case CS.SyntaxKind.AndAssignmentExpression:
                break;

            case CS.SyntaxKind.ExclusiveOrAssignmentExpression:
                break;

            case CS.SyntaxKind.OrAssignmentExpression:
                break;

            case CS.SyntaxKind.LeftShiftAssignmentExpression:
                break;

            case CS.SyntaxKind.RightShiftAssignmentExpression:
                break;

            case CS.SyntaxKind.UnaryPlusExpression:
                break;

            case CS.SyntaxKind.UnaryMinusExpression:
                break;

            case CS.SyntaxKind.BitwiseNotExpression:
                break;

            case CS.SyntaxKind.LogicalNotExpression:
                break;

            case CS.SyntaxKind.PreIncrementExpression:
                return(SyntaxKind.AddAssignmentStatement);

            case CS.SyntaxKind.PreDecrementExpression:
                return(SyntaxKind.SubtractAssignmentStatement);

            case CS.SyntaxKind.PointerIndirectionExpression:
                break;

            case CS.SyntaxKind.AddressOfExpression:
                break;

            case CS.SyntaxKind.PostIncrementExpression:
                return(SyntaxKind.AddAssignmentStatement);

            case CS.SyntaxKind.PostDecrementExpression:
                return(SyntaxKind.SubtractAssignmentStatement);

            case CS.SyntaxKind.AwaitExpression:
                break;

            case CS.SyntaxKind.ThisExpression:
                break;

            case CS.SyntaxKind.BaseExpression:
                break;

            case CS.SyntaxKind.ArgListExpression:
                break;

            case CS.SyntaxKind.NumericLiteralExpression:
                break;

            case CS.SyntaxKind.StringLiteralExpression:
                break;

            case CS.SyntaxKind.CharacterLiteralExpression:
                break;

            case CS.SyntaxKind.TrueLiteralExpression:
                break;

            case CS.SyntaxKind.FalseLiteralExpression:
                break;

            case CS.SyntaxKind.NullLiteralExpression:
                break;

            case CS.SyntaxKind.TypeOfExpression:
                break;

            case CS.SyntaxKind.SizeOfExpression:
                break;

            case CS.SyntaxKind.CheckedExpression:
                break;

            case CS.SyntaxKind.UncheckedExpression:
                break;

            case CS.SyntaxKind.DefaultExpression:
                break;

            case CS.SyntaxKind.MakeRefExpression:
                break;

            case CS.SyntaxKind.RefValueExpression:
                break;

            case CS.SyntaxKind.RefTypeExpression:
                break;

            case CS.SyntaxKind.QueryExpression:
                break;

            case CS.SyntaxKind.QueryBody:
                break;

            case CS.SyntaxKind.FromClause:
                break;

            case CS.SyntaxKind.LetClause:
                break;

            case CS.SyntaxKind.JoinClause:
                break;

            case CS.SyntaxKind.JoinIntoClause:
                break;

            case CS.SyntaxKind.WhereClause:
                break;

            case CS.SyntaxKind.OrderByClause:
                break;

            case CS.SyntaxKind.AscendingOrdering:
                break;

            case CS.SyntaxKind.DescendingOrdering:
                break;

            case CS.SyntaxKind.SelectClause:
                break;

            case CS.SyntaxKind.GroupClause:
                break;

            case CS.SyntaxKind.QueryContinuation:
                break;

            case CS.SyntaxKind.Block:
                break;

            case CS.SyntaxKind.LocalDeclarationStatement:
                break;

            case CS.SyntaxKind.VariableDeclaration:
                break;

            case CS.SyntaxKind.VariableDeclarator:
                break;

            case CS.SyntaxKind.EqualsValueClause:
                break;

            case CS.SyntaxKind.ExpressionStatement:
                break;

            case CS.SyntaxKind.EmptyStatement:
                break;

            case CS.SyntaxKind.LabeledStatement:
                break;

            case CS.SyntaxKind.GotoStatement:
                break;

            case CS.SyntaxKind.GotoCaseStatement:
                break;

            case CS.SyntaxKind.GotoDefaultStatement:
                break;

            case CS.SyntaxKind.BreakStatement:
                break;

            case CS.SyntaxKind.ContinueStatement:
                break;

            case CS.SyntaxKind.ReturnStatement:
                break;

            case CS.SyntaxKind.YieldReturnStatement:
                break;

            case CS.SyntaxKind.YieldBreakStatement:
                break;

            case CS.SyntaxKind.ThrowStatement:
                break;

            case CS.SyntaxKind.WhileStatement:
                break;

            case CS.SyntaxKind.DoStatement:
                break;

            case CS.SyntaxKind.ForStatement:
                break;

            case CS.SyntaxKind.ForEachStatement:
                break;

            case CS.SyntaxKind.UsingStatement:
                break;

            case CS.SyntaxKind.FixedStatement:
                break;

            case CS.SyntaxKind.CheckedStatement:
                break;

            case CS.SyntaxKind.UncheckedStatement:
                break;

            case CS.SyntaxKind.UnsafeStatement:
                break;

            case CS.SyntaxKind.LockStatement:
                break;

            case CS.SyntaxKind.IfStatement:
                break;

            case CS.SyntaxKind.ElseClause:
                break;

            case CS.SyntaxKind.SwitchStatement:
                break;

            case CS.SyntaxKind.SwitchSection:
                break;

            case CS.SyntaxKind.CaseSwitchLabel:
                break;

            case CS.SyntaxKind.DefaultSwitchLabel:
                break;

            case CS.SyntaxKind.TryStatement:
                break;

            case CS.SyntaxKind.CatchClause:
                break;

            case CS.SyntaxKind.CatchDeclaration:
                break;

            case CS.SyntaxKind.CatchFilterClause:
                break;

            case CS.SyntaxKind.FinallyClause:
                break;

            case CS.SyntaxKind.CompilationUnit:
                break;

            case CS.SyntaxKind.GlobalStatement:
                break;

            case CS.SyntaxKind.NamespaceDeclaration:
                break;

            case CS.SyntaxKind.UsingDirective:
                break;

            case CS.SyntaxKind.ExternAliasDirective:
                break;

            case CS.SyntaxKind.AttributeList:
                break;

            case CS.SyntaxKind.AttributeTargetSpecifier:
                break;

            case CS.SyntaxKind.Attribute:
                break;

            case CS.SyntaxKind.AttributeArgumentList:
                break;

            case CS.SyntaxKind.AttributeArgument:
                break;

            case CS.SyntaxKind.NameEquals:
                break;

            case CS.SyntaxKind.ClassDeclaration:
                break;

            case CS.SyntaxKind.StructDeclaration:
                break;

            case CS.SyntaxKind.InterfaceDeclaration:
                break;

            case CS.SyntaxKind.EnumDeclaration:
                break;

            case CS.SyntaxKind.DelegateDeclaration:
                break;

            case CS.SyntaxKind.BaseList:
                break;

            case CS.SyntaxKind.SimpleBaseType:
                break;

            case CS.SyntaxKind.TypeParameterConstraintClause:
                break;

            case CS.SyntaxKind.ConstructorConstraint:
                break;

            case CS.SyntaxKind.ClassConstraint:
                break;

            case CS.SyntaxKind.StructConstraint:
                break;

            case CS.SyntaxKind.TypeConstraint:
                break;

            case CS.SyntaxKind.ExplicitInterfaceSpecifier:
                break;

            case CS.SyntaxKind.EnumMemberDeclaration:
                break;

            case CS.SyntaxKind.FieldDeclaration:
                break;

            case CS.SyntaxKind.EventFieldDeclaration:
                break;

            case CS.SyntaxKind.MethodDeclaration:
                break;

            case CS.SyntaxKind.OperatorDeclaration:
                break;

            case CS.SyntaxKind.ConversionOperatorDeclaration:
                break;

            case CS.SyntaxKind.ConstructorDeclaration:
                break;

            case CS.SyntaxKind.BaseConstructorInitializer:
                break;

            case CS.SyntaxKind.ThisConstructorInitializer:
                break;

            case CS.SyntaxKind.DestructorDeclaration:
                break;

            case CS.SyntaxKind.PropertyDeclaration:
                break;

            case CS.SyntaxKind.EventDeclaration:
                break;

            case CS.SyntaxKind.IndexerDeclaration:
                break;

            case CS.SyntaxKind.AccessorList:
                break;

            case CS.SyntaxKind.GetAccessorDeclaration:
                break;

            case CS.SyntaxKind.SetAccessorDeclaration:
                break;

            case CS.SyntaxKind.AddAccessorDeclaration:
                break;

            case CS.SyntaxKind.RemoveAccessorDeclaration:
                break;

            case CS.SyntaxKind.UnknownAccessorDeclaration:
                break;

            case CS.SyntaxKind.ParameterList:
                break;

            case CS.SyntaxKind.BracketedParameterList:
                break;

            case CS.SyntaxKind.Parameter:
                break;

            case CS.SyntaxKind.TypeParameterList:
                break;

            case CS.SyntaxKind.TypeParameter:
                break;

            case CS.SyntaxKind.IncompleteMember:
                break;

            case CS.SyntaxKind.ArrowExpressionClause:
                break;

            case CS.SyntaxKind.Interpolation:
                break;

            case CS.SyntaxKind.InterpolatedStringText:
                break;

            case CS.SyntaxKind.InterpolationAlignmentClause:
                break;

            case CS.SyntaxKind.InterpolationFormatClause:
                break;

            case CS.SyntaxKind.PlusPlusToken:
                return(SyntaxKind.PlusToken);

            case CS.SyntaxKind.MinusMinusToken:
                return(SyntaxKind.MinusToken);

            default:
                throw new ArgumentOutOfRangeException();
            }

            throw new NotSupportedException(t + " is not supported!");
        }
 public static bool IsParentKind(this SyntaxToken node, CS.SyntaxKind kind)
 {
     return(node.Parent?.IsKind(kind) == true);
 }
 public static bool IsParentKind(this SyntaxNode node, CS.SyntaxKind kind)
 {
     return(node != null && node.Parent.IsKind(kind));
 }
Esempio n. 11
0
            private async Task <ExpressionSyntax> ConvertToStringComparisonOperatorAsync(VBSyntax.BinaryExpressionSyntax node, SyntaxKind expressionKind)
            {
                var(lhs, rhs) = await AcceptSidesAsync(node);

                lhs = VisualBasicEqualityComparison.VbCoerceToString(lhs, _semanticModel.GetTypeInfo(node.Left));
                rhs = VisualBasicEqualityComparison.VbCoerceToString(rhs, _semanticModel.GetTypeInfo(node.Right));
                var member = new KnownMethod(_compilerServices, _operators, "CompareString");
                var optionaCompareTextBoolLiteralExpression = _visualBasicEqualityComparison.OptionCompareTextCaseInsensitiveBoolExpression;
                var comparedLhs = member.Invoke(_visualBasicEqualityComparison.ExtraUsingDirectives, lhs, rhs, optionaCompareTextBoolLiteralExpression);

                return(SyntaxFactory.BinaryExpression(expressionKind, comparedLhs, LiteralConversions.GetLiteralExpression(0)));
            }
        public static bool MatchesKind(this SyntaxTrivia trivia, CS.SyntaxKind kind1, CS.SyntaxKind kind2)
        {
            var triviaKind = CS.CSharpExtensions.Kind(trivia);

            return(triviaKind == kind1 || triviaKind == kind2);
        }
 public static bool MatchesKind(this SyntaxTrivia trivia, CS.SyntaxKind kind)
 {
     return(CS.CSharpExtensions.Kind(trivia) == kind);
 }
Esempio n. 14
0
 public BreakPair(CS.SyntaxKind cs, VB.SyntaxKind vb, VB.SyntaxKind exitTargetKeyword, System.AttributeTargets target = AttributeTargets.All)
     : base(cs, vb, target)
 {
     this.ExitTargetKeyword = exitTargetKeyword;
 }