2018-07-24 00:24:36 +03:00
|
|
|
// This file was generated by proto-gen. Do not edit by hand.
|
|
|
|
syntax = "proto3";
|
|
|
|
|
2018-08-30 21:16:40 +03:00
|
|
|
package github.semantic.pythondiff;
|
2018-07-24 00:24:36 +03:00
|
|
|
|
|
|
|
import "types.proto";
|
|
|
|
|
2018-08-30 21:16:40 +03:00
|
|
|
option java_package = "com.github.semantic.pythondiff";
|
|
|
|
option go_package = "github.com/semantic/pythondiff;python";
|
2018-07-24 00:24:36 +03:00
|
|
|
|
|
|
|
message PythonDiff {
|
|
|
|
oneof diff {
|
|
|
|
Merge merge = 1;
|
|
|
|
Delete delete = 2;
|
|
|
|
Insert insert = 3;
|
|
|
|
Replace replace = 4;
|
|
|
|
}
|
|
|
|
message Merge {
|
|
|
|
PythonSyntax syntax = 1;
|
|
|
|
}
|
|
|
|
message Delete {
|
|
|
|
PythonSyntax before = 1;
|
|
|
|
}
|
|
|
|
message Insert {
|
|
|
|
PythonSyntax after = 1;
|
|
|
|
}
|
|
|
|
message Replace {
|
|
|
|
PythonSyntax before = 1;
|
|
|
|
PythonSyntax after = 2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
message PythonSyntax {
|
|
|
|
oneof syntax {
|
|
|
|
Comment comment = 1;
|
|
|
|
Class class = 2;
|
|
|
|
Comprehension comprehension = 3;
|
|
|
|
Decorator decorator = 4;
|
|
|
|
Function function = 5;
|
2018-08-13 23:11:07 +03:00
|
|
|
Plus plus = 6;
|
|
|
|
Minus minus = 7;
|
|
|
|
Times times = 8;
|
|
|
|
DividedBy dividedBy = 9;
|
|
|
|
Modulo modulo = 10;
|
|
|
|
Power power = 11;
|
|
|
|
Negate negate = 12;
|
|
|
|
FloorDivision floorDivision = 13;
|
|
|
|
And and = 14;
|
|
|
|
Not not = 15;
|
|
|
|
Or or = 16;
|
|
|
|
XOr xOr = 17;
|
|
|
|
BAnd bAnd = 18;
|
|
|
|
BOr bOr = 19;
|
|
|
|
BXOr bXOr = 20;
|
|
|
|
LShift lShift = 21;
|
|
|
|
RShift rShift = 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;
|
|
|
|
Enumeration enumeration = 32;
|
|
|
|
ScopeResolution scopeResolution = 33;
|
|
|
|
MemberAccess memberAccess = 34;
|
|
|
|
Subscript subscript = 35;
|
|
|
|
Member member = 36;
|
|
|
|
Array array = 37;
|
|
|
|
Boolean boolean = 38;
|
|
|
|
Float float = 39;
|
|
|
|
Hash hash = 40;
|
|
|
|
Integer integer = 41;
|
|
|
|
KeyValue keyValue = 42;
|
|
|
|
Null null = 43;
|
|
|
|
Set set = 44;
|
|
|
|
String string = 45;
|
|
|
|
TextElement textElement = 46;
|
|
|
|
Tuple tuple = 47;
|
|
|
|
Ellipsis ellipsis = 48;
|
|
|
|
FutureImport futureImport = 49;
|
|
|
|
Import import = 50;
|
|
|
|
QualifiedImport qualifiedImport = 51;
|
|
|
|
QualifiedAliasedImport qualifiedAliasedImport = 52;
|
|
|
|
Redirect redirect = 53;
|
|
|
|
Assignment assignment = 54;
|
|
|
|
Break break = 55;
|
|
|
|
Catch catch = 56;
|
|
|
|
Continue continue = 57;
|
|
|
|
Else else = 58;
|
|
|
|
Finally finally = 59;
|
|
|
|
ForEach forEach = 60;
|
|
|
|
If if = 61;
|
|
|
|
Let let = 62;
|
|
|
|
NoOp noOp = 63;
|
|
|
|
Return return = 64;
|
|
|
|
Statements statements = 65;
|
|
|
|
Throw throw = 66;
|
|
|
|
Try try = 67;
|
|
|
|
While while = 68;
|
|
|
|
Yield yield = 69;
|
|
|
|
Context context = 70;
|
|
|
|
Empty empty = 71;
|
|
|
|
Error error = 72;
|
|
|
|
Identifier identifier = 73;
|
|
|
|
Annotation annotation = 74;
|
|
|
|
List list = 75;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
message Comment {
|
|
|
|
string commentContent = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Class {
|
|
|
|
repeated PythonDiff classContext = 1;
|
|
|
|
PythonDiff classIdentifier = 2;
|
|
|
|
repeated PythonDiff classSuperclasses = 3;
|
|
|
|
PythonDiff classBody = 4;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Comprehension {
|
|
|
|
PythonDiff comprehensionValue = 1;
|
|
|
|
PythonDiff comprehensionBody = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Decorator {
|
|
|
|
PythonDiff decoratorIdentifier = 1;
|
|
|
|
repeated PythonDiff decoratorParamaters = 2;
|
|
|
|
PythonDiff decoratorBody = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Function {
|
|
|
|
repeated PythonDiff functionContext = 1;
|
|
|
|
PythonDiff functionName = 2;
|
|
|
|
repeated PythonDiff functionParameters = 3;
|
|
|
|
PythonDiff functionBody = 4;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Plus {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Minus {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Times {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message DividedBy {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Modulo {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Power {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Negate {
|
2018-08-08 19:39:17 +03:00
|
|
|
PythonDiff value = 1;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message FloorDivision {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message And {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Not {
|
2018-08-08 19:39:17 +03:00
|
|
|
PythonDiff value = 1;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message Or {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message XOr {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message BAnd {
|
2018-12-11 00:42:33 +03:00
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message BOr {
|
2018-12-11 00:42:33 +03:00
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message BXOr {
|
2018-12-11 00:42:33 +03:00
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message LShift {
|
2018-12-11 00:42:33 +03:00
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message RShift {
|
2018-12-11 00:42:33 +03:00
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message Complement {
|
|
|
|
PythonDiff value = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Call {
|
|
|
|
repeated PythonDiff callContext = 1;
|
|
|
|
PythonDiff callFunction = 2;
|
|
|
|
repeated PythonDiff callParams = 3;
|
|
|
|
PythonDiff callBlock = 4;
|
|
|
|
}
|
|
|
|
|
|
|
|
message LessThan {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message LessThanEqual {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GreaterThan {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GreaterThanEqual {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Equal {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message StrictEqual {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Comparison {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Enumeration {
|
|
|
|
PythonDiff enumerationStart = 1;
|
|
|
|
PythonDiff enumerationEnd = 2;
|
|
|
|
PythonDiff enumerationStep = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ScopeResolution {
|
|
|
|
repeated PythonDiff scopes = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message MemberAccess {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
bytes rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Subscript {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
repeated PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Member {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Array {
|
|
|
|
repeated PythonDiff arrayElements = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Boolean {
|
|
|
|
bool booleanContent = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Float {
|
|
|
|
string floatContent = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Hash {
|
|
|
|
repeated PythonDiff hashElements = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Integer {
|
|
|
|
string integerContent = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message KeyValue {
|
|
|
|
PythonDiff key = 1;
|
|
|
|
PythonDiff value = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Null { }
|
|
|
|
|
|
|
|
message Set {
|
|
|
|
repeated PythonDiff setElements = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message String {
|
|
|
|
repeated PythonDiff stringElements = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message TextElement {
|
|
|
|
string textElementContent = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Tuple {
|
|
|
|
repeated PythonDiff tupleContents = 1;
|
|
|
|
}
|
|
|
|
|
2018-08-15 04:16:09 +03:00
|
|
|
message Ellipsis { }
|
|
|
|
|
|
|
|
message FutureImport {
|
|
|
|
repeated Alias futureImportSymbols = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Import {
|
|
|
|
QualifiedName importFrom = 1;
|
|
|
|
repeated Alias importSymbols = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message QualifiedImport {
|
|
|
|
repeated string qualifiedImportFrom = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message QualifiedAliasedImport {
|
|
|
|
QualifiedName qualifiedAliasedImportFrom = 1;
|
|
|
|
PythonDiff qualifiedAliasedImportAlias = 2;
|
|
|
|
}
|
|
|
|
|
2018-07-24 00:24:36 +03:00
|
|
|
message Redirect {
|
|
|
|
PythonDiff lhs = 1;
|
|
|
|
PythonDiff rhs = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Assignment {
|
|
|
|
repeated PythonDiff assignmentContext = 1;
|
|
|
|
PythonDiff assignmentTarget = 2;
|
|
|
|
PythonDiff assignmentValue = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Break {
|
2018-08-08 19:39:17 +03:00
|
|
|
PythonDiff value = 1;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message Catch {
|
|
|
|
PythonDiff catchException = 1;
|
|
|
|
PythonDiff catchBody = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Continue {
|
2018-08-08 19:39:17 +03:00
|
|
|
PythonDiff value = 1;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message Else {
|
|
|
|
PythonDiff elseCondition = 1;
|
|
|
|
PythonDiff elseBody = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Finally {
|
2018-08-08 19:39:17 +03:00
|
|
|
PythonDiff value = 1;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message ForEach {
|
|
|
|
PythonDiff forEachBinding = 1;
|
|
|
|
PythonDiff forEachSubject = 2;
|
|
|
|
PythonDiff forEachBody = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message If {
|
|
|
|
PythonDiff ifCondition = 1;
|
|
|
|
PythonDiff ifThenBody = 2;
|
|
|
|
PythonDiff ifElseBody = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Let {
|
|
|
|
PythonDiff letVariable = 1;
|
|
|
|
PythonDiff letValue = 2;
|
|
|
|
PythonDiff letBody = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message NoOp {
|
2018-07-24 00:35:42 +03:00
|
|
|
PythonDiff value = 1;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message Return {
|
2018-08-08 19:39:17 +03:00
|
|
|
PythonDiff value = 1;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message Statements {
|
|
|
|
repeated PythonDiff statements = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Throw {
|
|
|
|
PythonDiff value = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Try {
|
|
|
|
PythonDiff tryBody = 1;
|
|
|
|
repeated PythonDiff tryCatch = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message While {
|
|
|
|
PythonDiff whileCondition = 1;
|
|
|
|
PythonDiff whileBody = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Yield {
|
2018-08-08 19:39:17 +03:00
|
|
|
PythonDiff value = 1;
|
2018-07-24 00:24:36 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
message Context {
|
|
|
|
repeated PythonDiff contextTerms = 1;
|
|
|
|
PythonDiff contextSubject = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Empty { }
|
|
|
|
|
|
|
|
message Error {
|
|
|
|
repeated ErrorSite errorCallStack = 1;
|
|
|
|
repeated string errorExpected = 2;
|
|
|
|
string errorActual = 3;
|
|
|
|
repeated PythonDiff errorChildren = 4;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Identifier {
|
|
|
|
bytes name = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Annotation {
|
|
|
|
PythonDiff annotationSubject = 1;
|
|
|
|
PythonDiff annotationType = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message List {
|
|
|
|
repeated PythonDiff listContent = 1;
|
|
|
|
}
|
2018-08-15 04:16:09 +03:00
|
|
|
|
|
|
|
message QualifiedName {
|
|
|
|
oneof sum {
|
|
|
|
QualifiedName qualifiedName = 1;
|
|
|
|
RelativeQualifiedName relativeQualifiedName = 2;
|
|
|
|
}
|
|
|
|
message QualifiedName {
|
|
|
|
repeated string paths = 1;
|
|
|
|
}
|
|
|
|
message RelativeQualifiedName {
|
|
|
|
string path = 1;
|
|
|
|
QualifiedName maybeQualifiedName = 2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
message Alias {
|
|
|
|
bytes aliasValue = 1;
|
|
|
|
bytes aliasName = 2;
|
|
|
|
}
|