Home
last modified time | relevance | path

Searched refs:ir (Results 1 – 25 of 370) sorted by relevance

12345678910>>...15

/arkcompiler/ets_frontend/es2panda/parser/
DparserImpl.h46 namespace panda::es2panda::ir {
129 ir::MethodDefinitionKind methodKind {};
131 ir::ModifierFlags modifiers {};
146 …explicit ArrowFunctionDescriptor(ArenaVector<ir::Expression *> &&p, binder::FunctionParamScope *ps, in ArrowFunctionDescriptor()
152 ArenaVector<ir::Expression *> params;
204 [[noreturn]] void ThrowParameterModifierError(ir::ModifierFlags status) const;
235 void AddCommonjsParams(ArenaVector<ir::Expression *> &params);
236 void AddReflectApplyArgs(ArenaVector<ir::Expression *> &args, ir::FunctionExpression *wrapper);
238 bool CheckTopStatementsForRequiredDeclare(const ArenaVector<ir::Statement *> &statements);
245 static bool IsPropertyKeysAreSame(const ir::Expression *exp1, const ir::Expression *exp2);
[all …]
Dcommonjs.cpp39 void ParserImpl::AddCommonjsParams(ArenaVector<ir::Expression *> &params) in AddCommonjsParams()
42 ir::Expression *param = AllocNode<ir::Identifier>(paramName); in AddCommonjsParams()
49 void ParserImpl::AddReflectApplyArgs(ArenaVector<ir::Expression *> &args, ir::FunctionExpression *w… in AddReflectApplyArgs()
55ir::Expression *thisValue = AllocNode<ir::Identifier>(binder::Binder::CJS_MANDATORY_PARAM_EXPORTS); in AddReflectApplyArgs()
59 ArenaVector<ir::Expression *> elements(Allocator()->Adapter()); in AddReflectApplyArgs()
61 ir::Expression *arg = AllocNode<ir::Identifier>(argName); in AddReflectApplyArgs()
65 ir::ArrayExpression *wrapperArgsArray = in AddReflectApplyArgs()
66 … AllocNode<ir::ArrayExpression>(ir::AstNodeType::ARRAY_EXPRESSION, std::move(elements), false); in AddReflectApplyArgs()
73 ir::FunctionExpression *wrapper = nullptr; in ParseCommonjs()
79 ArenaVector<ir::Expression *> params(Allocator()->Adapter()); in ParseCommonjs()
[all …]
DparserImpl.cpp182 auto *blockStmt = AllocNode<ir::BlockStatement>(Binder()->GetScope(), std::move(statements)); in ParseProgram()
189 bool ParserImpl::CheckTopStatementsForRequiredDeclare(const ArenaVector<ir::Statement *> &statement… in CheckTopStatementsForRequiredDeclare()
193 case ir::AstNodeType::TS_INTERFACE_DECLARATION: in CheckTopStatementsForRequiredDeclare()
194 case ir::AstNodeType::TS_TYPE_ALIAS_DECLARATION: in CheckTopStatementsForRequiredDeclare()
195 case ir::AstNodeType::IMPORT_DECLARATION: in CheckTopStatementsForRequiredDeclare()
196 case ir::AstNodeType::TS_IMPORT_EQUALS_DECLARATION: in CheckTopStatementsForRequiredDeclare()
197 case ir::AstNodeType::EXPORT_ALL_DECLARATION: in CheckTopStatementsForRequiredDeclare()
198 case ir::AstNodeType::EXPORT_DEFAULT_DECLARATION: in CheckTopStatementsForRequiredDeclare()
199 case ir::AstNodeType::EXPORT_NAMED_DECLARATION: in CheckTopStatementsForRequiredDeclare()
200 case ir::AstNodeType::TS_NAMESPACE_EXPORT_DECLARATION: in CheckTopStatementsForRequiredDeclare()
[all …]
DexpressionParser.cpp79 ir::YieldExpression *ParserImpl::ParseYieldExpression() in ParseYieldExpression()
95 ir::Expression *argument = nullptr; in ParseYieldExpression()
114 auto *yieldNode = AllocNode<ir::YieldExpression>(argument, isDelegate); in ParseYieldExpression()
120 ir::Expression *ParserImpl::ParsePotentialExpressionSequence(ir::Expression *expr, ExpressionParseF… in ParsePotentialExpressionSequence()
130 ir::TSAsExpression *ParserImpl::ParseTsAsExpression(ir::Expression *expr, [[maybe_unused]] Expressi… in ParseTsAsExpression()
135 ir::Expression *typeAnnotation = ParseTsTypeAnnotation(&options); in ParseTsAsExpression()
146 auto *asExpr = AllocNode<ir::TSAsExpression>(expr, typeAnnotation, isConst); in ParseTsAsExpression()
160 ir::Expression *ParserImpl::ParseExpression(ExpressionParseFlags flags) in ParseExpression()
163 ir::YieldExpression *yieldExpr = ParseYieldExpression(); in ParseExpression()
172 ir::Expression *expr = nullptr; in ParseExpression()
[all …]
DstatementParser.cpp195 ir::Statement *ParserImpl::ParseStatement(StatementParsingFlags flags) in ParseStatement()
232 ir::TSModuleDeclaration *decl = ParseTsModuleDeclaration(isDeclare); in ParseStatement()
310 ir::TSModuleDeclaration *ParserImpl::ParseTsModuleDeclaration(bool isDeclare, bool isExport) in ParseTsModuleDeclaration()
332 ir::TSModuleDeclaration *ParserImpl::ParseTsAmbientExternalModuleDeclaration(const lexer::SourcePos… in ParseTsAmbientExternalModuleDeclaration()
336 ir::Expression *name = nullptr; in ParseTsAmbientExternalModuleDeclaration()
340 name = AllocNode<ir::Identifier>(lexer_->GetToken().Ident()); in ParseTsAmbientExternalModuleDeclaration()
348 name = AllocNode<ir::StringLiteral>(lexer_->GetToken().String()); in ParseTsAmbientExternalModuleDeclaration()
358 ir::Statement *body = nullptr; in ParseTsAmbientExternalModuleDeclaration()
367 …auto *moduleDecl = AllocNode<ir::TSModuleDeclaration>(localCtx.GetScope(), name, body, isDeclare, … in ParseTsAmbientExternalModuleDeclaration()
374 ir::TSModuleDeclaration *ParserImpl::ParseTsModuleOrNamespaceDelaration(const lexer::SourcePosition… in ParseTsModuleOrNamespaceDelaration()
[all …]
/arkcompiler/ets_frontend/es2panda/compiler/core/
Dpandagen.h38 namespace panda::es2panda::ir {
74 const ir::Statement *firstStmt {};
130 const ir::AstNode *RootNode() const in RootNode()
278 void InitializeLexEnv(const ir::AstNode *node);
279 void CopyFunctionArguments(const ir::AstNode *node);
280 void GetFunctionObject(const ir::AstNode *node);
281 void GetNewTarget(const ir::AstNode *node);
282 void GetThis(const ir::AstNode *node);
283 void SetThis(const ir::AstNode *node);
284 void LoadVar(const ir::Identifier *node, const binder::ScopeFindResult &result);
[all …]
Dpandagen.cpp169 const ir::ScriptFunction *func = rootNode_->AsScriptFunction(); in FunctionInit()
195 const ir::ScriptFunction *func = rootNode_->AsScriptFunction(); in FunctionHasFinalizer()
202 const ir::ScriptFunction *func = rootNode_->AsScriptFunction(); in IsAsyncFunction()
216 void PandaGen::InitializeLexEnv(const ir::AstNode *node) in InitializeLexEnv()
225 void PandaGen::CopyFunctionArguments(const ir::AstNode *node) in CopyFunctionArguments()
238 auto fn = [this](const ir::AstNode *node) { in CopyFunctionArguments()
275 buf->Add(Allocator()->New<ir::NumberLiteral>(lexicalVars.size())); in AddLexicalVarNamesForDebugInfo()
277 buf->Add(Allocator()->New<ir::StringLiteral>(iter.second.first)); in AddLexicalVarNamesForDebugInfo()
278 buf->Add(Allocator()->New<ir::NumberLiteral>(iter.first)); in AddLexicalVarNamesForDebugInfo()
283 void PandaGen::GetFunctionObject(const ir::AstNode *node) in GetFunctionObject()
[all …]
/arkcompiler/ets_frontend/es2panda/parser/transformer/
Dtransformer.h41 using ComputedPropertyMap = std::unordered_map<ir::Statement *, util::StringView>;
98 void PushVariablesToNearestStatements(ir::BlockStatement *ast);
100 ir::AstNode *VisitTSNodes(ir::AstNode *parent);
101 ir::UpdateNodes VisitTSNode(ir::AstNode *childNode);
102ir::UpdateNodes VisitTsModuleDeclaration(ir::TSModuleDeclaration *childNode, bool isExport = false…
103 std::vector<ir::AstNode *> VisitExportNamedVariable(ir::Statement *decl);
104 ir::AstNode *VisitTsImportEqualsDeclaration(ir::TSImportEqualsDeclaration *node);
105 ir::UpdateNodes VisitClassDeclaration(ir::ClassDeclaration *node);
106 ir::UpdateNodes VisitClassExpression(ir::ClassExpression *node);
107 void VisitTSParameterProperty(ir::ClassDefinition *node);
[all …]
Dtransformer.cpp92 ir::AstNode *Transformer::VisitTSNodes(ir::AstNode *parent) in VisitTSNodes()
129 void Transformer::PushVariablesToNearestStatements(ir::BlockStatement *ast) in PushVariablesToNearestStatements()
195 ir::UpdateNodes Transformer::VisitTSNode(ir::AstNode *childNode) in VisitTSNode()
199 case ir::AstNodeType::IDENTIFIER: { in VisitTSNode()
221 case ir::AstNodeType::TS_MODULE_DECLARATION: { in VisitTSNode()
230 case ir::AstNodeType::TS_ENUM_DECLARATION: { in VisitTSNode()
239 case ir::AstNodeType::EXPORT_NAMED_DECLARATION: { in VisitTSNode()
272 return VisitExportClassDeclaration<ir::ExportNamedDeclaration>(node); in VisitTSNode()
277 case ir::AstNodeType::EXPORT_DEFAULT_DECLARATION: { in VisitTSNode()
282 return VisitExportClassDeclaration<ir::ExportDefaultDeclaration>(node); in VisitTSNode()
[all …]
/arkcompiler/ets_frontend/es2panda/
DCMakeLists.txt101 ir/astDump.cpp
102 ir/base/catchClause.cpp
103 ir/base/classDefinition.cpp
104 ir/base/classProperty.cpp
105 ir/base/decorator.cpp
106 ir/base/metaProperty.cpp
107 ir/base/methodDefinition.cpp
108 ir/base/property.cpp
109 ir/base/scriptFunction.cpp
110 ir/base/spreadElement.cpp
[all …]
DBUILD.gn54 "ir/astDump.cpp",
55 "ir/base/catchClause.cpp",
56 "ir/base/classDefinition.cpp",
57 "ir/base/classProperty.cpp",
58 "ir/base/decorator.cpp",
59 "ir/base/metaProperty.cpp",
60 "ir/base/methodDefinition.cpp",
61 "ir/base/property.cpp",
62 "ir/base/scriptFunction.cpp",
63 "ir/base/spreadElement.cpp",
[all …]
/arkcompiler/ets_frontend/es2panda/typescript/extractor/
DtypeExtractor.h27 using Getter = std::function<int64_t(const ir::AstNode *, bool isNewInstance)>;
28 using Handler = std::function<void(const ir::AstNode *)>;
32 …explicit TypeExtractor(const ir::BlockStatement *rootNode, bool typeDtsExtractor, bool typeDtsBuil…
44 const ir::Identifier *GetIdentifierFromExpression(const ir::Expression *expression);
45 …const ir::AstNode *GetDeclNodeFromIdentifier(const ir::Identifier *identifier, const ir::Identifie…
46 …int64_t GetTypeIndexFromAnnotation(const ir::Expression *typeAnnotation, bool isNewInstance = true…
47 int64_t GetTypeIndexFromIdentifier(const ir::Identifier *identifier);
48 int64_t GetTypeIndexFromInitializer(const ir::Expression *initializer);
49 int64_t GetTypeIndexFromClassInst(int64_t typeIndex, const ir::AstNode *node,
64 bool AddSearchingTypeRefNodes(const ir::Expression * node) in AddSearchingTypeRefNodes()
[all …]
DtypeExtractor.cpp55 const std::set<ir::AstNodeType> PRUNING_SET = {
56 ir::AstNodeType::IDENTIFIER,
57 ir::AstNodeType::TS_INTERFACE_DECLARATION,
58 ir::AstNodeType::TS_TYPE_ALIAS_DECLARATION,
59 ir::AstNodeType::IMPORT_DECLARATION,
60 ir::AstNodeType::EXPORT_ALL_DECLARATION
63 TypeExtractor::TypeExtractor(const ir::BlockStatement *rootNode, bool typeDtsExtractor, bool typeDt… in TypeExtractor()
69 getterMap_[ir::AstNodeType::IDENTIFIER] = in TypeExtractor()
71 getterMap_[ir::AstNodeType::CLASS_EXPRESSION] = in TypeExtractor()
73 getterMap_[ir::AstNodeType::CLASS_DEFINITION] = in TypeExtractor()
[all …]
/arkcompiler/ets_frontend/es2panda/typescript/core/
DdestructuringContext.h24 namespace panda::es2panda::ir {
34 …DestructuringContext(Checker *checker, const ir::Expression *id, bool inAssignment, bool convertTu… in DestructuringContext()
35 const ir::Expression *typeAnnotation, const ir::Expression *initializer) in DestructuringContext()
56 void ValidateObjectLiteralType(ObjectType *objType, const ir::ObjectExpression *objPattern);
57 …void HandleDestructuringAssignment(const ir::Identifier *ident, Type *inferedType, Type *defaultTy…
58 … void HandleAssignmentPattern(const ir::AssignmentExpression *assignmentPattern, Type *inferedType,
61 void Prepare(const ir::Expression *typeAnnotation, const ir::Expression *initializer,
71 virtual void HandleRest(const ir::SpreadElement *rest) = 0;
73 virtual Type *ConvertTupleTypeToArrayTypeIfNecessary(const ir::AstNode *node, Type *type) = 0;
77 const ir::Expression *id_;
[all …]
Dutil.cpp26 const ir::TSQualifiedName *Checker::ResolveLeftMostQualifiedName(const ir::TSQualifiedName *qualifi… in ResolveLeftMostQualifiedName()
28 const ir::TSQualifiedName *iter = qualifiedName; in ResolveLeftMostQualifiedName()
37 const ir::MemberExpression *Checker::ResolveLeftMostMemberExpression(const ir::MemberExpression *ex… in ResolveLeftMostMemberExpression()
39 const ir::MemberExpression *iter = expr; in ResolveLeftMostMemberExpression()
48 bool Checker::InAssignment(const ir::AstNode *node) in InAssignment()
50 const ir::AstNode *parent = node; in InAssignment()
58 const ir::BinaryExpression *binaryExpr = parent->Parent()->AsBinaryExpression(); in InAssignment()
113 const ir::AstNode *Checker::FindAncestorGivenByType(const ir::AstNode *node, ir::AstNodeType type) in FindAncestorGivenByType()
129 const ir::AstNode *Checker::FindAncestorUntilGivenType(const ir::AstNode *node, ir::AstNodeType sto… in FindAncestorUntilGivenType()
183 bool Checker::IsConstantMemberAccess(const ir::Expression *expr) in IsConstantMemberAccess()
[all …]
/arkcompiler/ets_runtime/tools/circuit_viewer/src/ir/
DIrToPicture.js42 static nodeType(ir) { argument
43 if (XTools.CONFIG.OpTypeControl.indexOf(ir.op) >= 0) {
46 if (ir.in[INTYPE.state].length > 0 && XTools.CONFIG.OpNotControl.indexOf(ir.op) === -1) {
49 if (XTools.CONFIG.OpTypeDepend.indexOf(ir.op) >= 0 || ir.in[INTYPE.depend].length > 0) {
52 if (XTools.CONFIG.OpTypeValue.indexOf(ir.op) >= 0 || ir.in[INTYPE.value].length > 0) {
57 static nodeTypeMask(ir) { argument
59 if (XTools.CONFIG.OpTypeControl.indexOf(ir.op) >= 0) {
62 if (ir.in[INTYPE.state].length > 0 && XTools.CONFIG.OpNotControl.indexOf(ir.op) === -1) {
65 if (XTools.CONFIG.OpTypeDepend.indexOf(ir.op) >= 0 || ir.in[INTYPE.depend].length > 0) {
68 if (XTools.CONFIG.OpTypeValue.indexOf(ir.op) >= 0 || ir.in[INTYPE.value].length > 0) {
[all …]
/arkcompiler/ets_frontend/es2panda/typescript/
Dchecker.h43 namespace panda::es2panda::ir {
113 using TypeOrNode = std::variant<Type *, const ir::AstNode *>;
320 std::unordered_map<const ir::AstNode *, Type *> &NodeCache() in NodeCache()
327 Type *CheckTypeCached(const ir::Expression *expr);
334 static bool InAssignment(const ir::AstNode *node);
337 … static const ir::AstNode *FindAncestorGivenByType(const ir::AstNode *node, ir::AstNodeType type);
338 …static const ir::AstNode *FindAncestorUntilGivenType(const ir::AstNode *node, ir::AstNodeType stop…
341 static bool IsConstantMemberAccess(const ir::Expression *expr);
342 static bool IsStringLike(const ir::Expression *expr);
343 …static const ir::TSQualifiedName *ResolveLeftMostQualifiedName(const ir::TSQualifiedName *qualifie…
[all …]
/arkcompiler/ets_frontend/es2panda/compiler/function/
DfunctionBuilder.h22 namespace panda::es2panda::ir {
52 virtual void Prepare([[maybe_unused]] const ir::ScriptFunction *node) {}; in Prepare()
53 virtual void CleanUp([[maybe_unused]] const ir::ScriptFunction *node) const {}; in CleanUp()
55 virtual void DirectReturn(const ir::AstNode *node) const;
56 virtual void ImplicitReturn(const ir::AstNode *node) const;
57 virtual void ExplicitReturn(const ir::AstNode *node) const;
59 virtual void Await(const ir::AstNode *node);
60 virtual void YieldStar(const ir::AstNode *node);
62 virtual void Yield([[maybe_unused]] const ir::AstNode *node) in Yield()
75 …void SuspendResumeExecution(const ir::AstNode *node, VReg completionType, VReg completionValue) co…
[all …]
/arkcompiler/ets_frontend/es2panda/util/
Dhelpers.h26 namespace panda::es2panda::ir {
62 static bool ContainSpreadElement(const ArenaVector<ir::Expression *> &args);
63 static util::StringView LiteralToPropName(ArenaAllocator *allocator, const ir::Expression *lit);
81 static const ir::ScriptFunction *GetContainingConstructor(const ir::AstNode *node);
82 static const ir::ScriptFunction *GetContainingConstructor(const ir::ClassProperty *node);
83 static const ir::ScriptFunction *GetContainingFunction(const ir::AstNode *node);
84 static const ir::ClassDefinition *GetClassDefiniton(const ir::ScriptFunction *node);
85 static bool IsSpecialPropertyKey(const ir::Expression *expr);
86 static bool IsConstantPropertyKey(const ir::Expression *expr, bool isComputed);
87 static bool IsConstantExpr(const ir::Expression *expr);
[all …]
Dhelpers.cpp69 bool Helpers::ContainSpreadElement(const ArenaVector<ir::Expression *> &args) in ContainSpreadElement()
74 util::StringView Helpers::LiteralToPropName(ArenaAllocator *allocator, const ir::Expression *lit) in LiteralToPropName()
77 case ir::AstNodeType::IDENTIFIER: { in LiteralToPropName()
80 case ir::AstNodeType::STRING_LITERAL: { in LiteralToPropName()
83 case ir::AstNodeType::NUMBER_LITERAL: { in LiteralToPropName()
94 case ir::AstNodeType::NULL_LITERAL: { in LiteralToPropName()
322 const ir::ScriptFunction *Helpers::GetContainingConstructor(const ir::AstNode *node) in GetContainingConstructor()
324 const ir::ScriptFunction *iter = GetContainingFunction(node); in GetContainingConstructor()
341 const ir::ScriptFunction *Helpers::GetContainingConstructor(const ir::ClassProperty *node) in GetContainingConstructor()
352 const ir::ScriptFunction *Helpers::GetContainingFunction(const ir::AstNode *node) in GetContainingFunction()
[all …]
/arkcompiler/ets_frontend/es2panda/ir/ts/
DtsAsExpression.cpp26 namespace panda::es2panda::ir { namespace
34 void TSAsExpression::Dump(ir::AstDumper *dumper) const in Dump()
44 static bool IsValidConstAssertionArgument(checker::Checker *checker, const ir::AstNode *arg) in IsValidConstAssertionArgument()
47 case ir::AstNodeType::NUMBER_LITERAL: in IsValidConstAssertionArgument()
48 case ir::AstNodeType::STRING_LITERAL: in IsValidConstAssertionArgument()
49 case ir::AstNodeType::BIGINT_LITERAL: in IsValidConstAssertionArgument()
50 case ir::AstNodeType::BOOLEAN_LITERAL: in IsValidConstAssertionArgument()
51 case ir::AstNodeType::ARRAY_EXPRESSION: in IsValidConstAssertionArgument()
52 case ir::AstNodeType::OBJECT_EXPRESSION: in IsValidConstAssertionArgument()
53 case ir::AstNodeType::TEMPLATE_LITERAL: { in IsValidConstAssertionArgument()
[all …]
/arkcompiler/ets_frontend/es2panda/compiler/base/
Dlreference.cpp34 LReference::LReference(const ir::AstNode *node, PandaGen *pg, bool isDeclaration, ReferenceKind ref… in LReference()
99 LReference LReference::CreateLRef(PandaGen *pg, const ir::AstNode *node, bool isDeclaration) in CreateLRef()
102 case ir::AstNodeType::IDENTIFIER: { in CreateLRef()
108 case ir::AstNodeType::MEMBER_EXPRESSION: { in CreateLRef()
111 case ir::AstNodeType::VARIABLE_DECLARATION: { in CreateLRef()
115 case ir::AstNodeType::VARIABLE_DECLARATOR: { in CreateLRef()
118 case ir::AstNodeType::ARRAY_PATTERN: in CreateLRef()
119 case ir::AstNodeType::OBJECT_PATTERN: in CreateLRef()
120 case ir::AstNodeType::ARRAY_EXPRESSION: in CreateLRef()
121 case ir::AstNodeType::OBJECT_EXPRESSION: { in CreateLRef()
[all …]
/arkcompiler/ets_frontend/es2panda/ir/statements/
DloopStatement.cpp20 namespace panda::es2panda::ir { namespace
27 if (std::holds_alternative<ir::AstNode *>(newStatement)) { in UpdateChildStatement()
28 return std::get<ir::AstNode *>(newStatement)->AsStatement(); in UpdateChildStatement()
31 ASSERT(std::holds_alternative<std::vector<ir::AstNode *>>(newStatement)); in UpdateChildStatement()
32 ArenaVector<ir::Statement *> statements(binder->Allocator()->Adapter()); in UpdateChildStatement()
33 auto newStatements = std::get<std::vector<ir::AstNode *>>(newStatement); in UpdateChildStatement()
37 return binder->Allocator()->New<ir::BlockStatement>(nullptr, std::move(statements)); in UpdateChildStatement()
/arkcompiler/ets_frontend/es2panda/ir/base/
DscriptFunction.h36 namespace panda::es2panda::ir {
44 ir::ScriptFunctionFlags flags, bool declare, bool isTsFunction) in ScriptFunction()
130 return (flags_ & ir::ScriptFunctionFlags::GENERATOR) != 0; in IsGenerator()
135 return (flags_ & ir::ScriptFunctionFlags::ASYNC) != 0; in IsAsync()
140 return (flags_ & ir::ScriptFunctionFlags::ARROW) != 0; in IsArrow()
145 return (flags_ & ir::ScriptFunctionFlags::OVERLOAD) != 0; in IsOverload()
150 return (flags_ & ir::ScriptFunctionFlags::CONSTRUCTOR) != 0; in IsConstructor()
155 return (flags_ & ir::ScriptFunctionFlags::METHOD) != 0; in IsMethod()
160 return (flags_ & ir::ScriptFunctionFlags::EXPRESSION) != 0; in FunctionBodyIsExpression()
178 void AddFlag(ir::ScriptFunctionFlags flags) in AddFlag()
[all …]
/arkcompiler/ets_frontend/es2panda/ir/
DastDump.h27 namespace panda::es2panda::ir {
33 explicit Nullable(const ir::AstNode *node) : node_(node) {} in Nullable()
35 const ir::AstNode *Node() const in Node()
41 const ir::AstNode *node_;
46 using Val = std::variant<const char *, const ir::AstNode *, bool>;
47 explicit Optional(const ir::AstNode *node) : value_(node) {} in Optional()
74 … double, const ir::AstNode *, std::vector<const ir::AstNode *>, Constant, Nullable, Ignore>;
82 …Property(const char *key, const ir::AstNode *node) : key_(key), value_(const_cast<ir::AstNode *>(n… in Property()
97 … if (std::holds_alternative<const ir::AstNode *>(value) && std::get<const ir::AstNode *>(value)) { in Property()
98 value_ = std::get<const ir::AstNode *>(value); in Property()
[all …]

12345678910>>...15