Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQmlJS::AST::Node Class Referenceabstract

#include <qqmljsast_p.h>

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

Public Types

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_InitializerExpression , 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
}
 

Public Member Functions

 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 *)
 

Static Public Member Functions

static void accept (Node *node, BaseVisitor *visitor)
 

Public Attributes

int kind = Kind_Undefined
 

Detailed Description

Definition at line 110 of file qqmljsast_p.h.

Member Enumeration Documentation

◆ Kind

Enumerator
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_InitializerExpression 
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 

Definition at line 113 of file qqmljsast_p.h.

Constructor & Destructor Documentation

◆ Node()

QQmlJS::AST::Node::Node ( )
inline

Definition at line 244 of file qqmljsast_p.h.

◆ ~Node()

virtual QQmlJS::AST::Node::~Node ( )
inlinevirtual

Definition at line 249 of file qqmljsast_p.h.

Member Function Documentation

◆ accept() [1/2]

void QQmlJS::AST::Node::accept ( BaseVisitor * visitor)
inline

Definition at line 263 of file qqmljsast_p.h.

References QQmlJS::AST::BaseVisitor::postVisit(), QQmlJS::AST::BaseVisitor::preVisit(), and QQmlJS::AST::BaseVisitor::throwRecursionDepthError().

Referenced by QQmlJSImporter::QQmlJSImporter(), QQmlJS::Dom::ScriptFormatter::accept(), accept(), QmlIR::IRBuilder::accept(), QV4::Compiler::Codegen::accept(), QQmlJS::AST::Type::accept0(), QQmlJS::AST::TypeAnnotation::accept0(), QQmlJS::AST::NestedExpression::accept0(), QQmlJS::AST::ArrayPattern::accept0(), QQmlJS::AST::ObjectPattern::accept0(), QQmlJS::AST::PatternElement::accept0(), QQmlJS::AST::PatternElementList::accept0(), QQmlJS::AST::PatternProperty::accept0(), QQmlJS::AST::PatternPropertyList::accept0(), QQmlJS::AST::ComputedPropertyName::accept0(), QQmlJS::AST::ArrayMemberExpression::accept0(), QQmlJS::AST::FieldMemberExpression::accept0(), QQmlJS::AST::TaggedTemplate::accept0(), QQmlJS::AST::NewMemberExpression::accept0(), QQmlJS::AST::NewExpression::accept0(), QQmlJS::AST::CallExpression::accept0(), QQmlJS::AST::ArgumentList::accept0(), QQmlJS::AST::PostIncrementExpression::accept0(), QQmlJS::AST::PostDecrementExpression::accept0(), QQmlJS::AST::DeleteExpression::accept0(), QQmlJS::AST::VoidExpression::accept0(), QQmlJS::AST::TypeOfExpression::accept0(), QQmlJS::AST::PreIncrementExpression::accept0(), QQmlJS::AST::PreDecrementExpression::accept0(), QQmlJS::AST::UnaryPlusExpression::accept0(), QQmlJS::AST::UnaryMinusExpression::accept0(), QQmlJS::AST::TildeExpression::accept0(), QQmlJS::AST::NotExpression::accept0(), QQmlJS::AST::BinaryExpression::accept0(), QQmlJS::AST::ConditionalExpression::accept0(), QQmlJS::AST::Expression::accept0(), QQmlJS::AST::Block::accept0(), QQmlJS::AST::StatementList::accept0(), QQmlJS::AST::VariableDeclarationList::accept0(), QQmlJS::AST::VariableStatement::accept0(), QQmlJS::AST::ExpressionStatement::accept0(), QQmlJS::AST::IfStatement::accept0(), QQmlJS::AST::DoWhileStatement::accept0(), QQmlJS::AST::WhileStatement::accept0(), QQmlJS::AST::ForStatement::accept0(), QQmlJS::AST::ForEachStatement::accept0(), QQmlJS::AST::ReturnStatement::accept0(), QQmlJS::AST::YieldExpression::accept0(), QQmlJS::AST::WithStatement::accept0(), QQmlJS::AST::CaseBlock::accept0(), QQmlJS::AST::SwitchStatement::accept0(), QQmlJS::AST::CaseClause::accept0(), QQmlJS::AST::CaseClauses::accept0(), QQmlJS::AST::DefaultClause::accept0(), QQmlJS::AST::LabelledStatement::accept0(), QQmlJS::AST::ThrowStatement::accept0(), QQmlJS::AST::Catch::accept0(), QQmlJS::AST::Finally::accept0(), QQmlJS::AST::TryStatement::accept0(), QQmlJS::AST::FunctionExpression::accept0(), QQmlJS::AST::FunctionDeclaration::accept0(), QQmlJS::AST::FormalParameterList::accept0(), QQmlJS::AST::ClassExpression::accept0(), QQmlJS::AST::ClassDeclaration::accept0(), QQmlJS::AST::ClassElementList::accept0(), QQmlJS::AST::Program::accept0(), QQmlJS::AST::ImportsList::accept0(), QQmlJS::AST::NamedImports::accept0(), QQmlJS::AST::ImportClause::accept0(), QQmlJS::AST::ImportDeclaration::accept0(), QQmlJS::AST::ExportsList::accept0(), QQmlJS::AST::ExportClause::accept0(), QQmlJS::AST::ExportDeclaration::accept0(), QQmlJS::AST::ESModule::accept0(), QQmlJS::AST::UiImport::accept0(), QQmlJS::AST::UiObjectMemberList::accept0(), QQmlJS::AST::UiHeaderItemList::accept0(), QQmlJS::AST::UiProgram::accept0(), QQmlJS::AST::UiArrayMemberList::accept0(), QQmlJS::AST::UiObjectInitializer::accept0(), QQmlJS::AST::UiPublicMember::accept0(), QQmlJS::AST::UiObjectDefinition::accept0(), QQmlJS::AST::UiInlineComponent::accept0(), QQmlJS::AST::UiSourceElement::accept0(), QQmlJS::AST::UiObjectBinding::accept0(), QQmlJS::AST::UiScriptBinding::accept0(), QQmlJS::AST::UiArrayBinding::accept0(), QQmlJS::AST::UiEnumDeclaration::accept0(), QQmlJS::AST::UiAnnotation::accept0(), QQmlJS::AST::UiAnnotationList::accept0(), QQmlJS::Dom::AstRangesVisitor::addNodeRanges(), QQmlJS::Dom::astNodeDiff(), QQmlJS::Dom::astNodeDumper(), QQmlJS::Dom::AstDumper::endVisit(), QQmlJS::Dom::VisitAll::endVisit(), QQmlJS::Dom::QQmlDomAstCreator::endVisit(), QQmlJS::Dom::AstDumper::endVisit(), QQmlJS::Dom::VisitAll::endVisit(), QQmlJS::Dom::AstDumper::endVisit(), QQmlJS::Dom::VisitAll::endVisit(), QQmlJS::Dom::AstDumper::endVisit(), QQmlJS::Dom::VisitAll::endVisit(), QQmlJS::Dom::QQmlDomAstCreator::endVisit(), QQmlJS::Dom::AstDumper::endVisit(), QQmlJS::Dom::VisitAll::endVisit(), QV4::Compiler::Codegen::expression(), QV4::Compiler::ScanFunctions::handleTopLevelFunctionFormals(), QQmlJS::Dom::QQmlDomAstCreator::loadAnnotations(), QQmlJS::Dom::operator<<(), QQmlJS::Dom::DomEnvironment::populateFromQmlFile(), QQmlJS::Dom::QQmlDomAstCreator::visit(), QQmlJS::Dom::QQmlDomAstCreator::visit(), QQmlJS::Dom::QQmlDomAstCreator::visit(), QQmlJS::Dom::AstDumper::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::AstDumper::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::AstDumper::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::AstDumper::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::AstDumper::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::AstDumper::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::AstDumper::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::AstDumper::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::AstDumper::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::AstDumper::visit(), QQmlJS::Dom::VisitAll::visit(), QQmlJS::Dom::QQmlDomAstCreator::visit(), QmlIR::IRBuilder::visit(), and QQmlJS::Dom::AstDumper::visit().

+ Here is the call graph for this function:

◆ accept() [2/2]

static void QQmlJS::AST::Node::accept ( Node * node,
BaseVisitor * visitor )
inlinestatic

Definition at line 279 of file qqmljsast_p.h.

References accept().

+ Here is the call graph for this function:

◆ accept0()

virtual void QQmlJS::AST::Node::accept0 ( BaseVisitor * visitor)
pure virtual

Implemented in QQmlJS::AST::UiParameterList, QQmlJS::AST::UiPropertyAttributes, QQmlJS::AST::UiQualifiedId, QQmlJS::AST::Type, QQmlJS::AST::TypeAnnotation, QQmlJS::AST::NestedExpression, QQmlJS::AST::TypeExpression, QQmlJS::AST::ThisExpression, QQmlJS::AST::IdentifierExpression, QQmlJS::AST::NullExpression, QQmlJS::AST::TrueLiteral, QQmlJS::AST::FalseLiteral, QQmlJS::AST::SuperLiteral, QQmlJS::AST::NumericLiteral, QQmlJS::AST::UiVersionSpecifier, QQmlJS::AST::StringLiteral, QQmlJS::AST::TemplateLiteral, QQmlJS::AST::RegExpLiteral, QQmlJS::AST::ArrayPattern, QQmlJS::AST::ObjectPattern, QQmlJS::AST::Elision, QQmlJS::AST::InitializerExpression, QQmlJS::AST::PatternElement, QQmlJS::AST::PatternElementList, QQmlJS::AST::PatternProperty, QQmlJS::AST::PatternPropertyList, QQmlJS::AST::IdentifierPropertyName, QQmlJS::AST::StringLiteralPropertyName, QQmlJS::AST::NumericLiteralPropertyName, QQmlJS::AST::ComputedPropertyName, QQmlJS::AST::ArrayMemberExpression, QQmlJS::AST::FieldMemberExpression, QQmlJS::AST::TaggedTemplate, QQmlJS::AST::NewMemberExpression, QQmlJS::AST::NewExpression, QQmlJS::AST::CallExpression, QQmlJS::AST::ArgumentList, QQmlJS::AST::PostIncrementExpression, QQmlJS::AST::PostDecrementExpression, QQmlJS::AST::DeleteExpression, QQmlJS::AST::VoidExpression, QQmlJS::AST::TypeOfExpression, QQmlJS::AST::PreIncrementExpression, QQmlJS::AST::PreDecrementExpression, QQmlJS::AST::UnaryPlusExpression, QQmlJS::AST::UnaryMinusExpression, QQmlJS::AST::TildeExpression, QQmlJS::AST::NotExpression, QQmlJS::AST::BinaryExpression, QQmlJS::AST::ConditionalExpression, QQmlJS::AST::Expression, QQmlJS::AST::Block, QQmlJS::AST::StatementList, QQmlJS::AST::VariableDeclarationList, QQmlJS::AST::VariableStatement, QQmlJS::AST::EmptyStatement, QQmlJS::AST::ExpressionStatement, QQmlJS::AST::IfStatement, QQmlJS::AST::DoWhileStatement, QQmlJS::AST::WhileStatement, QQmlJS::AST::ForStatement, QQmlJS::AST::ForEachStatement, QQmlJS::AST::ContinueStatement, QQmlJS::AST::BreakStatement, QQmlJS::AST::ReturnStatement, QQmlJS::AST::YieldExpression, QQmlJS::AST::WithStatement, QQmlJS::AST::CaseBlock, QQmlJS::AST::SwitchStatement, QQmlJS::AST::CaseClause, QQmlJS::AST::CaseClauses, QQmlJS::AST::DefaultClause, QQmlJS::AST::LabelledStatement, QQmlJS::AST::ThrowStatement, QQmlJS::AST::Catch, QQmlJS::AST::Finally, QQmlJS::AST::TryStatement, QQmlJS::AST::FunctionExpression, QQmlJS::AST::FunctionDeclaration, QQmlJS::AST::FormalParameterList, QQmlJS::AST::ClassExpression, QQmlJS::AST::ClassDeclaration, QQmlJS::AST::ClassElementList, QQmlJS::AST::Program, QQmlJS::AST::ImportSpecifier, QQmlJS::AST::ImportsList, QQmlJS::AST::NamedImports, QQmlJS::AST::NameSpaceImport, QQmlJS::AST::ImportClause, QQmlJS::AST::FromClause, QQmlJS::AST::ImportDeclaration, QQmlJS::AST::ExportSpecifier, QQmlJS::AST::ExportsList, QQmlJS::AST::ExportClause, QQmlJS::AST::ExportDeclaration, QQmlJS::AST::ESModule, QQmlJS::AST::DebuggerStatement, QQmlJS::AST::UiImport, QQmlJS::AST::UiObjectMemberList, QQmlJS::AST::UiPragmaValueList, QQmlJS::AST::UiPragma, QQmlJS::AST::UiRequired, QQmlJS::AST::UiHeaderItemList, QQmlJS::AST::UiProgram, QQmlJS::AST::UiArrayMemberList, QQmlJS::AST::UiObjectInitializer, QQmlJS::AST::UiPublicMember, QQmlJS::AST::UiObjectDefinition, QQmlJS::AST::UiInlineComponent, QQmlJS::AST::UiSourceElement, QQmlJS::AST::UiObjectBinding, QQmlJS::AST::UiScriptBinding, QQmlJS::AST::UiArrayBinding, QQmlJS::AST::UiEnumMemberList, QQmlJS::AST::UiEnumDeclaration, QQmlJS::AST::UiAnnotation, and QQmlJS::AST::UiAnnotationList.

Referenced by QQmlJS::AST::InitializerExpression::accept0(), and QQmlJS::Dom::ScriptFormatter::visit().

+ Here is the caller graph for this function:

◆ asClassDefinition()

ClassExpression * Node< _Tp >::asClassDefinition ( )
virtual

Reimplemented in QQmlJS::AST::NestedExpression, QQmlJS::AST::InitializerExpression, and QQmlJS::AST::ClassExpression.

Definition at line 74 of file qqmljsast.cpp.

Referenced by QQmlJS::AST::NestedExpression::asClassDefinition(), and QQmlJS::AST::InitializerExpression::asClassDefinition().

+ Here is the caller graph for this function:

◆ asFunctionDefinition()

FunctionExpression * Node< _Tp >::asFunctionDefinition ( )
virtual

Reimplemented in QQmlJS::AST::NestedExpression, QQmlJS::AST::InitializerExpression, and QQmlJS::AST::FunctionExpression.

Definition at line 69 of file qqmljsast.cpp.

Referenced by QQmlJS::AST::NestedExpression::asFunctionDefinition(), QQmlJS::AST::InitializerExpression::asFunctionDefinition(), QmlIR::JSCodeGen::generateJSCodeForFunctionsAndBindings(), QV4::Compiler::ScanFunctions::visit(), and QmlIR::IRBuilder::visit().

+ Here is the caller graph for this function:

◆ binaryExpressionCast()

BinaryExpression * Node< _Tp >::binaryExpressionCast ( )
virtual

Reimplemented in QQmlJS::AST::BinaryExpression.

Definition at line 44 of file qqmljsast.cpp.

◆ expressionCast()

ExpressionNode * Node< _Tp >::expressionCast ( )
virtual

Reimplemented in QQmlJS::AST::ExpressionNode.

Definition at line 39 of file qqmljsast.cpp.

Referenced by QmlIR::JSCodeGen::generateJSCodeForFunctionsAndBindings(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().

+ Here is the caller graph for this function:

◆ firstSourceLocation()

virtual SourceLocation QQmlJS::AST::Node::firstSourceLocation ( ) const
pure virtual

Implemented in QQmlJS::AST::UiQualifiedId, QQmlJS::AST::Type, QQmlJS::AST::TypeAnnotation, QQmlJS::AST::NestedExpression, QQmlJS::AST::TypeExpression, QQmlJS::AST::ThisExpression, QQmlJS::AST::IdentifierExpression, QQmlJS::AST::NullExpression, QQmlJS::AST::TrueLiteral, QQmlJS::AST::FalseLiteral, QQmlJS::AST::SuperLiteral, QQmlJS::AST::NumericLiteral, QQmlJS::AST::UiVersionSpecifier, QQmlJS::AST::StringLiteral, QQmlJS::AST::TemplateLiteral, QQmlJS::AST::RegExpLiteral, QQmlJS::AST::ArrayPattern, QQmlJS::AST::ObjectPattern, QQmlJS::AST::Elision, QQmlJS::AST::PropertyName, QQmlJS::AST::InitializerExpression, QQmlJS::AST::PatternElement, QQmlJS::AST::PatternElementList, QQmlJS::AST::PatternProperty, QQmlJS::AST::PatternPropertyList, QQmlJS::AST::ComputedPropertyName, QQmlJS::AST::ArrayMemberExpression, QQmlJS::AST::FieldMemberExpression, QQmlJS::AST::TaggedTemplate, QQmlJS::AST::NewMemberExpression, QQmlJS::AST::NewExpression, QQmlJS::AST::CallExpression, QQmlJS::AST::ArgumentList, QQmlJS::AST::PostIncrementExpression, QQmlJS::AST::PostDecrementExpression, QQmlJS::AST::DeleteExpression, QQmlJS::AST::VoidExpression, QQmlJS::AST::TypeOfExpression, QQmlJS::AST::PreIncrementExpression, QQmlJS::AST::PreDecrementExpression, QQmlJS::AST::UnaryPlusExpression, QQmlJS::AST::UnaryMinusExpression, QQmlJS::AST::TildeExpression, QQmlJS::AST::NotExpression, QQmlJS::AST::BinaryExpression, QQmlJS::AST::ConditionalExpression, QQmlJS::AST::Expression, QQmlJS::AST::Block, QQmlJS::AST::StatementList, QQmlJS::AST::VariableDeclarationList, QQmlJS::AST::VariableStatement, QQmlJS::AST::EmptyStatement, QQmlJS::AST::ExpressionStatement, QQmlJS::AST::IfStatement, QQmlJS::AST::DoWhileStatement, QQmlJS::AST::WhileStatement, QQmlJS::AST::ForStatement, QQmlJS::AST::ForEachStatement, QQmlJS::AST::ContinueStatement, QQmlJS::AST::BreakStatement, QQmlJS::AST::ReturnStatement, QQmlJS::AST::YieldExpression, QQmlJS::AST::WithStatement, QQmlJS::AST::CaseBlock, QQmlJS::AST::SwitchStatement, QQmlJS::AST::CaseClause, QQmlJS::AST::CaseClauses, QQmlJS::AST::DefaultClause, QQmlJS::AST::LabelledStatement, QQmlJS::AST::ThrowStatement, QQmlJS::AST::Catch, QQmlJS::AST::Finally, QQmlJS::AST::TryStatement, QQmlJS::AST::FunctionExpression, QQmlJS::AST::FormalParameterList, QQmlJS::AST::ClassExpression, QQmlJS::AST::ClassElementList, QQmlJS::AST::Program, QQmlJS::AST::ImportSpecifier, QQmlJS::AST::ImportsList, QQmlJS::AST::NamedImports, QQmlJS::AST::NameSpaceImport, QQmlJS::AST::ImportClause, QQmlJS::AST::FromClause, QQmlJS::AST::ImportDeclaration, QQmlJS::AST::ExportSpecifier, QQmlJS::AST::ExportsList, QQmlJS::AST::ExportClause, QQmlJS::AST::ExportDeclaration, QQmlJS::AST::ESModule, QQmlJS::AST::DebuggerStatement, QQmlJS::AST::UiImport, QQmlJS::AST::UiObjectMemberList, QQmlJS::AST::UiPragmaValueList, QQmlJS::AST::UiPragma, QQmlJS::AST::UiRequired, QQmlJS::AST::UiHeaderItemList, QQmlJS::AST::UiProgram, QQmlJS::AST::UiArrayMemberList, QQmlJS::AST::UiObjectInitializer, QQmlJS::AST::UiParameterList, QQmlJS::AST::UiPropertyAttributes, QQmlJS::AST::UiPublicMember, QQmlJS::AST::UiObjectDefinition, QQmlJS::AST::UiInlineComponent, QQmlJS::AST::UiSourceElement, QQmlJS::AST::UiObjectBinding, QQmlJS::AST::UiScriptBinding, QQmlJS::AST::UiArrayBinding, QQmlJS::AST::UiEnumMemberList, QQmlJS::AST::UiEnumDeclaration, QQmlJS::AST::UiAnnotation, QQmlJS::AST::UiAnnotationList, FakeExpression, and QQmlJS::AST::UiObjectMember.

Referenced by QmlIR::IRBuilder::appendAlias(), QmlIR::IRBuilder::asStringRef(), QmlIR::Object::bindingAsString(), QV4::Compiler::Codegen::binopHelper(), QQmlJS::Dom::CommentCollector::collectComments(), QV4::Compiler::Codegen::condition(), QV4::Compiler::Codegen::defineFunction(), QQmlJS::AST::ComputedPropertyName::firstSourceLocation(), QQmlJS::AST::ArgumentList::firstSourceLocation(), QQmlJS::AST::ConditionalExpression::firstSourceLocation(), QQmlJS::AST::ExpressionStatement::firstSourceLocation(), QQmlJSImportVisitor::parseBindingExpression(), QmlIR::IRBuilder::setBindingValue(), QV4::Compiler::Codegen::statement(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().

+ Here is the caller graph for this function:

◆ ignoreRecursionDepth()

bool Node< _Tp >::ignoreRecursionDepth ( ) const

Definition at line 79 of file qqmljsast.cpp.

References qEnvironmentVariableIsSet().

+ Here is the call graph for this function:

◆ lastSourceLocation()

virtual SourceLocation QQmlJS::AST::Node::lastSourceLocation ( ) const
pure virtual

Implemented in QQmlJS::AST::UiQualifiedId, QQmlJS::AST::Type, QQmlJS::AST::TypeAnnotation, QQmlJS::AST::NestedExpression, QQmlJS::AST::TypeExpression, QQmlJS::AST::ThisExpression, QQmlJS::AST::IdentifierExpression, QQmlJS::AST::NullExpression, QQmlJS::AST::TrueLiteral, QQmlJS::AST::FalseLiteral, QQmlJS::AST::SuperLiteral, QQmlJS::AST::NumericLiteral, QQmlJS::AST::UiVersionSpecifier, QQmlJS::AST::StringLiteral, QQmlJS::AST::TemplateLiteral, QQmlJS::AST::RegExpLiteral, QQmlJS::AST::ArrayPattern, QQmlJS::AST::ObjectPattern, QQmlJS::AST::Elision, QQmlJS::AST::PropertyName, QQmlJS::AST::InitializerExpression, QQmlJS::AST::PatternElement, QQmlJS::AST::PatternElementList, QQmlJS::AST::PatternProperty, QQmlJS::AST::PatternPropertyList, QQmlJS::AST::ComputedPropertyName, QQmlJS::AST::ArrayMemberExpression, QQmlJS::AST::FieldMemberExpression, QQmlJS::AST::TaggedTemplate, QQmlJS::AST::NewMemberExpression, QQmlJS::AST::NewExpression, QQmlJS::AST::CallExpression, QQmlJS::AST::ArgumentList, QQmlJS::AST::PostIncrementExpression, QQmlJS::AST::PostDecrementExpression, QQmlJS::AST::DeleteExpression, QQmlJS::AST::VoidExpression, QQmlJS::AST::TypeOfExpression, QQmlJS::AST::PreIncrementExpression, QQmlJS::AST::PreDecrementExpression, QQmlJS::AST::UnaryPlusExpression, QQmlJS::AST::UnaryMinusExpression, QQmlJS::AST::TildeExpression, QQmlJS::AST::NotExpression, QQmlJS::AST::BinaryExpression, QQmlJS::AST::ConditionalExpression, QQmlJS::AST::Expression, QQmlJS::AST::Block, QQmlJS::AST::StatementList, QQmlJS::AST::VariableDeclarationList, QQmlJS::AST::VariableStatement, QQmlJS::AST::EmptyStatement, QQmlJS::AST::ExpressionStatement, QQmlJS::AST::IfStatement, QQmlJS::AST::DoWhileStatement, QQmlJS::AST::WhileStatement, QQmlJS::AST::ForStatement, QQmlJS::AST::ForEachStatement, QQmlJS::AST::ContinueStatement, QQmlJS::AST::BreakStatement, QQmlJS::AST::ReturnStatement, QQmlJS::AST::YieldExpression, QQmlJS::AST::WithStatement, QQmlJS::AST::CaseBlock, QQmlJS::AST::SwitchStatement, QQmlJS::AST::CaseClause, QQmlJS::AST::CaseClauses, QQmlJS::AST::DefaultClause, QQmlJS::AST::LabelledStatement, QQmlJS::AST::ThrowStatement, QQmlJS::AST::Catch, QQmlJS::AST::Finally, QQmlJS::AST::TryStatement, QQmlJS::AST::FunctionExpression, QQmlJS::AST::FormalParameterList, QQmlJS::AST::ClassExpression, QQmlJS::AST::ClassElementList, QQmlJS::AST::Program, QQmlJS::AST::ImportSpecifier, QQmlJS::AST::ImportsList, QQmlJS::AST::NamedImports, QQmlJS::AST::NameSpaceImport, QQmlJS::AST::ImportClause, QQmlJS::AST::FromClause, QQmlJS::AST::ImportDeclaration, QQmlJS::AST::ExportSpecifier, QQmlJS::AST::ExportsList, QQmlJS::AST::ExportClause, QQmlJS::AST::ExportDeclaration, QQmlJS::AST::ESModule, QQmlJS::AST::DebuggerStatement, QQmlJS::AST::UiImport, QQmlJS::AST::UiObjectMemberList, QQmlJS::AST::UiPragmaValueList, QQmlJS::AST::UiPragma, QQmlJS::AST::UiRequired, QQmlJS::AST::UiHeaderItemList, QQmlJS::AST::UiProgram, QQmlJS::AST::UiArrayMemberList, QQmlJS::AST::UiObjectInitializer, QQmlJS::AST::UiParameterList, QQmlJS::AST::UiPropertyAttributes, QQmlJS::AST::UiPublicMember, QQmlJS::AST::UiObjectDefinition, QQmlJS::AST::UiInlineComponent, QQmlJS::AST::UiSourceElement, QQmlJS::AST::UiObjectBinding, QQmlJS::AST::UiScriptBinding, QQmlJS::AST::UiArrayBinding, QQmlJS::AST::UiEnumMemberList, QQmlJS::AST::UiEnumDeclaration, QQmlJS::AST::UiAnnotation, QQmlJS::AST::UiAnnotationList, FakeExpression, and QQmlJS::AST::UiObjectMember.

Referenced by QmlIR::IRBuilder::asStringRef(), QmlIR::Object::bindingAsString(), QV4::Compiler::Codegen::binopHelper(), QQmlJS::Dom::CommentCollector::collectComments(), QV4::Compiler::Codegen::defineFunction(), QQmlJS::AST::InitializerExpression::lastSourceLocation(), QQmlJS::AST::ComputedPropertyName::lastSourceLocation(), QQmlJS::AST::NewExpression::lastSourceLocation(), QQmlJS::AST::ArgumentList::lastSourceLocation(), QQmlJS::AST::DeleteExpression::lastSourceLocation(), QQmlJS::AST::VoidExpression::lastSourceLocation(), QQmlJS::AST::TypeOfExpression::lastSourceLocation(), QQmlJS::AST::PreIncrementExpression::lastSourceLocation(), QQmlJS::AST::PreDecrementExpression::lastSourceLocation(), QQmlJS::AST::UnaryPlusExpression::lastSourceLocation(), QQmlJS::AST::UnaryMinusExpression::lastSourceLocation(), QQmlJS::AST::TildeExpression::lastSourceLocation(), QQmlJS::AST::NotExpression::lastSourceLocation(), QQmlJS::AST::IfStatement::lastSourceLocation(), QQmlJS::AST::WhileStatement::lastSourceLocation(), QQmlJS::AST::ForStatement::lastSourceLocation(), QQmlJS::AST::ForEachStatement::lastSourceLocation(), QQmlJS::AST::YieldExpression::lastSourceLocation(), QQmlJS::AST::WithStatement::lastSourceLocation(), QQmlJS::AST::LabelledStatement::lastSourceLocation(), QQmlJS::AST::Catch::lastSourceLocation(), QQmlJS::AST::Finally::lastSourceLocation(), QQmlJS::AST::TryStatement::lastSourceLocation(), QQmlJS::AST::UiPublicMember::lastSourceLocation(), QQmlJS::AST::UiScriptBinding::lastSourceLocation(), setJumpOutLocation(), QV4::Compiler::Codegen::visit(), QV4::Compiler::ScanFunctions::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().

+ Here is the caller graph for this function:

◆ leftHandSideExpressionCast()

LeftHandSideExpression * Node< _Tp >::leftHandSideExpressionCast ( )
virtual

Reimplemented in QQmlJS::AST::LeftHandSideExpression.

Definition at line 59 of file qqmljsast.cpp.

◆ patternCast()

Pattern * Node< _Tp >::patternCast ( )
virtual

Reimplemented in QQmlJS::AST::Pattern.

Definition at line 64 of file qqmljsast.cpp.

Referenced by QQmlJS::AST::PatternElement::convertLiteralToAssignmentPattern(), QQmlJS::AST::ExpressionNode::reparseAsFormalParameterList(), and QV4::Compiler::Codegen::visit().

+ Here is the caller graph for this function:

◆ statementCast()

Statement * Node< _Tp >::statementCast ( )
virtual

Reimplemented in QQmlJS::AST::Statement.

Definition at line 49 of file qqmljsast.cpp.

Referenced by QmlIR::JSCodeGen::generateJSCodeForFunctionsAndBindings().

+ Here is the caller graph for this function:

◆ uiObjectMemberCast()

UiObjectMember * Node< _Tp >::uiObjectMemberCast ( )
virtual

Reimplemented in QQmlJS::AST::UiObjectMember.

Definition at line 54 of file qqmljsast.cpp.

Member Data Documentation

◆ kind


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