1
1
mirror of https://github.com/github/semantic.git synced 2024-12-22 14:21:31 +03:00
semantic/proto/haskell_diff.proto

801 lines
18 KiB
Protocol Buffer

// 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;
}