// 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; 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 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; GoTerm methodAccessControl = 2; GoTerm methodReceiver = 3; GoTerm methodName = 4; repeated GoTerm methodParameters = 5; GoTerm methodBody = 6; } message MethodSignature { repeated GoTerm methodSignatureContext = 1; 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 { GoTerm lhs = 1; GoTerm rhs = 2; } message BAnd { GoTerm lhs = 1; GoTerm rhs = 2; } message BXOr { GoTerm lhs = 1; GoTerm rhs = 2; } message LShift { GoTerm lhs = 1; GoTerm rhs = 2; } message RShift { GoTerm lhs = 1; GoTerm rhs = 2; } message UnsignedRShift { 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; }