Details
-
Technical task
-
Resolution: Duplicate
-
P2: Important
-
None
-
70977b0d1 (dev), 87bfe3052 (dev), 4321f984f (dev), 65ba6092b (dev), 0bd9139a2 (dev), 1a545f4bc (dev), 364717fa2 (6.7), cd9ccaff9 (6.7)
Description
Implement completions for JS expressions, now that JS statements are mostly done.
List of expressions to complete:
done
to be done
do not do
in progress
- PrimaryExpressions (https://262.ecma-international.org/7.0/#sec-primary-expression)
* this
* Identifier
* Literal (no completion for literals needed)
* ArrayLiteral (complete values inside of array)
* ObjectLiteral
* FunctionExpression
* ClassExpression (not needed for now)
* GeneratorExpression
* RegularExpressionLiteral
* TemplateLiteral (complete inside the templated string stuff)
* CoverParenthesizedExpressionAndArrowParameterList- this is being parsed as AST::FormalParameterList or
- AST::NestedExpression for expressions inside of `()` brackets
- Left-Hand-Side expressions (https://262.ecma-international.org/7.0/#sec-left-hand-side-expressions)
- Property Accessors
- Bracket expressions (`id[something]`)
- Field Member access (`id.field`)
{}
- New expressions (`new Something ()`) (not needed for now)
- Function calls
- Property Accessors
-
-
- inclusive ArgumentLists, passed to the calls
- Template Literal
- Super property (not needed for now)
- Meta Property (new.target support) (not needed for now)
-
- UpdateExpressions (https://262.ecma-international.org/7.0/#sec-update-expressions)
- pre/post increment/decrements
- Unary Operators (https://262.ecma-international.org/7.0/#sec-unary-operators)
- delete/void/typeof/+/-/~/!
- BinaryExpressions:
-
- Exponentiation operator (https://262.ecma-international.org/7.0/#sec-exp-operator )
- Multiplicative operators (https://262.ecma-international.org/7.0/#sec-multiplicative-operators )
- Additive Operators (https://262.ecma-international.org/7.0/#sec-additive-operators )
- Bitwise Shifts (https://262.ecma-international.org/7.0/#sec-bitwise-shift-operators )
- Relational operators (https://262.ecma-international.org/7.0/#sec-relational-operators )
- Equality Operators ( https://262.ecma-international.org/7.0/#sec-equality-operators )
- Binary bitwise operators (https://262.ecma-international.org/7.0/#sec-binary-bitwise-operators )
- Binary logical operators (https://262.ecma-international.org/7.0/#sec-binary-logical-operators )
- Assignment Operators (https://262.ecma-international.org/7.0/#sec-assignment-operators )
- Comma operators (https://262.ecma-international.org/7.0/#sec-comma-operator )
-
-
- note: this is being parsed as an "AST::Expression"!!!
-
- Conditional operator (https://262.ecma-international.org/7.0/#sec-conditional-operator )
Attachments
Issue Links
- depends on
-
QTBUG-92876 Dom: model JS expressions/statements in QmlDom and add qmlls (find usages, go to definition, ...) support for them
- Closed
- relates to
-
QTCREATORBUG-29953 Auto complete not working for signal parameters without qmlls
- Closed
- split to
-
QTBUG-92876 Dom: model JS expressions/statements in QmlDom and add qmlls (find usages, go to definition, ...) support for them
- Closed