-
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
316
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
* 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 <bronley@gmail.com>
* 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 <bronley@gmail.com>
* Parser allows optional interface properties and adds them as optional members * Added interface completion tests * Added optional interface members docs * Reworked optional members to use a keyword * Fixed hovers for optional properties * Fixed merge issue * updated documentation * Fixed code in completions test * remove questionLeftParen in interface method dclaration * ensure interface field name is an identifier * Updated comment * fix package builder * Fix crash on missing node type * Fixed issue with using a variable assigned from an unknown variable * Allow enums to be named `optional. Add several related tests. --------- Co-authored-by: Bronley Plumb <bronley@gmail.com>
* Removed multiple GetAllSymbols lookups from completion provider * removed commented line of code * Removed double for loop * fixes build * Fix script imports, dedupe same completions from differnt projects * Does this fix windows path issue * Fix broken test --------- Co-authored-by: Bronley Plumb <bronley@gmail.com>
#954) * Restore original constructor param order for optional keyword * Fix typedef transpile for optional iface field * Use literal `)`
…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 <bronley@gmail.com> * Update docs/bsconfig.md Co-authored-by: Bronley Plumb <bronley@gmail.com> * Updated docs to use new codes instead of legacy codes for diagnotsics * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <bronley@gmail.com> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <bronley@gmail.com> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <bronley@gmail.com> * Changes from comments on PR * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <bronley@gmail.com> * Combined diagnostics to make new expectedOperator diagnostic * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <bronley@gmail.com> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <bronley@gmail.com> * 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 <bronley@gmail.com> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <bronley@gmail.com> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <bronley@gmail.com> * use one expected-identifier diaganostic code * A few more changes * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <bronley@gmail.com> * Update src/DiagnosticMessages.ts Co-authored-by: Bronley Plumb <bronley@gmail.com> * 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 <bronley@gmail.com>
* Eliminates unnecessary import and fractional hex diagnostics * Adds tests for fractional hex in different contexts --------- Co-authored-by: Bronley Plumb <bronley@gmail.com>
* 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 <bronley@gmail.com>
* 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 <bronley@gmail.com>
… members (#1402) * Fixes getting the default type of an array of AAs with reference type members * Handle other weird array default type * Just change the imports in a test
* Re-ran doc scrapper * Added a few undocumented fields as doc merges * TextEditBox fields are read_write
* Changes primitive type checking to allow boxed types * Added more tests for validating boxed types * Reverted some unneeded changes * Adds isTypeLike reflection functions - refactored to use these mostly --------- Co-authored-by: Bronley Plumb <bronley@gmail.com>
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.