hydra-0.8.0: src/gen-main/haskell/Hydra/Ext/Csharp/Syntax.hs
-- | A C# syntax module based on the ANTLR grammar dated 02/07/2024 and available at:
-- | https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/grammar
module Hydra.Ext.Csharp.Syntax where
import qualified Hydra.Core as Core
import Data.Int
import Data.List as L
import Data.Map as M
import Data.Set as S
newtype Identifier =
Identifier {
unIdentifier :: String}
deriving (Eq, Ord, Read, Show)
_Identifier = (Core.Name "hydra/ext/csharp/syntax.Identifier")
newtype Keyword =
Keyword {
unKeyword :: String}
deriving (Eq, Ord, Read, Show)
_Keyword = (Core.Name "hydra/ext/csharp/syntax.Keyword")
data Literal =
LiteralBoolean Bool |
LiteralInteger IntegerLiteral |
LiteralReal Double |
LiteralCharacter String |
LiteralString String |
LiteralNull
deriving (Eq, Ord, Read, Show)
_Literal = (Core.Name "hydra/ext/csharp/syntax.Literal")
_Literal_boolean = (Core.Name "boolean")
_Literal_integer = (Core.Name "integer")
_Literal_real = (Core.Name "real")
_Literal_character = (Core.Name "character")
_Literal_string = (Core.Name "string")
_Literal_null = (Core.Name "null")
data IntegerLiteral =
IntegerLiteralDecimal String |
IntegerLiteralHexadecimal String |
IntegerLiteralBinary Integer
deriving (Eq, Ord, Read, Show)
_IntegerLiteral = (Core.Name "hydra/ext/csharp/syntax.IntegerLiteral")
_IntegerLiteral_decimal = (Core.Name "decimal")
_IntegerLiteral_hexadecimal = (Core.Name "hexadecimal")
_IntegerLiteral_binary = (Core.Name "binary")
newtype NamespaceName =
NamespaceName {
unNamespaceName :: NamespaceOrTypeName}
deriving (Eq, Ord, Read, Show)
_NamespaceName = (Core.Name "hydra/ext/csharp/syntax.NamespaceName")
newtype TypeName =
TypeName {
unTypeName :: NamespaceOrTypeName}
deriving (Eq, Ord, Read, Show)
_TypeName = (Core.Name "hydra/ext/csharp/syntax.TypeName")
data NamespaceOrTypeName =
NamespaceOrTypeNameIdentifier IdentifierNamespaceOrTypeName |
NamespaceOrTypeNameQualified QualifiedNamespaceOrTypeName |
NamespaceOrTypeNameAlias QualifiedAliasMember
deriving (Eq, Ord, Read, Show)
_NamespaceOrTypeName = (Core.Name "hydra/ext/csharp/syntax.NamespaceOrTypeName")
_NamespaceOrTypeName_identifier = (Core.Name "identifier")
_NamespaceOrTypeName_qualified = (Core.Name "qualified")
_NamespaceOrTypeName_alias = (Core.Name "alias")
data IdentifierNamespaceOrTypeName =
IdentifierNamespaceOrTypeName {
identifierNamespaceOrTypeNameIdentifier :: Identifier,
identifierNamespaceOrTypeNameArguments :: (Maybe TypeArgumentList)}
deriving (Eq, Ord, Read, Show)
_IdentifierNamespaceOrTypeName = (Core.Name "hydra/ext/csharp/syntax.IdentifierNamespaceOrTypeName")
_IdentifierNamespaceOrTypeName_identifier = (Core.Name "identifier")
_IdentifierNamespaceOrTypeName_arguments = (Core.Name "arguments")
data QualifiedNamespaceOrTypeName =
QualifiedNamespaceOrTypeName {
qualifiedNamespaceOrTypeNameNamespaceOrType :: NamespaceOrTypeName,
qualifiedNamespaceOrTypeNameIdentifier :: Identifier,
qualifiedNamespaceOrTypeNameArguments :: (Maybe TypeArgumentList)}
deriving (Eq, Ord, Read, Show)
_QualifiedNamespaceOrTypeName = (Core.Name "hydra/ext/csharp/syntax.QualifiedNamespaceOrTypeName")
_QualifiedNamespaceOrTypeName_namespaceOrType = (Core.Name "namespaceOrType")
_QualifiedNamespaceOrTypeName_identifier = (Core.Name "identifier")
_QualifiedNamespaceOrTypeName_arguments = (Core.Name "arguments")
data Type =
TypeReference ReferenceType |
TypeValue ValueType |
TypeParam TypeParameter |
TypePointer PointerType
deriving (Eq, Ord, Read, Show)
_Type = (Core.Name "hydra/ext/csharp/syntax.Type")
_Type_reference = (Core.Name "reference")
_Type_value = (Core.Name "value")
_Type_param = (Core.Name "param")
_Type_pointer = (Core.Name "pointer")
data ReferenceType =
ReferenceTypeClass ClassType |
ReferenceTypeInterface InterfaceType |
ReferenceTypeArray ArrayType |
ReferenceTypeDelegate DelegateType |
ReferenceTypeDynamic
deriving (Eq, Ord, Read, Show)
_ReferenceType = (Core.Name "hydra/ext/csharp/syntax.ReferenceType")
_ReferenceType_class = (Core.Name "class")
_ReferenceType_interface = (Core.Name "interface")
_ReferenceType_array = (Core.Name "array")
_ReferenceType_delegate = (Core.Name "delegate")
_ReferenceType_dynamic = (Core.Name "dynamic")
data ClassType =
ClassTypeTypeName TypeName |
ClassTypeObject |
ClassTypeString
deriving (Eq, Ord, Read, Show)
_ClassType = (Core.Name "hydra/ext/csharp/syntax.ClassType")
_ClassType_typeName = (Core.Name "typeName")
_ClassType_object = (Core.Name "object")
_ClassType_string = (Core.Name "string")
newtype InterfaceType =
InterfaceType {
unInterfaceType :: TypeName}
deriving (Eq, Ord, Read, Show)
_InterfaceType = (Core.Name "hydra/ext/csharp/syntax.InterfaceType")
data ArrayType =
ArrayType {
arrayTypeType :: NonArrayType,
arrayTypeRank :: [RankSpecifier]}
deriving (Eq, Ord, Read, Show)
_ArrayType = (Core.Name "hydra/ext/csharp/syntax.ArrayType")
_ArrayType_type = (Core.Name "type")
_ArrayType_rank = (Core.Name "rank")
data NonArrayType =
NonArrayTypeValue ValueType |
NonArrayTypeClass ClassType |
NonArrayTypeInterface InterfaceType |
NonArrayTypeDelegate DelegateType |
NonArrayTypeDynamic |
NonArrayTypeParameter TypeParameter |
NonArrayTypePointer PointerType
deriving (Eq, Ord, Read, Show)
_NonArrayType = (Core.Name "hydra/ext/csharp/syntax.NonArrayType")
_NonArrayType_value = (Core.Name "value")
_NonArrayType_class = (Core.Name "class")
_NonArrayType_interface = (Core.Name "interface")
_NonArrayType_delegate = (Core.Name "delegate")
_NonArrayType_dynamic = (Core.Name "dynamic")
_NonArrayType_parameter = (Core.Name "parameter")
_NonArrayType_pointer = (Core.Name "pointer")
newtype RankSpecifier =
RankSpecifier {
unRankSpecifier :: Int}
deriving (Eq, Ord, Read, Show)
_RankSpecifier = (Core.Name "hydra/ext/csharp/syntax.RankSpecifier")
newtype DelegateType =
DelegateType {
unDelegateType :: TypeName}
deriving (Eq, Ord, Read, Show)
_DelegateType = (Core.Name "hydra/ext/csharp/syntax.DelegateType")
data ValueType =
ValueTypeNonNullable StructOrEnumType |
ValueTypeNullable StructOrEnumType
deriving (Eq, Ord, Read, Show)
_ValueType = (Core.Name "hydra/ext/csharp/syntax.ValueType")
_ValueType_nonNullable = (Core.Name "nonNullable")
_ValueType_nullable = (Core.Name "nullable")
data StructOrEnumType =
StructOrEnumTypeStruct StructType |
StructOrEnumTypeEnum EnumType
deriving (Eq, Ord, Read, Show)
_StructOrEnumType = (Core.Name "hydra/ext/csharp/syntax.StructOrEnumType")
_StructOrEnumType_struct = (Core.Name "struct")
_StructOrEnumType_enum = (Core.Name "enum")
data StructType =
StructTypeTypeName TypeName |
StructTypeSimple SimpleType |
StructTypeTuple TupleType
deriving (Eq, Ord, Read, Show)
_StructType = (Core.Name "hydra/ext/csharp/syntax.StructType")
_StructType_typeName = (Core.Name "typeName")
_StructType_simple = (Core.Name "simple")
_StructType_tuple = (Core.Name "tuple")
data SimpleType =
SimpleTypeNumeric NumericType |
SimpleTypeBool
deriving (Eq, Ord, Read, Show)
_SimpleType = (Core.Name "hydra/ext/csharp/syntax.SimpleType")
_SimpleType_numeric = (Core.Name "numeric")
_SimpleType_bool = (Core.Name "bool")
data NumericType =
NumericTypeIntegral IntegralType |
NumericTypeFloatingPoint FloatingPointType |
NumericTypeDecimal
deriving (Eq, Ord, Read, Show)
_NumericType = (Core.Name "hydra/ext/csharp/syntax.NumericType")
_NumericType_integral = (Core.Name "integral")
_NumericType_floatingPoint = (Core.Name "floatingPoint")
_NumericType_decimal = (Core.Name "decimal")
data IntegralType =
IntegralTypeSbyte |
IntegralTypeByte |
IntegralTypeShort |
IntegralTypeUshort |
IntegralTypeInt |
IntegralTypeUint |
IntegralTypeLong |
IntegralTypeUlong |
IntegralTypeChar
deriving (Eq, Ord, Read, Show)
_IntegralType = (Core.Name "hydra/ext/csharp/syntax.IntegralType")
_IntegralType_sbyte = (Core.Name "sbyte")
_IntegralType_byte = (Core.Name "byte")
_IntegralType_short = (Core.Name "short")
_IntegralType_ushort = (Core.Name "ushort")
_IntegralType_int = (Core.Name "int")
_IntegralType_uint = (Core.Name "uint")
_IntegralType_long = (Core.Name "long")
_IntegralType_ulong = (Core.Name "ulong")
_IntegralType_char = (Core.Name "char")
data FloatingPointType =
FloatingPointTypeFloat |
FloatingPointTypeDouble
deriving (Eq, Ord, Read, Show)
_FloatingPointType = (Core.Name "hydra/ext/csharp/syntax.FloatingPointType")
_FloatingPointType_float = (Core.Name "float")
_FloatingPointType_double = (Core.Name "double")
newtype TupleType =
TupleType {
unTupleType :: [TupleTypeElement]}
deriving (Eq, Ord, Read, Show)
_TupleType = (Core.Name "hydra/ext/csharp/syntax.TupleType")
data TupleTypeElement =
TupleTypeElement {
tupleTypeElementType :: Type,
tupleTypeElementIdentifier :: (Maybe Identifier)}
deriving (Eq, Ord, Read, Show)
_TupleTypeElement = (Core.Name "hydra/ext/csharp/syntax.TupleTypeElement")
_TupleTypeElement_type = (Core.Name "type")
_TupleTypeElement_identifier = (Core.Name "identifier")
newtype EnumType =
EnumType {
unEnumType :: TypeName}
deriving (Eq, Ord, Read, Show)
_EnumType = (Core.Name "hydra/ext/csharp/syntax.EnumType")
newtype TypeArgumentList =
TypeArgumentList {
unTypeArgumentList :: [Type]}
deriving (Eq, Ord, Read, Show)
_TypeArgumentList = (Core.Name "hydra/ext/csharp/syntax.TypeArgumentList")
newtype TypeParameter =
TypeParameter {
unTypeParameter :: Identifier}
deriving (Eq, Ord, Read, Show)
_TypeParameter = (Core.Name "hydra/ext/csharp/syntax.TypeParameter")
data UnmanagedType =
UnmanagedTypeValue ValueType |
UnmanagedTypePointer PointerType
deriving (Eq, Ord, Read, Show)
_UnmanagedType = (Core.Name "hydra/ext/csharp/syntax.UnmanagedType")
_UnmanagedType_value = (Core.Name "value")
_UnmanagedType_pointer = (Core.Name "pointer")
newtype VariableReference =
VariableReference {
unVariableReference :: Expression}
deriving (Eq, Ord, Read, Show)
_VariableReference = (Core.Name "hydra/ext/csharp/syntax.VariableReference")
data Pattern =
PatternDeclaration DeclarationPattern |
PatternConstant Expression |
PatternVar Designation
deriving (Eq, Ord, Read, Show)
_Pattern = (Core.Name "hydra/ext/csharp/syntax.Pattern")
_Pattern_declaration = (Core.Name "declaration")
_Pattern_constant = (Core.Name "constant")
_Pattern_var = (Core.Name "var")
data DeclarationPattern =
DeclarationPattern {
declarationPatternType :: Type,
declarationPatternDesignation :: Designation}
deriving (Eq, Ord, Read, Show)
_DeclarationPattern = (Core.Name "hydra/ext/csharp/syntax.DeclarationPattern")
_DeclarationPattern_type = (Core.Name "type")
_DeclarationPattern_designation = (Core.Name "designation")
newtype Designation =
Designation {
unDesignation :: Identifier}
deriving (Eq, Ord, Read, Show)
_Designation = (Core.Name "hydra/ext/csharp/syntax.Designation")
newtype ArgumentList =
ArgumentList {
unArgumentList :: [Argument]}
deriving (Eq, Ord, Read, Show)
_ArgumentList = (Core.Name "hydra/ext/csharp/syntax.ArgumentList")
data Argument =
Argument {
argumentName :: (Maybe Identifier),
argumentValue :: ArgumentValue}
deriving (Eq, Ord, Read, Show)
_Argument = (Core.Name "hydra/ext/csharp/syntax.Argument")
_Argument_name = (Core.Name "name")
_Argument_value = (Core.Name "value")
data ArgumentValue =
ArgumentValueExpression Expression |
ArgumentValueIn VariableReference |
ArgumentValueRef VariableReference |
ArgumentValueOut VariableReference
deriving (Eq, Ord, Read, Show)
_ArgumentValue = (Core.Name "hydra/ext/csharp/syntax.ArgumentValue")
_ArgumentValue_expression = (Core.Name "expression")
_ArgumentValue_in = (Core.Name "in")
_ArgumentValue_ref = (Core.Name "ref")
_ArgumentValue_out = (Core.Name "out")
data PrimaryExpression =
PrimaryExpressionNoArray PrimaryNoArrayCreationExpression |
PrimaryExpressionArray ArrayCreationExpression
deriving (Eq, Ord, Read, Show)
_PrimaryExpression = (Core.Name "hydra/ext/csharp/syntax.PrimaryExpression")
_PrimaryExpression_noArray = (Core.Name "noArray")
_PrimaryExpression_array = (Core.Name "array")
data PrimaryNoArrayCreationExpression =
PrimaryNoArrayCreationExpressionLiteral Literal |
PrimaryNoArrayCreationExpressionInterpolatedString InterpolatedStringExpression |
PrimaryNoArrayCreationExpressionSimpleName SimpleName |
PrimaryNoArrayCreationExpressionParenthesized Expression |
PrimaryNoArrayCreationExpressionTuple TupleExpression |
PrimaryNoArrayCreationExpressionMemberAccess MemberAccess |
PrimaryNoArrayCreationExpressionNullConditionalMemberAccess NullConditionalMemberAccess |
PrimaryNoArrayCreationExpressionInvocation InvocationExpression |
PrimaryNoArrayCreationExpressionElementAccess ElementAccess |
PrimaryNoArrayCreationExpressionNullConditionalElementAccess NullConditionalElementAccess |
PrimaryNoArrayCreationExpressionThisAccess |
PrimaryNoArrayCreationExpressionBaseAccess BaseAccess |
PrimaryNoArrayCreationExpressionPostIncrement PrimaryExpression |
PrimaryNoArrayCreationExpressionPostDecrement PrimaryExpression |
PrimaryNoArrayCreationExpressionObjectCreation ObjectCreationExpression |
PrimaryNoArrayCreationExpressionDelegateCreation DelegateCreationExpression |
PrimaryNoArrayCreationExpressionAnonymousObjectCreation (Maybe MemberDeclaratorList) |
PrimaryNoArrayCreationExpressionTypeof TypeofExpression |
PrimaryNoArrayCreationExpressionSizeof UnmanagedType |
PrimaryNoArrayCreationExpressionChecked Expression |
PrimaryNoArrayCreationExpressionUnchecked Expression |
PrimaryNoArrayCreationExpressionDefaultValue DefaultValueExpression |
PrimaryNoArrayCreationExpressionNameof NamedEntity |
PrimaryNoArrayCreationExpressionAnonymousMethod AnonymousMethodExpression |
PrimaryNoArrayCreationExpressionPointerMemberAccess PointerMemberAccess |
PrimaryNoArrayCreationExpressionPointerElementAccess PointerElementAccess |
PrimaryNoArrayCreationExpressionStackalloc StackallocExpression
deriving (Eq, Ord, Read, Show)
_PrimaryNoArrayCreationExpression = (Core.Name "hydra/ext/csharp/syntax.PrimaryNoArrayCreationExpression")
_PrimaryNoArrayCreationExpression_literal = (Core.Name "literal")
_PrimaryNoArrayCreationExpression_interpolatedString = (Core.Name "interpolatedString")
_PrimaryNoArrayCreationExpression_simpleName = (Core.Name "simpleName")
_PrimaryNoArrayCreationExpression_parenthesized = (Core.Name "parenthesized")
_PrimaryNoArrayCreationExpression_tuple = (Core.Name "tuple")
_PrimaryNoArrayCreationExpression_memberAccess = (Core.Name "memberAccess")
_PrimaryNoArrayCreationExpression_nullConditionalMemberAccess = (Core.Name "nullConditionalMemberAccess")
_PrimaryNoArrayCreationExpression_invocation = (Core.Name "invocation")
_PrimaryNoArrayCreationExpression_elementAccess = (Core.Name "elementAccess")
_PrimaryNoArrayCreationExpression_nullConditionalElementAccess = (Core.Name "nullConditionalElementAccess")
_PrimaryNoArrayCreationExpression_thisAccess = (Core.Name "thisAccess")
_PrimaryNoArrayCreationExpression_baseAccess = (Core.Name "baseAccess")
_PrimaryNoArrayCreationExpression_postIncrement = (Core.Name "postIncrement")
_PrimaryNoArrayCreationExpression_postDecrement = (Core.Name "postDecrement")
_PrimaryNoArrayCreationExpression_objectCreation = (Core.Name "objectCreation")
_PrimaryNoArrayCreationExpression_delegateCreation = (Core.Name "delegateCreation")
_PrimaryNoArrayCreationExpression_anonymousObjectCreation = (Core.Name "anonymousObjectCreation")
_PrimaryNoArrayCreationExpression_typeof = (Core.Name "typeof")
_PrimaryNoArrayCreationExpression_sizeof = (Core.Name "sizeof")
_PrimaryNoArrayCreationExpression_checked = (Core.Name "checked")
_PrimaryNoArrayCreationExpression_unchecked = (Core.Name "unchecked")
_PrimaryNoArrayCreationExpression_defaultValue = (Core.Name "defaultValue")
_PrimaryNoArrayCreationExpression_nameof = (Core.Name "nameof")
_PrimaryNoArrayCreationExpression_anonymousMethod = (Core.Name "anonymousMethod")
_PrimaryNoArrayCreationExpression_pointerMemberAccess = (Core.Name "pointerMemberAccess")
_PrimaryNoArrayCreationExpression_pointerElementAccess = (Core.Name "pointerElementAccess")
_PrimaryNoArrayCreationExpression_stackalloc = (Core.Name "stackalloc")
data InterpolatedStringExpression =
InterpolatedStringExpressionRegular InterpolatedRegularStringExpression |
InterpolatedStringExpressionVerbatim InterpolatedVerbatimStringExpression
deriving (Eq, Ord, Read, Show)
_InterpolatedStringExpression = (Core.Name "hydra/ext/csharp/syntax.InterpolatedStringExpression")
_InterpolatedStringExpression_regular = (Core.Name "regular")
_InterpolatedStringExpression_verbatim = (Core.Name "verbatim")
newtype InterpolatedRegularStringExpression =
InterpolatedRegularStringExpression {
unInterpolatedRegularStringExpression :: String}
deriving (Eq, Ord, Read, Show)
_InterpolatedRegularStringExpression = (Core.Name "hydra/ext/csharp/syntax.InterpolatedRegularStringExpression")
data RegularInterpolation =
RegularInterpolation {
regularInterpolationExpression :: Expression,
regularInterpolationWidth :: (Maybe Expression),
regularInterpolationFormat :: (Maybe String)}
deriving (Eq, Ord, Read, Show)
_RegularInterpolation = (Core.Name "hydra/ext/csharp/syntax.RegularInterpolation")
_RegularInterpolation_expression = (Core.Name "expression")
_RegularInterpolation_width = (Core.Name "width")
_RegularInterpolation_format = (Core.Name "format")
newtype InterpolatedVerbatimStringExpression =
InterpolatedVerbatimStringExpression {
unInterpolatedVerbatimStringExpression :: String}
deriving (Eq, Ord, Read, Show)
_InterpolatedVerbatimStringExpression = (Core.Name "hydra/ext/csharp/syntax.InterpolatedVerbatimStringExpression")
data VerbatimInterpolation =
VerbatimInterpolation {
verbatimInterpolationExpression :: Expression,
verbatimInterpolationWidth :: (Maybe ConstantExpression),
verbatimInterpolationFormat :: (Maybe String)}
deriving (Eq, Ord, Read, Show)
_VerbatimInterpolation = (Core.Name "hydra/ext/csharp/syntax.VerbatimInterpolation")
_VerbatimInterpolation_expression = (Core.Name "expression")
_VerbatimInterpolation_width = (Core.Name "width")
_VerbatimInterpolation_format = (Core.Name "format")
data SimpleName =
SimpleName {
simpleNameIdentifier :: Identifier,
simpleNameTypeArguments :: (Maybe TypeArgumentList)}
deriving (Eq, Ord, Read, Show)
_SimpleName = (Core.Name "hydra/ext/csharp/syntax.SimpleName")
_SimpleName_identifier = (Core.Name "identifier")
_SimpleName_typeArguments = (Core.Name "typeArguments")
data TupleExpression =
TupleExpressionElements [TupleElement] |
TupleExpressionDeconstruction DeconstructionTuple
deriving (Eq, Ord, Read, Show)
_TupleExpression = (Core.Name "hydra/ext/csharp/syntax.TupleExpression")
_TupleExpression_elements = (Core.Name "elements")
_TupleExpression_deconstruction = (Core.Name "deconstruction")
data TupleElement =
TupleElement {
tupleElementName :: (Maybe Identifier),
tupleElementExpression :: Expression}
deriving (Eq, Ord, Read, Show)
_TupleElement = (Core.Name "hydra/ext/csharp/syntax.TupleElement")
_TupleElement_name = (Core.Name "name")
_TupleElement_expression = (Core.Name "expression")
newtype DeconstructionTuple =
DeconstructionTuple {
unDeconstructionTuple :: [DeconstructionElement]}
deriving (Eq, Ord, Read, Show)
_DeconstructionTuple = (Core.Name "hydra/ext/csharp/syntax.DeconstructionTuple")
data DeconstructionElement =
DeconstructionElementTuple DeconstructionTuple |
DeconstructionElementIdentifier Identifier
deriving (Eq, Ord, Read, Show)
_DeconstructionElement = (Core.Name "hydra/ext/csharp/syntax.DeconstructionElement")
_DeconstructionElement_tuple = (Core.Name "tuple")
_DeconstructionElement_identifier = (Core.Name "identifier")
data MemberAccess =
MemberAccess {
memberAccessHead :: MemberAccessHead,
memberAccessIdentifier :: Identifier,
memberAccessTypeArguments :: (Maybe TypeArgumentList)}
deriving (Eq, Ord, Read, Show)
_MemberAccess = (Core.Name "hydra/ext/csharp/syntax.MemberAccess")
_MemberAccess_head = (Core.Name "head")
_MemberAccess_identifier = (Core.Name "identifier")
_MemberAccess_typeArguments = (Core.Name "typeArguments")
data MemberAccessHead =
MemberAccessHeadPrimary PrimaryExpression |
MemberAccessHeadPredefined PredefinedType |
MemberAccessHeadQualifiedAlias QualifiedAliasMember
deriving (Eq, Ord, Read, Show)
_MemberAccessHead = (Core.Name "hydra/ext/csharp/syntax.MemberAccessHead")
_MemberAccessHead_primary = (Core.Name "primary")
_MemberAccessHead_predefined = (Core.Name "predefined")
_MemberAccessHead_qualifiedAlias = (Core.Name "qualifiedAlias")
data PredefinedType =
PredefinedTypeBool |
PredefinedTypeByte |
PredefinedTypeChar |
PredefinedTypeDecimal |
PredefinedTypeDouble |
PredefinedTypeFloat |
PredefinedTypeInt |
PredefinedTypeLong |
PredefinedTypeObject |
PredefinedTypeSbyte |
PredefinedTypeShort |
PredefinedTypeString |
PredefinedTypeUint |
PredefinedTypeUlong |
PredefinedTypeUshort
deriving (Eq, Ord, Read, Show)
_PredefinedType = (Core.Name "hydra/ext/csharp/syntax.PredefinedType")
_PredefinedType_bool = (Core.Name "bool")
_PredefinedType_byte = (Core.Name "byte")
_PredefinedType_char = (Core.Name "char")
_PredefinedType_decimal = (Core.Name "decimal")
_PredefinedType_double = (Core.Name "double")
_PredefinedType_float = (Core.Name "float")
_PredefinedType_int = (Core.Name "int")
_PredefinedType_long = (Core.Name "long")
_PredefinedType_object = (Core.Name "object")
_PredefinedType_sbyte = (Core.Name "sbyte")
_PredefinedType_short = (Core.Name "short")
_PredefinedType_string = (Core.Name "string")
_PredefinedType_uint = (Core.Name "uint")
_PredefinedType_ulong = (Core.Name "ulong")
_PredefinedType_ushort = (Core.Name "ushort")
data NullConditionalMemberAccess =
NullConditionalMemberAccess {
nullConditionalMemberAccessExpression :: PrimaryExpression,
nullConditionalMemberAccessIdentifier :: Identifier,
nullConditionalMemberAccessTypeArguments :: (Maybe TypeArgumentList),
nullConditionalMemberAccessDependentAccess :: [DependentAccess]}
deriving (Eq, Ord, Read, Show)
_NullConditionalMemberAccess = (Core.Name "hydra/ext/csharp/syntax.NullConditionalMemberAccess")
_NullConditionalMemberAccess_expression = (Core.Name "expression")
_NullConditionalMemberAccess_identifier = (Core.Name "identifier")
_NullConditionalMemberAccess_typeArguments = (Core.Name "typeArguments")
_NullConditionalMemberAccess_dependentAccess = (Core.Name "dependentAccess")
data DependentAccess =
DependentAccessMemberAccess DependentAccessForMember |
DependentAccessElementAccess ArgumentList |
DependentAccessInvocation (Maybe ArgumentList)
deriving (Eq, Ord, Read, Show)
_DependentAccess = (Core.Name "hydra/ext/csharp/syntax.DependentAccess")
_DependentAccess_memberAccess = (Core.Name "memberAccess")
_DependentAccess_elementAccess = (Core.Name "elementAccess")
_DependentAccess_invocation = (Core.Name "invocation")
data DependentAccessForMember =
DependentAccessForMember {
dependentAccessForMemberIdentifier :: Identifier,
dependentAccessForMemberTypeArguments :: (Maybe TypeArgumentList)}
deriving (Eq, Ord, Read, Show)
_DependentAccessForMember = (Core.Name "hydra/ext/csharp/syntax.DependentAccessForMember")
_DependentAccessForMember_identifier = (Core.Name "identifier")
_DependentAccessForMember_typeArguments = (Core.Name "typeArguments")
data NullConditionalProjectionInitializer =
NullConditionalProjectionInitializer {
nullConditionalProjectionInitializerExpression :: PrimaryExpression,
nullConditionalProjectionInitializerIdentifier :: Identifier,
nullConditionalProjectionInitializerTypeArguments :: (Maybe TypeArgumentList)}
deriving (Eq, Ord, Read, Show)
_NullConditionalProjectionInitializer = (Core.Name "hydra/ext/csharp/syntax.NullConditionalProjectionInitializer")
_NullConditionalProjectionInitializer_expression = (Core.Name "expression")
_NullConditionalProjectionInitializer_identifier = (Core.Name "identifier")
_NullConditionalProjectionInitializer_typeArguments = (Core.Name "typeArguments")
data InvocationExpression =
InvocationExpression {
invocationExpressionExpression :: PrimaryExpression,
invocationExpressionArguments :: (Maybe ArgumentList)}
deriving (Eq, Ord, Read, Show)
_InvocationExpression = (Core.Name "hydra/ext/csharp/syntax.InvocationExpression")
_InvocationExpression_expression = (Core.Name "expression")
_InvocationExpression_arguments = (Core.Name "arguments")
data NullConditionalInvocationExpression =
NullConditionalInvocationExpression {
nullConditionalInvocationExpressionHead :: NullConditionalInvocationExpressionHead,
nullConditionalInvocationExpressionArguments :: (Maybe ArgumentList)}
deriving (Eq, Ord, Read, Show)
_NullConditionalInvocationExpression = (Core.Name "hydra/ext/csharp/syntax.NullConditionalInvocationExpression")
_NullConditionalInvocationExpression_head = (Core.Name "head")
_NullConditionalInvocationExpression_arguments = (Core.Name "arguments")
data NullConditionalInvocationExpressionHead =
NullConditionalInvocationExpressionHeadMember NullConditionalMemberAccess |
NullConditionalInvocationExpressionHeadElement NullConditionalElementAccess
deriving (Eq, Ord, Read, Show)
_NullConditionalInvocationExpressionHead = (Core.Name "hydra/ext/csharp/syntax.NullConditionalInvocationExpressionHead")
_NullConditionalInvocationExpressionHead_member = (Core.Name "member")
_NullConditionalInvocationExpressionHead_element = (Core.Name "element")
data ElementAccess =
ElementAccess {
elementAccessExpression :: PrimaryNoArrayCreationExpression,
elementAccessArguments :: ArgumentList}
deriving (Eq, Ord, Read, Show)
_ElementAccess = (Core.Name "hydra/ext/csharp/syntax.ElementAccess")
_ElementAccess_expression = (Core.Name "expression")
_ElementAccess_arguments = (Core.Name "arguments")
data NullConditionalElementAccess =
NullConditionalElementAccess {
nullConditionalElementAccessExpression :: PrimaryNoArrayCreationExpression,
nullConditionalElementAccessArguments :: ArgumentList,
nullConditionalElementAccessDependentAccess :: [DependentAccess]}
deriving (Eq, Ord, Read, Show)
_NullConditionalElementAccess = (Core.Name "hydra/ext/csharp/syntax.NullConditionalElementAccess")
_NullConditionalElementAccess_expression = (Core.Name "expression")
_NullConditionalElementAccess_arguments = (Core.Name "arguments")
_NullConditionalElementAccess_dependentAccess = (Core.Name "dependentAccess")
data BaseAccess =
BaseAccessIdentifier BaseAccessWithIdentifier |
BaseAccessArguments ArgumentList
deriving (Eq, Ord, Read, Show)
_BaseAccess = (Core.Name "hydra/ext/csharp/syntax.BaseAccess")
_BaseAccess_identifier = (Core.Name "identifier")
_BaseAccess_arguments = (Core.Name "arguments")
data BaseAccessWithIdentifier =
BaseAccessWithIdentifier {
baseAccessWithIdentifierIdentifier :: Identifier,
baseAccessWithIdentifierTypeArguments :: (Maybe TypeArgumentList)}
deriving (Eq, Ord, Read, Show)
_BaseAccessWithIdentifier = (Core.Name "hydra/ext/csharp/syntax.BaseAccessWithIdentifier")
_BaseAccessWithIdentifier_identifier = (Core.Name "identifier")
_BaseAccessWithIdentifier_typeArguments = (Core.Name "typeArguments")
data ObjectCreationExpression =
ObjectCreationExpression {
objectCreationExpressionType :: Type,
objectCreationExpressionArguments :: (Maybe ArgumentList),
objectCreationExpressionInitializer :: (Maybe ObjectOrCollectionInitializer)}
deriving (Eq, Ord, Read, Show)
_ObjectCreationExpression = (Core.Name "hydra/ext/csharp/syntax.ObjectCreationExpression")
_ObjectCreationExpression_type = (Core.Name "type")
_ObjectCreationExpression_arguments = (Core.Name "arguments")
_ObjectCreationExpression_initializer = (Core.Name "initializer")
data ObjectOrCollectionInitializer =
ObjectOrCollectionInitializerObject [MemberInitializer] |
ObjectOrCollectionInitializerCollection [ElementInitializer]
deriving (Eq, Ord, Read, Show)
_ObjectOrCollectionInitializer = (Core.Name "hydra/ext/csharp/syntax.ObjectOrCollectionInitializer")
_ObjectOrCollectionInitializer_object = (Core.Name "object")
_ObjectOrCollectionInitializer_collection = (Core.Name "collection")
data MemberInitializer =
MemberInitializer {
memberInitializerTarget :: InitializerTarget,
memberInitializerValue :: InitializerValue}
deriving (Eq, Ord, Read, Show)
_MemberInitializer = (Core.Name "hydra/ext/csharp/syntax.MemberInitializer")
_MemberInitializer_target = (Core.Name "target")
_MemberInitializer_value = (Core.Name "value")
data InitializerTarget =
InitializerTargetIdentifier Identifier |
InitializerTargetArguments ArgumentList
deriving (Eq, Ord, Read, Show)
_InitializerTarget = (Core.Name "hydra/ext/csharp/syntax.InitializerTarget")
_InitializerTarget_identifier = (Core.Name "identifier")
_InitializerTarget_arguments = (Core.Name "arguments")
data InitializerValue =
InitializerValueExpression Expression |
InitializerValueObjectOrCollection ObjectOrCollectionInitializer
deriving (Eq, Ord, Read, Show)
_InitializerValue = (Core.Name "hydra/ext/csharp/syntax.InitializerValue")
_InitializerValue_expression = (Core.Name "expression")
_InitializerValue_objectOrCollection = (Core.Name "objectOrCollection")
data ElementInitializer =
ElementInitializerSingle NonAssignmentExpression |
ElementInitializerList ExpressionList
deriving (Eq, Ord, Read, Show)
_ElementInitializer = (Core.Name "hydra/ext/csharp/syntax.ElementInitializer")
_ElementInitializer_single = (Core.Name "single")
_ElementInitializer_list = (Core.Name "list")
newtype ExpressionList =
ExpressionList {
unExpressionList :: [Expression]}
deriving (Eq, Ord, Read, Show)
_ExpressionList = (Core.Name "hydra/ext/csharp/syntax.ExpressionList")
data ArrayCreationExpression =
ArrayCreationExpressionNonArrayType NonArrayTypeArrayCreationExpression |
ArrayCreationExpressionArrayType ArrayTypeArrayCreationExpression |
ArrayCreationExpressionRankSpecifier RankSpecifierArrayCreationExpression
deriving (Eq, Ord, Read, Show)
_ArrayCreationExpression = (Core.Name "hydra/ext/csharp/syntax.ArrayCreationExpression")
_ArrayCreationExpression_nonArrayType = (Core.Name "nonArrayType")
_ArrayCreationExpression_arrayType = (Core.Name "arrayType")
_ArrayCreationExpression_rankSpecifier = (Core.Name "rankSpecifier")
data NonArrayTypeArrayCreationExpression =
NonArrayTypeArrayCreationExpression {
nonArrayTypeArrayCreationExpressionType :: NonArrayType,
nonArrayTypeArrayCreationExpressionExpressions :: ExpressionList,
nonArrayTypeArrayCreationExpressionRankSpecifiers :: [RankSpecifier],
nonArrayTypeArrayCreationExpressionInitializer :: (Maybe ArrayInitializer)}
deriving (Eq, Ord, Read, Show)
_NonArrayTypeArrayCreationExpression = (Core.Name "hydra/ext/csharp/syntax.NonArrayTypeArrayCreationExpression")
_NonArrayTypeArrayCreationExpression_type = (Core.Name "type")
_NonArrayTypeArrayCreationExpression_expressions = (Core.Name "expressions")
_NonArrayTypeArrayCreationExpression_rankSpecifiers = (Core.Name "rankSpecifiers")
_NonArrayTypeArrayCreationExpression_initializer = (Core.Name "initializer")
data ArrayTypeArrayCreationExpression =
ArrayTypeArrayCreationExpression {
arrayTypeArrayCreationExpressionType :: ArrayType,
arrayTypeArrayCreationExpressionInitializer :: ArrayInitializer}
deriving (Eq, Ord, Read, Show)
_ArrayTypeArrayCreationExpression = (Core.Name "hydra/ext/csharp/syntax.ArrayTypeArrayCreationExpression")
_ArrayTypeArrayCreationExpression_type = (Core.Name "type")
_ArrayTypeArrayCreationExpression_initializer = (Core.Name "initializer")
data RankSpecifierArrayCreationExpression =
RankSpecifierArrayCreationExpression {
rankSpecifierArrayCreationExpressionRankSpecifier :: RankSpecifier,
rankSpecifierArrayCreationExpressionInitializer :: ArrayInitializer}
deriving (Eq, Ord, Read, Show)
_RankSpecifierArrayCreationExpression = (Core.Name "hydra/ext/csharp/syntax.RankSpecifierArrayCreationExpression")
_RankSpecifierArrayCreationExpression_rankSpecifier = (Core.Name "rankSpecifier")
_RankSpecifierArrayCreationExpression_initializer = (Core.Name "initializer")
data DelegateCreationExpression =
DelegateCreationExpression {
delegateCreationExpressionType :: DelegateType,
delegateCreationExpressionExpression :: Expression}
deriving (Eq, Ord, Read, Show)
_DelegateCreationExpression = (Core.Name "hydra/ext/csharp/syntax.DelegateCreationExpression")
_DelegateCreationExpression_type = (Core.Name "type")
_DelegateCreationExpression_expression = (Core.Name "expression")
newtype MemberDeclaratorList =
MemberDeclaratorList {
unMemberDeclaratorList :: [MemberDeclarator]}
deriving (Eq, Ord, Read, Show)
_MemberDeclaratorList = (Core.Name "hydra/ext/csharp/syntax.MemberDeclaratorList")
data MemberDeclarator =
MemberDeclaratorName SimpleName |
MemberDeclaratorMemberAccess MemberAccess |
MemberDeclaratorNullConditionalProjectionInitializer NullConditionalProjectionInitializer |
MemberDeclaratorBaseAccess BaseAccess |
MemberDeclaratorAssignment AssignmentMemberDeclarator
deriving (Eq, Ord, Read, Show)
_MemberDeclarator = (Core.Name "hydra/ext/csharp/syntax.MemberDeclarator")
_MemberDeclarator_name = (Core.Name "name")
_MemberDeclarator_memberAccess = (Core.Name "memberAccess")
_MemberDeclarator_nullConditionalProjectionInitializer = (Core.Name "nullConditionalProjectionInitializer")
_MemberDeclarator_baseAccess = (Core.Name "baseAccess")
_MemberDeclarator_assignment = (Core.Name "assignment")
data AssignmentMemberDeclarator =
AssignmentMemberDeclarator {
assignmentMemberDeclaratorIdentifier :: Identifier,
assignmentMemberDeclaratorExpression :: Expression}
deriving (Eq, Ord, Read, Show)
_AssignmentMemberDeclarator = (Core.Name "hydra/ext/csharp/syntax.AssignmentMemberDeclarator")
_AssignmentMemberDeclarator_identifier = (Core.Name "identifier")
_AssignmentMemberDeclarator_expression = (Core.Name "expression")
data TypeofExpression =
TypeofExpressionType Type |
TypeofExpressionUnboundTypeName UnboundTypeName |
TypeofExpressionVoid
deriving (Eq, Ord, Read, Show)
_TypeofExpression = (Core.Name "hydra/ext/csharp/syntax.TypeofExpression")
_TypeofExpression_type = (Core.Name "type")
_TypeofExpression_unboundTypeName = (Core.Name "unboundTypeName")
_TypeofExpression_void = (Core.Name "void")
newtype UnboundTypeName =
UnboundTypeName {
unUnboundTypeName :: [UnboundTypeNamePart]}
deriving (Eq, Ord, Read, Show)
_UnboundTypeName = (Core.Name "hydra/ext/csharp/syntax.UnboundTypeName")
data UnboundTypeNamePart =
UnboundTypeNamePart {
unboundTypeNamePartIdentifier :: Identifier,
unboundTypeNamePartAliased :: Bool,
unboundTypeNamePartDimension :: (Maybe Int)}
deriving (Eq, Ord, Read, Show)
_UnboundTypeNamePart = (Core.Name "hydra/ext/csharp/syntax.UnboundTypeNamePart")
_UnboundTypeNamePart_identifier = (Core.Name "identifier")
_UnboundTypeNamePart_aliased = (Core.Name "aliased")
_UnboundTypeNamePart_dimension = (Core.Name "dimension")
data DefaultValueExpression =
DefaultValueExpressionExplicitlyTyped Type |
DefaultValueExpressionDefaultLiteral
deriving (Eq, Ord, Read, Show)
_DefaultValueExpression = (Core.Name "hydra/ext/csharp/syntax.DefaultValueExpression")
_DefaultValueExpression_explicitlyTyped = (Core.Name "explicitlyTyped")
_DefaultValueExpression_defaultLiteral = (Core.Name "defaultLiteral")
data StackallocExpression =
StackallocExpression {
stackallocExpressionType :: (Maybe UnmanagedType),
stackallocExpressionExpression :: (Maybe ConstantExpression),
stackallocExpressionInitializer :: [Expression]}
deriving (Eq, Ord, Read, Show)
_StackallocExpression = (Core.Name "hydra/ext/csharp/syntax.StackallocExpression")
_StackallocExpression_type = (Core.Name "type")
_StackallocExpression_expression = (Core.Name "expression")
_StackallocExpression_initializer = (Core.Name "initializer")
data NamedEntity =
NamedEntity {
namedEntityTarget :: NamedEntityTarget,
namedEntityParts :: [NamedEntityPart]}
deriving (Eq, Ord, Read, Show)
_NamedEntity = (Core.Name "hydra/ext/csharp/syntax.NamedEntity")
_NamedEntity_target = (Core.Name "target")
_NamedEntity_parts = (Core.Name "parts")
data NamedEntityPart =
NamedEntityPart {
namedEntityPartIdentifier :: Identifier,
namedEntityPartTypeArguments :: (Maybe TypeArgumentList)}
deriving (Eq, Ord, Read, Show)
_NamedEntityPart = (Core.Name "hydra/ext/csharp/syntax.NamedEntityPart")
_NamedEntityPart_identifier = (Core.Name "identifier")
_NamedEntityPart_typeArguments = (Core.Name "typeArguments")
data NamedEntityTarget =
NamedEntityTargetName SimpleName |
NamedEntityTargetThis |
NamedEntityTargetBase |
NamedEntityTargetPredefinedType PredefinedType |
NamedEntityTargetQualifiedAliasMember QualifiedAliasMember
deriving (Eq, Ord, Read, Show)
_NamedEntityTarget = (Core.Name "hydra/ext/csharp/syntax.NamedEntityTarget")
_NamedEntityTarget_name = (Core.Name "name")
_NamedEntityTarget_this = (Core.Name "this")
_NamedEntityTarget_base = (Core.Name "base")
_NamedEntityTarget_predefinedType = (Core.Name "predefinedType")
_NamedEntityTarget_qualifiedAliasMember = (Core.Name "qualifiedAliasMember")
data UnaryExpression =
UnaryExpressionPrimary PrimaryExpression |
UnaryExpressionPlus UnaryExpression |
UnaryExpressionMinus UnaryExpression |
UnaryExpressionNot UnaryExpression |
UnaryExpressionBitwiseComplement UnaryExpression |
UnaryExpressionPreIncrement UnaryExpression |
UnaryExpressionPreDecrement UnaryExpression |
UnaryExpressionCast CastExpression |
UnaryExpressionAwait UnaryExpression |
UnaryExpressionPointerIndirection UnaryExpression |
UnaryExpressionAddressOf UnaryExpression
deriving (Eq, Ord, Read, Show)
_UnaryExpression = (Core.Name "hydra/ext/csharp/syntax.UnaryExpression")
_UnaryExpression_primary = (Core.Name "primary")
_UnaryExpression_plus = (Core.Name "plus")
_UnaryExpression_minus = (Core.Name "minus")
_UnaryExpression_not = (Core.Name "not")
_UnaryExpression_bitwiseComplement = (Core.Name "bitwiseComplement")
_UnaryExpression_preIncrement = (Core.Name "preIncrement")
_UnaryExpression_preDecrement = (Core.Name "preDecrement")
_UnaryExpression_cast = (Core.Name "cast")
_UnaryExpression_await = (Core.Name "await")
_UnaryExpression_pointerIndirection = (Core.Name "pointerIndirection")
_UnaryExpression_addressOf = (Core.Name "addressOf")
data CastExpression =
CastExpression {
castExpressionType :: Type,
castExpressionExpression :: UnaryExpression}
deriving (Eq, Ord, Read, Show)
_CastExpression = (Core.Name "hydra/ext/csharp/syntax.CastExpression")
_CastExpression_type = (Core.Name "type")
_CastExpression_expression = (Core.Name "expression")
data MultiplicativeExpression =
MultiplicativeExpressionSimple UnaryExpression |
MultiplicativeExpressionBinary BinaryMultiplicativeExpression
deriving (Eq, Ord, Read, Show)
_MultiplicativeExpression = (Core.Name "hydra/ext/csharp/syntax.MultiplicativeExpression")
_MultiplicativeExpression_simple = (Core.Name "simple")
_MultiplicativeExpression_binary = (Core.Name "binary")
data BinaryMultiplicativeExpression =
BinaryMultiplicativeExpression {
binaryMultiplicativeExpressionLeft :: MultiplicativeExpression,
binaryMultiplicativeExpressionOperator :: MultiplicativeOperator,
binaryMultiplicativeExpressionRight :: UnaryExpression}
deriving (Eq, Ord, Read, Show)
_BinaryMultiplicativeExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryMultiplicativeExpression")
_BinaryMultiplicativeExpression_left = (Core.Name "left")
_BinaryMultiplicativeExpression_operator = (Core.Name "operator")
_BinaryMultiplicativeExpression_right = (Core.Name "right")
data MultiplicativeOperator =
MultiplicativeOperatorTimes |
MultiplicativeOperatorDivide |
MultiplicativeOperatorModulo
deriving (Eq, Ord, Read, Show)
_MultiplicativeOperator = (Core.Name "hydra/ext/csharp/syntax.MultiplicativeOperator")
_MultiplicativeOperator_times = (Core.Name "times")
_MultiplicativeOperator_divide = (Core.Name "divide")
_MultiplicativeOperator_modulo = (Core.Name "modulo")
data AdditiveExpression =
AdditiveExpressionSimple MultiplicativeExpression |
AdditiveExpressionBinary BinaryAdditiveExpression
deriving (Eq, Ord, Read, Show)
_AdditiveExpression = (Core.Name "hydra/ext/csharp/syntax.AdditiveExpression")
_AdditiveExpression_simple = (Core.Name "simple")
_AdditiveExpression_binary = (Core.Name "binary")
data BinaryAdditiveExpression =
BinaryAdditiveExpression {
binaryAdditiveExpressionLeft :: AdditiveExpression,
binaryAdditiveExpressionOperator :: AdditiveOperator,
binaryAdditiveExpressionRight :: MultiplicativeExpression}
deriving (Eq, Ord, Read, Show)
_BinaryAdditiveExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryAdditiveExpression")
_BinaryAdditiveExpression_left = (Core.Name "left")
_BinaryAdditiveExpression_operator = (Core.Name "operator")
_BinaryAdditiveExpression_right = (Core.Name "right")
data AdditiveOperator =
AdditiveOperatorPlus |
AdditiveOperatorMinus
deriving (Eq, Ord, Read, Show)
_AdditiveOperator = (Core.Name "hydra/ext/csharp/syntax.AdditiveOperator")
_AdditiveOperator_plus = (Core.Name "plus")
_AdditiveOperator_minus = (Core.Name "minus")
data ShiftExpression =
ShiftExpressionSimple AdditiveExpression |
ShiftExpressionBinary BinaryShiftExpression
deriving (Eq, Ord, Read, Show)
_ShiftExpression = (Core.Name "hydra/ext/csharp/syntax.ShiftExpression")
_ShiftExpression_simple = (Core.Name "simple")
_ShiftExpression_binary = (Core.Name "binary")
data BinaryShiftExpression =
BinaryShiftExpression {
binaryShiftExpressionLeft :: ShiftExpression,
binaryShiftExpressionOperator :: ShiftOperator,
binaryShiftExpressionRight :: AdditiveExpression}
deriving (Eq, Ord, Read, Show)
_BinaryShiftExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryShiftExpression")
_BinaryShiftExpression_left = (Core.Name "left")
_BinaryShiftExpression_operator = (Core.Name "operator")
_BinaryShiftExpression_right = (Core.Name "right")
data ShiftOperator =
ShiftOperatorLeft |
ShiftOperatorRight
deriving (Eq, Ord, Read, Show)
_ShiftOperator = (Core.Name "hydra/ext/csharp/syntax.ShiftOperator")
_ShiftOperator_left = (Core.Name "left")
_ShiftOperator_right = (Core.Name "right")
data RelationalExpression =
RelationalExpressionSimple ShiftExpression |
RelationalExpressionBinary BinaryRelationalExpression |
RelationalExpressionIsType IsTypeExpression |
RelationalExpressionIsPattern IsPatternExpression |
RelationalExpressionAsType AsTypeExpression
deriving (Eq, Ord, Read, Show)
_RelationalExpression = (Core.Name "hydra/ext/csharp/syntax.RelationalExpression")
_RelationalExpression_simple = (Core.Name "simple")
_RelationalExpression_binary = (Core.Name "binary")
_RelationalExpression_isType = (Core.Name "isType")
_RelationalExpression_isPattern = (Core.Name "isPattern")
_RelationalExpression_asType = (Core.Name "asType")
data BinaryRelationalExpression =
BinaryRelationalExpression {
binaryRelationalExpressionLeft :: RelationalExpression,
binaryRelationalExpressionOperator :: RelationalOperator,
binaryRelationalExpressionRight :: ShiftExpression}
deriving (Eq, Ord, Read, Show)
_BinaryRelationalExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryRelationalExpression")
_BinaryRelationalExpression_left = (Core.Name "left")
_BinaryRelationalExpression_operator = (Core.Name "operator")
_BinaryRelationalExpression_right = (Core.Name "right")
data RelationalOperator =
RelationalOperatorLessThan |
RelationalOperatorGreaterThan |
RelationalOperatorLessThanOrEqual |
RelationalOperatorGreaterThanOrEqual
deriving (Eq, Ord, Read, Show)
_RelationalOperator = (Core.Name "hydra/ext/csharp/syntax.RelationalOperator")
_RelationalOperator_lessThan = (Core.Name "lessThan")
_RelationalOperator_greaterThan = (Core.Name "greaterThan")
_RelationalOperator_lessThanOrEqual = (Core.Name "lessThanOrEqual")
_RelationalOperator_greaterThanOrEqual = (Core.Name "greaterThanOrEqual")
data IsTypeExpression =
IsTypeExpression {
isTypeExpressionExpression :: RelationalExpression,
isTypeExpressionType :: Type}
deriving (Eq, Ord, Read, Show)
_IsTypeExpression = (Core.Name "hydra/ext/csharp/syntax.IsTypeExpression")
_IsTypeExpression_expression = (Core.Name "expression")
_IsTypeExpression_type = (Core.Name "type")
data IsPatternExpression =
IsPatternExpression {
isPatternExpressionExpression :: RelationalExpression,
isPatternExpressionPattern :: Pattern}
deriving (Eq, Ord, Read, Show)
_IsPatternExpression = (Core.Name "hydra/ext/csharp/syntax.IsPatternExpression")
_IsPatternExpression_expression = (Core.Name "expression")
_IsPatternExpression_pattern = (Core.Name "pattern")
data AsTypeExpression =
AsTypeExpression {
asTypeExpressionExpression :: RelationalExpression,
asTypeExpressionType :: Type}
deriving (Eq, Ord, Read, Show)
_AsTypeExpression = (Core.Name "hydra/ext/csharp/syntax.AsTypeExpression")
_AsTypeExpression_expression = (Core.Name "expression")
_AsTypeExpression_type = (Core.Name "type")
data EqualityExpression =
EqualityExpressionSimple RelationalExpression |
EqualityExpressionBinary BinaryEqualityExpression
deriving (Eq, Ord, Read, Show)
_EqualityExpression = (Core.Name "hydra/ext/csharp/syntax.EqualityExpression")
_EqualityExpression_simple = (Core.Name "simple")
_EqualityExpression_binary = (Core.Name "binary")
data BinaryEqualityExpression =
BinaryEqualityExpression {
binaryEqualityExpressionLeft :: EqualityExpression,
binaryEqualityExpressionOperator :: EqualityOperator,
binaryEqualityExpressionRight :: RelationalExpression}
deriving (Eq, Ord, Read, Show)
_BinaryEqualityExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryEqualityExpression")
_BinaryEqualityExpression_left = (Core.Name "left")
_BinaryEqualityExpression_operator = (Core.Name "operator")
_BinaryEqualityExpression_right = (Core.Name "right")
data EqualityOperator =
EqualityOperatorEqual |
EqualityOperatorNotEqual
deriving (Eq, Ord, Read, Show)
_EqualityOperator = (Core.Name "hydra/ext/csharp/syntax.EqualityOperator")
_EqualityOperator_equal = (Core.Name "equal")
_EqualityOperator_notEqual = (Core.Name "notEqual")
data AndExpression =
AndExpressionSimple EqualityExpression |
AndExpressionBinary BinaryAndExpression
deriving (Eq, Ord, Read, Show)
_AndExpression = (Core.Name "hydra/ext/csharp/syntax.AndExpression")
_AndExpression_simple = (Core.Name "simple")
_AndExpression_binary = (Core.Name "binary")
data BinaryAndExpression =
BinaryAndExpression {
binaryAndExpressionLeft :: AndExpression,
binaryAndExpressionRight :: EqualityExpression}
deriving (Eq, Ord, Read, Show)
_BinaryAndExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryAndExpression")
_BinaryAndExpression_left = (Core.Name "left")
_BinaryAndExpression_right = (Core.Name "right")
data ExclusiveOrExpression =
ExclusiveOrExpressionSimple AndExpression |
ExclusiveOrExpressionBinary BinaryExclusiveOrExpression
deriving (Eq, Ord, Read, Show)
_ExclusiveOrExpression = (Core.Name "hydra/ext/csharp/syntax.ExclusiveOrExpression")
_ExclusiveOrExpression_simple = (Core.Name "simple")
_ExclusiveOrExpression_binary = (Core.Name "binary")
data BinaryExclusiveOrExpression =
BinaryExclusiveOrExpression {
binaryExclusiveOrExpressionLeft :: ExclusiveOrExpression,
binaryExclusiveOrExpressionRight :: AndExpression}
deriving (Eq, Ord, Read, Show)
_BinaryExclusiveOrExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryExclusiveOrExpression")
_BinaryExclusiveOrExpression_left = (Core.Name "left")
_BinaryExclusiveOrExpression_right = (Core.Name "right")
data InclusiveOrExpression =
InclusiveOrExpressionSimple ExclusiveOrExpression |
InclusiveOrExpressionBinary BinaryInclusiveOrExpression
deriving (Eq, Ord, Read, Show)
_InclusiveOrExpression = (Core.Name "hydra/ext/csharp/syntax.InclusiveOrExpression")
_InclusiveOrExpression_simple = (Core.Name "simple")
_InclusiveOrExpression_binary = (Core.Name "binary")
data BinaryInclusiveOrExpression =
BinaryInclusiveOrExpression {
binaryInclusiveOrExpressionLeft :: InclusiveOrExpression,
binaryInclusiveOrExpressionRight :: ExclusiveOrExpression}
deriving (Eq, Ord, Read, Show)
_BinaryInclusiveOrExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryInclusiveOrExpression")
_BinaryInclusiveOrExpression_left = (Core.Name "left")
_BinaryInclusiveOrExpression_right = (Core.Name "right")
data ConditionalAndExpression =
ConditionalAndExpressionSimple InclusiveOrExpression |
ConditionalAndExpressionBinary BinaryConditionalAndExpression
deriving (Eq, Ord, Read, Show)
_ConditionalAndExpression = (Core.Name "hydra/ext/csharp/syntax.ConditionalAndExpression")
_ConditionalAndExpression_simple = (Core.Name "simple")
_ConditionalAndExpression_binary = (Core.Name "binary")
data BinaryConditionalAndExpression =
BinaryConditionalAndExpression {
binaryConditionalAndExpressionLeft :: ConditionalAndExpression,
binaryConditionalAndExpressionRight :: InclusiveOrExpression}
deriving (Eq, Ord, Read, Show)
_BinaryConditionalAndExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryConditionalAndExpression")
_BinaryConditionalAndExpression_left = (Core.Name "left")
_BinaryConditionalAndExpression_right = (Core.Name "right")
data ConditionalOrExpression =
ConditionalOrExpressionSimple ConditionalAndExpression |
ConditionalOrExpressionBinary BinaryConditionalOrExpression
deriving (Eq, Ord, Read, Show)
_ConditionalOrExpression = (Core.Name "hydra/ext/csharp/syntax.ConditionalOrExpression")
_ConditionalOrExpression_simple = (Core.Name "simple")
_ConditionalOrExpression_binary = (Core.Name "binary")
data BinaryConditionalOrExpression =
BinaryConditionalOrExpression {
binaryConditionalOrExpressionLeft :: ConditionalOrExpression,
binaryConditionalOrExpressionRight :: ConditionalAndExpression}
deriving (Eq, Ord, Read, Show)
_BinaryConditionalOrExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryConditionalOrExpression")
_BinaryConditionalOrExpression_left = (Core.Name "left")
_BinaryConditionalOrExpression_right = (Core.Name "right")
data NullCoalescingExpression =
NullCoalescingExpressionSimple ConditionalOrExpression |
NullCoalescingExpressionBinary BinaryNullCoalescingExpression |
NullCoalescingExpressionThrow NullCoalescingExpression
deriving (Eq, Ord, Read, Show)
_NullCoalescingExpression = (Core.Name "hydra/ext/csharp/syntax.NullCoalescingExpression")
_NullCoalescingExpression_simple = (Core.Name "simple")
_NullCoalescingExpression_binary = (Core.Name "binary")
_NullCoalescingExpression_throw = (Core.Name "throw")
data BinaryNullCoalescingExpression =
BinaryNullCoalescingExpression {
binaryNullCoalescingExpressionLeft :: ConditionalOrExpression,
binaryNullCoalescingExpressionRight :: NullCoalescingExpression}
deriving (Eq, Ord, Read, Show)
_BinaryNullCoalescingExpression = (Core.Name "hydra/ext/csharp/syntax.BinaryNullCoalescingExpression")
_BinaryNullCoalescingExpression_left = (Core.Name "left")
_BinaryNullCoalescingExpression_right = (Core.Name "right")
data DeclarationExpression =
DeclarationExpression {
declarationExpressionType :: LocalVariableType,
declarationExpressionIdentifier :: Identifier}
deriving (Eq, Ord, Read, Show)
_DeclarationExpression = (Core.Name "hydra/ext/csharp/syntax.DeclarationExpression")
_DeclarationExpression_type = (Core.Name "type")
_DeclarationExpression_identifier = (Core.Name "identifier")
data LocalVariableType =
LocalVariableTypeType Type |
LocalVariableTypeVar
deriving (Eq, Ord, Read, Show)
_LocalVariableType = (Core.Name "hydra/ext/csharp/syntax.LocalVariableType")
_LocalVariableType_type = (Core.Name "type")
_LocalVariableType_var = (Core.Name "var")
data ConditionalExpression =
ConditionalExpressionSimple NullCoalescingExpression |
ConditionalExpressionSimpleConditional SimpleConditionalExpression |
ConditionalExpressionRefConditional RefConditionalExpression
deriving (Eq, Ord, Read, Show)
_ConditionalExpression = (Core.Name "hydra/ext/csharp/syntax.ConditionalExpression")
_ConditionalExpression_simple = (Core.Name "simple")
_ConditionalExpression_simpleConditional = (Core.Name "simpleConditional")
_ConditionalExpression_refConditional = (Core.Name "refConditional")
data SimpleConditionalExpression =
SimpleConditionalExpression {
simpleConditionalExpressionCondition :: NullCoalescingExpression,
simpleConditionalExpressionTrue :: Expression,
simpleConditionalExpressionFalse :: Expression}
deriving (Eq, Ord, Read, Show)
_SimpleConditionalExpression = (Core.Name "hydra/ext/csharp/syntax.SimpleConditionalExpression")
_SimpleConditionalExpression_condition = (Core.Name "condition")
_SimpleConditionalExpression_true = (Core.Name "true")
_SimpleConditionalExpression_false = (Core.Name "false")
data RefConditionalExpression =
RefConditionalExpression {
refConditionalExpressionCondition :: NullCoalescingExpression,
refConditionalExpressionTrue :: VariableReference,
refConditionalExpressionFalse :: VariableReference}
deriving (Eq, Ord, Read, Show)
_RefConditionalExpression = (Core.Name "hydra/ext/csharp/syntax.RefConditionalExpression")
_RefConditionalExpression_condition = (Core.Name "condition")
_RefConditionalExpression_true = (Core.Name "true")
_RefConditionalExpression_false = (Core.Name "false")
data LambdaExpression =
LambdaExpression {
lambdaExpressionAsync :: Bool,
lambdaExpressionSignature :: AnonymousFunctionSignature,
lambdaExpressionBody :: AnonymousFunctionBody}
deriving (Eq, Ord, Read, Show)
_LambdaExpression = (Core.Name "hydra/ext/csharp/syntax.LambdaExpression")
_LambdaExpression_async = (Core.Name "async")
_LambdaExpression_signature = (Core.Name "signature")
_LambdaExpression_body = (Core.Name "body")
data AnonymousMethodExpression =
AnonymousMethodExpression {
anonymousMethodExpressionAsync :: Bool,
anonymousMethodExpressionSignature :: [ExplicitAnonymousFunctionParameter],
anonymousMethodExpressionBody :: Block}
deriving (Eq, Ord, Read, Show)
_AnonymousMethodExpression = (Core.Name "hydra/ext/csharp/syntax.AnonymousMethodExpression")
_AnonymousMethodExpression_async = (Core.Name "async")
_AnonymousMethodExpression_signature = (Core.Name "signature")
_AnonymousMethodExpression_body = (Core.Name "body")
data AnonymousFunctionSignature =
AnonymousFunctionSignatureExplicit [ExplicitAnonymousFunctionParameter] |
AnonymousFunctionSignatureImplicit [Identifier]
deriving (Eq, Ord, Read, Show)
_AnonymousFunctionSignature = (Core.Name "hydra/ext/csharp/syntax.AnonymousFunctionSignature")
_AnonymousFunctionSignature_explicit = (Core.Name "explicit")
_AnonymousFunctionSignature_implicit = (Core.Name "implicit")
data ExplicitAnonymousFunctionParameter =
ExplicitAnonymousFunctionParameter {
explicitAnonymousFunctionParameterModifier :: (Maybe AnonymousFunctionParameterModifier),
explicitAnonymousFunctionParameterType :: Type,
explicitAnonymousFunctionParameterIdentifier :: Identifier}
deriving (Eq, Ord, Read, Show)
_ExplicitAnonymousFunctionParameter = (Core.Name "hydra/ext/csharp/syntax.ExplicitAnonymousFunctionParameter")
_ExplicitAnonymousFunctionParameter_modifier = (Core.Name "modifier")
_ExplicitAnonymousFunctionParameter_type = (Core.Name "type")
_ExplicitAnonymousFunctionParameter_identifier = (Core.Name "identifier")
data AnonymousFunctionParameterModifier =
AnonymousFunctionParameterModifierRef |
AnonymousFunctionParameterModifierOut |
AnonymousFunctionParameterModifierIn
deriving (Eq, Ord, Read, Show)
_AnonymousFunctionParameterModifier = (Core.Name "hydra/ext/csharp/syntax.AnonymousFunctionParameterModifier")
_AnonymousFunctionParameterModifier_ref = (Core.Name "ref")
_AnonymousFunctionParameterModifier_out = (Core.Name "out")
_AnonymousFunctionParameterModifier_in = (Core.Name "in")
data AnonymousFunctionBody =
AnonymousFunctionBodyNullConditionalInvocation NullConditionalInvocationExpression |
AnonymousFunctionBodyExpression Expression |
AnonymousFunctionBodyRef VariableReference |
AnonymousFunctionBodyBlock Block
deriving (Eq, Ord, Read, Show)
_AnonymousFunctionBody = (Core.Name "hydra/ext/csharp/syntax.AnonymousFunctionBody")
_AnonymousFunctionBody_nullConditionalInvocation = (Core.Name "nullConditionalInvocation")
_AnonymousFunctionBody_expression = (Core.Name "expression")
_AnonymousFunctionBody_ref = (Core.Name "ref")
_AnonymousFunctionBody_block = (Core.Name "block")
data QueryExpression =
QueryExpression {
queryExpressionFrom :: FromClause,
queryExpressionBody :: QueryBody}
deriving (Eq, Ord, Read, Show)
_QueryExpression = (Core.Name "hydra/ext/csharp/syntax.QueryExpression")
_QueryExpression_from = (Core.Name "from")
_QueryExpression_body = (Core.Name "body")
data FromClause =
FromClause {
fromClauseType :: (Maybe Type),
fromClauseIdentifier :: Identifier,
fromClauseIn :: Expression}
deriving (Eq, Ord, Read, Show)
_FromClause = (Core.Name "hydra/ext/csharp/syntax.FromClause")
_FromClause_type = (Core.Name "type")
_FromClause_identifier = (Core.Name "identifier")
_FromClause_in = (Core.Name "in")
data QueryBody =
QueryBody {
queryBodyClauses :: [QueryBodyClause],
queryBodySelectOrGroup :: SelectOrGroupClause,
queryBodyContinuation :: (Maybe QueryContinuation)}
deriving (Eq, Ord, Read, Show)
_QueryBody = (Core.Name "hydra/ext/csharp/syntax.QueryBody")
_QueryBody_clauses = (Core.Name "clauses")
_QueryBody_selectOrGroup = (Core.Name "selectOrGroup")
_QueryBody_continuation = (Core.Name "continuation")
data QueryBodyClause =
QueryBodyClauseFrom FromClause |
QueryBodyClauseLet LetClause |
QueryBodyClauseWhere BooleanExpression |
QueryBodyClauseJoin JoinClause |
QueryBodyClauseOrderby [Ordering_]
deriving (Eq, Ord, Read, Show)
_QueryBodyClause = (Core.Name "hydra/ext/csharp/syntax.QueryBodyClause")
_QueryBodyClause_from = (Core.Name "from")
_QueryBodyClause_let = (Core.Name "let")
_QueryBodyClause_where = (Core.Name "where")
_QueryBodyClause_join = (Core.Name "join")
_QueryBodyClause_orderby = (Core.Name "orderby")
data LetClause =
LetClause {
letClauseLeft :: Identifier,
letClauseRight :: Expression}
deriving (Eq, Ord, Read, Show)
_LetClause = (Core.Name "hydra/ext/csharp/syntax.LetClause")
_LetClause_left = (Core.Name "left")
_LetClause_right = (Core.Name "right")
data JoinClause =
JoinClause {
joinClauseType :: (Maybe Type),
joinClauseIdentifier :: Identifier,
joinClauseIn :: Expression,
joinClauseOn :: Expression,
joinClauseEquals :: Expression,
joinClauseInto :: (Maybe Identifier)}
deriving (Eq, Ord, Read, Show)
_JoinClause = (Core.Name "hydra/ext/csharp/syntax.JoinClause")
_JoinClause_type = (Core.Name "type")
_JoinClause_identifier = (Core.Name "identifier")
_JoinClause_in = (Core.Name "in")
_JoinClause_on = (Core.Name "on")
_JoinClause_equals = (Core.Name "equals")
_JoinClause_into = (Core.Name "into")
data Ordering_ =
Ordering_ {
orderingExpression :: Expression,
orderingDirection :: (Maybe OrderingDirection)}
deriving (Eq, Ord, Read, Show)
_Ordering = (Core.Name "hydra/ext/csharp/syntax.Ordering")
_Ordering_expression = (Core.Name "expression")
_Ordering_direction = (Core.Name "direction")
data OrderingDirection =
OrderingDirectionAscending |
OrderingDirectionDescending
deriving (Eq, Ord, Read, Show)
_OrderingDirection = (Core.Name "hydra/ext/csharp/syntax.OrderingDirection")
_OrderingDirection_ascending = (Core.Name "ascending")
_OrderingDirection_descending = (Core.Name "descending")
data SelectOrGroupClause =
SelectOrGroupClauseSelect Expression |
SelectOrGroupClauseGroup GroupClause
deriving (Eq, Ord, Read, Show)
_SelectOrGroupClause = (Core.Name "hydra/ext/csharp/syntax.SelectOrGroupClause")
_SelectOrGroupClause_select = (Core.Name "select")
_SelectOrGroupClause_group = (Core.Name "group")
data GroupClause =
GroupClause {
groupClauseGrouped :: Expression,
groupClauseBy :: Expression}
deriving (Eq, Ord, Read, Show)
_GroupClause = (Core.Name "hydra/ext/csharp/syntax.GroupClause")
_GroupClause_grouped = (Core.Name "grouped")
_GroupClause_by = (Core.Name "by")
data QueryContinuation =
QueryContinuation {
queryContinuationInto :: Identifier,
queryContinuationBody :: QueryBody}
deriving (Eq, Ord, Read, Show)
_QueryContinuation = (Core.Name "hydra/ext/csharp/syntax.QueryContinuation")
_QueryContinuation_into = (Core.Name "into")
_QueryContinuation_body = (Core.Name "body")
data Assignment =
Assignment {
assignmentLeft :: UnaryExpression,
assignmentOperator :: AssignmentOperator,
assignmentRight :: Expression}
deriving (Eq, Ord, Read, Show)
_Assignment = (Core.Name "hydra/ext/csharp/syntax.Assignment")
_Assignment_left = (Core.Name "left")
_Assignment_operator = (Core.Name "operator")
_Assignment_right = (Core.Name "right")
data AssignmentOperator =
AssignmentOperatorSimple Bool |
AssignmentOperatorPlusEquals |
AssignmentOperatorMinusEquals |
AssignmentOperatorTimesEquals |
AssignmentOperatorDivideEquals |
AssignmentOperatorModEquals |
AssignmentOperatorAndEquals |
AssignmentOperatorOrEquals |
AssignmentOperatorXorEquals |
AssignmentOperatorLeftShiftEquals |
AssignmentOperatorRightShiftEquals
deriving (Eq, Ord, Read, Show)
_AssignmentOperator = (Core.Name "hydra/ext/csharp/syntax.AssignmentOperator")
_AssignmentOperator_simple = (Core.Name "simple")
_AssignmentOperator_plusEquals = (Core.Name "plusEquals")
_AssignmentOperator_minusEquals = (Core.Name "minusEquals")
_AssignmentOperator_timesEquals = (Core.Name "timesEquals")
_AssignmentOperator_divideEquals = (Core.Name "divideEquals")
_AssignmentOperator_modEquals = (Core.Name "modEquals")
_AssignmentOperator_andEquals = (Core.Name "andEquals")
_AssignmentOperator_orEquals = (Core.Name "orEquals")
_AssignmentOperator_xorEquals = (Core.Name "xorEquals")
_AssignmentOperator_leftShiftEquals = (Core.Name "leftShiftEquals")
_AssignmentOperator_rightShiftEquals = (Core.Name "rightShiftEquals")
data Expression =
ExpressionNonAssignment NonAssignmentExpression |
ExpressionAssignment Assignment
deriving (Eq, Ord, Read, Show)
_Expression = (Core.Name "hydra/ext/csharp/syntax.Expression")
_Expression_nonAssignment = (Core.Name "nonAssignment")
_Expression_assignment = (Core.Name "assignment")
data NonAssignmentExpression =
NonAssignmentExpressionDeclaration DeclarationExpression |
NonAssignmentExpressionConditional ConditionalExpression |
NonAssignmentExpressionLambda LambdaExpression |
NonAssignmentExpressionQuery QueryExpression
deriving (Eq, Ord, Read, Show)
_NonAssignmentExpression = (Core.Name "hydra/ext/csharp/syntax.NonAssignmentExpression")
_NonAssignmentExpression_declaration = (Core.Name "declaration")
_NonAssignmentExpression_conditional = (Core.Name "conditional")
_NonAssignmentExpression_lambda = (Core.Name "lambda")
_NonAssignmentExpression_query = (Core.Name "query")
newtype ConstantExpression =
ConstantExpression {
unConstantExpression :: Expression}
deriving (Eq, Ord, Read, Show)
_ConstantExpression = (Core.Name "hydra/ext/csharp/syntax.ConstantExpression")
newtype BooleanExpression =
BooleanExpression {
unBooleanExpression :: Expression}
deriving (Eq, Ord, Read, Show)
_BooleanExpression = (Core.Name "hydra/ext/csharp/syntax.BooleanExpression")
data Statement =
StatementLabeled LabeledStatement |
StatementDeclaration DeclarationStatement |
StatementEmbedded EmbeddedStatement
deriving (Eq, Ord, Read, Show)
_Statement = (Core.Name "hydra/ext/csharp/syntax.Statement")
_Statement_labeled = (Core.Name "labeled")
_Statement_declaration = (Core.Name "declaration")
_Statement_embedded = (Core.Name "embedded")
data EmbeddedStatement =
EmbeddedStatementBlock Block |
EmbeddedStatementEmpty |
EmbeddedStatementExpression StatementExpression |
EmbeddedStatementSelection SelectionStatement |
EmbeddedStatementIteration IterationStatement |
EmbeddedStatementJump JumpStatement |
EmbeddedStatementTry TryStatement |
EmbeddedStatementChecked Block |
EmbeddedStatementUnchecked Block |
EmbeddedStatementLock LockStatement |
EmbeddedStatementUsing UsingStatement |
EmbeddedStatementYield YieldStatement |
EmbeddedStatementUnsafe Block |
EmbeddedStatementFixed FixedStatement
deriving (Eq, Ord, Read, Show)
_EmbeddedStatement = (Core.Name "hydra/ext/csharp/syntax.EmbeddedStatement")
_EmbeddedStatement_block = (Core.Name "block")
_EmbeddedStatement_empty = (Core.Name "empty")
_EmbeddedStatement_expression = (Core.Name "expression")
_EmbeddedStatement_selection = (Core.Name "selection")
_EmbeddedStatement_iteration = (Core.Name "iteration")
_EmbeddedStatement_jump = (Core.Name "jump")
_EmbeddedStatement_try = (Core.Name "try")
_EmbeddedStatement_checked = (Core.Name "checked")
_EmbeddedStatement_unchecked = (Core.Name "unchecked")
_EmbeddedStatement_lock = (Core.Name "lock")
_EmbeddedStatement_using = (Core.Name "using")
_EmbeddedStatement_yield = (Core.Name "yield")
_EmbeddedStatement_unsafe = (Core.Name "unsafe")
_EmbeddedStatement_fixed = (Core.Name "fixed")
newtype Block =
Block {
unBlock :: [Statement]}
deriving (Eq, Ord, Read, Show)
_Block = (Core.Name "hydra/ext/csharp/syntax.Block")
data LabeledStatement =
LabeledStatement {
labeledStatementLabel :: Identifier,
labeledStatementStatement :: Statement}
deriving (Eq, Ord, Read, Show)
_LabeledStatement = (Core.Name "hydra/ext/csharp/syntax.LabeledStatement")
_LabeledStatement_label = (Core.Name "label")
_LabeledStatement_statement = (Core.Name "statement")
data DeclarationStatement =
DeclarationStatementVariable LocalVariableDeclaration |
DeclarationStatementConstant LocalConstantDeclaration |
DeclarationStatementFunction LocalFunctionDeclaration
deriving (Eq, Ord, Read, Show)
_DeclarationStatement = (Core.Name "hydra/ext/csharp/syntax.DeclarationStatement")
_DeclarationStatement_variable = (Core.Name "variable")
_DeclarationStatement_constant = (Core.Name "constant")
_DeclarationStatement_function = (Core.Name "function")
data LocalVariableDeclaration =
LocalVariableDeclarationImplicitlyTyped ImplicitlyTypedLocalVariableDeclaration |
LocalVariableDeclarationExplicitlyTyped ExplicitlyTypedLocalVariableDeclaration |
LocalVariableDeclarationRef RefLocalVariableDeclaration
deriving (Eq, Ord, Read, Show)
_LocalVariableDeclaration = (Core.Name "hydra/ext/csharp/syntax.LocalVariableDeclaration")
_LocalVariableDeclaration_implicitlyTyped = (Core.Name "implicitlyTyped")
_LocalVariableDeclaration_explicitlyTyped = (Core.Name "explicitlyTyped")
_LocalVariableDeclaration_ref = (Core.Name "ref")
data ImplicitlyTypedLocalVariableDeclaration =
ImplicitlyTypedLocalVariableDeclarationVar ImplicitlyTypedLocalVariableDeclarator |
ImplicitlyTypedLocalVariableDeclarationRefVar RefVarImplicitlyTypedLocalVariableDeclaration
deriving (Eq, Ord, Read, Show)
_ImplicitlyTypedLocalVariableDeclaration = (Core.Name "hydra/ext/csharp/syntax.ImplicitlyTypedLocalVariableDeclaration")
_ImplicitlyTypedLocalVariableDeclaration_var = (Core.Name "var")
_ImplicitlyTypedLocalVariableDeclaration_refVar = (Core.Name "refVar")
data RefVarImplicitlyTypedLocalVariableDeclaration =
RefVarImplicitlyTypedLocalVariableDeclaration {
refVarImplicitlyTypedLocalVariableDeclarationRefKind :: RefKind,
refVarImplicitlyTypedLocalVariableDeclarationDeclarator :: RefLocalVariableDeclarator}
deriving (Eq, Ord, Read, Show)
_RefVarImplicitlyTypedLocalVariableDeclaration = (Core.Name "hydra/ext/csharp/syntax.RefVarImplicitlyTypedLocalVariableDeclaration")
_RefVarImplicitlyTypedLocalVariableDeclaration_refKind = (Core.Name "refKind")
_RefVarImplicitlyTypedLocalVariableDeclaration_declarator = (Core.Name "declarator")
data ImplicitlyTypedLocalVariableDeclarator =
ImplicitlyTypedLocalVariableDeclarator {
implicitlyTypedLocalVariableDeclaratorIdentifier :: Identifier,
implicitlyTypedLocalVariableDeclaratorExpression :: Expression}
deriving (Eq, Ord, Read, Show)
_ImplicitlyTypedLocalVariableDeclarator = (Core.Name "hydra/ext/csharp/syntax.ImplicitlyTypedLocalVariableDeclarator")
_ImplicitlyTypedLocalVariableDeclarator_identifier = (Core.Name "identifier")
_ImplicitlyTypedLocalVariableDeclarator_expression = (Core.Name "expression")
data ExplicitlyTypedLocalVariableDeclaration =
ExplicitlyTypedLocalVariableDeclaration {
explicitlyTypedLocalVariableDeclarationType :: Type,
explicitlyTypedLocalVariableDeclarationDeclarators :: [ExplicitlyTypedLocalVariableDeclarator]}
deriving (Eq, Ord, Read, Show)
_ExplicitlyTypedLocalVariableDeclaration = (Core.Name "hydra/ext/csharp/syntax.ExplicitlyTypedLocalVariableDeclaration")
_ExplicitlyTypedLocalVariableDeclaration_type = (Core.Name "type")
_ExplicitlyTypedLocalVariableDeclaration_declarators = (Core.Name "declarators")
data ExplicitlyTypedLocalVariableDeclarator =
ExplicitlyTypedLocalVariableDeclarator {
explicitlyTypedLocalVariableDeclaratorIdentifier :: Identifier,
explicitlyTypedLocalVariableDeclaratorInitializer :: (Maybe LocalVariableInitializer)}
deriving (Eq, Ord, Read, Show)
_ExplicitlyTypedLocalVariableDeclarator = (Core.Name "hydra/ext/csharp/syntax.ExplicitlyTypedLocalVariableDeclarator")
_ExplicitlyTypedLocalVariableDeclarator_identifier = (Core.Name "identifier")
_ExplicitlyTypedLocalVariableDeclarator_initializer = (Core.Name "initializer")
data LocalVariableInitializer =
LocalVariableInitializerExpression Expression |
LocalVariableInitializerInitializer ArrayInitializer
deriving (Eq, Ord, Read, Show)
_LocalVariableInitializer = (Core.Name "hydra/ext/csharp/syntax.LocalVariableInitializer")
_LocalVariableInitializer_expression = (Core.Name "expression")
_LocalVariableInitializer_initializer = (Core.Name "initializer")
data RefLocalVariableDeclaration =
RefLocalVariableDeclaration {
refLocalVariableDeclarationRefKind :: RefKind,
refLocalVariableDeclarationType :: Type,
refLocalVariableDeclarationDeclarators :: [RefLocalVariableDeclarator]}
deriving (Eq, Ord, Read, Show)
_RefLocalVariableDeclaration = (Core.Name "hydra/ext/csharp/syntax.RefLocalVariableDeclaration")
_RefLocalVariableDeclaration_refKind = (Core.Name "refKind")
_RefLocalVariableDeclaration_type = (Core.Name "type")
_RefLocalVariableDeclaration_declarators = (Core.Name "declarators")
data RefLocalVariableDeclarator =
RefLocalVariableDeclarator {
refLocalVariableDeclaratorLeft :: Identifier,
refLocalVariableDeclaratorRight :: VariableReference}
deriving (Eq, Ord, Read, Show)
_RefLocalVariableDeclarator = (Core.Name "hydra/ext/csharp/syntax.RefLocalVariableDeclarator")
_RefLocalVariableDeclarator_left = (Core.Name "left")
_RefLocalVariableDeclarator_right = (Core.Name "right")
data LocalConstantDeclaration =
LocalConstantDeclaration {
localConstantDeclarationType :: Type,
localConstantDeclarationDeclarators :: [ConstantDeclarator]}
deriving (Eq, Ord, Read, Show)
_LocalConstantDeclaration = (Core.Name "hydra/ext/csharp/syntax.LocalConstantDeclaration")
_LocalConstantDeclaration_type = (Core.Name "type")
_LocalConstantDeclaration_declarators = (Core.Name "declarators")
data ConstantDeclarator =
ConstantDeclarator {
constantDeclaratorIdentifier :: Identifier,
constantDeclaratorExpression :: ConstantExpression}
deriving (Eq, Ord, Read, Show)
_ConstantDeclarator = (Core.Name "hydra/ext/csharp/syntax.ConstantDeclarator")
_ConstantDeclarator_identifier = (Core.Name "identifier")
_ConstantDeclarator_expression = (Core.Name "expression")
data LocalFunctionDeclaration =
LocalFunctionDeclarationStandard StandardLocalFunctionDeclaration |
LocalFunctionDeclarationRef RefLocalFunctionDeclaration
deriving (Eq, Ord, Read, Show)
_LocalFunctionDeclaration = (Core.Name "hydra/ext/csharp/syntax.LocalFunctionDeclaration")
_LocalFunctionDeclaration_standard = (Core.Name "standard")
_LocalFunctionDeclaration_ref = (Core.Name "ref")
data StandardLocalFunctionDeclaration =
StandardLocalFunctionDeclaration {
standardLocalFunctionDeclarationModifiers :: [LocalFunctionModifier],
standardLocalFunctionDeclarationReturnType :: ReturnType,
standardLocalFunctionDeclarationHeader :: LocalFunctionHeader,
standardLocalFunctionDeclarationBody :: LocalFunctionBody}
deriving (Eq, Ord, Read, Show)
_StandardLocalFunctionDeclaration = (Core.Name "hydra/ext/csharp/syntax.StandardLocalFunctionDeclaration")
_StandardLocalFunctionDeclaration_modifiers = (Core.Name "modifiers")
_StandardLocalFunctionDeclaration_returnType = (Core.Name "returnType")
_StandardLocalFunctionDeclaration_header = (Core.Name "header")
_StandardLocalFunctionDeclaration_body = (Core.Name "body")
data RefLocalFunctionDeclaration =
RefLocalFunctionDeclaration {
refLocalFunctionDeclarationModifiers :: [RefLocalFunctionModifier],
refLocalFunctionDeclarationRefKind :: RefKind,
refLocalFunctionDeclarationReturnType :: Type,
refLocalFunctionDeclarationHeader :: LocalFunctionHeader,
refLocalFunctionDeclarationBody :: RefLocalFunctionBody}
deriving (Eq, Ord, Read, Show)
_RefLocalFunctionDeclaration = (Core.Name "hydra/ext/csharp/syntax.RefLocalFunctionDeclaration")
_RefLocalFunctionDeclaration_modifiers = (Core.Name "modifiers")
_RefLocalFunctionDeclaration_refKind = (Core.Name "refKind")
_RefLocalFunctionDeclaration_returnType = (Core.Name "returnType")
_RefLocalFunctionDeclaration_header = (Core.Name "header")
_RefLocalFunctionDeclaration_body = (Core.Name "body")
data LocalFunctionHeader =
LocalFunctionHeader {
localFunctionHeaderIdentifier :: Identifier,
localFunctionHeaderTypeParameters :: (Maybe TypeParameterList),
localFunctionHeaderParameters :: FormalParameterList,
localFunctionHeaderConstraints :: [TypeParameterConstraintsClause]}
deriving (Eq, Ord, Read, Show)
_LocalFunctionHeader = (Core.Name "hydra/ext/csharp/syntax.LocalFunctionHeader")
_LocalFunctionHeader_identifier = (Core.Name "identifier")
_LocalFunctionHeader_typeParameters = (Core.Name "typeParameters")
_LocalFunctionHeader_parameters = (Core.Name "parameters")
_LocalFunctionHeader_constraints = (Core.Name "constraints")
data LocalFunctionModifier =
LocalFunctionModifierRef RefLocalFunctionModifier |
LocalFunctionModifierAsync
deriving (Eq, Ord, Read, Show)
_LocalFunctionModifier = (Core.Name "hydra/ext/csharp/syntax.LocalFunctionModifier")
_LocalFunctionModifier_ref = (Core.Name "ref")
_LocalFunctionModifier_async = (Core.Name "async")
data RefLocalFunctionModifier =
RefLocalFunctionModifierStatic |
RefLocalFunctionModifierUnsafe
deriving (Eq, Ord, Read, Show)
_RefLocalFunctionModifier = (Core.Name "hydra/ext/csharp/syntax.RefLocalFunctionModifier")
_RefLocalFunctionModifier_static = (Core.Name "static")
_RefLocalFunctionModifier_unsafe = (Core.Name "unsafe")
data LocalFunctionBody =
LocalFunctionBodyBlock Block |
LocalFunctionBodyNullConditionalInvocation NullConditionalInvocationExpression |
LocalFunctionBodyExpression Expression
deriving (Eq, Ord, Read, Show)
_LocalFunctionBody = (Core.Name "hydra/ext/csharp/syntax.LocalFunctionBody")
_LocalFunctionBody_block = (Core.Name "block")
_LocalFunctionBody_nullConditionalInvocation = (Core.Name "nullConditionalInvocation")
_LocalFunctionBody_expression = (Core.Name "expression")
data RefLocalFunctionBody =
RefLocalFunctionBodyBlock Block |
RefLocalFunctionBodyRef VariableReference
deriving (Eq, Ord, Read, Show)
_RefLocalFunctionBody = (Core.Name "hydra/ext/csharp/syntax.RefLocalFunctionBody")
_RefLocalFunctionBody_block = (Core.Name "block")
_RefLocalFunctionBody_ref = (Core.Name "ref")
data StatementExpression =
StatementExpressionNullConditionalInvocation NullConditionalInvocationExpression |
StatementExpressionInvocation InvocationExpression |
StatementExpressionObjectCreation ObjectCreationExpression |
StatementExpressionAssignment Assignment |
StatementExpressionPostIncrement PrimaryExpression |
StatementExpressionPostDecrement PrimaryExpression |
StatementExpressionPreIncrement UnaryExpression |
StatementExpressionPreDecrement UnaryExpression |
StatementExpressionAwait UnaryExpression
deriving (Eq, Ord, Read, Show)
_StatementExpression = (Core.Name "hydra/ext/csharp/syntax.StatementExpression")
_StatementExpression_nullConditionalInvocation = (Core.Name "nullConditionalInvocation")
_StatementExpression_invocation = (Core.Name "invocation")
_StatementExpression_objectCreation = (Core.Name "objectCreation")
_StatementExpression_assignment = (Core.Name "assignment")
_StatementExpression_postIncrement = (Core.Name "postIncrement")
_StatementExpression_postDecrement = (Core.Name "postDecrement")
_StatementExpression_preIncrement = (Core.Name "preIncrement")
_StatementExpression_preDecrement = (Core.Name "preDecrement")
_StatementExpression_await = (Core.Name "await")
data SelectionStatement =
SelectionStatementIf IfStatement |
SelectionStatementSwitch SwitchStatement
deriving (Eq, Ord, Read, Show)
_SelectionStatement = (Core.Name "hydra/ext/csharp/syntax.SelectionStatement")
_SelectionStatement_if = (Core.Name "if")
_SelectionStatement_switch = (Core.Name "switch")
data IfStatement =
IfStatement {
ifStatementCondition :: BooleanExpression,
ifStatementIfBranch :: EmbeddedStatement,
ifStatementElseBranch :: EmbeddedStatement}
deriving (Eq, Ord, Read, Show)
_IfStatement = (Core.Name "hydra/ext/csharp/syntax.IfStatement")
_IfStatement_condition = (Core.Name "condition")
_IfStatement_ifBranch = (Core.Name "ifBranch")
_IfStatement_elseBranch = (Core.Name "elseBranch")
data SwitchStatement =
SwitchStatement {
switchStatementExpression :: Expression,
switchStatementBranches :: [SwitchSection]}
deriving (Eq, Ord, Read, Show)
_SwitchStatement = (Core.Name "hydra/ext/csharp/syntax.SwitchStatement")
_SwitchStatement_expression = (Core.Name "expression")
_SwitchStatement_branches = (Core.Name "branches")
data SwitchSection =
SwitchSection {
switchSectionLabels :: [SwitchLabel],
switchSectionStatements :: [Statement]}
deriving (Eq, Ord, Read, Show)
_SwitchSection = (Core.Name "hydra/ext/csharp/syntax.SwitchSection")
_SwitchSection_labels = (Core.Name "labels")
_SwitchSection_statements = (Core.Name "statements")
data SwitchLabel =
SwitchLabelBranch SwitchBranch |
SwitchLabelDefault
deriving (Eq, Ord, Read, Show)
_SwitchLabel = (Core.Name "hydra/ext/csharp/syntax.SwitchLabel")
_SwitchLabel_branch = (Core.Name "branch")
_SwitchLabel_default = (Core.Name "default")
data SwitchBranch =
SwitchBranch {
switchBranchPattern :: Pattern,
switchBranchGuard :: (Maybe Expression)}
deriving (Eq, Ord, Read, Show)
_SwitchBranch = (Core.Name "hydra/ext/csharp/syntax.SwitchBranch")
_SwitchBranch_pattern = (Core.Name "pattern")
_SwitchBranch_guard = (Core.Name "guard")
data IterationStatement =
IterationStatementWhile WhileStatement |
IterationStatementDo DoStatement |
IterationStatementFor ForStatement |
IterationStatementForeach ForeachStatement
deriving (Eq, Ord, Read, Show)
_IterationStatement = (Core.Name "hydra/ext/csharp/syntax.IterationStatement")
_IterationStatement_while = (Core.Name "while")
_IterationStatement_do = (Core.Name "do")
_IterationStatement_for = (Core.Name "for")
_IterationStatement_foreach = (Core.Name "foreach")
data WhileStatement =
WhileStatement {
whileStatementCondition :: BooleanExpression,
whileStatementBody :: EmbeddedStatement}
deriving (Eq, Ord, Read, Show)
_WhileStatement = (Core.Name "hydra/ext/csharp/syntax.WhileStatement")
_WhileStatement_condition = (Core.Name "condition")
_WhileStatement_body = (Core.Name "body")
data DoStatement =
DoStatement {
doStatementBody :: EmbeddedStatement,
doStatementWhile :: BooleanExpression}
deriving (Eq, Ord, Read, Show)
_DoStatement = (Core.Name "hydra/ext/csharp/syntax.DoStatement")
_DoStatement_body = (Core.Name "body")
_DoStatement_while = (Core.Name "while")
data ForStatement =
ForStatement {
forStatementInitializer :: (Maybe ForInitializer),
forStatementCondition :: (Maybe BooleanExpression),
forStatementIterator :: (Maybe StatementExpressionList),
forStatementBody :: EmbeddedStatement}
deriving (Eq, Ord, Read, Show)
_ForStatement = (Core.Name "hydra/ext/csharp/syntax.ForStatement")
_ForStatement_initializer = (Core.Name "initializer")
_ForStatement_condition = (Core.Name "condition")
_ForStatement_iterator = (Core.Name "iterator")
_ForStatement_body = (Core.Name "body")
data ForInitializer =
ForInitializerVariable LocalVariableDeclaration |
ForInitializerStatements StatementExpressionList
deriving (Eq, Ord, Read, Show)
_ForInitializer = (Core.Name "hydra/ext/csharp/syntax.ForInitializer")
_ForInitializer_variable = (Core.Name "variable")
_ForInitializer_statements = (Core.Name "statements")
newtype StatementExpressionList =
StatementExpressionList {
unStatementExpressionList :: [StatementExpression]}
deriving (Eq, Ord, Read, Show)
_StatementExpressionList = (Core.Name "hydra/ext/csharp/syntax.StatementExpressionList")
data ForeachStatement =
ForeachStatement {
foreachStatementKind :: (Maybe RefKind),
foreachStatementType :: LocalVariableType,
foreachStatementIdentifier :: Identifier,
foreachStatementExpression :: Expression,
foreachStatementBody :: EmbeddedStatement}
deriving (Eq, Ord, Read, Show)
_ForeachStatement = (Core.Name "hydra/ext/csharp/syntax.ForeachStatement")
_ForeachStatement_kind = (Core.Name "kind")
_ForeachStatement_type = (Core.Name "type")
_ForeachStatement_identifier = (Core.Name "identifier")
_ForeachStatement_expression = (Core.Name "expression")
_ForeachStatement_body = (Core.Name "body")
data JumpStatement =
JumpStatementBreak |
JumpStatementContinue |
JumpStatementGoto GotoStatement |
JumpStatementReturn ReturnStatement |
JumpStatementThrow (Maybe Expression)
deriving (Eq, Ord, Read, Show)
_JumpStatement = (Core.Name "hydra/ext/csharp/syntax.JumpStatement")
_JumpStatement_break = (Core.Name "break")
_JumpStatement_continue = (Core.Name "continue")
_JumpStatement_goto = (Core.Name "goto")
_JumpStatement_return = (Core.Name "return")
_JumpStatement_throw = (Core.Name "throw")
data GotoStatement =
GotoStatementIdentifier Identifier |
GotoStatementCase ConstantExpression |
GotoStatementDefault
deriving (Eq, Ord, Read, Show)
_GotoStatement = (Core.Name "hydra/ext/csharp/syntax.GotoStatement")
_GotoStatement_identifier = (Core.Name "identifier")
_GotoStatement_case = (Core.Name "case")
_GotoStatement_default = (Core.Name "default")
data ReturnStatement =
ReturnStatementSimple |
ReturnStatementValue Expression |
ReturnStatementRef VariableReference
deriving (Eq, Ord, Read, Show)
_ReturnStatement = (Core.Name "hydra/ext/csharp/syntax.ReturnStatement")
_ReturnStatement_simple = (Core.Name "simple")
_ReturnStatement_value = (Core.Name "value")
_ReturnStatement_ref = (Core.Name "ref")
data TryStatement =
TryStatement {
tryStatementBody :: Block,
tryStatementCatches :: CatchClauses,
tryStatementFinally :: (Maybe Block)}
deriving (Eq, Ord, Read, Show)
_TryStatement = (Core.Name "hydra/ext/csharp/syntax.TryStatement")
_TryStatement_body = (Core.Name "body")
_TryStatement_catches = (Core.Name "catches")
_TryStatement_finally = (Core.Name "finally")
data CatchClauses =
CatchClausesSpecific [SpecificCatchClause] |
CatchClausesGeneral Block
deriving (Eq, Ord, Read, Show)
_CatchClauses = (Core.Name "hydra/ext/csharp/syntax.CatchClauses")
_CatchClauses_specific = (Core.Name "specific")
_CatchClauses_general = (Core.Name "general")
data SpecificCatchClause =
SpecificCatchClause {
specificCatchClauseSpecifier :: (Maybe ExceptionSpecifier),
specificCatchClauseFilter :: (Maybe BooleanExpression),
specificCatchClauseBody :: Block}
deriving (Eq, Ord, Read, Show)
_SpecificCatchClause = (Core.Name "hydra/ext/csharp/syntax.SpecificCatchClause")
_SpecificCatchClause_specifier = (Core.Name "specifier")
_SpecificCatchClause_filter = (Core.Name "filter")
_SpecificCatchClause_body = (Core.Name "body")
data ExceptionSpecifier =
ExceptionSpecifier {
exceptionSpecifierType :: Type,
exceptionSpecifierIdentifier :: (Maybe Identifier)}
deriving (Eq, Ord, Read, Show)
_ExceptionSpecifier = (Core.Name "hydra/ext/csharp/syntax.ExceptionSpecifier")
_ExceptionSpecifier_type = (Core.Name "type")
_ExceptionSpecifier_identifier = (Core.Name "identifier")
data LockStatement =
LockStatement {
lockStatementExpression :: Expression,
lockStatementBody :: EmbeddedStatement}
deriving (Eq, Ord, Read, Show)
_LockStatement = (Core.Name "hydra/ext/csharp/syntax.LockStatement")
_LockStatement_expression = (Core.Name "expression")
_LockStatement_body = (Core.Name "body")
data UsingStatement =
UsingStatement {
usingStatementAcquisition :: ResourceAcquisition,
usingStatementBody :: EmbeddedStatement}
deriving (Eq, Ord, Read, Show)
_UsingStatement = (Core.Name "hydra/ext/csharp/syntax.UsingStatement")
_UsingStatement_acquisition = (Core.Name "acquisition")
_UsingStatement_body = (Core.Name "body")
data ResourceAcquisition =
ResourceAcquisitionLocal LocalVariableDeclaration |
ResourceAcquisitionExpression Expression
deriving (Eq, Ord, Read, Show)
_ResourceAcquisition = (Core.Name "hydra/ext/csharp/syntax.ResourceAcquisition")
_ResourceAcquisition_local = (Core.Name "local")
_ResourceAcquisition_expression = (Core.Name "expression")
data YieldStatement =
YieldStatementReturn Expression |
YieldStatementBreak
deriving (Eq, Ord, Read, Show)
_YieldStatement = (Core.Name "hydra/ext/csharp/syntax.YieldStatement")
_YieldStatement_return = (Core.Name "return")
_YieldStatement_break = (Core.Name "break")
data CompilationUnit =
CompilationUnit {
compilationUnitExterns :: [Identifier],
compilationUnitUsings :: [UsingDirective],
compilationUnitAttributes :: [GlobalAttributeSection],
compilationUnitMembers :: [NamespaceMemberDeclaration]}
deriving (Eq, Ord, Read, Show)
_CompilationUnit = (Core.Name "hydra/ext/csharp/syntax.CompilationUnit")
_CompilationUnit_externs = (Core.Name "externs")
_CompilationUnit_usings = (Core.Name "usings")
_CompilationUnit_attributes = (Core.Name "attributes")
_CompilationUnit_members = (Core.Name "members")
data NamespaceDeclaration =
NamespaceDeclaration {
namespaceDeclarationName :: [Identifier],
namespaceDeclarationBody :: NamespaceBody}
deriving (Eq, Ord, Read, Show)
_NamespaceDeclaration = (Core.Name "hydra/ext/csharp/syntax.NamespaceDeclaration")
_NamespaceDeclaration_name = (Core.Name "name")
_NamespaceDeclaration_body = (Core.Name "body")
data NamespaceBody =
NamespaceBody {
namespaceBodyExterns :: [Identifier],
namespaceBodyUsings :: [UsingDirective],
namespaceBodyMembers :: [NamespaceMemberDeclaration]}
deriving (Eq, Ord, Read, Show)
_NamespaceBody = (Core.Name "hydra/ext/csharp/syntax.NamespaceBody")
_NamespaceBody_externs = (Core.Name "externs")
_NamespaceBody_usings = (Core.Name "usings")
_NamespaceBody_members = (Core.Name "members")
data UsingDirective =
UsingDirectiveAlias UsingAliasDirective |
UsingDirectiveNamespace NamespaceName |
UsingDirectiveStatic TypeName
deriving (Eq, Ord, Read, Show)
_UsingDirective = (Core.Name "hydra/ext/csharp/syntax.UsingDirective")
_UsingDirective_alias = (Core.Name "alias")
_UsingDirective_namespace = (Core.Name "namespace")
_UsingDirective_static = (Core.Name "static")
data UsingAliasDirective =
UsingAliasDirective {
usingAliasDirectiveAlias :: Identifier,
usingAliasDirectiveName :: NamespaceOrTypeName}
deriving (Eq, Ord, Read, Show)
_UsingAliasDirective = (Core.Name "hydra/ext/csharp/syntax.UsingAliasDirective")
_UsingAliasDirective_alias = (Core.Name "alias")
_UsingAliasDirective_name = (Core.Name "name")
data NamespaceMemberDeclaration =
NamespaceMemberDeclarationNamespace NamespaceDeclaration |
NamespaceMemberDeclarationType TypeDeclaration
deriving (Eq, Ord, Read, Show)
_NamespaceMemberDeclaration = (Core.Name "hydra/ext/csharp/syntax.NamespaceMemberDeclaration")
_NamespaceMemberDeclaration_namespace = (Core.Name "namespace")
_NamespaceMemberDeclaration_type = (Core.Name "type")
data TypeDeclaration =
TypeDeclarationClass ClassDeclaration |
TypeDeclarationStruct StructDeclaration |
TypeDeclarationInterface InterfaceDeclaration |
TypeDeclarationEnum EnumDeclaration |
TypeDeclarationDelegate DelegateDeclaration
deriving (Eq, Ord, Read, Show)
_TypeDeclaration = (Core.Name "hydra/ext/csharp/syntax.TypeDeclaration")
_TypeDeclaration_class = (Core.Name "class")
_TypeDeclaration_struct = (Core.Name "struct")
_TypeDeclaration_interface = (Core.Name "interface")
_TypeDeclaration_enum = (Core.Name "enum")
_TypeDeclaration_delegate = (Core.Name "delegate")
data QualifiedAliasMember =
QualifiedAliasMember {
qualifiedAliasMemberAlias :: Identifier,
qualifiedAliasMemberMember :: Identifier,
qualifiedAliasMemberArguments :: (Maybe TypeArgumentList)}
deriving (Eq, Ord, Read, Show)
_QualifiedAliasMember = (Core.Name "hydra/ext/csharp/syntax.QualifiedAliasMember")
_QualifiedAliasMember_alias = (Core.Name "alias")
_QualifiedAliasMember_member = (Core.Name "member")
_QualifiedAliasMember_arguments = (Core.Name "arguments")
data ClassDeclaration =
ClassDeclaration {
classDeclarationAttributes :: (Maybe Attributes),
classDeclarationModifiers :: [ClassModifier],
classDeclarationPartial :: (),
classDeclarationName :: Identifier,
classDeclarationParameters :: (Maybe TypeParameterList),
classDeclarationBase :: (Maybe ClassBase),
classDeclarationConstraints :: [TypeParameterConstraintsClause],
classDeclarationBody :: ClassBody}
deriving (Eq, Ord, Read, Show)
_ClassDeclaration = (Core.Name "hydra/ext/csharp/syntax.ClassDeclaration")
_ClassDeclaration_attributes = (Core.Name "attributes")
_ClassDeclaration_modifiers = (Core.Name "modifiers")
_ClassDeclaration_partial = (Core.Name "partial")
_ClassDeclaration_name = (Core.Name "name")
_ClassDeclaration_parameters = (Core.Name "parameters")
_ClassDeclaration_base = (Core.Name "base")
_ClassDeclaration_constraints = (Core.Name "constraints")
_ClassDeclaration_body = (Core.Name "body")
data ClassModifier =
ClassModifierNew |
ClassModifierPublic |
ClassModifierProtected |
ClassModifierInternal |
ClassModifierPrivate |
ClassModifierAbstract |
ClassModifierSealed |
ClassModifierStatic |
ClassModifierUnsafe
deriving (Eq, Ord, Read, Show)
_ClassModifier = (Core.Name "hydra/ext/csharp/syntax.ClassModifier")
_ClassModifier_new = (Core.Name "new")
_ClassModifier_public = (Core.Name "public")
_ClassModifier_protected = (Core.Name "protected")
_ClassModifier_internal = (Core.Name "internal")
_ClassModifier_private = (Core.Name "private")
_ClassModifier_abstract = (Core.Name "abstract")
_ClassModifier_sealed = (Core.Name "sealed")
_ClassModifier_static = (Core.Name "static")
_ClassModifier_unsafe = (Core.Name "unsafe")
newtype TypeParameterList =
TypeParameterList {
unTypeParameterList :: [TypeParameterPart]}
deriving (Eq, Ord, Read, Show)
_TypeParameterList = (Core.Name "hydra/ext/csharp/syntax.TypeParameterList")
data TypeParameterPart =
TypeParameterPart {
typeParameterPartAttributes :: (Maybe Attributes),
typeParameterPartName :: TypeParameter}
deriving (Eq, Ord, Read, Show)
_TypeParameterPart = (Core.Name "hydra/ext/csharp/syntax.TypeParameterPart")
_TypeParameterPart_attributes = (Core.Name "attributes")
_TypeParameterPart_name = (Core.Name "name")
data ClassBase =
ClassBaseClass (Maybe ClassType) |
ClassBaseInterfaces [InterfaceType]
deriving (Eq, Ord, Read, Show)
_ClassBase = (Core.Name "hydra/ext/csharp/syntax.ClassBase")
_ClassBase_class = (Core.Name "class")
_ClassBase_interfaces = (Core.Name "interfaces")
data TypeParameterConstraintsClause =
TypeParameterConstraintsClause {
typeParameterConstraintsClauseParameter :: TypeParameter,
typeParameterConstraintsClauseConstraints :: [TypeParameterConstraints]}
deriving (Eq, Ord, Read, Show)
_TypeParameterConstraintsClause = (Core.Name "hydra/ext/csharp/syntax.TypeParameterConstraintsClause")
_TypeParameterConstraintsClause_parameter = (Core.Name "parameter")
_TypeParameterConstraintsClause_constraints = (Core.Name "constraints")
data TypeParameterConstraints =
TypeParameterConstraints {
typeParameterConstraintsPrimary :: (Maybe PrimaryConstraint),
typeParameterConstraintsSecondary :: (Maybe SecondaryConstraints),
typeParameterConstraintsConstructor :: Bool}
deriving (Eq, Ord, Read, Show)
_TypeParameterConstraints = (Core.Name "hydra/ext/csharp/syntax.TypeParameterConstraints")
_TypeParameterConstraints_primary = (Core.Name "primary")
_TypeParameterConstraints_secondary = (Core.Name "secondary")
_TypeParameterConstraints_constructor = (Core.Name "constructor")
data PrimaryConstraint =
PrimaryConstraintClassType ClassType |
PrimaryConstraintClass |
PrimaryConstraintStruct |
PrimaryConstraintUnmanaged
deriving (Eq, Ord, Read, Show)
_PrimaryConstraint = (Core.Name "hydra/ext/csharp/syntax.PrimaryConstraint")
_PrimaryConstraint_classType = (Core.Name "classType")
_PrimaryConstraint_class = (Core.Name "class")
_PrimaryConstraint_struct = (Core.Name "struct")
_PrimaryConstraint_unmanaged = (Core.Name "unmanaged")
newtype SecondaryConstraints =
SecondaryConstraints {
unSecondaryConstraints :: [SecondaryConstraint]}
deriving (Eq, Ord, Read, Show)
_SecondaryConstraints = (Core.Name "hydra/ext/csharp/syntax.SecondaryConstraints")
data SecondaryConstraint =
SecondaryConstraintInterface InterfaceType |
SecondaryConstraintParameter TypeParameter
deriving (Eq, Ord, Read, Show)
_SecondaryConstraint = (Core.Name "hydra/ext/csharp/syntax.SecondaryConstraint")
_SecondaryConstraint_interface = (Core.Name "interface")
_SecondaryConstraint_parameter = (Core.Name "parameter")
newtype ClassBody =
ClassBody {
unClassBody :: [ClassMemberDeclaration]}
deriving (Eq, Ord, Read, Show)
_ClassBody = (Core.Name "hydra/ext/csharp/syntax.ClassBody")
data ClassMemberDeclaration =
ClassMemberDeclarationConstant ConstantDeclaration |
ClassMemberDeclarationField FieldDeclaration |
ClassMemberDeclarationMethod MethodDeclaration |
ClassMemberDeclarationProperty PropertyDeclaration |
ClassMemberDeclarationEvent EventDeclaration |
ClassMemberDeclarationIndexer IndexerDeclaration |
ClassMemberDeclarationOperator OperatorDeclaration |
ClassMemberDeclarationConstructor ConstructorDeclaration |
ClassMemberDeclarationFinalizer FinalizerDeclaration |
ClassMemberDeclarationStaticConstructor StaticConstructorDeclaration |
ClassMemberDeclarationType TypeDeclaration
deriving (Eq, Ord, Read, Show)
_ClassMemberDeclaration = (Core.Name "hydra/ext/csharp/syntax.ClassMemberDeclaration")
_ClassMemberDeclaration_constant = (Core.Name "constant")
_ClassMemberDeclaration_field = (Core.Name "field")
_ClassMemberDeclaration_method = (Core.Name "method")
_ClassMemberDeclaration_property = (Core.Name "property")
_ClassMemberDeclaration_event = (Core.Name "event")
_ClassMemberDeclaration_indexer = (Core.Name "indexer")
_ClassMemberDeclaration_operator = (Core.Name "operator")
_ClassMemberDeclaration_constructor = (Core.Name "constructor")
_ClassMemberDeclaration_finalizer = (Core.Name "finalizer")
_ClassMemberDeclaration_staticConstructor = (Core.Name "staticConstructor")
_ClassMemberDeclaration_type = (Core.Name "type")
data ConstantDeclaration =
ConstantDeclaration {
constantDeclarationAttributes :: (Maybe Attributes),
constantDeclarationModifiers :: [ConstantModifier],
constantDeclarationType :: Type,
constantDeclarationDeclarators :: [ConstantDeclarator]}
deriving (Eq, Ord, Read, Show)
_ConstantDeclaration = (Core.Name "hydra/ext/csharp/syntax.ConstantDeclaration")
_ConstantDeclaration_attributes = (Core.Name "attributes")
_ConstantDeclaration_modifiers = (Core.Name "modifiers")
_ConstantDeclaration_type = (Core.Name "type")
_ConstantDeclaration_declarators = (Core.Name "declarators")
data ConstantModifier =
ConstantModifierNew |
ConstantModifierPublic |
ConstantModifierProtected |
ConstantModifierInternal |
ConstantModifierPrivate
deriving (Eq, Ord, Read, Show)
_ConstantModifier = (Core.Name "hydra/ext/csharp/syntax.ConstantModifier")
_ConstantModifier_new = (Core.Name "new")
_ConstantModifier_public = (Core.Name "public")
_ConstantModifier_protected = (Core.Name "protected")
_ConstantModifier_internal = (Core.Name "internal")
_ConstantModifier_private = (Core.Name "private")
data FieldDeclaration =
FieldDeclaration {
fieldDeclarationAttributes :: (Maybe Attributes),
fieldDeclarationModifiers :: [FieldModifier],
fieldDeclarationType :: Type,
fieldDeclarationDeclarators :: [VariableDeclarator]}
deriving (Eq, Ord, Read, Show)
_FieldDeclaration = (Core.Name "hydra/ext/csharp/syntax.FieldDeclaration")
_FieldDeclaration_attributes = (Core.Name "attributes")
_FieldDeclaration_modifiers = (Core.Name "modifiers")
_FieldDeclaration_type = (Core.Name "type")
_FieldDeclaration_declarators = (Core.Name "declarators")
data FieldModifier =
FieldModifierNew |
FieldModifierPublic |
FieldModifierProtected |
FieldModifierInternal |
FieldModifierPrivate |
FieldModifierStatic |
FieldModifierReadonly |
FieldModifierVolatile |
FieldModifierUnsafe
deriving (Eq, Ord, Read, Show)
_FieldModifier = (Core.Name "hydra/ext/csharp/syntax.FieldModifier")
_FieldModifier_new = (Core.Name "new")
_FieldModifier_public = (Core.Name "public")
_FieldModifier_protected = (Core.Name "protected")
_FieldModifier_internal = (Core.Name "internal")
_FieldModifier_private = (Core.Name "private")
_FieldModifier_static = (Core.Name "static")
_FieldModifier_readonly = (Core.Name "readonly")
_FieldModifier_volatile = (Core.Name "volatile")
_FieldModifier_unsafe = (Core.Name "unsafe")
newtype VariableDeclarators =
VariableDeclarators {
unVariableDeclarators :: [VariableDeclarator]}
deriving (Eq, Ord, Read, Show)
_VariableDeclarators = (Core.Name "hydra/ext/csharp/syntax.VariableDeclarators")
data VariableDeclarator =
VariableDeclarator {
variableDeclaratorIdentifier :: Identifier,
variableDeclaratorInitializer :: (Maybe VariableInitializer)}
deriving (Eq, Ord, Read, Show)
_VariableDeclarator = (Core.Name "hydra/ext/csharp/syntax.VariableDeclarator")
_VariableDeclarator_identifier = (Core.Name "identifier")
_VariableDeclarator_initializer = (Core.Name "initializer")
data MethodDeclaration =
MethodDeclarationStandard StandardMethodDeclaration |
MethodDeclarationRefReturn RefReturnMethodDeclaration
deriving (Eq, Ord, Read, Show)
_MethodDeclaration = (Core.Name "hydra/ext/csharp/syntax.MethodDeclaration")
_MethodDeclaration_standard = (Core.Name "standard")
_MethodDeclaration_refReturn = (Core.Name "refReturn")
data StandardMethodDeclaration =
StandardMethodDeclaration {
standardMethodDeclarationAttributes :: (Maybe Attributes),
standardMethodDeclarationModifiers :: [MethodModifier],
standardMethodDeclarationReturnType :: ReturnType,
standardMethodDeclarationHeader :: MethodHeader,
standardMethodDeclarationBody :: MethodBody}
deriving (Eq, Ord, Read, Show)
_StandardMethodDeclaration = (Core.Name "hydra/ext/csharp/syntax.StandardMethodDeclaration")
_StandardMethodDeclaration_attributes = (Core.Name "attributes")
_StandardMethodDeclaration_modifiers = (Core.Name "modifiers")
_StandardMethodDeclaration_returnType = (Core.Name "returnType")
_StandardMethodDeclaration_header = (Core.Name "header")
_StandardMethodDeclaration_body = (Core.Name "body")
data RefReturnMethodDeclaration =
RefReturnMethodDeclaration {
refReturnMethodDeclarationAttributes :: (Maybe Attributes),
refReturnMethodDeclarationModifiers :: [RefMethodModifier],
refReturnMethodDeclarationKind :: RefKind,
refReturnMethodDeclarationReturnType :: ReturnType,
refReturnMethodDeclarationHeader :: MethodHeader,
refReturnMethodDeclarationBody :: RefMethodBody}
deriving (Eq, Ord, Read, Show)
_RefReturnMethodDeclaration = (Core.Name "hydra/ext/csharp/syntax.RefReturnMethodDeclaration")
_RefReturnMethodDeclaration_attributes = (Core.Name "attributes")
_RefReturnMethodDeclaration_modifiers = (Core.Name "modifiers")
_RefReturnMethodDeclaration_kind = (Core.Name "kind")
_RefReturnMethodDeclaration_returnType = (Core.Name "returnType")
_RefReturnMethodDeclaration_header = (Core.Name "header")
_RefReturnMethodDeclaration_body = (Core.Name "body")
data MethodModifiers =
MethodModifiers {
methodModifiersModifiers :: [MethodModifier],
methodModifiersPartial :: Bool}
deriving (Eq, Ord, Read, Show)
_MethodModifiers = (Core.Name "hydra/ext/csharp/syntax.MethodModifiers")
_MethodModifiers_modifiers = (Core.Name "modifiers")
_MethodModifiers_partial = (Core.Name "partial")
data RefKind =
RefKindRef |
RefKindRefReadonly
deriving (Eq, Ord, Read, Show)
_RefKind = (Core.Name "hydra/ext/csharp/syntax.RefKind")
_RefKind_ref = (Core.Name "ref")
_RefKind_refReadonly = (Core.Name "refReadonly")
data MethodHeader =
MethodHeader {
methodHeaderName :: MemberName,
methodHeaderTypeParameters :: (Maybe TypeParameterList),
methodHeaderParameters :: (Maybe FormalParameterList),
methodHeaderConstraints :: [TypeParameterConstraintsClause]}
deriving (Eq, Ord, Read, Show)
_MethodHeader = (Core.Name "hydra/ext/csharp/syntax.MethodHeader")
_MethodHeader_name = (Core.Name "name")
_MethodHeader_typeParameters = (Core.Name "typeParameters")
_MethodHeader_parameters = (Core.Name "parameters")
_MethodHeader_constraints = (Core.Name "constraints")
data MethodModifier =
MethodModifierRef RefMethodModifier |
MethodModifierAsync
deriving (Eq, Ord, Read, Show)
_MethodModifier = (Core.Name "hydra/ext/csharp/syntax.MethodModifier")
_MethodModifier_ref = (Core.Name "ref")
_MethodModifier_async = (Core.Name "async")
data RefMethodModifier =
RefMethodModifierNew |
RefMethodModifierPublic |
RefMethodModifierProtected |
RefMethodModifierInternal |
RefMethodModifierPrivate |
RefMethodModifierStatic |
RefMethodModifierVirtual |
RefMethodModifierSealed |
RefMethodModifierOverride |
RefMethodModifierAbstract |
RefMethodModifierExtern |
RefMethodModifierUnsafe
deriving (Eq, Ord, Read, Show)
_RefMethodModifier = (Core.Name "hydra/ext/csharp/syntax.RefMethodModifier")
_RefMethodModifier_new = (Core.Name "new")
_RefMethodModifier_public = (Core.Name "public")
_RefMethodModifier_protected = (Core.Name "protected")
_RefMethodModifier_internal = (Core.Name "internal")
_RefMethodModifier_private = (Core.Name "private")
_RefMethodModifier_static = (Core.Name "static")
_RefMethodModifier_virtual = (Core.Name "virtual")
_RefMethodModifier_sealed = (Core.Name "sealed")
_RefMethodModifier_override = (Core.Name "override")
_RefMethodModifier_abstract = (Core.Name "abstract")
_RefMethodModifier_extern = (Core.Name "extern")
_RefMethodModifier_unsafe = (Core.Name "unsafe")
data ReturnType =
ReturnTypeRef Type |
ReturnTypeVoid
deriving (Eq, Ord, Read, Show)
_ReturnType = (Core.Name "hydra/ext/csharp/syntax.ReturnType")
_ReturnType_ref = (Core.Name "ref")
_ReturnType_void = (Core.Name "void")
data MemberName =
MemberName {
memberNameInterfaceType :: (Maybe TypeName),
memberNameIdentifier :: Identifier}
deriving (Eq, Ord, Read, Show)
_MemberName = (Core.Name "hydra/ext/csharp/syntax.MemberName")
_MemberName_interfaceType = (Core.Name "interfaceType")
_MemberName_identifier = (Core.Name "identifier")
data MethodBody =
MethodBodyBlock Block |
MethodBodyNullConditionalInvocation NullConditionalInvocationExpression |
MethodBodyExpression Expression |
MethodBodyEmpty
deriving (Eq, Ord, Read, Show)
_MethodBody = (Core.Name "hydra/ext/csharp/syntax.MethodBody")
_MethodBody_block = (Core.Name "block")
_MethodBody_nullConditionalInvocation = (Core.Name "nullConditionalInvocation")
_MethodBody_expression = (Core.Name "expression")
_MethodBody_empty = (Core.Name "empty")
data RefMethodBody =
RefMethodBodyBlock Block |
RefMethodBodyRef VariableReference |
RefMethodBodyEmpty
deriving (Eq, Ord, Read, Show)
_RefMethodBody = (Core.Name "hydra/ext/csharp/syntax.RefMethodBody")
_RefMethodBody_block = (Core.Name "block")
_RefMethodBody_ref = (Core.Name "ref")
_RefMethodBody_empty = (Core.Name "empty")
data FormalParameterList =
FormalParameterList {
formalParameterListFixed :: [FixedParameter],
formalParameterListArray :: (Maybe ParameterArray)}
deriving (Eq, Ord, Read, Show)
_FormalParameterList = (Core.Name "hydra/ext/csharp/syntax.FormalParameterList")
_FormalParameterList_fixed = (Core.Name "fixed")
_FormalParameterList_array = (Core.Name "array")
data FixedParameter =
FixedParameter {
fixedParameterAttributes :: (Maybe Attributes),
fixedParameterModifier :: (Maybe ParameterModifier),
fixedParameterType :: Type,
fixedParameterIdentifier :: Identifier,
fixedParameterDefaultArgument :: (Maybe Expression)}
deriving (Eq, Ord, Read, Show)
_FixedParameter = (Core.Name "hydra/ext/csharp/syntax.FixedParameter")
_FixedParameter_attributes = (Core.Name "attributes")
_FixedParameter_modifier = (Core.Name "modifier")
_FixedParameter_type = (Core.Name "type")
_FixedParameter_identifier = (Core.Name "identifier")
_FixedParameter_defaultArgument = (Core.Name "defaultArgument")
data ParameterModifier =
ParameterModifierMode ParameterModeModifier |
ParameterModifierThis
deriving (Eq, Ord, Read, Show)
_ParameterModifier = (Core.Name "hydra/ext/csharp/syntax.ParameterModifier")
_ParameterModifier_mode = (Core.Name "mode")
_ParameterModifier_this = (Core.Name "this")
data ParameterModeModifier =
ParameterModeModifierRef |
ParameterModeModifierOut |
ParameterModeModifierIn
deriving (Eq, Ord, Read, Show)
_ParameterModeModifier = (Core.Name "hydra/ext/csharp/syntax.ParameterModeModifier")
_ParameterModeModifier_ref = (Core.Name "ref")
_ParameterModeModifier_out = (Core.Name "out")
_ParameterModeModifier_in = (Core.Name "in")
data ParameterArray =
ParameterArray {
parameterArrayAttributes :: (Maybe Attributes),
parameterArrayType :: ArrayType,
parameterArrayIdentifier :: Identifier}
deriving (Eq, Ord, Read, Show)
_ParameterArray = (Core.Name "hydra/ext/csharp/syntax.ParameterArray")
_ParameterArray_attributes = (Core.Name "attributes")
_ParameterArray_type = (Core.Name "type")
_ParameterArray_identifier = (Core.Name "identifier")
data PropertyDeclaration =
PropertyDeclarationStandard StandardPropertyDeclaration |
PropertyDeclarationRefReturn RefReturnPropertyDeclaration
deriving (Eq, Ord, Read, Show)
_PropertyDeclaration = (Core.Name "hydra/ext/csharp/syntax.PropertyDeclaration")
_PropertyDeclaration_standard = (Core.Name "standard")
_PropertyDeclaration_refReturn = (Core.Name "refReturn")
data StandardPropertyDeclaration =
StandardPropertyDeclaration {
standardPropertyDeclarationAttributes :: (Maybe Attributes),
standardPropertyDeclarationModifiers :: [PropertyModifier],
standardPropertyDeclarationType :: Type,
standardPropertyDeclarationName :: MemberName,
standardPropertyDeclarationBody :: PropertyBody}
deriving (Eq, Ord, Read, Show)
_StandardPropertyDeclaration = (Core.Name "hydra/ext/csharp/syntax.StandardPropertyDeclaration")
_StandardPropertyDeclaration_attributes = (Core.Name "attributes")
_StandardPropertyDeclaration_modifiers = (Core.Name "modifiers")
_StandardPropertyDeclaration_type = (Core.Name "type")
_StandardPropertyDeclaration_name = (Core.Name "name")
_StandardPropertyDeclaration_body = (Core.Name "body")
data RefReturnPropertyDeclaration =
RefReturnPropertyDeclaration {
refReturnPropertyDeclarationAttributes :: (Maybe Attributes),
refReturnPropertyDeclarationModifiers :: [PropertyModifier],
refReturnPropertyDeclarationRefKind :: RefKind,
refReturnPropertyDeclarationType :: Type,
refReturnPropertyDeclarationName :: MemberName,
refReturnPropertyDeclarationBody :: RefPropertyBody}
deriving (Eq, Ord, Read, Show)
_RefReturnPropertyDeclaration = (Core.Name "hydra/ext/csharp/syntax.RefReturnPropertyDeclaration")
_RefReturnPropertyDeclaration_attributes = (Core.Name "attributes")
_RefReturnPropertyDeclaration_modifiers = (Core.Name "modifiers")
_RefReturnPropertyDeclaration_refKind = (Core.Name "refKind")
_RefReturnPropertyDeclaration_type = (Core.Name "type")
_RefReturnPropertyDeclaration_name = (Core.Name "name")
_RefReturnPropertyDeclaration_body = (Core.Name "body")
data PropertyModifier =
PropertyModifierNew |
PropertyModifierPublic |
PropertyModifierProtected |
PropertyModifierInternal |
PropertyModifierPrivate |
PropertyModifierStatic |
PropertyModifierVirtual |
PropertyModifierSealed |
PropertyModifierOverride |
PropertyModifierAbstract |
PropertyModifierExtern |
PropertyModifierUnsafe
deriving (Eq, Ord, Read, Show)
_PropertyModifier = (Core.Name "hydra/ext/csharp/syntax.PropertyModifier")
_PropertyModifier_new = (Core.Name "new")
_PropertyModifier_public = (Core.Name "public")
_PropertyModifier_protected = (Core.Name "protected")
_PropertyModifier_internal = (Core.Name "internal")
_PropertyModifier_private = (Core.Name "private")
_PropertyModifier_static = (Core.Name "static")
_PropertyModifier_virtual = (Core.Name "virtual")
_PropertyModifier_sealed = (Core.Name "sealed")
_PropertyModifier_override = (Core.Name "override")
_PropertyModifier_abstract = (Core.Name "abstract")
_PropertyModifier_extern = (Core.Name "extern")
_PropertyModifier_unsafe = (Core.Name "unsafe")
data PropertyBody =
PropertyBodyBlock BlockPropertyBody |
PropertyBodyExpression Expression
deriving (Eq, Ord, Read, Show)
_PropertyBody = (Core.Name "hydra/ext/csharp/syntax.PropertyBody")
_PropertyBody_block = (Core.Name "block")
_PropertyBody_expression = (Core.Name "expression")
data BlockPropertyBody =
BlockPropertyBody {
blockPropertyBodyAccessors :: AccessorDeclarations,
blockPropertyBodyInitializer :: (Maybe VariableInitializer)}
deriving (Eq, Ord, Read, Show)
_BlockPropertyBody = (Core.Name "hydra/ext/csharp/syntax.BlockPropertyBody")
_BlockPropertyBody_accessors = (Core.Name "accessors")
_BlockPropertyBody_initializer = (Core.Name "initializer")
data RefPropertyBody =
RefPropertyBodyBlock RefGetAccessorDeclaration |
RefPropertyBodyRef VariableReference
deriving (Eq, Ord, Read, Show)
_RefPropertyBody = (Core.Name "hydra/ext/csharp/syntax.RefPropertyBody")
_RefPropertyBody_block = (Core.Name "block")
_RefPropertyBody_ref = (Core.Name "ref")
data AccessorDeclarations =
AccessorDeclarationsGet (Maybe AccessorDeclaration) |
AccessorDeclarationsSet (Maybe AccessorDeclaration)
deriving (Eq, Ord, Read, Show)
_AccessorDeclarations = (Core.Name "hydra/ext/csharp/syntax.AccessorDeclarations")
_AccessorDeclarations_get = (Core.Name "get")
_AccessorDeclarations_set = (Core.Name "set")
data AccessorDeclaration =
AccessorDeclaration {
accessorDeclarationAttributes :: (Maybe Attributes),
accessorDeclarationModifier :: (Maybe AccessorModifier),
accessorDeclarationBody :: AccessorBody}
deriving (Eq, Ord, Read, Show)
_AccessorDeclaration = (Core.Name "hydra/ext/csharp/syntax.AccessorDeclaration")
_AccessorDeclaration_attributes = (Core.Name "attributes")
_AccessorDeclaration_modifier = (Core.Name "modifier")
_AccessorDeclaration_body = (Core.Name "body")
data AccessorModifier =
AccessorModifierProtected |
AccessorModifierInternal |
AccessorModifierPrivate |
AccessorModifierProtectedInternal |
AccessorModifierInternalProtected |
AccessorModifierProtectedPrivate |
AccessorModifierPrivateProtected
deriving (Eq, Ord, Read, Show)
_AccessorModifier = (Core.Name "hydra/ext/csharp/syntax.AccessorModifier")
_AccessorModifier_protected = (Core.Name "protected")
_AccessorModifier_internal = (Core.Name "internal")
_AccessorModifier_private = (Core.Name "private")
_AccessorModifier_protectedInternal = (Core.Name "protectedInternal")
_AccessorModifier_internalProtected = (Core.Name "internalProtected")
_AccessorModifier_protectedPrivate = (Core.Name "protectedPrivate")
_AccessorModifier_privateProtected = (Core.Name "privateProtected")
data AccessorBody =
AccessorBodyBlock Block |
AccessorBodyExpression Expression |
AccessorBodyEmpty
deriving (Eq, Ord, Read, Show)
_AccessorBody = (Core.Name "hydra/ext/csharp/syntax.AccessorBody")
_AccessorBody_block = (Core.Name "block")
_AccessorBody_expression = (Core.Name "expression")
_AccessorBody_empty = (Core.Name "empty")
data RefGetAccessorDeclaration =
RefGetAccessorDeclaration {
refGetAccessorDeclarationAttributes :: (Maybe Attributes),
refGetAccessorDeclarationModifier :: (Maybe AccessorModifier),
refGetAccessorDeclarationBody :: RefAccessorBody}
deriving (Eq, Ord, Read, Show)
_RefGetAccessorDeclaration = (Core.Name "hydra/ext/csharp/syntax.RefGetAccessorDeclaration")
_RefGetAccessorDeclaration_attributes = (Core.Name "attributes")
_RefGetAccessorDeclaration_modifier = (Core.Name "modifier")
_RefGetAccessorDeclaration_body = (Core.Name "body")
data RefAccessorBody =
RefAccessorBodyBlock Block |
RefAccessorBodyRef VariableReference |
RefAccessorBodyEmpty
deriving (Eq, Ord, Read, Show)
_RefAccessorBody = (Core.Name "hydra/ext/csharp/syntax.RefAccessorBody")
_RefAccessorBody_block = (Core.Name "block")
_RefAccessorBody_ref = (Core.Name "ref")
_RefAccessorBody_empty = (Core.Name "empty")
data EventDeclaration =
EventDeclarationStandard StandardEventDeclaration |
EventDeclarationAccessors AccessorsEventDeclaration
deriving (Eq, Ord, Read, Show)
_EventDeclaration = (Core.Name "hydra/ext/csharp/syntax.EventDeclaration")
_EventDeclaration_standard = (Core.Name "standard")
_EventDeclaration_accessors = (Core.Name "accessors")
data StandardEventDeclaration =
StandardEventDeclaration {
standardEventDeclarationAttributes :: (Maybe Attributes),
standardEventDeclarationModifiers :: [EventModifier],
standardEventDeclarationType :: Type,
standardEventDeclarationDeclarators :: VariableDeclarators}
deriving (Eq, Ord, Read, Show)
_StandardEventDeclaration = (Core.Name "hydra/ext/csharp/syntax.StandardEventDeclaration")
_StandardEventDeclaration_attributes = (Core.Name "attributes")
_StandardEventDeclaration_modifiers = (Core.Name "modifiers")
_StandardEventDeclaration_type = (Core.Name "type")
_StandardEventDeclaration_declarators = (Core.Name "declarators")
data AccessorsEventDeclaration =
AccessorsEventDeclaration {
accessorsEventDeclarationAttributes :: (Maybe Attributes),
accessorsEventDeclarationModifiers :: [EventModifier],
accessorsEventDeclarationType :: Type,
accessorsEventDeclarationName :: MemberName,
accessorsEventDeclarationAccessors :: EventAccessorDeclarations}
deriving (Eq, Ord, Read, Show)
_AccessorsEventDeclaration = (Core.Name "hydra/ext/csharp/syntax.AccessorsEventDeclaration")
_AccessorsEventDeclaration_attributes = (Core.Name "attributes")
_AccessorsEventDeclaration_modifiers = (Core.Name "modifiers")
_AccessorsEventDeclaration_type = (Core.Name "type")
_AccessorsEventDeclaration_name = (Core.Name "name")
_AccessorsEventDeclaration_accessors = (Core.Name "accessors")
data EventModifier =
EventModifierNew |
EventModifierPublic |
EventModifierProtected |
EventModifierInternal |
EventModifierPrivate |
EventModifierStatic |
EventModifierVirtual |
EventModifierSealed |
EventModifierOverride |
EventModifierAbstract |
EventModifierExtern |
EventModifierUnsafe
deriving (Eq, Ord, Read, Show)
_EventModifier = (Core.Name "hydra/ext/csharp/syntax.EventModifier")
_EventModifier_new = (Core.Name "new")
_EventModifier_public = (Core.Name "public")
_EventModifier_protected = (Core.Name "protected")
_EventModifier_internal = (Core.Name "internal")
_EventModifier_private = (Core.Name "private")
_EventModifier_static = (Core.Name "static")
_EventModifier_virtual = (Core.Name "virtual")
_EventModifier_sealed = (Core.Name "sealed")
_EventModifier_override = (Core.Name "override")
_EventModifier_abstract = (Core.Name "abstract")
_EventModifier_extern = (Core.Name "extern")
_EventModifier_unsafe = (Core.Name "unsafe")
data EventAccessorDeclarations =
EventAccessorDeclarationsAdd AddRemoveAccessorDeclaration |
EventAccessorDeclarationsRemove AddRemoveAccessorDeclaration
deriving (Eq, Ord, Read, Show)
_EventAccessorDeclarations = (Core.Name "hydra/ext/csharp/syntax.EventAccessorDeclarations")
_EventAccessorDeclarations_add = (Core.Name "add")
_EventAccessorDeclarations_remove = (Core.Name "remove")
data AddRemoveAccessorDeclaration =
AddRemoveAccessorDeclaration {
addRemoveAccessorDeclarationAttributes :: (Maybe Attributes),
addRemoveAccessorDeclarationBody :: Block}
deriving (Eq, Ord, Read, Show)
_AddRemoveAccessorDeclaration = (Core.Name "hydra/ext/csharp/syntax.AddRemoveAccessorDeclaration")
_AddRemoveAccessorDeclaration_attributes = (Core.Name "attributes")
_AddRemoveAccessorDeclaration_body = (Core.Name "body")
data IndexerDeclaration =
IndexerDeclarationStandard StandardIndexerDeclaration |
IndexerDeclarationRef RefIndexerDeclaration
deriving (Eq, Ord, Read, Show)
_IndexerDeclaration = (Core.Name "hydra/ext/csharp/syntax.IndexerDeclaration")
_IndexerDeclaration_standard = (Core.Name "standard")
_IndexerDeclaration_ref = (Core.Name "ref")
data StandardIndexerDeclaration =
StandardIndexerDeclaration {
standardIndexerDeclarationAttributes :: (Maybe Attributes),
standardIndexerDeclarationModifiers :: [IndexerModifier],
standardIndexerDeclarationDeclarator :: IndexerDeclarator,
standardIndexerDeclarationBody :: IndexerBody}
deriving (Eq, Ord, Read, Show)
_StandardIndexerDeclaration = (Core.Name "hydra/ext/csharp/syntax.StandardIndexerDeclaration")
_StandardIndexerDeclaration_attributes = (Core.Name "attributes")
_StandardIndexerDeclaration_modifiers = (Core.Name "modifiers")
_StandardIndexerDeclaration_declarator = (Core.Name "declarator")
_StandardIndexerDeclaration_body = (Core.Name "body")
data RefIndexerDeclaration =
RefIndexerDeclaration {
refIndexerDeclarationAttributes :: (Maybe Attributes),
refIndexerDeclarationModifiers :: [IndexerModifier],
refIndexerDeclarationRefKind :: RefKind,
refIndexerDeclarationDeclarator :: IndexerDeclarator,
refIndexerDeclarationBody :: RefIndexerBody}
deriving (Eq, Ord, Read, Show)
_RefIndexerDeclaration = (Core.Name "hydra/ext/csharp/syntax.RefIndexerDeclaration")
_RefIndexerDeclaration_attributes = (Core.Name "attributes")
_RefIndexerDeclaration_modifiers = (Core.Name "modifiers")
_RefIndexerDeclaration_refKind = (Core.Name "refKind")
_RefIndexerDeclaration_declarator = (Core.Name "declarator")
_RefIndexerDeclaration_body = (Core.Name "body")
data IndexerModifier =
IndexerModifierNew |
IndexerModifierPublic |
IndexerModifierProtected |
IndexerModifierInternal |
IndexerModifierPrivate |
IndexerModifierVirtual |
IndexerModifierSealed |
IndexerModifierOverride |
IndexerModifierAbstract |
IndexerModifierExtern |
IndexerModifierUnsafe
deriving (Eq, Ord, Read, Show)
_IndexerModifier = (Core.Name "hydra/ext/csharp/syntax.IndexerModifier")
_IndexerModifier_new = (Core.Name "new")
_IndexerModifier_public = (Core.Name "public")
_IndexerModifier_protected = (Core.Name "protected")
_IndexerModifier_internal = (Core.Name "internal")
_IndexerModifier_private = (Core.Name "private")
_IndexerModifier_virtual = (Core.Name "virtual")
_IndexerModifier_sealed = (Core.Name "sealed")
_IndexerModifier_override = (Core.Name "override")
_IndexerModifier_abstract = (Core.Name "abstract")
_IndexerModifier_extern = (Core.Name "extern")
_IndexerModifier_unsafe = (Core.Name "unsafe")
data IndexerDeclarator =
IndexerDeclarator {
indexerDeclaratorType :: Type,
indexerDeclaratorInterface :: (Maybe InterfaceType),
indexerDeclaratorParameters :: FormalParameterList}
deriving (Eq, Ord, Read, Show)
_IndexerDeclarator = (Core.Name "hydra/ext/csharp/syntax.IndexerDeclarator")
_IndexerDeclarator_type = (Core.Name "type")
_IndexerDeclarator_interface = (Core.Name "interface")
_IndexerDeclarator_parameters = (Core.Name "parameters")
data IndexerBody =
IndexerBodyBlock AccessorDeclarations |
IndexerBodyExpression Expression
deriving (Eq, Ord, Read, Show)
_IndexerBody = (Core.Name "hydra/ext/csharp/syntax.IndexerBody")
_IndexerBody_block = (Core.Name "block")
_IndexerBody_expression = (Core.Name "expression")
data RefIndexerBody =
RefIndexerBodyBlock RefGetAccessorDeclaration |
RefIndexerBodyRef VariableReference
deriving (Eq, Ord, Read, Show)
_RefIndexerBody = (Core.Name "hydra/ext/csharp/syntax.RefIndexerBody")
_RefIndexerBody_block = (Core.Name "block")
_RefIndexerBody_ref = (Core.Name "ref")
data OperatorDeclaration =
OperatorDeclaration {
operatorDeclarationAttributes :: (Maybe Attributes),
operatorDeclarationModifiers :: [OperatorModifier],
operatorDeclarationDeclarator :: OperatorDeclarator,
operatorDeclarationBody :: OperatorBody}
deriving (Eq, Ord, Read, Show)
_OperatorDeclaration = (Core.Name "hydra/ext/csharp/syntax.OperatorDeclaration")
_OperatorDeclaration_attributes = (Core.Name "attributes")
_OperatorDeclaration_modifiers = (Core.Name "modifiers")
_OperatorDeclaration_declarator = (Core.Name "declarator")
_OperatorDeclaration_body = (Core.Name "body")
data OperatorModifier =
OperatorModifierPublic |
OperatorModifierStatic |
OperatorModifierExtern |
OperatorModifierUnsafe
deriving (Eq, Ord, Read, Show)
_OperatorModifier = (Core.Name "hydra/ext/csharp/syntax.OperatorModifier")
_OperatorModifier_public = (Core.Name "public")
_OperatorModifier_static = (Core.Name "static")
_OperatorModifier_extern = (Core.Name "extern")
_OperatorModifier_unsafe = (Core.Name "unsafe")
data OperatorDeclarator =
OperatorDeclaratorUnary UnaryOperatorDeclarator |
OperatorDeclaratorBinary BinaryOperatorDeclarator |
OperatorDeclaratorConversion ConversionOperatorDeclarator
deriving (Eq, Ord, Read, Show)
_OperatorDeclarator = (Core.Name "hydra/ext/csharp/syntax.OperatorDeclarator")
_OperatorDeclarator_unary = (Core.Name "unary")
_OperatorDeclarator_binary = (Core.Name "binary")
_OperatorDeclarator_conversion = (Core.Name "conversion")
data UnaryOperatorDeclarator =
UnaryOperatorDeclarator {
unaryOperatorDeclaratorType :: Type,
unaryOperatorDeclaratorOperator :: OverloadableUnaryOperator,
unaryOperatorDeclaratorParameter :: FixedParameter}
deriving (Eq, Ord, Read, Show)
_UnaryOperatorDeclarator = (Core.Name "hydra/ext/csharp/syntax.UnaryOperatorDeclarator")
_UnaryOperatorDeclarator_type = (Core.Name "type")
_UnaryOperatorDeclarator_operator = (Core.Name "operator")
_UnaryOperatorDeclarator_parameter = (Core.Name "parameter")
data OverloadableUnaryOperator =
OverloadableUnaryOperatorPlus |
OverloadableUnaryOperatorMinus |
OverloadableUnaryOperatorNot |
OverloadableUnaryOperatorComplement |
OverloadableUnaryOperatorIncrement |
OverloadableUnaryOperatorDecrement |
OverloadableUnaryOperatorTrue |
OverloadableUnaryOperatorFalse
deriving (Eq, Ord, Read, Show)
_OverloadableUnaryOperator = (Core.Name "hydra/ext/csharp/syntax.OverloadableUnaryOperator")
_OverloadableUnaryOperator_plus = (Core.Name "plus")
_OverloadableUnaryOperator_minus = (Core.Name "minus")
_OverloadableUnaryOperator_not = (Core.Name "not")
_OverloadableUnaryOperator_complement = (Core.Name "complement")
_OverloadableUnaryOperator_increment = (Core.Name "increment")
_OverloadableUnaryOperator_decrement = (Core.Name "decrement")
_OverloadableUnaryOperator_true = (Core.Name "true")
_OverloadableUnaryOperator_false = (Core.Name "false")
data BinaryOperatorDeclarator =
BinaryOperatorDeclarator {
binaryOperatorDeclaratorType :: Type,
binaryOperatorDeclaratorOperator :: OverloadableBinaryOperator,
binaryOperatorDeclaratorLeft :: FixedParameter,
binaryOperatorDeclaratorRight :: FixedParameter}
deriving (Eq, Ord, Read, Show)
_BinaryOperatorDeclarator = (Core.Name "hydra/ext/csharp/syntax.BinaryOperatorDeclarator")
_BinaryOperatorDeclarator_type = (Core.Name "type")
_BinaryOperatorDeclarator_operator = (Core.Name "operator")
_BinaryOperatorDeclarator_left = (Core.Name "left")
_BinaryOperatorDeclarator_right = (Core.Name "right")
data OverloadableBinaryOperator =
OverloadableBinaryOperatorAdd |
OverloadableBinaryOperatorSubtract |
OverloadableBinaryOperatorMultiply |
OverloadableBinaryOperatorDivide |
OverloadableBinaryOperatorModulus |
OverloadableBinaryOperatorAnd |
OverloadableBinaryOperatorOr |
OverloadableBinaryOperatorXor |
OverloadableBinaryOperatorLeftShift |
OverloadableBinaryOperatorRightShift |
OverloadableBinaryOperatorEqual |
OverloadableBinaryOperatorNotEqual |
OverloadableBinaryOperatorGreaterThan |
OverloadableBinaryOperatorLessThan |
OverloadableBinaryOperatorGreaterThanOrEqual |
OverloadableBinaryOperatorLessThanOrEqual
deriving (Eq, Ord, Read, Show)
_OverloadableBinaryOperator = (Core.Name "hydra/ext/csharp/syntax.OverloadableBinaryOperator")
_OverloadableBinaryOperator_add = (Core.Name "add")
_OverloadableBinaryOperator_subtract = (Core.Name "subtract")
_OverloadableBinaryOperator_multiply = (Core.Name "multiply")
_OverloadableBinaryOperator_divide = (Core.Name "divide")
_OverloadableBinaryOperator_modulus = (Core.Name "modulus")
_OverloadableBinaryOperator_and = (Core.Name "and")
_OverloadableBinaryOperator_or = (Core.Name "or")
_OverloadableBinaryOperator_xor = (Core.Name "xor")
_OverloadableBinaryOperator_leftShift = (Core.Name "leftShift")
_OverloadableBinaryOperator_rightShift = (Core.Name "rightShift")
_OverloadableBinaryOperator_equal = (Core.Name "equal")
_OverloadableBinaryOperator_notEqual = (Core.Name "notEqual")
_OverloadableBinaryOperator_greaterThan = (Core.Name "greaterThan")
_OverloadableBinaryOperator_lessThan = (Core.Name "lessThan")
_OverloadableBinaryOperator_greaterThanOrEqual = (Core.Name "greaterThanOrEqual")
_OverloadableBinaryOperator_lessThanOrEqual = (Core.Name "lessThanOrEqual")
data ConversionOperatorDeclarator =
ConversionOperatorDeclarator {
conversionOperatorDeclaratorKind :: ConversionKind,
conversionOperatorDeclaratorType :: Type,
conversionOperatorDeclaratorParameter :: FixedParameter}
deriving (Eq, Ord, Read, Show)
_ConversionOperatorDeclarator = (Core.Name "hydra/ext/csharp/syntax.ConversionOperatorDeclarator")
_ConversionOperatorDeclarator_kind = (Core.Name "kind")
_ConversionOperatorDeclarator_type = (Core.Name "type")
_ConversionOperatorDeclarator_parameter = (Core.Name "parameter")
data ConversionKind =
ConversionKindImplicit |
ConversionKindExplicit
deriving (Eq, Ord, Read, Show)
_ConversionKind = (Core.Name "hydra/ext/csharp/syntax.ConversionKind")
_ConversionKind_implicit = (Core.Name "implicit")
_ConversionKind_explicit = (Core.Name "explicit")
data OperatorBody =
OperatorBodyBlock Block |
OperatorBodyExpression Expression |
OperatorBodyEmpty
deriving (Eq, Ord, Read, Show)
_OperatorBody = (Core.Name "hydra/ext/csharp/syntax.OperatorBody")
_OperatorBody_block = (Core.Name "block")
_OperatorBody_expression = (Core.Name "expression")
_OperatorBody_empty = (Core.Name "empty")
data ConstructorDeclaration =
ConstructorDeclaration {
constructorDeclarationAttributes :: (Maybe Attributes),
constructorDeclarationModifiers :: [ConstructorModifier],
constructorDeclarationDeclarator :: ConstructorDeclarator,
constructorDeclarationBody :: ConstructorBody}
deriving (Eq, Ord, Read, Show)
_ConstructorDeclaration = (Core.Name "hydra/ext/csharp/syntax.ConstructorDeclaration")
_ConstructorDeclaration_attributes = (Core.Name "attributes")
_ConstructorDeclaration_modifiers = (Core.Name "modifiers")
_ConstructorDeclaration_declarator = (Core.Name "declarator")
_ConstructorDeclaration_body = (Core.Name "body")
data ConstructorModifier =
ConstructorModifierPublic |
ConstructorModifierProtected |
ConstructorModifierInternal |
ConstructorModifierPrivate |
ConstructorModifierExtern |
ConstructorModifierUnsafe
deriving (Eq, Ord, Read, Show)
_ConstructorModifier = (Core.Name "hydra/ext/csharp/syntax.ConstructorModifier")
_ConstructorModifier_public = (Core.Name "public")
_ConstructorModifier_protected = (Core.Name "protected")
_ConstructorModifier_internal = (Core.Name "internal")
_ConstructorModifier_private = (Core.Name "private")
_ConstructorModifier_extern = (Core.Name "extern")
_ConstructorModifier_unsafe = (Core.Name "unsafe")
data ConstructorDeclarator =
ConstructorDeclarator {
constructorDeclaratorName :: Identifier,
constructorDeclaratorParameters :: (Maybe FormalParameterList),
constructorDeclaratorInitializer :: (Maybe ConstructorInitializer)}
deriving (Eq, Ord, Read, Show)
_ConstructorDeclarator = (Core.Name "hydra/ext/csharp/syntax.ConstructorDeclarator")
_ConstructorDeclarator_name = (Core.Name "name")
_ConstructorDeclarator_parameters = (Core.Name "parameters")
_ConstructorDeclarator_initializer = (Core.Name "initializer")
data ConstructorInitializer =
ConstructorInitializerBase (Maybe ArgumentList) |
ConstructorInitializerThis (Maybe ArgumentList)
deriving (Eq, Ord, Read, Show)
_ConstructorInitializer = (Core.Name "hydra/ext/csharp/syntax.ConstructorInitializer")
_ConstructorInitializer_base = (Core.Name "base")
_ConstructorInitializer_this = (Core.Name "this")
data ConstructorBody =
ConstructorBodyBlock Block |
ConstructorBodyExpression Expression |
ConstructorBodyEmpty
deriving (Eq, Ord, Read, Show)
_ConstructorBody = (Core.Name "hydra/ext/csharp/syntax.ConstructorBody")
_ConstructorBody_block = (Core.Name "block")
_ConstructorBody_expression = (Core.Name "expression")
_ConstructorBody_empty = (Core.Name "empty")
data StaticConstructorDeclaration =
StaticConstructorDeclaration {
staticConstructorDeclarationAttributes :: (Maybe Attributes),
staticConstructorDeclarationModifiers :: StaticConstructorModifiers,
staticConstructorDeclarationName :: Identifier,
staticConstructorDeclarationBody :: StaticConstructorBody}
deriving (Eq, Ord, Read, Show)
_StaticConstructorDeclaration = (Core.Name "hydra/ext/csharp/syntax.StaticConstructorDeclaration")
_StaticConstructorDeclaration_attributes = (Core.Name "attributes")
_StaticConstructorDeclaration_modifiers = (Core.Name "modifiers")
_StaticConstructorDeclaration_name = (Core.Name "name")
_StaticConstructorDeclaration_body = (Core.Name "body")
data StaticConstructorModifiers =
StaticConstructorModifiers {
staticConstructorModifiersExtern :: Bool,
staticConstructorModifiersUnsafe :: Bool}
deriving (Eq, Ord, Read, Show)
_StaticConstructorModifiers = (Core.Name "hydra/ext/csharp/syntax.StaticConstructorModifiers")
_StaticConstructorModifiers_extern = (Core.Name "extern")
_StaticConstructorModifiers_unsafe = (Core.Name "unsafe")
data StaticConstructorBody =
StaticConstructorBodyBlock Block |
StaticConstructorBodyExpression Expression |
StaticConstructorBodyEmpty
deriving (Eq, Ord, Read, Show)
_StaticConstructorBody = (Core.Name "hydra/ext/csharp/syntax.StaticConstructorBody")
_StaticConstructorBody_block = (Core.Name "block")
_StaticConstructorBody_expression = (Core.Name "expression")
_StaticConstructorBody_empty = (Core.Name "empty")
data FinalizerDeclaration =
FinalizerDeclaration {
finalizerDeclarationAttributes :: (Maybe Attributes),
finalizerDeclarationExtern :: Bool,
finalizerDeclarationUnsafe :: Bool,
finalizerDeclarationName :: Identifier,
finalizerDeclarationBody :: FinalizerBody}
deriving (Eq, Ord, Read, Show)
_FinalizerDeclaration = (Core.Name "hydra/ext/csharp/syntax.FinalizerDeclaration")
_FinalizerDeclaration_attributes = (Core.Name "attributes")
_FinalizerDeclaration_extern = (Core.Name "extern")
_FinalizerDeclaration_unsafe = (Core.Name "unsafe")
_FinalizerDeclaration_name = (Core.Name "name")
_FinalizerDeclaration_body = (Core.Name "body")
data FinalizerBody =
FinalizerBodyBlock Block |
FinalizerBodyExpression Expression |
FinalizerBodyEmpty
deriving (Eq, Ord, Read, Show)
_FinalizerBody = (Core.Name "hydra/ext/csharp/syntax.FinalizerBody")
_FinalizerBody_block = (Core.Name "block")
_FinalizerBody_expression = (Core.Name "expression")
_FinalizerBody_empty = (Core.Name "empty")
data StructDeclaration =
StructDeclaration {
structDeclarationAttributes :: (Maybe Attributes),
structDeclarationModifiers :: [StructModifier],
structDeclarationRef :: Bool,
structDeclarationPartial :: Bool,
structDeclarationName :: Identifier,
structDeclarationParameters :: (Maybe TypeParameterList),
structDeclarationInterfaces :: [InterfaceType],
structDeclarationConstraints :: [TypeParameterConstraintsClause],
structDeclarationBody :: [StructMemberDeclaration]}
deriving (Eq, Ord, Read, Show)
_StructDeclaration = (Core.Name "hydra/ext/csharp/syntax.StructDeclaration")
_StructDeclaration_attributes = (Core.Name "attributes")
_StructDeclaration_modifiers = (Core.Name "modifiers")
_StructDeclaration_ref = (Core.Name "ref")
_StructDeclaration_partial = (Core.Name "partial")
_StructDeclaration_name = (Core.Name "name")
_StructDeclaration_parameters = (Core.Name "parameters")
_StructDeclaration_interfaces = (Core.Name "interfaces")
_StructDeclaration_constraints = (Core.Name "constraints")
_StructDeclaration_body = (Core.Name "body")
data StructModifier =
StructModifierNew |
StructModifierPublic |
StructModifierProtected |
StructModifierInternal |
StructModifierPrivate |
StructModifierReadonly |
StructModifierUnsafe
deriving (Eq, Ord, Read, Show)
_StructModifier = (Core.Name "hydra/ext/csharp/syntax.StructModifier")
_StructModifier_new = (Core.Name "new")
_StructModifier_public = (Core.Name "public")
_StructModifier_protected = (Core.Name "protected")
_StructModifier_internal = (Core.Name "internal")
_StructModifier_private = (Core.Name "private")
_StructModifier_readonly = (Core.Name "readonly")
_StructModifier_unsafe = (Core.Name "unsafe")
data StructMemberDeclaration =
StructMemberDeclarationConstant ConstantDeclaration |
StructMemberDeclarationField FieldDeclaration |
StructMemberDeclarationMethod MethodDeclaration |
StructMemberDeclarationProperty PropertyDeclaration |
StructMemberDeclarationEvent EventDeclaration |
StructMemberDeclarationIndexer IndexerDeclaration |
StructMemberDeclarationOperator OperatorDeclaration |
StructMemberDeclarationConstructor ConstructorDeclaration |
StructMemberDeclarationStaticConstructor StaticConstructorDeclaration |
StructMemberDeclarationType TypeDeclaration |
StructMemberDeclarationFixedSizeBuffer FixedSizeBufferDeclaration
deriving (Eq, Ord, Read, Show)
_StructMemberDeclaration = (Core.Name "hydra/ext/csharp/syntax.StructMemberDeclaration")
_StructMemberDeclaration_constant = (Core.Name "constant")
_StructMemberDeclaration_field = (Core.Name "field")
_StructMemberDeclaration_method = (Core.Name "method")
_StructMemberDeclaration_property = (Core.Name "property")
_StructMemberDeclaration_event = (Core.Name "event")
_StructMemberDeclaration_indexer = (Core.Name "indexer")
_StructMemberDeclaration_operator = (Core.Name "operator")
_StructMemberDeclaration_constructor = (Core.Name "constructor")
_StructMemberDeclaration_staticConstructor = (Core.Name "staticConstructor")
_StructMemberDeclaration_type = (Core.Name "type")
_StructMemberDeclaration_fixedSizeBuffer = (Core.Name "fixedSizeBuffer")
newtype ArrayInitializer =
ArrayInitializer {
unArrayInitializer :: [VariableInitializer]}
deriving (Eq, Ord, Read, Show)
_ArrayInitializer = (Core.Name "hydra/ext/csharp/syntax.ArrayInitializer")
data VariableInitializer =
VariableInitializerExpression Expression |
VariableInitializerArray ArrayInitializer
deriving (Eq, Ord, Read, Show)
_VariableInitializer = (Core.Name "hydra/ext/csharp/syntax.VariableInitializer")
_VariableInitializer_expression = (Core.Name "expression")
_VariableInitializer_array = (Core.Name "array")
data InterfaceDeclaration =
InterfaceDeclaration {
interfaceDeclarationAttributes :: (Maybe Attributes),
interfaceDeclarationModifiers :: [InterfaceModifier],
interfaceDeclarationPartial :: Bool,
interfaceDeclarationName :: Identifier,
interfaceDeclarationParameters :: (Maybe VariantTypeParameters),
interfaceDeclarationBase :: [InterfaceType],
interfaceDeclarationConstraints :: [TypeParameterConstraintsClause],
interfaceDeclarationBody :: [InterfaceMemberDeclaration]}
deriving (Eq, Ord, Read, Show)
_InterfaceDeclaration = (Core.Name "hydra/ext/csharp/syntax.InterfaceDeclaration")
_InterfaceDeclaration_attributes = (Core.Name "attributes")
_InterfaceDeclaration_modifiers = (Core.Name "modifiers")
_InterfaceDeclaration_partial = (Core.Name "partial")
_InterfaceDeclaration_name = (Core.Name "name")
_InterfaceDeclaration_parameters = (Core.Name "parameters")
_InterfaceDeclaration_base = (Core.Name "base")
_InterfaceDeclaration_constraints = (Core.Name "constraints")
_InterfaceDeclaration_body = (Core.Name "body")
data InterfaceModifier =
InterfaceModifierNew |
InterfaceModifierPublic |
InterfaceModifierProtected |
InterfaceModifierInternal |
InterfaceModifierPrivate |
InterfaceModifierUnsafe
deriving (Eq, Ord, Read, Show)
_InterfaceModifier = (Core.Name "hydra/ext/csharp/syntax.InterfaceModifier")
_InterfaceModifier_new = (Core.Name "new")
_InterfaceModifier_public = (Core.Name "public")
_InterfaceModifier_protected = (Core.Name "protected")
_InterfaceModifier_internal = (Core.Name "internal")
_InterfaceModifier_private = (Core.Name "private")
_InterfaceModifier_unsafe = (Core.Name "unsafe")
newtype VariantTypeParameters =
VariantTypeParameters {
unVariantTypeParameters :: [VariantTypeParameter]}
deriving (Eq, Ord, Read, Show)
_VariantTypeParameters = (Core.Name "hydra/ext/csharp/syntax.VariantTypeParameters")
data VariantTypeParameter =
VariantTypeParameter {
variantTypeParameterAttributes :: (Maybe Attributes),
variantTypeParameterVariance :: (Maybe VarianceAnnotation),
variantTypeParameterParameter :: TypeParameter}
deriving (Eq, Ord, Read, Show)
_VariantTypeParameter = (Core.Name "hydra/ext/csharp/syntax.VariantTypeParameter")
_VariantTypeParameter_attributes = (Core.Name "attributes")
_VariantTypeParameter_variance = (Core.Name "variance")
_VariantTypeParameter_parameter = (Core.Name "parameter")
data VarianceAnnotation =
VarianceAnnotationIn |
VarianceAnnotationOut
deriving (Eq, Ord, Read, Show)
_VarianceAnnotation = (Core.Name "hydra/ext/csharp/syntax.VarianceAnnotation")
_VarianceAnnotation_in = (Core.Name "in")
_VarianceAnnotation_out = (Core.Name "out")
data InterfaceMemberDeclaration =
InterfaceMemberDeclarationMethod InterfaceMethodDeclaration |
InterfaceMemberDeclarationProperty InterfacePropertyDeclaration |
InterfaceMemberDeclarationEvent InterfaceEventDeclaration |
InterfaceMemberDeclarationIndexer InterfaceIndexerDeclaration
deriving (Eq, Ord, Read, Show)
_InterfaceMemberDeclaration = (Core.Name "hydra/ext/csharp/syntax.InterfaceMemberDeclaration")
_InterfaceMemberDeclaration_method = (Core.Name "method")
_InterfaceMemberDeclaration_property = (Core.Name "property")
_InterfaceMemberDeclaration_event = (Core.Name "event")
_InterfaceMemberDeclaration_indexer = (Core.Name "indexer")
data InterfaceMethodDeclaration =
InterfaceMethodDeclaration {
interfaceMethodDeclarationAttributes :: (Maybe Attributes),
interfaceMethodDeclarationNew :: Bool,
interfaceMethodDeclarationReturnType :: ReturnType,
interfaceMethodDeclarationRefKind :: (Maybe RefKind),
interfaceMethodDeclarationHeader :: InterfaceMethodHeader}
deriving (Eq, Ord, Read, Show)
_InterfaceMethodDeclaration = (Core.Name "hydra/ext/csharp/syntax.InterfaceMethodDeclaration")
_InterfaceMethodDeclaration_attributes = (Core.Name "attributes")
_InterfaceMethodDeclaration_new = (Core.Name "new")
_InterfaceMethodDeclaration_returnType = (Core.Name "returnType")
_InterfaceMethodDeclaration_refKind = (Core.Name "refKind")
_InterfaceMethodDeclaration_header = (Core.Name "header")
data InterfaceMethodHeader =
InterfaceMethodHeader {
interfaceMethodHeaderName :: Identifier,
interfaceMethodHeaderParameters :: (Maybe FormalParameterList),
interfaceMethodHeaderTypeParameters :: (Maybe TypeParameterList),
interfaceMethodHeaderConstraints :: [TypeParameterConstraintsClause]}
deriving (Eq, Ord, Read, Show)
_InterfaceMethodHeader = (Core.Name "hydra/ext/csharp/syntax.InterfaceMethodHeader")
_InterfaceMethodHeader_name = (Core.Name "name")
_InterfaceMethodHeader_parameters = (Core.Name "parameters")
_InterfaceMethodHeader_typeParameters = (Core.Name "typeParameters")
_InterfaceMethodHeader_constraints = (Core.Name "constraints")
data InterfacePropertyDeclaration =
InterfacePropertyDeclaration {
interfacePropertyDeclarationAttributes :: (Maybe Attributes),
interfacePropertyDeclarationNew :: Bool,
interfacePropertyDeclarationRefKind :: (Maybe RefKind),
interfacePropertyDeclarationType :: Type,
interfacePropertyDeclarationName :: Identifier,
interfacePropertyDeclarationAccessors :: InterfaceAccessors}
deriving (Eq, Ord, Read, Show)
_InterfacePropertyDeclaration = (Core.Name "hydra/ext/csharp/syntax.InterfacePropertyDeclaration")
_InterfacePropertyDeclaration_attributes = (Core.Name "attributes")
_InterfacePropertyDeclaration_new = (Core.Name "new")
_InterfacePropertyDeclaration_refKind = (Core.Name "refKind")
_InterfacePropertyDeclaration_type = (Core.Name "type")
_InterfacePropertyDeclaration_name = (Core.Name "name")
_InterfacePropertyDeclaration_accessors = (Core.Name "accessors")
data InterfaceAccessors =
InterfaceAccessors {
interfaceAccessorsAttributes :: (Maybe Attributes),
interfaceAccessorsGet :: (Maybe Attributes),
interfaceAccessorsSet :: (Maybe Attributes)}
deriving (Eq, Ord, Read, Show)
_InterfaceAccessors = (Core.Name "hydra/ext/csharp/syntax.InterfaceAccessors")
_InterfaceAccessors_attributes = (Core.Name "attributes")
_InterfaceAccessors_get = (Core.Name "get")
_InterfaceAccessors_set = (Core.Name "set")
data InterfaceEventDeclaration =
InterfaceEventDeclaration {
interfaceEventDeclarationAttributes :: (Maybe Attributes),
interfaceEventDeclarationNew :: Bool,
interfaceEventDeclarationType :: Type,
interfaceEventDeclarationName :: Identifier}
deriving (Eq, Ord, Read, Show)
_InterfaceEventDeclaration = (Core.Name "hydra/ext/csharp/syntax.InterfaceEventDeclaration")
_InterfaceEventDeclaration_attributes = (Core.Name "attributes")
_InterfaceEventDeclaration_new = (Core.Name "new")
_InterfaceEventDeclaration_type = (Core.Name "type")
_InterfaceEventDeclaration_name = (Core.Name "name")
data InterfaceIndexerDeclaration =
InterfaceIndexerDeclaration {
interfaceIndexerDeclarationAttributes :: (Maybe Attributes),
interfaceIndexerDeclarationNew :: Bool,
interfaceIndexerDeclarationRefKind :: (Maybe RefKind),
interfaceIndexerDeclarationType :: Type,
interfaceIndexerDeclarationParameters :: FormalParameterList,
interfaceIndexerDeclarationAccessors :: InterfaceAccessors}
deriving (Eq, Ord, Read, Show)
_InterfaceIndexerDeclaration = (Core.Name "hydra/ext/csharp/syntax.InterfaceIndexerDeclaration")
_InterfaceIndexerDeclaration_attributes = (Core.Name "attributes")
_InterfaceIndexerDeclaration_new = (Core.Name "new")
_InterfaceIndexerDeclaration_refKind = (Core.Name "refKind")
_InterfaceIndexerDeclaration_type = (Core.Name "type")
_InterfaceIndexerDeclaration_parameters = (Core.Name "parameters")
_InterfaceIndexerDeclaration_accessors = (Core.Name "accessors")
data EnumDeclaration =
EnumDeclaration {
enumDeclarationAttributes :: (Maybe Attributes),
enumDeclarationModifiers :: [EnumModifier],
enumDeclarationName :: Identifier,
enumDeclarationBase :: (Maybe EnumBase),
enumDeclarationBody :: (Maybe EnumBody)}
deriving (Eq, Ord, Read, Show)
_EnumDeclaration = (Core.Name "hydra/ext/csharp/syntax.EnumDeclaration")
_EnumDeclaration_attributes = (Core.Name "attributes")
_EnumDeclaration_modifiers = (Core.Name "modifiers")
_EnumDeclaration_name = (Core.Name "name")
_EnumDeclaration_base = (Core.Name "base")
_EnumDeclaration_body = (Core.Name "body")
data EnumBase =
EnumBaseType IntegralType |
EnumBaseName TypeName
deriving (Eq, Ord, Read, Show)
_EnumBase = (Core.Name "hydra/ext/csharp/syntax.EnumBase")
_EnumBase_type = (Core.Name "type")
_EnumBase_name = (Core.Name "name")
newtype EnumBody =
EnumBody {
unEnumBody :: [EnumMemberDeclaration]}
deriving (Eq, Ord, Read, Show)
_EnumBody = (Core.Name "hydra/ext/csharp/syntax.EnumBody")
data EnumModifier =
EnumModifierNew |
EnumModifierPublic |
EnumModifierProtected |
EnumModifierInternal |
EnumModifierPrivate
deriving (Eq, Ord, Read, Show)
_EnumModifier = (Core.Name "hydra/ext/csharp/syntax.EnumModifier")
_EnumModifier_new = (Core.Name "new")
_EnumModifier_public = (Core.Name "public")
_EnumModifier_protected = (Core.Name "protected")
_EnumModifier_internal = (Core.Name "internal")
_EnumModifier_private = (Core.Name "private")
data EnumMemberDeclaration =
EnumMemberDeclaration {
enumMemberDeclarationAttributes :: (Maybe Attributes),
enumMemberDeclarationName :: Identifier,
enumMemberDeclarationValue :: (Maybe ConstantExpression)}
deriving (Eq, Ord, Read, Show)
_EnumMemberDeclaration = (Core.Name "hydra/ext/csharp/syntax.EnumMemberDeclaration")
_EnumMemberDeclaration_attributes = (Core.Name "attributes")
_EnumMemberDeclaration_name = (Core.Name "name")
_EnumMemberDeclaration_value = (Core.Name "value")
data DelegateDeclaration =
DelegateDeclaration {
delegateDeclarationAttributes :: (Maybe Attributes),
delegateDeclarationModifiers :: [DelegateModifier],
delegateDeclarationReturnType :: ReturnType,
delegateDeclarationRefKind :: (Maybe RefKind),
delegateDeclarationRefReturnType :: (Maybe Type),
delegateDeclarationHeader :: DelegateHeader}
deriving (Eq, Ord, Read, Show)
_DelegateDeclaration = (Core.Name "hydra/ext/csharp/syntax.DelegateDeclaration")
_DelegateDeclaration_attributes = (Core.Name "attributes")
_DelegateDeclaration_modifiers = (Core.Name "modifiers")
_DelegateDeclaration_returnType = (Core.Name "returnType")
_DelegateDeclaration_refKind = (Core.Name "refKind")
_DelegateDeclaration_refReturnType = (Core.Name "refReturnType")
_DelegateDeclaration_header = (Core.Name "header")
data DelegateHeader =
DelegateHeader {
delegateHeaderName :: Identifier,
delegateHeaderTypeParameters :: (Maybe VariantTypeParameters),
delegateHeaderParameters :: (Maybe FormalParameterList),
delegateHeaderConstraints :: [TypeParameterConstraintsClause]}
deriving (Eq, Ord, Read, Show)
_DelegateHeader = (Core.Name "hydra/ext/csharp/syntax.DelegateHeader")
_DelegateHeader_name = (Core.Name "name")
_DelegateHeader_typeParameters = (Core.Name "typeParameters")
_DelegateHeader_parameters = (Core.Name "parameters")
_DelegateHeader_constraints = (Core.Name "constraints")
data DelegateModifier =
DelegateModifierNew |
DelegateModifierPublic |
DelegateModifierProtected |
DelegateModifierInternal |
DelegateModifierPrivate |
DelegateModifierUnsafe
deriving (Eq, Ord, Read, Show)
_DelegateModifier = (Core.Name "hydra/ext/csharp/syntax.DelegateModifier")
_DelegateModifier_new = (Core.Name "new")
_DelegateModifier_public = (Core.Name "public")
_DelegateModifier_protected = (Core.Name "protected")
_DelegateModifier_internal = (Core.Name "internal")
_DelegateModifier_private = (Core.Name "private")
_DelegateModifier_unsafe = (Core.Name "unsafe")
data GlobalAttributeSection =
GlobalAttributeSection {
globalAttributeSectionTarget :: Identifier,
globalAttributeSectionAttributes :: AttributeList}
deriving (Eq, Ord, Read, Show)
_GlobalAttributeSection = (Core.Name "hydra/ext/csharp/syntax.GlobalAttributeSection")
_GlobalAttributeSection_target = (Core.Name "target")
_GlobalAttributeSection_attributes = (Core.Name "attributes")
newtype Attributes =
Attributes {
unAttributes :: [AttributeSection]}
deriving (Eq, Ord, Read, Show)
_Attributes = (Core.Name "hydra/ext/csharp/syntax.Attributes")
data AttributeSection =
AttributeSection {
attributeSectionTarget :: (Maybe AttributeTarget),
attributeSectionAttributes :: AttributeList}
deriving (Eq, Ord, Read, Show)
_AttributeSection = (Core.Name "hydra/ext/csharp/syntax.AttributeSection")
_AttributeSection_target = (Core.Name "target")
_AttributeSection_attributes = (Core.Name "attributes")
data AttributeTarget =
AttributeTargetIdentifier Identifier |
AttributeTargetKeyword Keyword
deriving (Eq, Ord, Read, Show)
_AttributeTarget = (Core.Name "hydra/ext/csharp/syntax.AttributeTarget")
_AttributeTarget_identifier = (Core.Name "identifier")
_AttributeTarget_keyword = (Core.Name "keyword")
newtype AttributeList =
AttributeList {
unAttributeList :: [Attribute]}
deriving (Eq, Ord, Read, Show)
_AttributeList = (Core.Name "hydra/ext/csharp/syntax.AttributeList")
data Attribute =
Attribute {
attributeName :: AttributeName,
attributeArguments :: (Maybe AttributeArguments)}
deriving (Eq, Ord, Read, Show)
_Attribute = (Core.Name "hydra/ext/csharp/syntax.Attribute")
_Attribute_name = (Core.Name "name")
_Attribute_arguments = (Core.Name "arguments")
newtype AttributeName =
AttributeName {
unAttributeName :: TypeName}
deriving (Eq, Ord, Read, Show)
_AttributeName = (Core.Name "hydra/ext/csharp/syntax.AttributeName")
data AttributeArguments =
AttributeArguments {
attributeArgumentsPositonal :: (Maybe PositionalArgumentList),
attributeArgumentsNamed :: (Maybe NamedArgumentList)}
deriving (Eq, Ord, Read, Show)
_AttributeArguments = (Core.Name "hydra/ext/csharp/syntax.AttributeArguments")
_AttributeArguments_positonal = (Core.Name "positonal")
_AttributeArguments_named = (Core.Name "named")
newtype PositionalArgumentList =
PositionalArgumentList {
unPositionalArgumentList :: [PositionalArgument]}
deriving (Eq, Ord, Read, Show)
_PositionalArgumentList = (Core.Name "hydra/ext/csharp/syntax.PositionalArgumentList")
data PositionalArgument =
PositionalArgument {
positionalArgumentName :: (Maybe Identifier),
positionalArgumentValue :: AttributeArgumentExpression}
deriving (Eq, Ord, Read, Show)
_PositionalArgument = (Core.Name "hydra/ext/csharp/syntax.PositionalArgument")
_PositionalArgument_name = (Core.Name "name")
_PositionalArgument_value = (Core.Name "value")
newtype NamedArgumentList =
NamedArgumentList {
unNamedArgumentList :: [NamedArgument]}
deriving (Eq, Ord, Read, Show)
_NamedArgumentList = (Core.Name "hydra/ext/csharp/syntax.NamedArgumentList")
data NamedArgument =
NamedArgument {
namedArgumentName :: Identifier,
namedArgumentValue :: AttributeArgumentExpression}
deriving (Eq, Ord, Read, Show)
_NamedArgument = (Core.Name "hydra/ext/csharp/syntax.NamedArgument")
_NamedArgument_name = (Core.Name "name")
_NamedArgument_value = (Core.Name "value")
newtype AttributeArgumentExpression =
AttributeArgumentExpression {
unAttributeArgumentExpression :: NonAssignmentExpression}
deriving (Eq, Ord, Read, Show)
_AttributeArgumentExpression = (Core.Name "hydra/ext/csharp/syntax.AttributeArgumentExpression")
data PointerType =
PointerTypeValueType (Maybe ValueType) |
PointerTypePointerDepth Int
deriving (Eq, Ord, Read, Show)
_PointerType = (Core.Name "hydra/ext/csharp/syntax.PointerType")
_PointerType_valueType = (Core.Name "valueType")
_PointerType_pointerDepth = (Core.Name "pointerDepth")
data PointerMemberAccess =
PointerMemberAccess {
pointerMemberAccessPointer :: PrimaryExpression,
pointerMemberAccessMember :: Identifier,
pointerMemberAccessTypeArguments :: (Maybe TypeArgumentList)}
deriving (Eq, Ord, Read, Show)
_PointerMemberAccess = (Core.Name "hydra/ext/csharp/syntax.PointerMemberAccess")
_PointerMemberAccess_pointer = (Core.Name "pointer")
_PointerMemberAccess_member = (Core.Name "member")
_PointerMemberAccess_typeArguments = (Core.Name "typeArguments")
data PointerElementAccess =
PointerElementAccess {
pointerElementAccessPointer :: PrimaryNoArrayCreationExpression,
pointerElementAccessIndex :: Expression}
deriving (Eq, Ord, Read, Show)
_PointerElementAccess = (Core.Name "hydra/ext/csharp/syntax.PointerElementAccess")
_PointerElementAccess_pointer = (Core.Name "pointer")
_PointerElementAccess_index = (Core.Name "index")
data FixedStatement =
FixedStatement {
fixedStatementPointerType :: PointerType,
fixedStatementDeclarators :: [FixedPointerDeclarator],
fixedStatementStatement :: EmbeddedStatement}
deriving (Eq, Ord, Read, Show)
_FixedStatement = (Core.Name "hydra/ext/csharp/syntax.FixedStatement")
_FixedStatement_pointerType = (Core.Name "pointerType")
_FixedStatement_declarators = (Core.Name "declarators")
_FixedStatement_statement = (Core.Name "statement")
data FixedPointerDeclarator =
FixedPointerDeclaratorReference VariableReference |
FixedPointerDeclaratorExpression Expression
deriving (Eq, Ord, Read, Show)
_FixedPointerDeclarator = (Core.Name "hydra/ext/csharp/syntax.FixedPointerDeclarator")
_FixedPointerDeclarator_reference = (Core.Name "reference")
_FixedPointerDeclarator_expression = (Core.Name "expression")
data FixedSizeBufferDeclaration =
FixedSizeBufferDeclaration {
fixedSizeBufferDeclarationAttributes :: (Maybe Attributes),
fixedSizeBufferDeclarationModifiers :: [FixedSizeBufferModifier],
fixedSizeBufferDeclarationElementType :: Type,
fixedSizeBufferDeclarationDeclarators :: [FixedSizeBufferDeclarator]}
deriving (Eq, Ord, Read, Show)
_FixedSizeBufferDeclaration = (Core.Name "hydra/ext/csharp/syntax.FixedSizeBufferDeclaration")
_FixedSizeBufferDeclaration_attributes = (Core.Name "attributes")
_FixedSizeBufferDeclaration_modifiers = (Core.Name "modifiers")
_FixedSizeBufferDeclaration_elementType = (Core.Name "elementType")
_FixedSizeBufferDeclaration_declarators = (Core.Name "declarators")
data FixedSizeBufferModifier =
FixedSizeBufferModifierNew |
FixedSizeBufferModifierPublic |
FixedSizeBufferModifierInternal |
FixedSizeBufferModifierPrivate |
FixedSizeBufferModifierUnsafe
deriving (Eq, Ord, Read, Show)
_FixedSizeBufferModifier = (Core.Name "hydra/ext/csharp/syntax.FixedSizeBufferModifier")
_FixedSizeBufferModifier_new = (Core.Name "new")
_FixedSizeBufferModifier_public = (Core.Name "public")
_FixedSizeBufferModifier_internal = (Core.Name "internal")
_FixedSizeBufferModifier_private = (Core.Name "private")
_FixedSizeBufferModifier_unsafe = (Core.Name "unsafe")
data FixedSizeBufferDeclarator =
FixedSizeBufferDeclarator {
fixedSizeBufferDeclaratorName :: Identifier,
fixedSizeBufferDeclaratorSize :: ConstantExpression}
deriving (Eq, Ord, Read, Show)
_FixedSizeBufferDeclarator = (Core.Name "hydra/ext/csharp/syntax.FixedSizeBufferDeclarator")
_FixedSizeBufferDeclarator_name = (Core.Name "name")
_FixedSizeBufferDeclarator_size = (Core.Name "size")