// This file was generated by proto-gen. Do not edit by hand. syntax = "proto3"; package github.semantic.typescriptterm; import "types.proto"; option java_package = "com.github.semantic.typescriptterm"; option go_package = "github.com/semantic/typescriptterm;typescript"; message TypeScriptTerm { TypeScriptSyntax syntax = 1; } 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; This this = 52; Array array = 53; Boolean boolean = 54; Float float = 55; Hash hash = 56; Integer integer = 57; KeyValue keyValue = 58; Null null = 59; String string = 60; TextElement textElement = 61; Regex regex = 62; Assignment assignment = 63; Break break = 64; Catch catch = 65; Continue continue = 66; DoWhile doWhile = 67; Else else = 68; Finally finally = 69; For for = 70; ForEach forEach = 71; If if = 72; Match match = 73; Pattern pattern = 74; Retry retry = 75; Return return = 76; ScopeEntry scopeEntry = 77; ScopeExit scopeExit = 78; Statements statements = 79; Throw throw = 80; Try try = 81; While while = 82; Yield yield = 83; AccessibilityModifier accessibilityModifier = 84; Empty empty = 85; Error error = 86; Identifier identifier = 87; Context context = 88; Readonly readonly = 89; TypeParameters typeParameters = 90; TypeParameter typeParameter = 91; Constraint constraint = 92; ParenthesizedType parenthesizedType = 93; DefaultType defaultType = 94; PredefinedType predefinedType = 95; TypeIdentifier typeIdentifier = 96; NestedIdentifier nestedIdentifier = 97; NestedTypeIdentifier nestedTypeIdentifier = 98; GenericType genericType = 99; TypeArguments typeArguments = 100; TypePredicate typePredicate = 101; CallSignature callSignature = 102; ConstructSignature constructSignature = 103; ArrayType arrayType = 104; LookupType lookupType = 105; FlowMaybeType flowMaybeType = 106; TypeQuery typeQuery = 107; IndexTypeQuery indexTypeQuery = 108; ThisType thisType = 109; ExistentialType existentialType = 110; AbstractMethodSignature abstractMethodSignature = 111; IndexSignature indexSignature = 112; ObjectType objectType = 113; LiteralType literalType = 114; Union union = 115; Intersection intersection = 116; Module module = 117; InternalModule internalModule = 118; FunctionType functionType = 119; Tuple tuple = 120; Constructor constructor = 121; TypeAssertion typeAssertion = 122; ImportAlias importAlias = 123; Debugger debugger = 124; ShorthandPropertyIdentifier shorthandPropertyIdentifier = 125; Super super = 126; Undefined undefined = 127; ClassHeritage classHeritage = 128; AbstractClass abstractClass = 129; ImplementsClause implementsClause = 130; JsxElement jsxElement = 131; JsxSelfClosingElement jsxSelfClosingElement = 132; JsxOpeningElement jsxOpeningElement = 133; JsxText jsxText = 134; JsxClosingElement jsxClosingElement = 135; JsxExpression jsxExpression = 136; JsxAttribute jsxAttribute = 137; JsxFragment jsxFragment = 138; JsxNamespaceName jsxNamespaceName = 139; OptionalParameter optionalParameter = 140; RequiredParameter requiredParameter = 141; RestParameter restParameter = 142; PropertySignature propertySignature = 143; AmbientDeclaration ambientDeclaration = 144; EnumDeclaration enumDeclaration = 145; ExtendsClause extendsClause = 146; AmbientFunction ambientFunction = 147; ImportRequireClause importRequireClause = 148; ImportClause importClause = 149; LabeledStatement labeledStatement = 150; Annotation annotation = 151; With with = 152; ForOf forOf = 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; repeated TypeScriptTerm interfaceDeclarationSuperInterfaces = 3; TypeScriptTerm interfaceDeclarationBody = 4; } 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 value = 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 value = 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 This { } 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 value = 1; } message Catch { TypeScriptTerm catchException = 1; TypeScriptTerm catchBody = 2; } message Continue { TypeScriptTerm value = 1; } message DoWhile { TypeScriptTerm doWhileCondition = 1; TypeScriptTerm doWhileBody = 2; } message Else { TypeScriptTerm elseCondition = 1; TypeScriptTerm elseBody = 2; } message Finally { TypeScriptTerm value = 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 value = 1; } message Return { TypeScriptTerm value = 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 value = 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 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 ExtendsClause { repeated TypeScriptTerm extendsClauses = 1; } 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 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; } message Alias { bytes aliasValue = 1; bytes aliasName = 2; } message ImportPath { string unPath = 1; IsRelative pathIsRelative = 2; } enum IsRelative { Unknown = 0; Relative = 1; NonRelative = 2; }