1
1
mirror of https://github.com/github/semantic.git synced 2024-12-26 00:12:29 +03:00
semantic/proto/typescript_term.proto
2019-01-18 18:20:36 -08:00

983 lines
20 KiB
Protocol Buffer

// 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;
AccessControl accessControl = 11;
Plus plus = 12;
Minus minus = 13;
Times times = 14;
DividedBy dividedBy = 15;
Modulo modulo = 16;
Power power = 17;
Negate negate = 18;
FloorDivision floorDivision = 19;
BAnd bAnd = 20;
BOr bOr = 21;
BXOr bXOr = 22;
LShift lShift = 23;
RShift rShift = 24;
UnsignedRShift unsignedRShift = 25;
Complement complement = 26;
And and = 27;
Not not = 28;
Or or = 29;
XOr xOr = 30;
Call call = 31;
Cast cast = 32;
LessThan lessThan = 33;
LessThanEqual lessThanEqual = 34;
GreaterThan greaterThan = 35;
GreaterThanEqual greaterThanEqual = 36;
Equal equal = 37;
StrictEqual strictEqual = 38;
Comparison comparison = 39;
Enumeration enumeration = 40;
MemberAccess memberAccess = 41;
NonNullExpression nonNullExpression = 42;
ScopeResolution scopeResolution = 43;
SequenceExpression sequenceExpression = 44;
Subscript subscript = 45;
Member member = 46;
Delete delete = 47;
Void void = 48;
Typeof typeof = 49;
InstanceOf instanceOf = 50;
New new = 51;
Await await = 52;
This this = 53;
Array array = 54;
Boolean boolean = 55;
Float float = 56;
Hash hash = 57;
Integer integer = 58;
KeyValue keyValue = 59;
Null null = 60;
String string = 61;
TextElement textElement = 62;
Regex regex = 63;
Assignment assignment = 64;
Break break = 65;
Catch catch = 66;
Continue continue = 67;
DoWhile doWhile = 68;
Else else = 69;
Finally finally = 70;
For for = 71;
ForEach forEach = 72;
If if = 73;
Match match = 74;
Pattern pattern = 75;
Retry retry = 76;
Return return = 77;
ScopeEntry scopeEntry = 78;
ScopeExit scopeExit = 79;
Statements statements = 80;
Throw throw = 81;
Try try = 82;
While while = 83;
Yield yield = 84;
AccessibilityModifier accessibilityModifier = 85;
Empty empty = 86;
Error error = 87;
Identifier identifier = 88;
Context context = 89;
Readonly readonly = 90;
TypeParameters typeParameters = 91;
TypeParameter typeParameter = 92;
Constraint constraint = 93;
ParenthesizedType parenthesizedType = 94;
DefaultType defaultType = 95;
PredefinedType predefinedType = 96;
TypeIdentifier typeIdentifier = 97;
NestedIdentifier nestedIdentifier = 98;
NestedTypeIdentifier nestedTypeIdentifier = 99;
GenericType genericType = 100;
TypeArguments typeArguments = 101;
TypePredicate typePredicate = 102;
CallSignature callSignature = 103;
ConstructSignature constructSignature = 104;
ArrayType arrayType = 105;
LookupType lookupType = 106;
FlowMaybeType flowMaybeType = 107;
TypeQuery typeQuery = 108;
IndexTypeQuery indexTypeQuery = 109;
ThisType thisType = 110;
ExistentialType existentialType = 111;
AbstractMethodSignature abstractMethodSignature = 112;
IndexSignature indexSignature = 113;
ObjectType objectType = 114;
LiteralType literalType = 115;
Union union = 116;
Intersection intersection = 117;
Module module = 118;
InternalModule internalModule = 119;
FunctionType functionType = 120;
Tuple tuple = 121;
Constructor constructor = 122;
TypeAssertion typeAssertion = 123;
ImportAlias importAlias = 124;
Debugger debugger = 125;
ShorthandPropertyIdentifier shorthandPropertyIdentifier = 126;
Super super = 127;
Undefined undefined = 128;
ClassHeritage classHeritage = 129;
AbstractClass abstractClass = 130;
ImplementsClause implementsClause = 131;
JsxElement jsxElement = 132;
JsxSelfClosingElement jsxSelfClosingElement = 133;
JsxOpeningElement jsxOpeningElement = 134;
JsxText jsxText = 135;
JsxClosingElement jsxClosingElement = 136;
JsxExpression jsxExpression = 137;
JsxAttribute jsxAttribute = 138;
JsxFragment jsxFragment = 139;
JsxNamespaceName jsxNamespaceName = 140;
OptionalParameter optionalParameter = 141;
RequiredParameter requiredParameter = 142;
RestParameter restParameter = 143;
PropertySignature propertySignature = 144;
AmbientDeclaration ambientDeclaration = 145;
EnumDeclaration enumDeclaration = 146;
ExtendsClause extendsClause = 147;
AmbientFunction ambientFunction = 148;
ImportRequireClause importRequireClause = 149;
ImportClause importClause = 150;
LabeledStatement labeledStatement = 151;
Annotation annotation = 152;
With with = 153;
ForOf forOf = 154;
Update update = 155;
ComputedPropertyName computedPropertyName = 156;
Decorator decorator = 157;
Import import = 158;
QualifiedAliasedImport qualifiedAliasedImport = 159;
SideEffectImport sideEffectImport = 160;
DefaultExport defaultExport = 161;
QualifiedExport qualifiedExport = 162;
QualifiedExportFrom qualifiedExportFrom = 163;
JavaScriptRequire javaScriptRequire = 164;
List list = 165;
StatementBlock statementBlock = 166;
MetaProperty metaProperty = 167;
}
}
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 methodAccessControl = 2;
TypeScriptTerm methodReceiver = 3;
TypeScriptTerm methodName = 4;
repeated TypeScriptTerm methodParameters = 5;
TypeScriptTerm methodBody = 6;
}
message MethodSignature {
repeated TypeScriptTerm methodSignatureContext = 1;
TypeScriptTerm methodSignatureAccessControl = 2;
TypeScriptTerm methodSignatureName = 3;
repeated TypeScriptTerm methodSignatureParameters = 4;
}
message InterfaceDeclaration {
repeated TypeScriptTerm interfaceDeclarationContext = 1;
TypeScriptTerm interfaceDeclarationIdentifier = 2;
repeated TypeScriptTerm interfaceDeclarationSuperInterfaces = 3;
TypeScriptTerm interfaceDeclarationBody = 4;
}
message PublicFieldDefinition {
repeated TypeScriptTerm publicFieldContext = 1;
TypeScriptTerm publicFieldAccessControl = 2;
TypeScriptTerm publicFieldPropertyName = 3;
TypeScriptTerm publicFieldValue = 4;
}
message VariableDeclaration {
repeated TypeScriptTerm variableDeclarations = 1;
}
message TypeAlias {
repeated TypeScriptTerm typeAliasContext = 1;
TypeScriptTerm typeAliasIdentifier = 2;
TypeScriptTerm typeAliasKind = 3;
}
message AccessControl { }
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 lhs = 1;
TypeScriptTerm rhs = 2;
}
message BOr {
TypeScriptTerm lhs = 1;
TypeScriptTerm rhs = 2;
}
message BXOr {
TypeScriptTerm lhs = 1;
TypeScriptTerm rhs = 2;
}
message LShift {
TypeScriptTerm lhs = 1;
TypeScriptTerm rhs = 2;
}
message RShift {
TypeScriptTerm lhs = 1;
TypeScriptTerm rhs = 2;
}
message UnsignedRShift {
TypeScriptTerm lhs = 1;
TypeScriptTerm rhs = 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 {
TypeScriptTerm newSubject = 1;
TypeScriptTerm newTypeParameters = 2;
repeated TypeScriptTerm newArguments = 3;
}
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 subject = 1;
TypeScriptTerm subjectType = 2;
TypeScriptTerm typeAnnotation = 3;
}
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;
TypeScriptTerm requiredParameterValue = 3;
}
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 StatementBlock {
repeated TypeScriptTerm statements = 1;
}
message MetaProperty { }
message Alias {
bytes aliasValue = 1;
bytes aliasName = 2;
}
message ImportPath {
string unPath = 1;
IsRelative pathIsRelative = 2;
}
enum IsRelative {
Unknown = 0;
Relative = 1;
NonRelative = 2;
}