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

[NETBEANS-4443] PHP 8.0 Support #2456

Closed
wants to merge 27 commits into from
Closed

[NETBEANS-4443] PHP 8.0 Support #2456

wants to merge 27 commits into from

Conversation

junichi11
Copy link
Member

No description provided.

junichi11 and others added 27 commits July 22, 2020 20:45
- https://wiki.php.net/rfc/non-capturing_catches
- Fix the ASTPHP5Parser.cup
- Add the `PHP80UnhandledError` class
- Add unit tests for the parser, GotoDeclaration, MarkOccurrences, Formatter, and Code Completion features
[NETBEANS-4443] PHP 8.0 Support: Non-capturing catches part
…st part

- https://wiki.php.net/rfc/trailing_comma_in_parameter_list
- Fix ASTPHP5Parser.cup
- Add unit test for the parser and formatting features
- Fix the PHP80UnhandledError
…-parameter-list

[NETBEANS-4443] PHP 8.0 Support: Allow trailing comma in parameter list part
- https://wiki.php.net/rfc/throw_expression
- Convert the `ThrowStatement` to the `ThrowExpression`
- Add unit tests for the parser, the formatter, and the comment generator
- Fix the `PHP80UnhandledError`
[NETBEANS-4443] PHP 8.0 Support: throw Expression part
- https://wiki.php.net/rfc/class_name_literal_on_object
- Fix code completion for `::class`
- Fix unit tests for CC
- Add unit tests for the parser
- Fix the `PHP80UnhandledError`
…bject

[NETBEANS-4443] PHP 8.0 Support: Allow ::class on objects part
- https://wiki.php.net/rfc/match_expression_v2
- Fix the `ASTPHP5Parser.cup`, `ASTPHP5Scanner.flex`, and `Php5ColoringScanner.flex` i.e. parser and lexers
- Fix the brace matching, the typinghook, and the indentation features
- Fix the `PHP80UnhandledError`
- Add the code template for match expression
- https://wiki.php.net/rfc/match_expression_v2
- Fix formatting, code completion, code folding, and hint features
- Add unit tests for formatting, code completion, code folding, goto declaration, and mark occurrences
[NETBEANS-4443] PHP 8.0 Support: Match expression v2
- https://wiki.php.net/rfc/union_types_v2
- Fix `ASTPHP5Parser.cup`
- Fix `InitializeFieldSuggestion` hint
- Fix `PHP80UnhandledError` and `UnusableTypesUnhandledError`
- Add the flag for union types to index signatures
- Fix code generation features (generate getter, setter, constructor, override/implement methods)
- Add unit tests for the parser, code generator, indexer, and hints
- https://wiki.php.net/rfc/union_types_v2
- Fix Code Completion feature
- Add `false`, `null`, `self`, and `parent` as code completion items for parameter/return type
- Fix the `GSFPHPParser` for sanitizing a union type part
- https://wiki.php.net/rfc/union_types_v2
- Fix the `PhpCommentGenerator`
- Fix the formatter
- Add unit tests for the comment generator, goto declaration, mark occurrences, and formatting features
- Fix the `DocRenderer`: use actual parameter/return types if there is no PHPDoc
[NETBEANS-4443] PHP 8.0 Support: Union Types 2.0
- https://wiki.php.net/rfc/static_return_type
- Fix the `ASTPHP5Parser.cup`
- Fix the code completion feature
- Add unit tests for the parser and the code completion
- https://wiki.php.net/rfc/static_return_type
- Fix `IntroduceSuggestion` and `PHP80UnhandledError`
- Fix UnusableTypesUnhandledError (Error for redundant combination with the object type)
- Add unit tests for override/implement method, formatting, and the comment generator features
[NETBEANS-4443] PHP 8.0 Support: Static return type
- https://wiki.php.net/rfc/mixed_type_v2
- Fix the PHP5ColoringLexer.flex and `PHPTokenId` (lexer)
- Fix the `UnusableTypesUnhandledError` (mixed type can only be used as a standalone type)
- Add `PhpVersion.hasMixedType()`
- Index the mixed type (`FunctionScopeImpl` and `MethodScopeImpl`)
- Add unit tests for the parser, the lexer, and the code generation(for implement/override methods) features
- https://wiki.php.net/rfc/mixed_type_v2
- Fix the code completion feature
- Add/Fix unit tests for the code completion feature
[NETBEANS-4443] PHP 8.0 Support: Mixed type v2
- https://wiki.php.net/rfc/nullsafe_operator
- Fix the parser and lexers
- Add the `isNullsafe()` method to `Dispatch`
- Add/Fix unit tests for the parser and the lexers
- Fix the `PHP80UnhandledError`
- Fix the `PHP5ErrorHandlerImpl` (also add "fn", "match", "??=" because they are missing)
[NETBEANS-4443] PHP 8.0 Support: Nullsafe operator
@junichi11 junichi11 added the PHP [ci] enable extra PHP tests (php/php.editor) label Oct 14, 2020
@junichi11 junichi11 added this to the 12.2 milestone Oct 14, 2020
@junichi11
Copy link
Member Author

@lkishalmi I've not implemented all features for PHP 8.0 yet. (Some syntaxes are not supported yet.) But feature freeze is tomorrow, right? Should we merge these into the master once at the moment?

@lkishalmi
Copy link
Contributor

We can merge this one, once Travis would agree. If the major infrastructure changes has happened here and there is a need for some polish, that can be introduced as PR-s on the upcoming delivery branch.

@junichi11 junichi11 marked this pull request as ready for review October 15, 2020 03:22
@junichi11
Copy link
Member Author

@lkishalmi I see. Thanks!

@tmysik I haven't finished PHP 8.0 support (we have to implement new some syntaxes yet), but let's merge this into the master branch once. I'm going to fix the spec version after this is merged.

@lkishalmi
Copy link
Contributor

please fix the spec versions in this PR. Master will receive a spec version bump after branching for the release. It would be really appreciated if I do not have to merge spec version changes.

@junichi11
Copy link
Member Author

junichi11 commented Oct 15, 2020

@lkishalmi This branch was created before 12.1 was released. So, maybe conflict would occur in this PR, I suppose. I didn't fix it to avoid that. Can I rebase this branch(it is in not forked repository but the apach/netbeans) with the master branch then fix the spec version then force-push it?

@junichi11
Copy link
Member Author

@lkishalmi I'll close this then recreate a PR from my repository.

@junichi11 junichi11 closed this Oct 15, 2020
@junichi11
Copy link
Member Author

Created the new PR: #2457

@junichi11 junichi11 deleted the php80-support branch November 8, 2021 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PHP [ci] enable extra PHP tests (php/php.editor)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants