// This file was generated by proto-gen. Do not edit by hand. syntax = "proto3"; package github.semantic.ruby; import "types.proto"; option java_package = "com.github.semantic.ruby"; option go_package = "github.com/semantic/ruby;ruby"; message RubyTerm { RubySyntax syntax = 1; } message RubyDiff { oneof diff { Merge merge = 1; Delete delete = 2; Insert insert = 3; Replace replace = 4; } message Merge { RubySyntax syntax = 1; RubyDiff diff = 2; } message Delete { RubySyntax before = 1; RubyDiff diff = 3; } message Insert { RubySyntax after = 2; RubyDiff diff = 3; } message Replace { RubySyntax before = 1; RubySyntax after = 2; RubyDiff diff = 3; } } message Comment { string commentContent = 1; } message Function { repeated RubyTerm functionContext = 1; RubyTerm functionName = 2; repeated RubyTerm functionParameters = 3; RubyTerm functionBody = 4; } message Method { repeated RubyTerm methodContext = 1; RubyTerm methodReceiver = 2; RubyTerm methodName = 3; repeated RubyTerm methodParameters = 4; RubyTerm methodBody = 5; } message File { } message Line { } message Error { repeated ErrorSite errorCallStack = 1; repeated string errorExpected = 2; string errorActual = 3; repeated RubyTerm errorChildren = 4; } message And { RubyTerm lhs = 1; RubyTerm rhs = 2; } message BAnd { RubyTerm left = 1; RubyTerm right = 2; } message BOr { RubyTerm left = 1; RubyTerm right = 2; } message BXOr { RubyTerm left = 1; RubyTerm right = 2; } message Call { repeated RubyTerm callContext = 1; RubyTerm callFunction = 2; repeated RubyTerm callParams = 3; RubyTerm callBlock = 4; } message Comparison { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Complement { RubyTerm value = 1; } message DividedBy { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Enumeration { RubyTerm enumerationStart = 1; RubyTerm enumerationEnd = 2; RubyTerm enumerationStep = 3; } message Equal { RubyTerm lhs = 1; RubyTerm rhs = 2; } message FloorDivision { RubyTerm lhs = 1; RubyTerm rhs = 2; } message GreaterThan { RubyTerm lhs = 1; RubyTerm rhs = 2; } message GreaterThanEqual { RubyTerm lhs = 1; RubyTerm rhs = 2; } message LShift { RubyTerm left = 1; RubyTerm right = 2; } message LessThan { RubyTerm lhs = 1; RubyTerm rhs = 2; } message LessThanEqual { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Matches { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Member { RubyTerm lhs = 1; RubyTerm rhs = 2; } message MemberAccess { RubyTerm lhs = 1; bytes rhs = 2; } message Minus { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Modulo { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Negate { RubyTerm term = 1; } message Not { RubyTerm term = 1; } message NotMatches { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Or { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Plus { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Power { RubyTerm lhs = 1; RubyTerm rhs = 2; } message RShift { RubyTerm left = 1; RubyTerm right = 2; } message ScopeResolution { repeated RubyTerm scopes = 1; } message StrictEqual { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Subscript { RubyTerm lhs = 1; repeated RubyTerm rhs = 2; } message Times { RubyTerm lhs = 1; RubyTerm rhs = 2; } message XOr { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Array { repeated RubyTerm arrayElements = 1; } message Boolean { bool booleanContent = 1; } message Complex { string value = 1; } message Float { string floatContent = 1; } message Hash { repeated RubyTerm hashElements = 1; } message Integer { string integerContent = 1; } message KeyValue { RubyTerm key = 1; RubyTerm value = 2; } message Null { } message Rational { string value = 1; } message Regex { string regexContent = 1; } message String { repeated RubyTerm stringElements = 1; } message Symbol { string symbolContent = 1; } message TextElement { string textElementContent = 1; } message Class { RubyTerm classIdentifier = 1; repeated RubyTerm classSuperClass = 2; RubyTerm classBody = 3; } message Load { RubyTerm loadPath = 1; repeated RubyTerm loadWrap = 2; } message LowPrecedenceAnd { RubyTerm lhs = 1; RubyTerm rhs = 2; } message LowPrecedenceOr { RubyTerm lhs = 1; RubyTerm rhs = 2; } message Module { RubyTerm moduleIdentifier = 1; repeated RubyTerm moduleStatements = 2; } message Require { bool requireRelative = 1; RubyTerm requirePath = 2; } message Send { repeated RubyTerm sendReceiver = 1; repeated RubyTerm sendSelector = 2; repeated RubyTerm sendArgs = 3; repeated RubyTerm sendBlock = 4; } message Assignment { repeated RubyTerm assignmentContext = 1; RubyTerm assignmentTarget = 2; RubyTerm assignmentValue = 3; } message Break { RubyTerm term = 1; } message Catch { RubyTerm catchException = 1; RubyTerm catchBody = 2; } message Continue { RubyTerm term = 1; } message Else { RubyTerm elseCondition = 1; RubyTerm elseBody = 2; } message Finally { RubyTerm term = 1; } message ForEach { RubyTerm forEachBinding = 1; RubyTerm forEachSubject = 2; RubyTerm forEachBody = 3; } message If { RubyTerm ifCondition = 1; RubyTerm ifThenBody = 2; RubyTerm ifElseBody = 3; } message Match { RubyTerm matchSubject = 1; RubyTerm matchPatterns = 2; } message Pattern { RubyTerm value = 1; RubyTerm patternBody = 2; } message Retry { RubyTerm term = 1; } message Return { RubyTerm term = 1; } message ScopeEntry { repeated RubyTerm terms = 1; } message ScopeExit { repeated RubyTerm terms = 1; } message Statements { repeated RubyTerm statements = 1; } message Try { RubyTerm tryBody = 1; repeated RubyTerm tryCatch = 2; } message While { RubyTerm whileCondition = 1; RubyTerm whileBody = 2; } message Yield { RubyTerm term = 1; } message RubySyntax { oneof syntax { Comment comment = 1; Function function = 2; Boolean boolean = 3; Method method = 4; File file = 5; Line line = 6; Plus plus = 7; Minus minus = 8; Times times = 9; DividedBy dividedBy = 10; Modulo modulo = 11; Power power = 12; Negate negate = 13; FloorDivision floorDivision = 14; BAnd bAnd = 15; BOr bOr = 16; BXOr bXOr = 17; LShift lShift = 18; RShift rShift = 19; Complement complement = 20; And and = 21; Not not = 22; Or or = 23; XOr xOr = 24; Call call = 25; LessThan lessThan = 26; LessThanEqual lessThanEqual = 27; GreaterThan greaterThan = 28; GreaterThanEqual greaterThanEqual = 29; Equal equal = 30; StrictEqual strictEqual = 31; Comparison comparison = 32; Enumeration enumeration = 33; Matches matches = 34; NotMatches notMatches = 35; MemberAccess memberAccess = 36; ScopeResolution scopeResolution = 37; Subscript subscript = 38; Member member = 39; Array array = 40; Complex complex = 41; Float float = 42; Hash hash = 43; Integer integer = 44; KeyValue keyValue = 45; Null null = 46; Rational rational = 47; Regex regex = 48; String string = 49; Symbol symbol = 50; TextElement textElement = 51; Assignment assignment = 52; Break break = 53; Catch catch = 54; Continue continue = 55; Else else = 56; Finally finally = 57; ForEach forEach = 58; If if = 59; Match match = 60; Pattern pattern = 61; Retry retry = 62; Return return = 63; ScopeEntry scopeEntry = 64; ScopeExit scopeExit = 65; Statements statements = 66; Try try = 67; While while = 68; Yield yield = 69; Context context = 70; Empty empty = 71; Error error = 72; Identifier identifier = 73; Class class = 74; Load load = 75; LowPrecedenceAnd lowPrecedenceAnd = 76; LowPrecedenceOr lowPrecedenceOr = 77; Module module = 78; Require require = 79; Send send = 80; List list = 81; } } message Context { repeated RubyTerm contextTerms = 1; RubyTerm contextSubject = 2; } message Empty { } message Identifier { bytes name = 1; } message List { repeated RubyTerm listContent = 1; }