Skip to content
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
wants to merge 324 commits into
base: master
Choose a base branch
from
Open

v1.0.0 #1056

wants to merge 324 commits into from

Conversation

TwitchBronBron
Copy link
Member

This is the official branch for the v1.0.0 release, tracking milesone v1.0.0.

markwpearce and others added 30 commits October 10, 2023 16:33
* 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]>
* 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 <[email protected]>
* 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 <[email protected]>
#954)

* Restore original constructor param order for optional keyword

* Fix typedef transpile for optional iface field

* Use literal `)`
…on (#972)

* Created failing test

* Class constructors can be passed as arguments when parameter expects a function
* Classes do not include AA members

* lint fix
TwitchBronBron and others added 30 commits December 23, 2024 15:23
* 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]>
… 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 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants