Something went wrong. Try again.
A native-speed rewrite of the roblox-ts compiler in golang
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879// Exports interfaces and types defining the node builder - concrete implementations are on top of the checker, but these types and interfaces are used by the emit resolver in the printerpackage nodebuilder
import ( "rotor/tsgo/ast")
// TODO: previously all symboltracker methods were optional, but now they're required.type SymbolTracker interface { TrackSymbol(symbol *ast.Symbol, enclosingDeclaration *ast.Node, meaning ast.SymbolFlags) bool ReportInaccessibleThisError() ReportPrivateInBaseOfClassExpression(propertyName string) ReportInaccessibleUniqueSymbolError() ReportCyclicStructureError() ReportLikelyUnsafeImportRequiredError(specifier string, symbolName string) ReportTruncationError() ReportNonlocalAugmentation(containingFile *ast.SourceFile, parentSymbol *ast.Symbol, augmentingSymbol *ast.Symbol) ReportNonSerializableProperty(propertyName string)
ReportInferenceFallback(node *ast.Node) PushErrorFallbackNode(node *ast.Node) PopErrorFallbackNode()}
// NOTE: If modifying this enum, must modify `TypeFormatFlags` too!type Flags uint32
const ( FlagsNone Flags = 0 // Options FlagsNoTruncation Flags = 1 << 0 FlagsWriteArrayAsGenericType Flags = 1 << 1 FlagsGenerateNamesForShadowedTypeParams Flags = 1 << 2 FlagsUseStructuralFallback Flags = 1 << 3 FlagsForbidIndexedAccessSymbolReferences Flags = 1 << 4 FlagsWriteTypeArgumentsOfSignature Flags = 1 << 5 FlagsUseFullyQualifiedType Flags = 1 << 6 FlagsUseOnlyExternalAliasing Flags = 1 << 7 FlagsSuppressAnyReturnType Flags = 1 << 8 FlagsWriteTypeParametersInQualifiedName Flags = 1 << 9 FlagsMultilineObjectLiterals Flags = 1 << 10 FlagsWriteClassExpressionAsTypeLiteral Flags = 1 << 11 FlagsUseTypeOfFunction Flags = 1 << 12 FlagsOmitParameterModifiers Flags = 1 << 13 FlagsUseAliasDefinedOutsideCurrentScope Flags = 1 << 14 FlagsUseSingleQuotesForStringLiteralType Flags = 1 << 28 FlagsNoTypeReduction Flags = 1 << 29 FlagsUseInstantiationExpressions Flags = 1 << 30 FlagsOmitThisParameter Flags = 1 << 25 FlagsWriteCallStyleSignature Flags = 1 << 27 // Error handling FlagsAllowThisInObjectLiteral Flags = 1 << 15 FlagsAllowQualifiedNameInPlaceOfIdentifier Flags = 1 << 16 FlagsAllowAnonymousIdentifier Flags = 1 << 17 FlagsAllowEmptyUnionOrIntersection Flags = 1 << 18 FlagsAllowEmptyTuple Flags = 1 << 19 FlagsAllowUniqueESSymbolType Flags = 1 << 20 FlagsAllowEmptyIndexInfoType Flags = 1 << 21 // Errors (cont.) FlagsAllowNodeModulesRelativePaths Flags = 1 << 26 FlagsIgnoreErrors Flags = FlagsAllowThisInObjectLiteral | FlagsAllowQualifiedNameInPlaceOfIdentifier | FlagsAllowAnonymousIdentifier | FlagsAllowEmptyUnionOrIntersection | FlagsAllowEmptyTuple | FlagsAllowEmptyIndexInfoType | FlagsAllowNodeModulesRelativePaths // State FlagsInObjectTypeLiteral Flags = 1 << 22 FlagsInTypeAlias Flags = 1 << 23 FlagsInInitialEntityName Flags = 1 << 24)
/** @internal */
type InternalFlags int32
const ( InternalFlagsNone InternalFlags = 0 InternalFlagsWriteComputedProps InternalFlags = 1 << 0 InternalFlagsNoSyntacticPrinter InternalFlags = 1 << 1 InternalFlagsDoNotIncludeSymbolChain InternalFlags = 1 << 2 InternalFlagsAllowUnresolvedNames InternalFlags = 1 << 3)