// This file was generated by proto-gen. Do not edit by hand. syntax = "proto3"; package github.semantic.haskelldiff; import "types.proto"; option java_package = "com.github.semantic.haskelldiff"; option go_package = "github.com/semantic/haskelldiff;haskell"; message HaskellDiff { oneof diff { Merge merge = 1; Delete delete = 2; Insert insert = 3; Replace replace = 4; } message Merge { HaskellSyntax syntax = 1; } message Delete { HaskellSyntax before = 1; } message Insert { HaskellSyntax after = 1; } message Replace { HaskellSyntax before = 1; HaskellSyntax after = 2; } } message HaskellSyntax { oneof syntax { Comment comment = 1; Constructor constructor = 2; Datatype datatype = 3; Function function = 4; Array array = 5; Character character = 6; Float float = 7; Integer integer = 8; TextElement textElement = 9; Tuple tuple = 10; If if = 11; Match match = 12; Pattern pattern = 13; AllConstructors allConstructors = 14; AnnotatedTypeVariable annotatedTypeVariable = 15; App app = 16; ArithmeticSequence arithmeticSequence = 17; AsPattern asPattern = 18; BindPattern bindPattern = 19; CaseGuardPattern caseGuardPattern = 20; Class class = 21; ConstructorIdentifier constructorIdentifier = 22; ConstructorOperator constructorOperator = 23; ConstructorPattern constructorPattern = 24; ConstructorSymbol constructorSymbol = 25; Context context = 26; ContextAlt contextAlt = 27; CPPDirective cPPDirective = 28; DefaultDeclaration defaultDeclaration = 29; DefaultSignature defaultSignature = 30; Deriving deriving = 31; Do do = 32; Empty empty = 33; Error error = 34; EqualityConstraint equalityConstraint = 35; Export export = 36; ExpressionTypeSignature expressionTypeSignature = 37; Field field = 38; FieldBind fieldBind = 39; FieldPattern fieldPattern = 40; FixityAlt fixityAlt = 41; FunctionalDependency functionalDependency = 42; FunctionConstructor functionConstructor = 43; FunctionGuardPattern functionGuardPattern = 44; FunctionType functionType = 45; GADT gADT = 46; GADTConstructor gADTConstructor = 47; Generator generator = 48; Guard guard = 49; HiddenImport hiddenImport = 50; Identifier identifier = 51; InfixConstructorIdentifier infixConstructorIdentifier = 52; InfixOperatorApp infixOperatorApp = 53; InfixVariableIdentifier infixVariableIdentifier = 54; ImplicitParameterIdentifier implicitParameterIdentifier = 55; Import import = 56; ImportAlias importAlias = 57; ImportDeclaration importDeclaration = 58; InfixDataConstructor infixDataConstructor = 59; InfixOperatorPattern infixOperatorPattern = 60; Instance instance = 61; IrrefutablePattern irrefutablePattern = 62; Kind kind = 63; KindFunctionType kindFunctionType = 64; KindListType kindListType = 65; KindParenthesizedConstructor kindParenthesizedConstructor = 66; KindSignature kindSignature = 67; KindTupleType kindTupleType = 68; LabeledConstruction labeledConstruction = 69; LabeledPattern labeledPattern = 70; LabeledUpdate labeledUpdate = 71; Lambda lambda = 72; LambdaCase lambdaCase = 73; LeftOperatorSection leftOperatorSection = 74; Let let = 75; ListComprehension listComprehension = 76; ListConstructor listConstructor = 77; ListPattern listPattern = 78; Module module = 79; ModuleExport moduleExport = 80; ModuleIdentifier moduleIdentifier = 81; NamedFieldPun namedFieldPun = 82; NegativeLiteral negativeLiteral = 83; NewType newType = 84; PatternGuard patternGuard = 85; Pragma pragma = 86; PrefixNegation prefixNegation = 87; PrimitiveConstructorIdentifier primitiveConstructorIdentifier = 88; PrimitiveVariableIdentifier primitiveVariableIdentifier = 89; PromotedTypeOperator promotedTypeOperator = 90; QualifiedConstructorIdentifier qualifiedConstructorIdentifier = 91; QualifiedInfixVariableIdentifier qualifiedInfixVariableIdentifier = 92; QualifiedModuleIdentifier qualifiedModuleIdentifier = 93; QualifiedImportDeclaration qualifiedImportDeclaration = 94; QualifiedTypeClassIdentifier qualifiedTypeClassIdentifier = 95; QualifiedTypeConstructorIdentifier qualifiedTypeConstructorIdentifier = 96; QualifiedVariableIdentifier qualifiedVariableIdentifier = 97; QuasiQuotation quasiQuotation = 98; QuasiQuotationDeclaration quasiQuotationDeclaration = 99; QuasiQuotationExpression quasiQuotationExpression = 100; QuasiQuotationExpressionBody quasiQuotationExpressionBody = 101; QuasiQuotationPattern quasiQuotationPattern = 102; QuasiQuotationQuoter quasiQuotationQuoter = 103; QuasiQuotationType quasiQuotationType = 104; QuotedName quotedName = 105; RecordDataConstructor recordDataConstructor = 106; RecordWildCards recordWildCards = 107; RightOperatorSection rightOperatorSection = 108; ScopedTypeVariables scopedTypeVariables = 109; Splice splice = 110; StandaloneDerivingInstance standaloneDerivingInstance = 111; Star star = 112; StrictPattern strictPattern = 113; StrictType strictType = 114; StrictTypeVariable strictTypeVariable = 115; TupleConstructor tupleConstructor = 116; TupleExpression tupleExpression = 117; TuplePattern tuplePattern = 118; Type type = 119; TypeApp typeApp = 120; TypeClass typeClass = 121; TypeClassIdentifier typeClassIdentifier = 122; TypeClassInstance typeClassInstance = 123; TypeConstructorExport typeConstructorExport = 124; TypeConstructorIdentifier typeConstructorIdentifier = 125; TypeFamily typeFamily = 126; TypeInstance typeInstance = 127; TypeOperator typeOperator = 128; TypePattern typePattern = 129; TypeSignature typeSignature = 130; TypeSynonym typeSynonym = 131; TypeVariableIdentifier typeVariableIdentifier = 132; UnitConstructor unitConstructor = 133; VariableIdentifier variableIdentifier = 134; VariableOperator variableOperator = 135; VariableSymbol variableSymbol = 136; ViewPattern viewPattern = 137; Wildcard wildcard = 138; TypeParameters typeParameters = 139; List list = 140; } } message Comment { string commentContent = 1; } message Constructor { repeated HaskellDiff constructorContext = 1; HaskellDiff constructorName = 2; HaskellDiff constructorFields = 3; } message Datatype { HaskellDiff datatypeContext = 1; HaskellDiff datatypeName = 2; repeated HaskellDiff datatypeConstructors = 3; HaskellDiff datatypeDeriving = 4; } message Function { repeated HaskellDiff functionContext = 1; HaskellDiff functionName = 2; repeated HaskellDiff functionParameters = 3; HaskellDiff functionBody = 4; } message Array { repeated HaskellDiff arrayElements = 1; } message Character { string characterContent = 1; } message Float { string floatContent = 1; } message Integer { string integerContent = 1; } message TextElement { string textElementContent = 1; } message Tuple { repeated HaskellDiff tupleContents = 1; } message If { HaskellDiff ifCondition = 1; HaskellDiff ifThenBody = 2; HaskellDiff ifElseBody = 3; } message Match { HaskellDiff matchSubject = 1; HaskellDiff matchPatterns = 2; } message Pattern { HaskellDiff value = 1; HaskellDiff patternBody = 2; } message AllConstructors { } message AnnotatedTypeVariable { HaskellDiff annotatedTypeVariableIdentifier = 1; HaskellDiff annotatedTypeVariableannotation = 2; } message App { HaskellDiff appLeft = 1; HaskellDiff appLeftTypeApp = 2; HaskellDiff appRight = 3; } message ArithmeticSequence { HaskellDiff from = 1; repeated HaskellDiff next = 2; repeated HaskellDiff to = 3; } message AsPattern { HaskellDiff asPatternLeft = 1; HaskellDiff asPatternRight = 2; } message BindPattern { repeated HaskellDiff bindPatternLeft = 1; HaskellDiff bindPatternRight = 2; } message CaseGuardPattern { repeated HaskellDiff values = 1; } message Class { repeated HaskellDiff classContent = 1; } message ConstructorIdentifier { bytes name = 1; } message ConstructorOperator { HaskellDiff value = 1; } message ConstructorPattern { HaskellDiff value = 1; } message ConstructorSymbol { bytes constructorSymbolName = 1; } message Context { repeated HaskellDiff contextTerms = 1; HaskellDiff contextSubject = 2; } message ContextAlt { HaskellDiff value = 1; } message CPPDirective { string value = 1; } message DefaultDeclaration { repeated HaskellDiff defaultDeclarationContent = 1; } message DefaultSignature { repeated HaskellDiff defaultSignatureName = 1; repeated HaskellDiff defaultSignatureContext = 2; HaskellDiff defaultSignatureContent = 3; } message Deriving { repeated HaskellDiff values = 1; } message Do { repeated HaskellDiff values = 1; } message Empty { } message Error { repeated ErrorSite errorCallStack = 1; repeated string errorExpected = 2; string errorActual = 3; repeated HaskellDiff errorChildren = 4; } message EqualityConstraint { HaskellDiff equalityConstraintLeft = 1; HaskellDiff equalityConstraintRight = 2; } message Export { HaskellDiff exportContent = 1; } message ExpressionTypeSignature { repeated HaskellDiff expressionTypeSignatureName = 1; repeated HaskellDiff expressionTypeSignatureContext = 2; HaskellDiff expressionTypeSignatureContent = 3; } message Field { HaskellDiff fieldName = 1; HaskellDiff fieldBody = 2; } message FieldBind { HaskellDiff fieldBindLeft = 1; HaskellDiff fieldBindRight = 2; } message FieldPattern { HaskellDiff fieldPatternLeft = 1; HaskellDiff fieldPatternRight = 2; } message FixityAlt { HaskellDiff fixityPrecedence = 1; repeated HaskellDiff fixityIdentifier = 2; } message FunctionalDependency { HaskellDiff functionalDependencyContent = 1; } message FunctionConstructor { } message FunctionGuardPattern { repeated HaskellDiff values = 1; } message FunctionType { HaskellDiff functionTypeLeft = 1; HaskellDiff functionTypeRight = 2; } message GADT { HaskellDiff gadtContext = 1; HaskellDiff gadtName = 2; HaskellDiff gadtConstructors = 3; } message GADTConstructor { HaskellDiff gadtConstructorContext = 1; HaskellDiff gadtConstructorName = 2; HaskellDiff gadtConstructorTypeSignature = 3; } message Generator { HaskellDiff generatorValue = 1; HaskellDiff generatorSource = 2; } message Guard { HaskellDiff value = 1; } message HiddenImport { HaskellDiff hiddenimportContent = 1; } message Identifier { bytes name = 1; } message InfixConstructorIdentifier { bytes name = 1; } message InfixOperatorApp { HaskellDiff infixOperatorAppLeft = 1; HaskellDiff infixOperatorAppLeftTypeApp = 2; HaskellDiff infixOperatorAppOperator = 3; HaskellDiff infixOperatorAppRight = 4; } message InfixVariableIdentifier { bytes name = 1; } message ImplicitParameterIdentifier { bytes name = 1; } message Import { HaskellDiff importContent = 1; } message ImportAlias { HaskellDiff importAliasSource = 1; HaskellDiff importAliasName = 2; } message ImportDeclaration { HaskellDiff importPackageQualifiedContent = 1; HaskellDiff importModule = 2; repeated HaskellDiff importSpec = 3; } message InfixDataConstructor { repeated HaskellDiff infixDataConstructorContext = 1; HaskellDiff infixDataConstructorLeft = 2; HaskellDiff infixDataConstructorOperator = 3; HaskellDiff infixDataConstructorRight = 4; } message InfixOperatorPattern { HaskellDiff infixOperatorPatternLeft = 1; HaskellDiff infixOperatorPatternOperator = 2; HaskellDiff infixOperatorPatternRight = 3; } message Instance { HaskellDiff value = 1; } message IrrefutablePattern { HaskellDiff value = 1; } message Kind { HaskellDiff kindKind = 1; } message KindFunctionType { HaskellDiff kindFunctionTypeLeft = 1; HaskellDiff kindFunctionTypeRight = 2; } message KindListType { HaskellDiff kindListTypeKind = 1; } message KindParenthesizedConstructor { HaskellDiff kindParenthesizedConstructorContent = 1; } message KindSignature { HaskellDiff kindSignatureContent = 1; } message KindTupleType { repeated HaskellDiff kindTupleType = 1; } message LabeledConstruction { HaskellDiff labeledConstructionConstructor = 1; repeated HaskellDiff labeledConstructionFields = 2; } message LabeledPattern { HaskellDiff value = 1; } message LabeledUpdate { repeated HaskellDiff values = 1; } message Lambda { HaskellDiff lambdaHead = 1; HaskellDiff lambdaBody = 2; } message LambdaCase { repeated HaskellDiff values = 1; } message LeftOperatorSection { HaskellDiff lhs = 1; HaskellDiff rhs = 2; } message Let { repeated HaskellDiff letStatements = 1; HaskellDiff letInClause = 2; } message ListComprehension { HaskellDiff comprehensionValue = 1; repeated HaskellDiff comprehensionSource = 2; } message ListConstructor { } message ListPattern { HaskellDiff value = 1; } message Module { repeated HaskellDiff moduleContext = 1; HaskellDiff moduleIdentifier = 2; repeated HaskellDiff moduleExports = 3; HaskellDiff moduleStatements = 4; } message ModuleExport { HaskellDiff moduleExportContent = 1; } message ModuleIdentifier { bytes name = 1; } message NamedFieldPun { HaskellDiff value = 1; } message NegativeLiteral { HaskellDiff value = 1; } message NewType { repeated HaskellDiff newTypeContext = 1; HaskellDiff newTypeLeft = 2; HaskellDiff newTypeRight = 3; HaskellDiff newTypeDeriving = 4; } message PatternGuard { HaskellDiff patternGuardPattern = 1; HaskellDiff patternGuardExpression = 2; } message Pragma { string value = 1; } message PrefixNegation { HaskellDiff value = 1; } message PrimitiveConstructorIdentifier { bytes name = 1; } message PrimitiveVariableIdentifier { bytes name = 1; } message PromotedTypeOperator { HaskellDiff value = 1; } message QualifiedConstructorIdentifier { repeated HaskellDiff values = 1; } message QualifiedInfixVariableIdentifier { repeated HaskellDiff values = 1; } message QualifiedModuleIdentifier { repeated HaskellDiff values = 1; } message QualifiedImportDeclaration { HaskellDiff qualifiedImportPackageQualifiedContent = 1; HaskellDiff qualifiedImportModule = 2; repeated HaskellDiff qualifiedImportSpec = 3; } message QualifiedTypeClassIdentifier { repeated HaskellDiff values = 1; } message QualifiedTypeConstructorIdentifier { repeated HaskellDiff values = 1; } message QualifiedVariableIdentifier { repeated HaskellDiff values = 1; } message QuasiQuotation { HaskellDiff quasiQuotationHead = 1; HaskellDiff quasiQuotationBody = 2; } message QuasiQuotationDeclaration { } message QuasiQuotationExpression { } message QuasiQuotationExpressionBody { bytes name = 1; } message QuasiQuotationPattern { } message QuasiQuotationQuoter { bytes name = 1; } message QuasiQuotationType { } message QuotedName { HaskellDiff quotedNameContent = 1; } message RecordDataConstructor { repeated HaskellDiff recordDataConstructorContext = 1; HaskellDiff recordDataConstructorName = 2; HaskellDiff recordDataConstructorFields = 3; } message RecordWildCards { } message RightOperatorSection { HaskellDiff lhs = 1; HaskellDiff rhs = 2; } message ScopedTypeVariables { HaskellDiff scopedTypeVariablesContent = 1; } message Splice { HaskellDiff value = 1; } message StandaloneDerivingInstance { repeated HaskellDiff standaloneDerivingInstanceContext = 1; HaskellDiff standaloneDerivingInstanceClass = 2; HaskellDiff standaloneDerivingInstanceInstance = 3; } message Star { } message StrictPattern { HaskellDiff value = 1; } message StrictType { HaskellDiff strictTypeIdentifier = 1; HaskellDiff strictTypeParameters = 2; } message StrictTypeVariable { HaskellDiff value = 1; } message TupleConstructor { int64 tupleConstructorArity = 1; } message TupleExpression { repeated HaskellDiff values = 1; } message TuplePattern { repeated HaskellDiff value = 1; } message Type { HaskellDiff typeIdentifier = 1; HaskellDiff typeParameters = 2; HaskellDiff typeKindSignature = 3; } message TypeApp { HaskellDiff typeAppType = 1; } message TypeClass { HaskellDiff typeClassContext = 1; HaskellDiff typeClassIdentifier = 2; repeated HaskellDiff typeClassParameters = 3; HaskellDiff typeClassBody = 4; } message TypeClassIdentifier { bytes name = 1; } message TypeClassInstance { repeated HaskellDiff typeClassInstanceContext = 1; HaskellDiff typeClassInstanceIdentifier = 2; HaskellDiff typeClassInstanceInstance = 3; HaskellDiff typeClassInstanceBody = 4; } message TypeConstructorExport { HaskellDiff typeConstructorExportContent = 1; } message TypeConstructorIdentifier { bytes name = 1; } message TypeFamily { HaskellDiff typeFamilyIdentifier = 1; repeated HaskellDiff typeFamilyParameters = 2; HaskellDiff typeFamilySignature = 3; HaskellDiff typeFamilyBody = 4; } message TypeInstance { HaskellDiff typeInstanceType = 1; HaskellDiff typeInstanceBody = 2; } message TypeOperator { bytes name = 1; } message TypePattern { HaskellDiff typePatternContent = 1; } message TypeSignature { repeated HaskellDiff typeSignatureName = 1; repeated HaskellDiff typeSignatureContext = 2; HaskellDiff typeSignatureContent = 3; } message TypeSynonym { HaskellDiff typeSynonymLeft = 1; repeated HaskellDiff typeSynonymContext = 2; HaskellDiff typeSynonymRight = 3; } message TypeVariableIdentifier { bytes name = 1; } message UnitConstructor { } message VariableIdentifier { bytes name = 1; } message VariableOperator { HaskellDiff value = 1; } message VariableSymbol { bytes variableSymbolName = 1; } message ViewPattern { HaskellDiff viewPatternLeft = 1; HaskellDiff viewPatternRight = 2; } message Wildcard { } message TypeParameters { repeated HaskellDiff terms = 1; } message List { repeated HaskellDiff listContent = 1; }