1
1
mirror of https://github.com/github/semantic.git synced 2024-12-24 23:42:31 +03:00
semantic/proto/go_diff.proto
2019-01-18 18:20:36 -08:00

625 lines
10 KiB
Protocol Buffer

// This file was generated by proto-gen. Do not edit by hand.
syntax = "proto3";
package github.semantic.godiff;
import "types.proto";
option java_package = "com.github.semantic.godiff";
option go_package = "github.com/semantic/godiff;go";
message GoDiff {
oneof diff {
Merge merge = 1;
Delete delete = 2;
Insert insert = 3;
Replace replace = 4;
}
message Merge {
GoSyntax syntax = 1;
}
message Delete {
GoSyntax before = 1;
}
message Insert {
GoSyntax after = 1;
}
message Replace {
GoSyntax before = 1;
GoSyntax after = 2;
}
}
message GoSyntax {
oneof syntax {
Comment comment = 1;
AccessControl accessControl = 2;
Constructor constructor = 3;
Function function = 4;
Method method = 5;
MethodSignature methodSignature = 6;
Type type = 7;
TypeAlias typeAlias = 8;
Plus plus = 9;
Minus minus = 10;
Times times = 11;
DividedBy dividedBy = 12;
Modulo modulo = 13;
Power power = 14;
Negate negate = 15;
FloorDivision floorDivision = 16;
BOr bOr = 17;
BAnd bAnd = 18;
BXOr bXOr = 19;
LShift lShift = 20;
RShift rShift = 21;
UnsignedRShift unsignedRShift = 22;
Complement complement = 23;
Call call = 24;
LessThan lessThan = 25;
LessThanEqual lessThanEqual = 26;
GreaterThan greaterThan = 27;
GreaterThanEqual greaterThanEqual = 28;
Equal equal = 29;
StrictEqual strictEqual = 30;
Comparison comparison = 31;
Subscript subscript = 32;
Member member = 33;
PostDecrement postDecrement = 34;
PostIncrement postIncrement = 35;
MemberAccess memberAccess = 36;
And and = 37;
Not not = 38;
Or or = 39;
XOr xOr = 40;
Composite composite = 41;
DefaultPattern defaultPattern = 42;
Defer defer = 43;
Field field = 44;
Go go = 45;
Label label = 46;
Package package = 47;
Receive receive = 48;
ReceiveOperator receiveOperator = 49;
Rune rune = 50;
Select select = 51;
Send send = 52;
Slice slice = 53;
TypeAssertion typeAssertion = 54;
TypeConversion typeConversion = 55;
TypeSwitch typeSwitch = 56;
TypeSwitchGuard typeSwitchGuard = 57;
Variadic variadic = 58;
BidirectionalChannel bidirectionalChannel = 59;
ReceiveChannel receiveChannel = 60;
SendChannel sendChannel = 61;
Import import = 62;
QualifiedImport qualifiedImport = 63;
SideEffectImport sideEffectImport = 64;
Array array = 65;
Complex complex = 66;
Float float = 67;
Hash hash = 68;
Integer integer = 69;
KeyValue keyValue = 70;
Pointer pointer = 71;
Reference reference = 72;
TextElement textElement = 73;
Assignment assignment = 74;
Break break = 75;
Continue continue = 76;
For for = 77;
ForEach forEach = 78;
Goto goto = 79;
If if = 80;
Match match = 81;
NoOp noOp = 82;
Pattern pattern = 83;
Return return = 84;
Statements statements = 85;
Context context = 86;
Error error = 87;
Empty empty = 88;
Identifier identifier = 89;
Annotation annotation = 90;
TypeArray typeArray = 91;
TypeFunction typeFunction = 92;
Interface interface = 93;
Map map = 94;
Parenthesized parenthesized = 95;
TypePointer typePointer = 96;
TypeSlice typeSlice = 97;
List list = 98;
String string = 99;
EscapeSequence escapeSequence = 100;
}
}
message Comment {
string commentContent = 1;
}
message AccessControl { }
message Constructor {
repeated GoDiff constructorContext = 1;
GoDiff constructorName = 2;
GoDiff constructorFields = 3;
}
message Function {
repeated GoDiff functionContext = 1;
GoDiff functionName = 2;
repeated GoDiff functionParameters = 3;
GoDiff functionBody = 4;
}
message Method {
repeated GoDiff methodContext = 1;
GoDiff methodAccessControl = 2;
GoDiff methodReceiver = 3;
GoDiff methodName = 4;
repeated GoDiff methodParameters = 5;
GoDiff methodBody = 6;
}
message MethodSignature {
repeated GoDiff methodSignatureContext = 1;
GoDiff methodSignatureAccessControl = 2;
GoDiff methodSignatureName = 3;
repeated GoDiff methodSignatureParameters = 4;
}
message Type {
GoDiff typeName = 1;
GoDiff typeKind = 2;
}
message TypeAlias {
repeated GoDiff typeAliasContext = 1;
GoDiff typeAliasIdentifier = 2;
GoDiff typeAliasKind = 3;
}
message Plus {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Minus {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Times {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message DividedBy {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Modulo {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Power {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Negate {
GoDiff value = 1;
}
message FloorDivision {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message BOr {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message BAnd {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message BXOr {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message LShift {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message RShift {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message UnsignedRShift {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Complement {
GoDiff value = 1;
}
message Call {
repeated GoDiff callContext = 1;
GoDiff callFunction = 2;
repeated GoDiff callParams = 3;
GoDiff callBlock = 4;
}
message LessThan {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message LessThanEqual {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message GreaterThan {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message GreaterThanEqual {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Equal {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message StrictEqual {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Comparison {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Subscript {
GoDiff lhs = 1;
repeated GoDiff rhs = 2;
}
message Member {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message PostDecrement {
GoDiff value = 1;
}
message PostIncrement {
GoDiff value = 1;
}
message MemberAccess {
GoDiff lhs = 1;
bytes rhs = 2;
}
message And {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Not {
GoDiff value = 1;
}
message Or {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message XOr {
GoDiff lhs = 1;
GoDiff rhs = 2;
}
message Composite {
GoDiff compositeType = 1;
GoDiff compositeElement = 2;
}
message DefaultPattern {
GoDiff defaultPatternBody = 1;
}
message Defer {
GoDiff deferBody = 1;
}
message Field {
repeated GoDiff fieldContext = 1;
GoDiff fieldName = 2;
}
message Go {
GoDiff goBody = 1;
}
message Label {
GoDiff labelName = 1;
GoDiff labelStatement = 2;
}
message Package {
GoDiff packageName = 1;
repeated GoDiff packageContents = 2;
}
message Receive {
GoDiff receiveSubject = 1;
GoDiff receiveExpression = 2;
}
message ReceiveOperator {
GoDiff value = 1;
}
message Rune {
string runeLiteral = 1;
}
message Select {
GoDiff selectCases = 1;
}
message Send {
GoDiff sendReceiver = 1;
GoDiff sendValue = 2;
}
message Slice {
GoDiff sliceName = 1;
GoDiff sliceLow = 2;
GoDiff sliceHigh = 3;
GoDiff sliceCapacity = 4;
}
message TypeAssertion {
GoDiff typeAssertionSubject = 1;
GoDiff typeAssertionType = 2;
}
message TypeConversion {
GoDiff typeConversionType = 1;
GoDiff typeConversionSubject = 2;
}
message TypeSwitch {
GoDiff typeSwitchSubject = 1;
GoDiff typeSwitchCases = 2;
}
message TypeSwitchGuard {
GoDiff typeSwitchGuardSubject = 1;
}
message Variadic {
repeated GoDiff variadicContext = 1;
GoDiff variadicIdentifier = 2;
}
message BidirectionalChannel {
GoDiff value = 1;
}
message ReceiveChannel {
GoDiff value = 1;
}
message SendChannel {
GoDiff value = 1;
}
message Import {
ImportPath importFrom = 1;
GoDiff importWildcardToken = 2;
}
message QualifiedImport {
ImportPath qualifiedImportFrom = 1;
GoDiff qualifiedImportAlias = 2;
}
message SideEffectImport {
ImportPath sideEffectImportFrom = 1;
GoDiff sideEffectImportToken = 2;
}
message Array {
repeated GoDiff arrayElements = 1;
}
message Complex {
string value = 1;
}
message Float {
string floatContent = 1;
}
message Hash {
repeated GoDiff hashElements = 1;
}
message Integer {
string integerContent = 1;
}
message KeyValue {
GoDiff key = 1;
GoDiff value = 2;
}
message Pointer {
GoDiff value = 1;
}
message Reference {
GoDiff value = 1;
}
message TextElement {
string textElementContent = 1;
}
message Assignment {
repeated GoDiff assignmentContext = 1;
GoDiff assignmentTarget = 2;
GoDiff assignmentValue = 3;
}
message Break {
GoDiff value = 1;
}
message Continue {
GoDiff value = 1;
}
message For {
GoDiff forBefore = 1;
GoDiff forCondition = 2;
GoDiff forStep = 3;
GoDiff forBody = 4;
}
message ForEach {
GoDiff forEachBinding = 1;
GoDiff forEachSubject = 2;
GoDiff forEachBody = 3;
}
message Goto {
GoDiff gotoLocation = 1;
}
message If {
GoDiff ifCondition = 1;
GoDiff ifThenBody = 2;
GoDiff ifElseBody = 3;
}
message Match {
GoDiff matchSubject = 1;
GoDiff matchPatterns = 2;
}
message NoOp {
GoDiff value = 1;
}
message Pattern {
GoDiff value = 1;
GoDiff patternBody = 2;
}
message Return {
GoDiff value = 1;
}
message Statements {
repeated GoDiff statements = 1;
}
message Context {
repeated GoDiff contextTerms = 1;
GoDiff contextSubject = 2;
}
message Error {
repeated ErrorSite errorCallStack = 1;
repeated string errorExpected = 2;
string errorActual = 3;
repeated GoDiff errorChildren = 4;
}
message Empty { }
message Identifier {
bytes name = 1;
}
message Annotation {
GoDiff annotationSubject = 1;
GoDiff annotationType = 2;
}
message TypeArray {
repeated GoDiff arraySize = 1;
GoDiff arrayElementType = 2;
}
message TypeFunction {
repeated GoDiff functionParameters = 1;
GoDiff functionReturn = 2;
}
message Interface {
repeated GoDiff values = 1;
}
message Map {
GoDiff mapKeyType = 1;
GoDiff mapElementType = 2;
}
message Parenthesized {
GoDiff value = 1;
}
message TypePointer {
GoDiff value = 1;
}
message TypeSlice {
GoDiff value = 1;
}
message List {
repeated GoDiff listContent = 1;
}
message String {
repeated GoDiff stringElements = 1;
}
message EscapeSequence {
string value = 1;
}
message ImportPath {
string unPath = 1;
IsRelative pathIsRelative = 2;
}
enum IsRelative {
Unknown = 0;
Relative = 1;
NonRelative = 2;
}