1
1
mirror of https://github.com/github/semantic.git synced 2024-12-30 10:27:45 +03:00
semantic/proto/go_diff.proto
2018-12-10 16:42:33 -05:00

620 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;
Constructor constructor = 2;
Function function = 3;
Method method = 4;
MethodSignature methodSignature = 5;
Type type = 6;
TypeAlias typeAlias = 7;
Plus plus = 8;
Minus minus = 9;
Times times = 10;
DividedBy dividedBy = 11;
Modulo modulo = 12;
Power power = 13;
Negate negate = 14;
FloorDivision floorDivision = 15;
BOr bOr = 16;
BAnd bAnd = 17;
BXOr bXOr = 18;
LShift lShift = 19;
RShift rShift = 20;
UnsignedRShift unsignedRShift = 21;
Complement complement = 22;
Call call = 23;
LessThan lessThan = 24;
LessThanEqual lessThanEqual = 25;
GreaterThan greaterThan = 26;
GreaterThanEqual greaterThanEqual = 27;
Equal equal = 28;
StrictEqual strictEqual = 29;
Comparison comparison = 30;
Subscript subscript = 31;
Member member = 32;
PostDecrement postDecrement = 33;
PostIncrement postIncrement = 34;
MemberAccess memberAccess = 35;
And and = 36;
Not not = 37;
Or or = 38;
XOr xOr = 39;
Composite composite = 40;
DefaultPattern defaultPattern = 41;
Defer defer = 42;
Field field = 43;
Go go = 44;
Label label = 45;
Package package = 46;
Receive receive = 47;
ReceiveOperator receiveOperator = 48;
Rune rune = 49;
Select select = 50;
Send send = 51;
Slice slice = 52;
TypeAssertion typeAssertion = 53;
TypeConversion typeConversion = 54;
TypeSwitch typeSwitch = 55;
TypeSwitchGuard typeSwitchGuard = 56;
Variadic variadic = 57;
BidirectionalChannel bidirectionalChannel = 58;
ReceiveChannel receiveChannel = 59;
SendChannel sendChannel = 60;
Import import = 61;
QualifiedImport qualifiedImport = 62;
SideEffectImport sideEffectImport = 63;
Array array = 64;
Complex complex = 65;
Float float = 66;
Hash hash = 67;
Integer integer = 68;
KeyValue keyValue = 69;
Pointer pointer = 70;
Reference reference = 71;
TextElement textElement = 72;
Assignment assignment = 73;
Break break = 74;
Continue continue = 75;
For for = 76;
ForEach forEach = 77;
Goto goto = 78;
If if = 79;
Match match = 80;
NoOp noOp = 81;
Pattern pattern = 82;
Return return = 83;
Statements statements = 84;
Context context = 85;
Error error = 86;
Empty empty = 87;
Identifier identifier = 88;
Annotation annotation = 89;
TypeArray typeArray = 90;
TypeFunction typeFunction = 91;
Interface interface = 92;
Map map = 93;
Parenthesized parenthesized = 94;
TypePointer typePointer = 95;
TypeSlice typeSlice = 96;
List list = 97;
String string = 98;
EscapeSequence escapeSequence = 99;
}
}
message Comment {
string commentContent = 1;
}
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 methodReceiver = 2;
GoDiff methodName = 3;
repeated GoDiff methodParameters = 4;
GoDiff methodBody = 5;
}
message MethodSignature {
repeated GoDiff methodSignatureContext = 1;
GoDiff methodSignatureName = 2;
repeated GoDiff methodSignatureParameters = 3;
}
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;
}