-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v1.0.0 #1056
Open
TwitchBronBron
wants to merge
307
commits into
master
Choose a base branch
from
release-1.0.0
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
v1.0.0 #1056
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Validates DottedSetStatements for type compatibility * Add test to match issue example
…) to Type System (#891) * Adds non-statement expressions to AST * WIP to verify namespace symbol table changes * Fix broken semantic tokens test * Solving more tests * Refactored Symbol Tables to keep track of teh defining AST node of a symbol * Completes refactor of completions to use symbol tables * Fixes namespace hovers * Cache data after loop in BuiltInInterfaceAdder * Comment documentaation gets a little formatting help - jsdoc tags are respected * Revert caching of symbol add calls in BuiltInInterfaceAdder * removed parser in body hack * fix for #881 * Use leadingTrivia for comments and fix #883 * Solves #882 * Brightscript Components, interfaces,Events and SceneGraph Nodes are in global SymbolTable * Fixed enum member issue * fixed build issue * Adds built in SceneGraph nodes and Custom components as types * Fixes some completions issues with custom components * Adds Custom Components to symbol tables * Some small fixes * added test and fixed build error * fix broken test * Removed mergedSymbolTable as sibling to scope.symbolTable * Renamed addDeferredComponentTypeSymbolCreation and generalized type chain seperators * Added comment for program.componentSymbolsToUpdate * Update timeout on long running test * Fixed typo --------- Co-authored-by: Bronley Plumb <[email protected]>
* Adds validation for binary operators * fix indenting * fixed test and added test to validate setting node properties
… missing or mismatches members (#901) Co-authored-by: Bronley Plumb <[email protected]>
* Fix scope related info messages, truncate the list * Fix unit tests
* Fix scope related info messages, truncate the list * Fix unit tests * Add truncate method * Tweak type compatibility diagnostic messages
Co-authored-by: Bronley Plumb <[email protected]>
* Fixes compatibility of built in types so typed array can be assigned to roArray * Adding more intrinsic objects * Do more type checking based on members * Added in some TODOs about name checking interfaces
…essions (#927) * Better completions on type expressions/casts and adds native components to semantic tokens * Re-added deleted test
* Added Callfunc as ComponentType member * Tightened up TypedFUnctionType compatibility code and added tests for .callFunc invocations * fixed build issue * Added callfunc as an override directly in scrape-roku-docs script * fixed build errors * Rescraped Roku docs
* Allows Scrape-rolku-docs to consolidate overloaded methods * Fixes returnDescription and description mix up
* More flexible cache typing * Better typing for cache `get` * Refactor files to use `srcPath`. Deprecate `pathAbsolute` * WIP * Add start of unit test fixes * Fix broken scope diagnostics * Fix most tests. * Add support for `RawFile` * Fix remaining broken test * Fix lint issues * Rename `RawFile` to `GenericFile`. Rename `BscFile` to `File` * Rename GenericFile to AssetFile * Add before/after file add events. Support overriding file contents during provide events. Deprecate the file parse events. * Allows diagnostics for AssetFiles * add srcExtension to provideFile event * Add basic example to plugin docs * Add `excludeFromOutput` option to files. * Rename destPath to pkgPath * Implement file factory * fix lint errors * before/after file remove events. * better plugin docs * Deprecate the `BscFile` interface * Introduce `destPath` (not using it fully yet) * improve program.getPaths to support destPath * Better file constructor handling. Include destPath in `ProvideFileEvent` * Use `destPath` instead of `pkgPath` most places * Rename file reference to use `destPath` * add file api documentation * add multi-file change docs * Refine file api docs * Move bsc plugin to provide files in after * Adds completed file build flow * Add program build events * Some fixes * Fix remaining build errors. * Convert testTranspile to async * Convert unit tests to async testTranspile * Fix transpile flows * Fix lint issues * Fix AssetFile content loading * Fixed stagingDir path issues * Fix binary file copying * Re-expose concrete AstEditor * Fix bugs in the bslib injector * Properly prefix bslib * Export some missing interfaces and classes * Public `needsTranspiled` props * Add import comment test * Fix broken tests. Add event hook warnings to pluginInterface
* Keep a per-scope type cache * Much Smarter Validation scheme - only file-level unresolved functions get revalidated for each scope * remove logging * Make sure extra data is passed back from a cache * fixed lint error * A few small fixes * Fixed ifDraw2d.DrawScaledObject overload * re-scraped docs * More granularity for re-validations * Removed testing and commented out code * Minimize namespace link operations * Fighting with typecache... I will revert it * Fixed bugs.. reverted misguided scope-type-caching * Reworked validation to only validate sections that have unresolved details * Moved all Validation segmenting code to its own class * Moved all scope validation to happen on walks * re-added all the statement lookup maps to the namespace container * Reworked Scope.diagnosticDetectShadowedLocalVars() to only do type lookups if necessary * Adds a lot of logging around timing and validation * Removed mistakenly cached brsFile.validationSegments * Removed unused code paths and console logs
…bols` (#944) * more unused code removed * Namespace containers reference all statements * BrsFile validation keeps track of provided and required symbols and chnages since last validation * Lightning * Keep track of where scope diagnostics come from, so they can be cleared on re-validation only * WIP - resolving class requires * Add the `create-package` script * Lots of fixes * Fix windows test * skip the commit hooks when building the package * build mac first to see if they fail there too. * Tweaks for test * don't run the preversion script for package building * Fixed tests and removed some dead code --------- Co-authored-by: Bronley Plumb <[email protected]>
* Does not validate unknown members of a component in BrightScript mode * Fixed lint errors
* Scraped docs and fixed Vector2DFieldInterpolator keyValue type * fixes when the roku docs say instead of * Update scripts/scrape-roku-docs.ts handle whitespace fixes in scraped docs as well Co-authored-by: Bronley Plumb <[email protected]> * remove duplicated field fix * Is a little more forgiving in getting the return type from the roku docs --------- Co-authored-by: Bronley Plumb <[email protected]>
…1241) * Took a stab at re-writing the docs * Added human readable names to diagnostics * Added file.destPath diagnostics filtering * hopefully fixed test * Is this change needed too? * Changed BsDiagnostic so code is the human-readable version, legacyCode is the old code * Fixed some issues * Fix misspelling * Update docs/bsconfig.md Co-authored-by: Bronley Plumb <[email protected]> * Update docs/bsconfig.md Co-authored-by: Bronley Plumb <[email protected]> * Updated docs to use new codes instead of legacy codes for diagnotsics * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * Changes from comments on PR * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * Combined diagnostics to make new expectedOperator diagnostic * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * Combined expectedTerminator diags - Ill Be Back * Consolidated expected statement diagnostics * Removed xml prefix on xml diagnostics * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * use one expected-identifier diaganostic code * A few more changes * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <[email protected]> * A few more changes * Rename many diagnostic codes * Some small code tweaks * Updated the expectedEndForOrNextToTerminateForLoop diagnostic * Refactored memberAccessibilityMismatch diagnostic * Reverted data.json change * Combine `expectedIdentifierAfterKeyword` and `expectedIdentifier` * Merge several `expected*AfterCallable` diagnostics into `expecteToken` or `expectedIdentifier` * Rename functionNameCannotEndWithTypeDesignator to invalidIdentifier and update diagnostics for invalid characters in function names * Rename mismatchedEndCallableKeyword to closingKeywordMismatch and update related diagnostic messages * More diagnostics refactoring (unterminatedString, class inheritance, etc) * Eliminate more diagnostic codes (such as localVarSameNameAsClass and expectedOpenParenToFollowCallfuncIdentifier) * Refactor hash* diagnostics --------- Co-authored-by: Bronley Plumb <[email protected]>
) * Changes expectedReturnStatement to allow coercable types * fixed lint error --------- Co-authored-by: Bronley Plumb <[email protected]>
* Eliminates unnecessary import and fractional hex diagnostics * Adds tests for fractional hex in different contexts --------- Co-authored-by: Bronley Plumb <[email protected]>
* Fixes default type for ArrayLIteral with enum member inner types * Adds a new ReferenceType for Default/initial values
…1296) * Refactored PrintStatment to only use expressions * Introduce new `PrintSeparatorExpression` * Fix some formatting * More specific token type * Just cleaning up some merge issues --------- Co-authored-by: Bronley Plumb <[email protected]>
* Augments handling of void returns * Removed commented out code * Built-in functions that are as void will return UninitializedType
* Makes assignments of invalid act be typed as dynamic * Makes assignments of invalid act be typed as dynamic
* Binary operators on Unions work better now * Used same logic on unary operators as well * Updated test to check result type of complex binrary operation * Binary and Unary operators handle ObjectType - issue #1387
* Fixed completion and hovers on callFUn invocations * Callfunc return types are used for assignments * Callfunc and @invocations return types are honored, as long as they are built in types * Adds Callfunc invocation validation * removed .onlys * Adds component.createChild() typing * fixed some comments * Removed validation errors on generic roSgNode * Perform validation on dependent types when ComponentType changes * added one final test for for revalidation when callfunc type changes * Re-validates references to a component when the callfunc signature changes * Change some comments: * removed commented out code * removed commented out code * Makes componentType checking with builtin components better * Added changed symbols logging -- noticed there's way too many there * Added cannotFindCallFuncFunction and many tests * Found a crash and fixed it * Ensures validation when the unresolved member of a resolved type changes * Added coomments * Better handling of completion and validation of nodes from component libraries * Fixes callfunc on result of function call * Revert change - there's a difference between built in symbols and built in types * Fix build * Fixed issue for callfuncs returning voidtype * Adds count of changed symbols to the validation metrics * Adds protection on not being able to decipher defining nodes for some symbols --------- Co-authored-by: Bronley Plumb <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the official branch for the v1.0.0 release, tracking milesone v1.0.0.