Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QQmlJS::AST::FunctionExpression Class Reference

#include <qqmljsast_p.h>

+ Inheritance diagram for QQmlJS::AST::FunctionExpression:
+ Collaboration diagram for QQmlJS::AST::FunctionExpression:

Public Member Functions

 FunctionExpression (QStringView n, FormalParameterList *f, StatementList *b, TypeAnnotation *typeAnnotation=nullptr)
 
void accept0 (BaseVisitor *visitor) override
 
SourceLocation firstSourceLocation () const override
 
SourceLocation lastSourceLocation () const override
 
FunctionExpressionasFunctionDefinition () override
 
- Public Member Functions inherited from QQmlJS::AST::ExpressionNode
 ExpressionNode ()
 
ExpressionNodeexpressionCast () override
 
bool containsOptionalChain () const
 
AST::FormalParameterListreparseAsFormalParameterList (MemoryPool *pool)
 
- Public Member Functions inherited from QQmlJS::AST::Node
 Node ()
 
virtual ~Node ()
 
virtual ExpressionNodeexpressionCast ()
 
virtual BinaryExpressionbinaryExpressionCast ()
 
virtual StatementstatementCast ()
 
virtual UiObjectMemberuiObjectMemberCast ()
 
virtual LeftHandSideExpressionleftHandSideExpressionCast ()
 
virtual PatternpatternCast ()
 
virtual FunctionExpressionasFunctionDefinition ()
 
virtual ClassExpressionasClassDefinition ()
 
bool ignoreRecursionDepth () const
 
void accept (BaseVisitor *visitor)
 
virtual void accept0 (BaseVisitor *visitor)=0
 
virtual SourceLocation firstSourceLocation () const =0
 
virtual SourceLocation lastSourceLocation () const =0
 
- Public Member Functions inherited from QQmlJS::Managed
 Managed ()=default
 
 ~Managed ()=default
 
voidoperator new (size_t size, MemoryPool *pool)
 
void operator delete (void *)
 
void operator delete (void *, MemoryPool *)
 

Public Attributes

QStringView name
 
bool isArrowFunction = false
 
bool isGenerator = false
 
FormalParameterListformals
 
StatementListbody
 
TypeAnnotationtypeAnnotation
 
SourceLocation functionToken
 
SourceLocation identifierToken
 
SourceLocation lparenToken
 
SourceLocation rparenToken
 
SourceLocation lbraceToken
 
SourceLocation rbraceToken
 
- Public Attributes inherited from QQmlJS::AST::Node
int kind = Kind_Undefined
 

Additional Inherited Members

- Public Types inherited from QQmlJS::AST::Node
enum  Kind {
  Kind_Undefined , Kind_ArgumentList , Kind_ArrayPattern , Kind_ArrayMemberExpression ,
  Kind_BinaryExpression , Kind_Block , Kind_BreakStatement , Kind_CallExpression ,
  Kind_CaseBlock , Kind_CaseClause , Kind_CaseClauses , Kind_Catch ,
  Kind_ConditionalExpression , Kind_ContinueStatement , Kind_DebuggerStatement , Kind_DefaultClause ,
  Kind_DeleteExpression , Kind_DoWhileStatement , Kind_ElementList , Kind_Elision ,
  Kind_EmptyStatement , Kind_Expression , Kind_ExpressionStatement , Kind_FalseLiteral ,
  Kind_SuperLiteral , Kind_FieldMemberExpression , Kind_Finally , Kind_ForEachStatement ,
  Kind_ForStatement , Kind_FormalParameterList , Kind_FunctionBody , Kind_FunctionDeclaration ,
  Kind_FunctionExpression , Kind_ClassExpression , Kind_ClassDeclaration , Kind_IdentifierExpression ,
  Kind_IdentifierPropertyName , Kind_ComputedPropertyName , Kind_IfStatement , Kind_LabelledStatement ,
  Kind_NameSpaceImport , Kind_ImportSpecifier , Kind_ImportsList , Kind_NamedImports ,
  Kind_ImportClause , Kind_FromClause , Kind_ImportDeclaration , Kind_Module ,
  Kind_ExportSpecifier , Kind_ExportsList , Kind_ExportClause , Kind_ExportDeclaration ,
  Kind_NewExpression , Kind_NewMemberExpression , Kind_NotExpression , Kind_NullExpression ,
  Kind_YieldExpression , Kind_NumericLiteral , Kind_NumericLiteralPropertyName , Kind_ObjectPattern ,
  Kind_PostDecrementExpression , Kind_PostIncrementExpression , Kind_PreDecrementExpression , Kind_PreIncrementExpression ,
  Kind_Program , Kind_PropertyDefinitionList , Kind_PropertyGetterSetter , Kind_PropertyName ,
  Kind_PropertyNameAndValue , Kind_RegExpLiteral , Kind_ReturnStatement , Kind_StatementList ,
  Kind_StringLiteral , Kind_StringLiteralPropertyName , Kind_SwitchStatement , Kind_TemplateLiteral ,
  Kind_TaggedTemplate , Kind_TypeExpression , Kind_ThisExpression , Kind_ThrowStatement ,
  Kind_TildeExpression , Kind_TrueLiteral , Kind_TryStatement , Kind_TypeOfExpression ,
  Kind_UnaryMinusExpression , Kind_UnaryPlusExpression , Kind_VariableDeclaration , Kind_VariableDeclarationList ,
  Kind_VariableStatement , Kind_VoidExpression , Kind_WhileStatement , Kind_WithStatement ,
  Kind_NestedExpression , Kind_ClassElementList , Kind_PatternElement , Kind_PatternElementList ,
  Kind_PatternProperty , Kind_PatternPropertyList , Kind_Type , Kind_TypeArgument ,
  Kind_TypeAnnotation , Kind_UiArrayBinding , Kind_UiImport , Kind_UiObjectBinding ,
  Kind_UiObjectDefinition , Kind_UiInlineComponent , Kind_UiObjectInitializer , Kind_UiObjectMemberList ,
  Kind_UiArrayMemberList , Kind_UiPragmaValueList , Kind_UiPragma , Kind_UiProgram ,
  Kind_UiParameterList , Kind_UiPropertyAttributes , Kind_UiPublicMember , Kind_UiQualifiedId ,
  Kind_UiScriptBinding , Kind_UiSourceElement , Kind_UiHeaderItemList , Kind_UiEnumDeclaration ,
  Kind_UiEnumMemberList , Kind_UiVersionSpecifier , Kind_UiRequired , Kind_UiAnnotation ,
  Kind_UiAnnotationList
}
 
- Static Public Member Functions inherited from QQmlJS::AST::Node
static void accept (Node *node, BaseVisitor *visitor)
 

Detailed Description

Definition at line 2333 of file qqmljsast_p.h.

Constructor & Destructor Documentation

◆ FunctionExpression()

QQmlJS::AST::FunctionExpression::FunctionExpression ( QStringView  n,
FormalParameterList f,
StatementList b,
TypeAnnotation typeAnnotation = nullptr 
)
inline

Definition at line 2338 of file qqmljsast_p.h.

Member Function Documentation

◆ accept0()

void QQmlJS::AST::FunctionExpression::accept0 ( BaseVisitor visitor)
overridevirtual

Implements QQmlJS::AST::Node.

Definition at line 991 of file qqmljsast.cpp.

References QQmlJS::AST::Node::accept(), body, formals, and typeAnnotation.

+ Here is the call graph for this function:

◆ asFunctionDefinition()

FunctionExpression * QQmlJS::AST::FunctionExpression::asFunctionDefinition ( )
overridevirtual

Reimplemented from QQmlJS::AST::Node.

Definition at line 1002 of file qqmljsast.cpp.

Referenced by QQmlJS::AST::asAnonymousFunctionDefinition(), QQmlJS::AST::UiSourceElement::firstSourceLocation(), QQmlJS::AST::UiSourceElement::lastSourceLocation(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QQmlJSImportVisitor::visit().

+ Here is the caller graph for this function:

◆ firstSourceLocation()

SourceLocation QQmlJS::AST::FunctionExpression::firstSourceLocation ( ) const
inlineoverridevirtual

Implements QQmlJS::AST::Node.

Definition at line 2345 of file qqmljsast_p.h.

◆ lastSourceLocation()

SourceLocation QQmlJS::AST::FunctionExpression::lastSourceLocation ( ) const
inlineoverridevirtual

Implements QQmlJS::AST::Node.

Definition at line 2348 of file qqmljsast_p.h.

Member Data Documentation

◆ body

◆ formals

◆ functionToken

SourceLocation QQmlJS::AST::FunctionExpression::functionToken

Definition at line 2360 of file qqmljsast_p.h.

Referenced by QQmlJSFunctionInitializer::run().

◆ identifierToken

SourceLocation QQmlJS::AST::FunctionExpression::identifierToken

◆ isArrowFunction

bool QQmlJS::AST::FunctionExpression::isArrowFunction = false

Definition at line 2355 of file qqmljsast_p.h.

Referenced by QQmlJS::Dom::Rewriter::visit().

◆ isGenerator

bool QQmlJS::AST::FunctionExpression::isGenerator = false

Definition at line 2356 of file qqmljsast_p.h.

◆ lbraceToken

SourceLocation QQmlJS::AST::FunctionExpression::lbraceToken

Definition at line 2364 of file qqmljsast_p.h.

Referenced by QQmlJSFunctionInitializer::run(), and QQmlJS::Dom::Rewriter::visit().

◆ lparenToken

SourceLocation QQmlJS::AST::FunctionExpression::lparenToken

Definition at line 2362 of file qqmljsast_p.h.

Referenced by QQmlJS::Dom::Rewriter::visit().

◆ name

◆ rbraceToken

SourceLocation QQmlJS::AST::FunctionExpression::rbraceToken

Definition at line 2365 of file qqmljsast_p.h.

Referenced by QQmlJSFunctionInitializer::run(), and QQmlJS::Dom::Rewriter::visit().

◆ rparenToken

SourceLocation QQmlJS::AST::FunctionExpression::rparenToken

Definition at line 2363 of file qqmljsast_p.h.

Referenced by QQmlJS::Dom::Rewriter::visit().

◆ typeAnnotation

TypeAnnotation* QQmlJS::AST::FunctionExpression::typeAnnotation

Definition at line 2359 of file qqmljsast_p.h.

Referenced by accept0(), and QQmlJS::AST::FunctionDeclaration::accept0().


The documentation for this class was generated from the following files: