// This file was generated by proto-gen. Do not edit by hand. syntax = "proto3"; package github.semantic.typescript; import "types.proto"; option java_package = "com.github.semantic.typescript"; option go_package = "github.com/semantic/typescript;typescript"; message TypeScriptTerm { TypeScriptSyntax syntax = 1; } message Alias { bytes aliasValue = 1; bytes aliasName = 2; } message ImportPath { string unPath = 1; IsRelative pathIsRelative = 2; } enum IsRelative { Unknown = 0; Relative = 1; NonRelative = 2; } message TypeScriptSyntax { oneof syntax { Comment comment = 1; HashBang hashBang = 2; Class class = 3; Function function = 4; Method method = 5; MethodSignature methodSignature = 6; InterfaceDeclaration interfaceDeclaration = 7; PublicFieldDefinition publicFieldDefinition = 8; VariableDeclaration variableDeclaration = 9; TypeAlias typeAlias = 10; Plus plus = 11; Minus minus = 12; Times times = 13; DividedBy dividedBy = 14; Modulo modulo = 15; Power power = 16; Negate negate = 17; FloorDivision floorDivision = 18; BAnd bAnd = 19; BOr bOr = 20; BXOr bXOr = 21; LShift lShift = 22; RShift rShift = 23; UnsignedRShift unsignedRShift = 24; Complement complement = 25; And and = 26; Not not = 27; Or or = 28; XOr xOr = 29; Call call = 30; Cast cast = 31; LessThan lessThan = 32; LessThanEqual lessThanEqual = 33; GreaterThan greaterThan = 34; GreaterThanEqual greaterThanEqual = 35; Equal equal = 36; StrictEqual strictEqual = 37; Comparison comparison = 38; Enumeration enumeration = 39; MemberAccess memberAccess = 40; NonNullExpression nonNullExpression = 41; ScopeResolution scopeResolution = 42; SequenceExpression sequenceExpression = 43; Subscript subscript = 44; Member member = 45; Delete delete = 46; Void void = 47; Typeof typeof = 48; InstanceOf instanceOf = 49; New new = 50; Await await = 51; Array array = 52; Boolean boolean = 53; Float float = 54; Hash hash = 55; Integer integer = 56; KeyValue keyValue = 57; Null null = 58; String string = 59; TextElement textElement = 60; Regex regex = 61; Assignment assignment = 62; Break break = 63; Catch catch = 64; Continue continue = 65; DoWhile doWhile = 66; Else else = 67; Finally finally = 68; For for = 69; ForEach forEach = 70; If if = 71; Match match = 72; Pattern pattern = 73; Retry retry = 74; Return return = 75; ScopeEntry scopeEntry = 76; ScopeExit scopeExit = 77; Statements statements = 78; Throw throw = 79; Try try = 80; While while = 81; Yield yield = 82; AccessibilityModifier accessibilityModifier = 83; Empty empty = 84; Error error = 85; Identifier identifier = 86; Context context = 87; Readonly readonly = 88; TypeParameters typeParameters = 89; TypeParameter typeParameter = 90; Constraint constraint = 91; ParenthesizedType parenthesizedType = 92; DefaultType defaultType = 93; PredefinedType predefinedType = 94; TypeIdentifier typeIdentifier = 95; NestedIdentifier nestedIdentifier = 96; NestedTypeIdentifier nestedTypeIdentifier = 97; GenericType genericType = 98; TypeArguments typeArguments = 99; TypePredicate typePredicate = 100; CallSignature callSignature = 101; ConstructSignature constructSignature = 102; ArrayType arrayType = 103; LookupType lookupType = 104; FlowMaybeType flowMaybeType = 105; TypeQuery typeQuery = 106; IndexTypeQuery indexTypeQuery = 107; ThisType thisType = 108; ExistentialType existentialType = 109; AbstractMethodSignature abstractMethodSignature = 110; IndexSignature indexSignature = 111; ObjectType objectType = 112; LiteralType literalType = 113; Union union = 114; Intersection intersection = 115; Module module = 116; InternalModule internalModule = 117; FunctionType functionType = 118; Tuple tuple = 119; Constructor constructor = 120; TypeAssertion typeAssertion = 121; ImportAlias importAlias = 122; Debugger debugger = 123; ShorthandPropertyIdentifier shorthandPropertyIdentifier = 124; Super super = 125; Undefined undefined = 126; ClassHeritage classHeritage = 127; AbstractClass abstractClass = 128; ImplementsClause implementsClause = 129; JsxElement jsxElement = 130; JsxSelfClosingElement jsxSelfClosingElement = 131; JsxOpeningElement jsxOpeningElement = 132; JsxText jsxText = 133; JsxClosingElement jsxClosingElement = 134; JsxExpression jsxExpression = 135; JsxAttribute jsxAttribute = 136; JsxFragment jsxFragment = 137; JsxNamespaceName jsxNamespaceName = 138; OptionalParameter optionalParameter = 139; RequiredParameter requiredParameter = 140; RestParameter restParameter = 141; PropertySignature propertySignature = 142; AmbientDeclaration ambientDeclaration = 143; EnumDeclaration enumDeclaration = 144; ExtendsClause extendsClause = 145; AmbientFunction ambientFunction = 146; ImportRequireClause importRequireClause = 147; ImportClause importClause = 148; LabeledStatement labeledStatement = 149; Annotation annotation = 150; With with = 151; ForOf forOf = 152; This this = 153; Update update = 154; ComputedPropertyName computedPropertyName = 155; Decorator decorator = 156; Import import = 157; QualifiedAliasedImport qualifiedAliasedImport = 158; SideEffectImport sideEffectImport = 159; DefaultExport defaultExport = 160; QualifiedExport qualifiedExport = 161; QualifiedExportFrom qualifiedExportFrom = 162; JavaScriptRequire javaScriptRequire = 163; List list = 164; } } message Comment { string commentContent = 1; } message HashBang { string value = 1; } message Class { repeated TypeScriptTerm classContext = 1; TypeScriptTerm classIdentifier = 2; repeated TypeScriptTerm classSuperclasses = 3; TypeScriptTerm classBody = 4; } message Function { repeated TypeScriptTerm functionContext = 1; TypeScriptTerm functionName = 2; repeated TypeScriptTerm functionParameters = 3; TypeScriptTerm functionBody = 4; } message Method { repeated TypeScriptTerm methodContext = 1; TypeScriptTerm methodReceiver = 2; TypeScriptTerm methodName = 3; repeated TypeScriptTerm methodParameters = 4; TypeScriptTerm methodBody = 5; } message MethodSignature { repeated TypeScriptTerm methodSignatureContext = 1; TypeScriptTerm methodSignatureName = 2; repeated TypeScriptTerm methodSignatureParameters = 3; } message InterfaceDeclaration { repeated TypeScriptTerm interfaceDeclarationContext = 1; TypeScriptTerm interfaceDeclarationIdentifier = 2; TypeScriptTerm interfaceDeclarationBody = 3; } message PublicFieldDefinition { repeated TypeScriptTerm publicFieldContext = 1; TypeScriptTerm publicFieldPropertyName = 2; TypeScriptTerm publicFieldValue = 3; } message VariableDeclaration { repeated TypeScriptTerm variableDeclarations = 1; } message TypeAlias { repeated TypeScriptTerm typeAliasContext = 1; TypeScriptTerm typeAliasIdentifier = 2; TypeScriptTerm typeAliasKind = 3; } message Plus { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Minus { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Times { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message DividedBy { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Modulo { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Power { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Negate { TypeScriptTerm term = 1; } message FloorDivision { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message BAnd { TypeScriptTerm left = 1; TypeScriptTerm right = 2; } message BOr { TypeScriptTerm left = 1; TypeScriptTerm right = 2; } message BXOr { TypeScriptTerm left = 1; TypeScriptTerm right = 2; } message LShift { TypeScriptTerm left = 1; TypeScriptTerm right = 2; } message RShift { TypeScriptTerm left = 1; TypeScriptTerm right = 2; } message UnsignedRShift { TypeScriptTerm left = 1; TypeScriptTerm right = 2; } message Complement { TypeScriptTerm value = 1; } message And { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Not { TypeScriptTerm term = 1; } message Or { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message XOr { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Call { repeated TypeScriptTerm callContext = 1; TypeScriptTerm callFunction = 2; repeated TypeScriptTerm callParams = 3; TypeScriptTerm callBlock = 4; } message Cast { TypeScriptTerm castSubject = 1; TypeScriptTerm castType = 2; } message LessThan { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message LessThanEqual { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message GreaterThan { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message GreaterThanEqual { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Equal { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message StrictEqual { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Comparison { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Enumeration { TypeScriptTerm enumerationStart = 1; TypeScriptTerm enumerationEnd = 2; TypeScriptTerm enumerationStep = 3; } message MemberAccess { TypeScriptTerm lhs = 1; bytes rhs = 2; } message NonNullExpression { TypeScriptTerm nonNullExpression = 1; } message ScopeResolution { repeated TypeScriptTerm scopes = 1; } message SequenceExpression { TypeScriptTerm firstExpression = 1; TypeScriptTerm secondExpression = 2; } message Subscript { TypeScriptTerm lhs = 1; repeated TypeScriptTerm rhs = 2; } message Member { TypeScriptTerm lhs = 1; TypeScriptTerm rhs = 2; } message Delete { TypeScriptTerm value = 1; } message Void { TypeScriptTerm value = 1; } message Typeof { TypeScriptTerm value = 1; } message InstanceOf { TypeScriptTerm instanceOfSubject = 1; TypeScriptTerm instanceOfObject = 2; } message New { repeated TypeScriptTerm newSubject = 1; } message Await { TypeScriptTerm awaitSubject = 1; } message Array { repeated TypeScriptTerm arrayElements = 1; } message Boolean { bool booleanContent = 1; } message Float { string floatContent = 1; } message Hash { repeated TypeScriptTerm hashElements = 1; } message Integer { string integerContent = 1; } message KeyValue { TypeScriptTerm key = 1; TypeScriptTerm value = 2; } message Null { } message String { repeated TypeScriptTerm stringElements = 1; } message TextElement { string textElementContent = 1; } message Regex { string regexContent = 1; } message Assignment { repeated TypeScriptTerm assignmentContext = 1; TypeScriptTerm assignmentTarget = 2; TypeScriptTerm assignmentValue = 3; } message Break { TypeScriptTerm term = 1; } message Catch { TypeScriptTerm catchException = 1; TypeScriptTerm catchBody = 2; } message Continue { TypeScriptTerm term = 1; } message DoWhile { TypeScriptTerm doWhileCondition = 1; TypeScriptTerm doWhileBody = 2; } message Else { TypeScriptTerm elseCondition = 1; TypeScriptTerm elseBody = 2; } message Finally { TypeScriptTerm term = 1; } message For { TypeScriptTerm forBefore = 1; TypeScriptTerm forCondition = 2; TypeScriptTerm forStep = 3; TypeScriptTerm forBody = 4; } message ForEach { TypeScriptTerm forEachBinding = 1; TypeScriptTerm forEachSubject = 2; TypeScriptTerm forEachBody = 3; } message If { TypeScriptTerm ifCondition = 1; TypeScriptTerm ifThenBody = 2; TypeScriptTerm ifElseBody = 3; } message Match { TypeScriptTerm matchSubject = 1; TypeScriptTerm matchPatterns = 2; } message Pattern { TypeScriptTerm value = 1; TypeScriptTerm patternBody = 2; } message Retry { TypeScriptTerm term = 1; } message Return { TypeScriptTerm term = 1; } message ScopeEntry { repeated TypeScriptTerm terms = 1; } message ScopeExit { repeated TypeScriptTerm terms = 1; } message Statements { repeated TypeScriptTerm statements = 1; } message Throw { TypeScriptTerm value = 1; } message Try { TypeScriptTerm tryBody = 1; repeated TypeScriptTerm tryCatch = 2; } message While { TypeScriptTerm whileCondition = 1; TypeScriptTerm whileBody = 2; } message Yield { TypeScriptTerm term = 1; } message AccessibilityModifier { string contents = 1; } message Empty { } message Error { repeated ErrorSite errorCallStack = 1; repeated string errorExpected = 2; string errorActual = 3; repeated TypeScriptTerm errorChildren = 4; } message Identifier { bytes name = 1; } message Context { repeated TypeScriptTerm contextTerms = 1; TypeScriptTerm contextSubject = 2; } message Readonly { } message TypeParameters { repeated TypeScriptTerm terms = 1; } message TypeParameter { TypeScriptTerm typeParameter = 1; TypeScriptTerm typeParameterConstraint = 2; TypeScriptTerm typeParameterDefaultType = 3; } message Constraint { TypeScriptTerm constraintType = 1; } message ParenthesizedType { TypeScriptTerm parenthesizedType = 1; } message DefaultType { TypeScriptTerm defaultType = 1; } message PredefinedType { string predefinedType = 1; } message TypeIdentifier { string contents = 1; } message NestedIdentifier { TypeScriptTerm left = 1; TypeScriptTerm right = 2; } message NestedTypeIdentifier { TypeScriptTerm left = 1; TypeScriptTerm right = 2; } message GenericType { TypeScriptTerm genericTypeIdentifier = 1; TypeScriptTerm genericTypeArguments = 2; } message TypeArguments { repeated TypeScriptTerm typeArguments = 1; } message TypePredicate { TypeScriptTerm typePredicateIdentifier = 1; TypeScriptTerm typePredicateType = 2; } message CallSignature { TypeScriptTerm callSignatureTypeParameters = 1; repeated TypeScriptTerm callSignatureParameters = 2; TypeScriptTerm callSignatureType = 3; } message ConstructSignature { TypeScriptTerm constructSignatureTypeParameters = 1; repeated TypeScriptTerm constructSignatureParameters = 2; TypeScriptTerm constructSignatureType = 3; } message ArrayType { TypeScriptTerm arrayType = 1; } message LookupType { TypeScriptTerm lookupTypeIdentifier = 1; TypeScriptTerm lookupTypeKey = 2; } message FlowMaybeType { TypeScriptTerm flowMaybeType = 1; } message TypeQuery { TypeScriptTerm typeQuerySubject = 1; } message IndexTypeQuery { TypeScriptTerm indexTypeQuerySubject = 1; } message ThisType { string contents = 1; } message ExistentialType { string contents = 1; } message AbstractMethodSignature { repeated TypeScriptTerm abstractMethodSignatureContext = 1; TypeScriptTerm abstractMethodSignatureName = 2; repeated TypeScriptTerm abstractMethodSignatureParameters = 3; } message IndexSignature { TypeScriptTerm indexSignatureSubject = 1; TypeScriptTerm indexSignatureType = 2; } message ObjectType { repeated TypeScriptTerm objectTypeElements = 1; } message LiteralType { TypeScriptTerm literalTypeSubject = 1; } message Union { TypeScriptTerm unionLeft = 1; TypeScriptTerm unionRight = 2; } message Intersection { TypeScriptTerm intersectionLeft = 1; TypeScriptTerm intersectionRight = 2; } message Module { TypeScriptTerm moduleIdentifier = 1; repeated TypeScriptTerm moduleStatements = 2; } message InternalModule { TypeScriptTerm internalModuleIdentifier = 1; repeated TypeScriptTerm internalModuleStatements = 2; } message FunctionType { TypeScriptTerm functionTypeParameters = 1; repeated TypeScriptTerm functionFormalParameters = 2; TypeScriptTerm functionType = 3; } message Tuple { repeated TypeScriptTerm tupleElements = 1; } message Constructor { TypeScriptTerm constructorTypeParameters = 1; repeated TypeScriptTerm constructorFormalParameters = 2; TypeScriptTerm constructorType = 3; } message TypeAssertion { TypeScriptTerm typeAssertionParameters = 1; TypeScriptTerm typeAssertionExpression = 2; } message ImportAlias { TypeScriptTerm importAliasSubject = 1; TypeScriptTerm importAlias = 2; } message Debugger { } message ShorthandPropertyIdentifier { string contents = 1; } message Super { } message Undefined { } message ClassHeritage { TypeScriptTerm classHeritageExtendsClause = 1; TypeScriptTerm implementsClause = 2; } message AbstractClass { TypeScriptTerm abstractClassIdentifier = 1; TypeScriptTerm abstractClassTypeParameters = 2; repeated TypeScriptTerm classHeritage = 3; TypeScriptTerm classBody = 4; } message ExtendsClause { repeated TypeScriptTerm extendsClauses = 1; } message ImplementsClause { repeated TypeScriptTerm implementsClauseTypes = 1; } message JsxElement { TypeScriptTerm jsxOpeningElement = 1; repeated TypeScriptTerm jsxElements = 2; TypeScriptTerm jsxClosingElement = 3; } message JsxSelfClosingElement { TypeScriptTerm jsxSelfClosingElementIdentifier = 1; repeated TypeScriptTerm jsxSelfClosingElementAttributes = 2; } message JsxOpeningElement { TypeScriptTerm jsxOpeningElementIdentifier = 1; repeated TypeScriptTerm jsxAttributes = 2; } message JsxText { string contents = 1; } message JsxClosingElement { TypeScriptTerm jsxClosingElementIdentifier = 1; } message JsxExpression { TypeScriptTerm jsxExpression = 1; } message JsxAttribute { TypeScriptTerm jsxAttributeTarget = 1; TypeScriptTerm jsxAttributeValue = 2; } message JsxFragment { repeated TypeScriptTerm terms = 1; } message JsxNamespaceName { TypeScriptTerm left = 1; TypeScriptTerm right = 2; } message OptionalParameter { repeated TypeScriptTerm optionalParameterContext = 1; TypeScriptTerm optionalParameterSubject = 2; } message RequiredParameter { repeated TypeScriptTerm requiredParameterContext = 1; TypeScriptTerm requiredParameterSubject = 2; } message RestParameter { repeated TypeScriptTerm restParameterContext = 1; TypeScriptTerm restParameterSubject = 2; } message PropertySignature { repeated TypeScriptTerm modifiers = 1; TypeScriptTerm propertySignaturePropertyName = 2; } message AmbientDeclaration { TypeScriptTerm ambientDeclarationBody = 1; } message EnumDeclaration { TypeScriptTerm enumDeclarationIdentifier = 1; repeated TypeScriptTerm enumDeclarationBody = 2; } message AmbientFunction { repeated TypeScriptTerm ambientFunctionContext = 1; TypeScriptTerm ambientFunctionIdentifier = 2; repeated TypeScriptTerm ambientFunctionParameters = 3; } message ImportRequireClause { TypeScriptTerm importRequireIdentifier = 1; TypeScriptTerm importRequireSubject = 2; } message ImportClause { repeated TypeScriptTerm importClauseElements = 1; } message LabeledStatement { TypeScriptTerm labeledStatementIdentifier = 1; TypeScriptTerm labeledStatementSubject = 2; } message Annotation { TypeScriptTerm annotationType = 1; } message With { TypeScriptTerm withExpression = 1; TypeScriptTerm withBody = 2; } message ForOf { TypeScriptTerm forOfBinding = 1; TypeScriptTerm forOfSubject = 2; TypeScriptTerm forOfBody = 3; } message This { } message Update { TypeScriptTerm updateSubject = 1; } message ComputedPropertyName { TypeScriptTerm propertyName = 1; } message Decorator { TypeScriptTerm decoratorTerm = 1; } message Import { repeated Alias importSymbols = 1; ImportPath importFrom = 2; } message QualifiedAliasedImport { TypeScriptTerm qualifiedAliasedImportAlias = 1; ImportPath qualifiedAliasedImportFrom = 2; } message SideEffectImport { ImportPath sideEffectImportFrom = 1; } message DefaultExport { TypeScriptTerm defaultExport = 1; } message QualifiedExport { repeated Alias qualifiedExportSymbols = 1; } message QualifiedExportFrom { ImportPath qualifiedExportFrom = 1; repeated Alias qualifiedExportFromSymbols = 2; } message JavaScriptRequire { TypeScriptTerm javascriptRequireIden = 1; ImportPath javascriptRequireFrom = 2; } message List { repeated TypeScriptTerm listContent = 1; }