Home
last modified time | relevance | path

Searched +full:parserprogram +full:- (Results 1 – 21 of 21) sorted by relevance

/arkcompiler/ets_frontend/ets2panda/compiler/lowering/
DcheckerPhase.cpp2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
23 …ctx->checker->StartChecker(ctx->parserProgram->VarBinder(), ctx->config->options->CompilerOptions(… in Perform()
DresolveIdentifiers.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
23 auto const &options = ctx->config->options->CompilerOptions(); in Perform()
24 auto *varbinder = ctx->parserProgram->VarBinder()->AsETSBinder(); in Perform()
27 std::cout << varbinder->Program()->Dump() << std::endl; in Perform()
31 varbinder->Program()->DumpSilent(); in Perform()
39 varbinder->SetGenStdLib(options.compilationMode == CompilationMode::GEN_STD_LIB); in Perform()
40 varbinder->IdentifierAnalysis(); in Perform()
/arkcompiler/ets_frontend/ets2panda/public/
Des2panda_lib.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
68 // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic) in StrToToken()
69 for (auto *tp = table; tp->str != nullptr; tp++) { in StrToToken()
70 if (strcmp(str, tp->str) == 0) { in StrToToken()
71 return tp->token; in StrToToken()
79 // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic) in TokenToStr()
80 for (auto *tp = table; tp->str != nullptr; tp++) { in TokenToStr()
81 if (tp->token == token) { in TokenToStr()
82 return tp->str; in TokenToStr()
90 …// NOLINTBEGIN(cppcoreguidelines-pro-bounds-pointer-arithmetic, readability-simplify-subscript-exp… in StringViewToCString()
[all …]
Dpublic.h2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
21 #include "assembler/assembly-program.h"
56 parser::Program *parserProgram = nullptr; member
DcppToCTypes.yaml1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd.
6 # http://www.apache.org/licenses/LICENSE-2.0
16 - es2panda_arg:
21 - type: '|element_type|'
24 - type: '|element_type|'
29 - type:
33 - type:
40 {reinterpret_cast<Context *>(context)->allocator->Adapter()};\n
50 \tauto *ctxAllocator = ctx->allocator;\n
54 …\tauto res = ctxAllocator->New<|new_args.0.type.const| |new_args.0.type.name| |new_args.0.type.ptr…
[all …]
/arkcompiler/ets_frontend/ets2panda/declgen_ets2ts/
Dmain.cpp2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
25 auto *cfg = impl->CreateConfig(argc, argv); in Run()
31 …es2panda_Context *ctx = impl->CreateContextFromString(cfg, cfgImpl->options->ParserInput().c_str(), in Run()
32 cfgImpl->options->SourceFile().c_str()); in Run()
35 auto *checker = reinterpret_cast<checker::ETSChecker *>(ctxImpl->checker); in Run()
37 impl->ProceedToState(ctx, ES2PANDA_STATE_CHECKED); in Run()
40 …if (!GenerateTsDeclarations(checker, ctxImpl->parserProgram, cfgImpl->options->CompilerOutput())) { in Run()
44 impl->DestroyContext(ctx); in Run()
45 impl->DestroyConfig(cfg); in Run()
/arkcompiler/ets_frontend/ets2panda/compiler/lowering/ets/
DoptionalLowering.cpp2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
39 if (isDummyLoc(n->Range())) { in RefineSourceRanges()
40 n->SetRange(n->Parent()->Range()); in RefineSourceRanges()
45 node->IterateRecursively(refine); in RefineSourceRanges()
53 auto *const allocator = ctx->allocator; in LowerOptionalExpr()
54 auto *const parser = ctx->parser->AsETSParser(); in LowerOptionalExpr()
55 auto *const varbinder = ctx->parserProgram->VarBinder(); in LowerOptionalExpr()
59 auto *tmpIdentClone = tmpIdent->Clone(allocator, nullptr); in LowerOptionalExpr()
62 auto *sequenceExpr = parser->CreateFormattedExpression( in LowerOptionalExpr()
[all …]
DlambdaLowering.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
58 for (ir::AstNode *curr = ast->Parent(); curr != nullptr; curr = curr->Parent()) { in FindEnclosingClassAndFunction()
59 if (curr->IsClassDeclaration()) { in FindEnclosingClassAndFunction()
60 return {curr->AsClassDeclaration(), function}; in FindEnclosingClassAndFunction()
62 if (curr->IsScriptFunction()) { in FindEnclosingClassAndFunction()
63 function = curr->AsScriptFunction(); in FindEnclosingClassAndFunction()
71 return lambda->IsAnyChild([](ir::AstNode *ast) { return ast->IsThisExpression(); }); in CheckIfNeedThis()
97 auto *allocator = ctx->allocator; in CloneTypeParams()
98 auto *checker = ctx->checker->AsETSChecker(); in CloneTypeParams()
100 auto *newScope = allocator->New<varbinder::LocalScope>(allocator, enclosingScope); in CloneTypeParams()
[all …]
DopAssignment.cpp2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
46 // NOLINTNEXTLINE(readability-magic-numbers)
80 if (loweringResult->IsAssignmentExpression()) { in AdjustBoxingUnboxingFlags()
81 exprToProcess = loweringResult->AsAssignmentExpression(); in AdjustBoxingUnboxingFlags()
82 …} else if (loweringResult->IsBlockExpression() && !loweringResult->AsBlockExpression()->Statements… in AdjustBoxingUnboxingFlags()
83 auto *statement = loweringResult->AsBlockExpression()->Statements().back(); in AdjustBoxingUnboxingFlags()
84 if (statement->IsExpressionStatement()) { in AdjustBoxingUnboxingFlags()
85 exprToProcess = statement->AsExpressionStatement()->GetExpression(); in AdjustBoxingUnboxingFlags()
93 const ir::BoxingUnboxingFlags oldBoxingFlag {oldExpr->GetBoxingUnboxingFlags() & in AdjustBoxingUnboxingFlags()
[all …]
DenumLowering.cpp2 * Copyright (c) 2021 - 2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
33 …auto *const paramIdent = checker->AllocNode<ir::Identifier>(name, typeAnnotation, checker->Allocat… in MakeFunctionParam()
34 auto *const param = checker->AllocNode<ir::ETSParameterExpression>(paramIdent, nullptr); in MakeFunctionParam()
42 …auto *const refIdent = checker->AllocNode<ir::Identifier>(paramExpr->Ident()->Name(), checker->All… in MakeParamRefIdent()
43 refIdent->SetVariable(paramExpr->Ident()->Variable()); in MakeParamRefIdent()
49 auto *const ident = checker->AllocNode<ir::Identifier>(name, checker->Allocator()); in MakeTypeReference()
50 auto *const referencePart = checker->AllocNode<ir::ETSTypeReferencePart>(ident); in MakeTypeReference()
51 return checker->AllocNode<ir::ETSTypeReference>(referencePart); in MakeTypeReference()
57 auto *const functionExpr = checker->AllocNode<ir::FunctionExpression>(function); in MakeMethodDef()
[all …]
/arkcompiler/ets_frontend/ets2panda/compiler/core/
DcompileQueue.cpp2 * Copyright (c) 2021 - 2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
53 const auto &functions = context->parserProgram->VarBinder()->Functions(); in Schedule()
57 …ount_++].SetContext(context, function); // NOLINT(cppcoreguidelines-pro-bounds-pointer-arithmetic) in Schedule()
69 std::unique_lock<std::mutex> lock(queue->m_); in Worker()
70 …queue->jobsAvailable_.wait(lock, [queue]() { return queue->terminate_ || queue->jobsCount_ != 0; }… in Worker()
72 if (queue->terminate_) { in Worker()
78 queue->Consume(); in Worker()
79 queue->jobsFinished_.notify_one(); in Worker()
89 --jobsCount_; in Consume()
[all …]
DJSemitter.cpp2 * Copyright (c) 2021 - 2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
21 #include "assembly-program.h"
28 …auto *func = new pandasm::Function(Cg()->InternalName().Mutf8(), panda_file::SourceLang::ECMASCRIP… in GenFunctionSignature()
29 GetProgramElement()->SetFunction(func); in GenFunctionSignature()
31 size_t paramCount = Cg()->InternalParamCount(); in GenFunctionSignature()
32 func->params.reserve(paramCount); in GenFunctionSignature()
35 func->params.emplace_back(pandasm::Type("any", 0), panda_file::SourceLang::ECMASCRIPT); in GenFunctionSignature()
38 func->regsNum = VReg::REG_START - Cg()->TotalRegsNum(); in GenFunctionSignature()
39 func->returnType = pandasm::Type("any", 0); in GenFunctionSignature()
[all …]
DETSemitter.cpp2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
44 #include "assembly-program.h"
98 if (type->IsETSTypeParameter()) { in PandasmTypeWithRank()
99 return PandasmTypeWithRank(type->AsETSTypeParameter()->GetConstraintType()); in PandasmTypeWithRank()
101 if (type->IsETSNonNullishType()) { in PandasmTypeWithRank()
102 return PandasmTypeWithRank(type->AsETSNonNullishType()->GetUnderlying()); in PandasmTypeWithRank()
104 if (type->IsETSPartialTypeParameter()) { in PandasmTypeWithRank()
105 return PandasmTypeWithRank(type->AsETSPartialTypeParameter()->GetUnderlying()); in PandasmTypeWithRank()
107 if (type->IsETSUnionType()) { in PandasmTypeWithRank()
[all …]
DcodeGen.cpp2 * Copyright (c) 2021 - 2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
86 const VReg vreg(usedRegs_--); in AllocReg()
93 const VReg vreg(usedRegs_--); in AllocRegWithType()
106 return it != typeMap_.end() ? it->second : nullptr; in GetVRegType()
111 return var->TsType(); in TypeForVar()
122 return context_->config->options->CompilerOptions().isDebug; in IsDebug()
127 if (rootNode_->IsProgram()) { in ParamCount()
131 return rootNode_->AsScriptFunction()->Params().size(); in ParamCount()
136 if (rootNode_->IsProgram()) { in FormalParametersCount()
[all …]
DcompilerImpl.cpp2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
52 auto *emitter = context->emitter; in HandleContextLiterals()
55 for (const auto &buff : context->contextLiterals) { in HandleContextLiterals()
56 emitter->AddLiteralBuffer(buff, index++); in HandleContextLiterals()
59 emitter->LiteralBufferIndex() += context->contextLiterals.size(); in HandleContextLiterals()
70 auto *emitter = context->emitter; in Emit()
71 … queue_.Wait([emitter](CompileJob *job) { emitter->AddProgramElement(job->GetProgramElement()); }); in Emit()
73 …return emitter->Finalize(context->config->options->CompilerOptions().dumpDebugInfo, Signatures::ET… in Emit()
107 : checkFullProgram_ {context.config->options->CompilerOptions().verifierFullProgram}, in ASTVerificationRunner()
[all …]
Demitter.cpp2 * Copyright (c) 2021 - 2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
47 compiler::LiteralTag tag = literal->Tag(); in TransformMethodLiterals()
52 valueLit.value = literal->GetMethod(); in TransformMethodLiterals()
57 valueLit.value = literal->GetMethod(); in TransformMethodLiterals()
62 valueLit.value = literal->GetMethod(); in TransformMethodLiterals()
67 valueLit.value = literal->GetMethod(); in TransformMethodLiterals()
87 compiler::LiteralTag tag = literal->Tag(); in TransformLiteral()
92 valueLit.value = literal->GetBoolean(); in TransformLiteral()
97 valueLit.value = literal->GetInteger(); in TransformLiteral()
[all …]
DETSGen.cpp2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
52 return type->IsLongType() || type->IsDoubleType(); in IsWidePrimitiveType()
77 expr->Compile(this); in CompileAndCheck()
80 auto const *const exprType = expr->TsType(); in CompileAndCheck()
82 if (Checker()->Relation()->IsIdenticalTo(accType, exprType) || exprType->IsETSTypeParameter() || in CompileAndCheck()
83 exprType->IsETSPartialTypeParameter() || exprType->IsETSNonNullishType()) { in CompileAndCheck()
87 if (accType->IsETSPrimitiveType() && in CompileAndCheck()
88 ((accType->TypeFlags() ^ exprType->TypeFlags()) & ~checker::TypeFlag::CONSTANT) == 0) { in CompileAndCheck()
92 …ASSERT_PRINT(false, std::string("Type mismatch after Expression::Compile: ") + accType->ToString()… in CompileAndCheck()
[all …]
/arkcompiler/ets_frontend/ets2panda/test/unit/
DglobalETSObjectType_test.h7 * http://www.apache.org/licenses/LICENSE-2.0
62 if (!options->Parse(1, argv)) { in InitializeChecker()
63 std::cerr << options->ErrorMsg() << std::endl; in InitializeChecker()
69 ark::Logger::InitializeStdLogging(ark::Logger::LevelFromString(options->LogLevel()), mask); in InitializeChecker()
71 Compiler compiler(options->Extension(), options->ThreadCount()); in InitializeChecker()
72 SourceFile input(fileName, src, options->ParseModule()); in InitializeChecker()
73 compiler::CompilationUnit unit {input, *options, 0, options->Extension()}; in InitializeChecker()
76 program->MarkEntry(); in InitializeChecker()
80 checker->SetAnalyzer(&analyzer); in InitializeChecker()
82 auto *varbinder = program->VarBinder(); in InitializeChecker()
[all …]
Dunion_normalisation_test.h2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
70 compiler::ProgramElement *programElement) -> void { in MakeCompileJob()
85 if (!options->Parse(1, argv)) { in InitializeChecker()
86 std::cerr << options->ErrorMsg() << std::endl; in InitializeChecker()
92 ark::Logger::InitializeStdLogging(ark::Logger::LevelFromString(options->LogLevel()), mask); in InitializeChecker()
94 Compiler compiler(options->Extension(), options->ThreadCount()); in InitializeChecker()
95 SourceFile input(fileName, src, options->ParseModule()); in InitializeChecker()
96 compiler::CompilationUnit unit {input, *options, 0, options->Extension()}; in InitializeChecker()
99 program->MarkEntry(); in InitializeChecker()
[all …]
/arkcompiler/ets_frontend/ets2panda/evaluate/
DscopedDebugInfoPlugin.cpp7 * http://www.apache.org/licenses/LICENSE-2.0
17 #include "evaluate/entityDeclarator-inl.h"
18 #include "evaluate/scopedDebugInfoPlugin-inl.h"
35 …auto *declarator = checker->AllocNode<ir::VariableDeclarator>(ir::VariableDeclaratorFlag::CONST, i… in CreateVariableDeclaration()
37 … ArenaVector<ir::VariableDeclarator *> declarators(1, declarator, checker->Allocator()->Adapter()); in CreateVariableDeclaration()
38 auto *declaration = checker->AllocNode<ir::VariableDeclaration>( in CreateVariableDeclaration()
39 …ir::VariableDeclaration::VariableDeclarationKind::CONST, checker->Allocator(), std::move(declarato… in CreateVariableDeclaration()
41 declarator->SetParent(declaration); in CreateVariableDeclaration()
62 auto *allocator = checker->Allocator(); in BreakLastStatement()
70 auto *variableIdent = checker->AllocNode<ir::Identifier>(returnVariableNameView, allocator); in BreakLastStatement()
[all …]
/arkcompiler/ets_frontend/ets2panda/varbinder/
DETSBinder.cpp2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
7 * http://www.apache.org/licenses/LICENSE-2.0
77 ASSERT(Program()->Ast()); in IdentifierAnalysis()
81 recordTable_->SetProgram(Program()); in IdentifierAnalysis()
82 globalRecordTable_.SetClassDefinition(Program()->GlobalClass()); in IdentifierAnalysis()
85 ASSERT(globalRecordTable_.ClassDefinition() == Program()->GlobalClass()); in IdentifierAnalysis()
90 auto *iter = typeRef->Part(); in LookupTypeArgumentReferences()
93 if (iter->TypeParams() == nullptr) { in LookupTypeArgumentReferences()
94 iter = iter->Previous(); in LookupTypeArgumentReferences()
98 ResolveReferences(iter->TypeParams()); in LookupTypeArgumentReferences()
[all …]