Last active
December 11, 2016 23:40
-
-
Save controlflow/b7598400a7a7c5f5369631117fabbce8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [Pure, ContractAnnotation("null => null")] | |
| public static IArrowExpressionClause GetArrowExpressionClause([CanBeNull] this IExpressionBodyOwnerDeclaration declaration) | |
| { | |
| var functionDeclaration = declaration as ICSharpFunctionDeclaration; | |
| if (functionDeclaration != null) return functionDeclaration.ArrowExpression; | |
| var propertyDeclaration = declaration as IPropertyDeclaration; | |
| if (propertyDeclaration != null) return propertyDeclaration.ArrowExpression; | |
| var indexerDeclaration = declaration as IIndexerDeclaration; | |
| if (indexerDeclaration != null) return indexerDeclaration.ArrowExpression; | |
| var localFunctionDeclaration = declaration as ILocalFunctionDeclaration; | |
| if (localFunctionDeclaration != null) return localFunctionDeclaration.ArrowExpression; | |
| return null; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [Pure, ContractAnnotation("null => null")] | |
| public static IArrowExpressionClause GetArrowExpressionClause([CanBeNull] this IExpressionBodyOwnerDeclaration declaration) | |
| { | |
| switch (declaration) | |
| { | |
| case ICSharpFunctionDeclaration functionDeclaration: | |
| return functionDeclaration.ArrowExpression; | |
| case IPropertyDeclaration propertyDeclaration: | |
| return propertyDeclaration.ArrowExpression; | |
| case IIndexerDeclaration indexerDeclaration: | |
| return indexerDeclaration.ArrowExpression; | |
| case ILocalFunctionDeclaration localFunctionDeclaration: | |
| return localFunctionDeclaration.ArrowExpression; | |
| default: | |
| return null; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [Pure, ContractAnnotation("null => null")] | |
| public static IArrowExpressionClause GetArrowExpressionClause([CanBeNull] this IExpressionBodyOwnerDeclaration declaration) | |
| { | |
| switch (declaration) | |
| { | |
| case ICSharpFunctionDeclaration functionDeclaration: return functionDeclaration.ArrowExpression; | |
| case IPropertyDeclaration propertyDeclaration: return propertyDeclaration.ArrowExpression; | |
| case IIndexerDeclaration indexerDeclaration: return indexerDeclaration.ArrowExpression; | |
| case ILocalFunctionDeclaration localFunctionDeclaration: return localFunctionDeclaration.ArrowExpression; | |
| default: return null; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [Pure, ContractAnnotation("null => null")] | |
| public static IArrowExpressionClause GetArrowExpressionClause([CanBeNull] this IExpressionBodyOwnerDeclaration declaration) | |
| { | |
| return switch (declaration) | |
| { | |
| case ICSharpFunctionDeclaration functionDeclaration => functionDeclaration.ArrowExpression; | |
| case IPropertyDeclaration propertyDeclaration => propertyDeclaration.ArrowExpression; | |
| case IIndexerDeclaration indexerDeclaration => indexerDeclaration.ArrowExpression; | |
| case ILocalFunctionDeclaration localFunctionDeclaration => localFunctionDeclaration.ArrowExpression; | |
| default => null; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment