1
1
mirror of https://github.com/github/semantic.git synced 2024-12-20 21:31:48 +03:00
semantic/proto/go_term.proto

607 lines
9.9 KiB
Protocol Buffer
Raw Normal View History

// This file was generated by proto-gen. Do not edit by hand.
syntax = "proto3";
package github.semantic.goterm;
import "types.proto";
option java_package = "com.github.semantic.goterm";
option go_package = "github.com/semantic/goterm;go";
message GoTerm {
GoSyntax syntax = 1;
}
message GoSyntax {
oneof syntax {
Comment comment = 1;
2019-01-19 05:20:36 +03:00
AccessControl accessControl = 2;
Constructor constructor = 3;
Function function = 4;
Method method = 5;
MethodSignature methodSignature = 6;
Type type = 7;
TypeAlias typeAlias = 8;
2018-12-20 06:23:28 +03:00
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;
}
2019-01-19 05:20:36 +03:00
message AccessControl { }
message Constructor {
repeated GoTerm constructorContext = 1;
GoTerm constructorName = 2;
GoTerm constructorFields = 3;
}
message Function {
repeated GoTerm functionContext = 1;
GoTerm functionName = 2;
repeated GoTerm functionParameters = 3;
GoTerm functionBody = 4;
}
message Method {
repeated GoTerm methodContext = 1;
2019-01-19 05:20:36 +03:00
GoTerm methodAccessControl = 2;
2018-12-20 06:23:28 +03:00
GoTerm methodReceiver = 3;
GoTerm methodName = 4;
repeated GoTerm methodParameters = 5;
GoTerm methodBody = 6;
}
message MethodSignature {
repeated GoTerm methodSignatureContext = 1;
2019-01-19 05:20:36 +03:00
GoTerm methodSignatureAccessControl = 2;
GoTerm methodSignatureName = 3;
repeated GoTerm methodSignatureParameters = 4;
}
message Type {
GoTerm typeName = 1;
GoTerm typeKind = 2;
}
message TypeAlias {
repeated GoTerm typeAliasContext = 1;
GoTerm typeAliasIdentifier = 2;
GoTerm typeAliasKind = 3;
}
message Plus {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Minus {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Times {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message DividedBy {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Modulo {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Power {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Negate {
GoTerm value = 1;
}
message FloorDivision {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message BOr {
2018-12-11 00:42:33 +03:00
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message BAnd {
2018-12-11 00:42:33 +03:00
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message BXOr {
2018-12-11 00:42:33 +03:00
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message LShift {
2018-12-11 00:42:33 +03:00
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message RShift {
2018-12-11 00:42:33 +03:00
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message UnsignedRShift {
2018-12-11 00:42:33 +03:00
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Complement {
GoTerm value = 1;
}
message Call {
repeated GoTerm callContext = 1;
GoTerm callFunction = 2;
repeated GoTerm callParams = 3;
GoTerm callBlock = 4;
}
message LessThan {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message LessThanEqual {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message GreaterThan {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message GreaterThanEqual {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Equal {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message StrictEqual {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Comparison {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Subscript {
GoTerm lhs = 1;
repeated GoTerm rhs = 2;
}
message Member {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message PostDecrement {
GoTerm value = 1;
}
message PostIncrement {
GoTerm value = 1;
}
message MemberAccess {
GoTerm lhs = 1;
bytes rhs = 2;
}
message And {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Not {
GoTerm value = 1;
}
message Or {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message XOr {
GoTerm lhs = 1;
GoTerm rhs = 2;
}
message Composite {
GoTerm compositeType = 1;
GoTerm compositeElement = 2;
}
message DefaultPattern {
GoTerm defaultPatternBody = 1;
}
message Defer {
GoTerm deferBody = 1;
}
message Field {
repeated GoTerm fieldContext = 1;
GoTerm fieldName = 2;
}
message Go {
GoTerm goBody = 1;
}
message Label {
GoTerm labelName = 1;
GoTerm labelStatement = 2;
}
message Package {
GoTerm packageName = 1;
repeated GoTerm packageContents = 2;
}
message Receive {
GoTerm receiveSubject = 1;
GoTerm receiveExpression = 2;
}
message ReceiveOperator {
GoTerm value = 1;
}
message Rune {
string runeLiteral = 1;
}
message Select {
GoTerm selectCases = 1;
}
message Send {
GoTerm sendReceiver = 1;
GoTerm sendValue = 2;
}
message Slice {
GoTerm sliceName = 1;
GoTerm sliceLow = 2;
GoTerm sliceHigh = 3;
GoTerm sliceCapacity = 4;
}
message TypeAssertion {
GoTerm typeAssertionSubject = 1;
GoTerm typeAssertionType = 2;
}
message TypeConversion {
GoTerm typeConversionType = 1;
GoTerm typeConversionSubject = 2;
}
message TypeSwitch {
GoTerm typeSwitchSubject = 1;
GoTerm typeSwitchCases = 2;
}
message TypeSwitchGuard {
GoTerm typeSwitchGuardSubject = 1;
}
message Variadic {
repeated GoTerm variadicContext = 1;
GoTerm variadicIdentifier = 2;
}
message BidirectionalChannel {
GoTerm value = 1;
}
message ReceiveChannel {
GoTerm value = 1;
}
message SendChannel {
GoTerm value = 1;
}
message Import {
ImportPath importFrom = 1;
GoTerm importWildcardToken = 2;
}
message QualifiedImport {
ImportPath qualifiedImportFrom = 1;
GoTerm qualifiedImportAlias = 2;
}
message SideEffectImport {
ImportPath sideEffectImportFrom = 1;
GoTerm sideEffectImportToken = 2;
}
message Array {
repeated GoTerm arrayElements = 1;
}
message Complex {
string value = 1;
}
message Float {
string floatContent = 1;
}
message Hash {
repeated GoTerm hashElements = 1;
}
message Integer {
string integerContent = 1;
}
message KeyValue {
GoTerm key = 1;
GoTerm value = 2;
}
message Pointer {
GoTerm value = 1;
}
message Reference {
GoTerm value = 1;
}
message TextElement {
string textElementContent = 1;
}
message Assignment {
repeated GoTerm assignmentContext = 1;
GoTerm assignmentTarget = 2;
GoTerm assignmentValue = 3;
}
message Break {
GoTerm value = 1;
}
message Continue {
GoTerm value = 1;
}
message For {
GoTerm forBefore = 1;
GoTerm forCondition = 2;
GoTerm forStep = 3;
GoTerm forBody = 4;
}
message ForEach {
GoTerm forEachBinding = 1;
GoTerm forEachSubject = 2;
GoTerm forEachBody = 3;
}
message Goto {
GoTerm gotoLocation = 1;
}
message If {
GoTerm ifCondition = 1;
GoTerm ifThenBody = 2;
GoTerm ifElseBody = 3;
}
message Match {
GoTerm matchSubject = 1;
GoTerm matchPatterns = 2;
}
message NoOp {
GoTerm value = 1;
}
message Pattern {
GoTerm value = 1;
GoTerm patternBody = 2;
}
message Return {
GoTerm value = 1;
}
message Statements {
repeated GoTerm statements = 1;
}
message Context {
repeated GoTerm contextTerms = 1;
GoTerm contextSubject = 2;
}
message Error {
repeated ErrorSite errorCallStack = 1;
repeated string errorExpected = 2;
string errorActual = 3;
repeated GoTerm errorChildren = 4;
}
message Empty { }
message Identifier {
bytes name = 1;
}
message Annotation {
GoTerm annotationSubject = 1;
GoTerm annotationType = 2;
}
message TypeArray {
repeated GoTerm arraySize = 1;
GoTerm arrayElementType = 2;
}
message TypeFunction {
repeated GoTerm functionParameters = 1;
GoTerm functionReturn = 2;
}
message Interface {
repeated GoTerm values = 1;
}
message Map {
GoTerm mapKeyType = 1;
GoTerm mapElementType = 2;
}
message Parenthesized {
GoTerm value = 1;
}
message TypePointer {
GoTerm value = 1;
}
message TypeSlice {
GoTerm value = 1;
}
message List {
repeated GoTerm listContent = 1;
}
message String {
repeated GoTerm stringElements = 1;
}
message EscapeSequence {
string value = 1;
}
message ImportPath {
string unPath = 1;
IsRelative pathIsRelative = 2;
}
enum IsRelative {
Unknown = 0;
Relative = 1;
NonRelative = 2;
}