diff --git a/.gitignore b/.gitignore index fbeb73b50d18e5d496351a7c4c8a05cbae635130..a4cab4e2b79280be251ed9a38c77fb1ab6c44ab2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ tools/clang* tools/ninja* tools/gn* +build/logs* libjava-core out diff --git a/.gn b/.gn index c6fefbae8d3f86ab2f7531c0bb8c7d1b269c4518..711391c18b56e9bdf8cfab4b951c3ff3f630f411 100644 --- a/.gn +++ b/.gn @@ -1 +1,15 @@ +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# buildconfig = "//build/config/BUILDCONFIG.gn" diff --git a/BUILD.gn b/BUILD.gn index 9b365d8ef511e4de1d0a50422e4129c01207aaed..8234000518b9dc231f4c0076d40f24c45466a9ce 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -1,3 +1,17 @@ +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# group("maple") { deps = [ "${MAPLE_ROOT}/src:mapleall", diff --git a/Makefile b/Makefile index 0f13696858cdb3bdc1d35b3af3ed3a02e034c5e4..565853aadf4390fac8641ec26edc8e62d323a3ca 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # Makefile for OpenArkCompiler # -INSTALL_DIR := ${MAPLE_ROOT}/out +INSTALL_DIR := ${MAPLE_ROOT}/output BUILD_TYPE := RELEASE HOST_ARCH := 64 MIR_JAVA := 1 @@ -24,17 +24,17 @@ mapleall: .PHONY: install install: mapleall - $(shell cp -rf $(MAPLE_ROOT)/src/bin/java2jar $(MAPLE_ROOT)/out/bin/) - $(shell cp -rf $(MAPLE_ROOT)/src/bin/jbc2mpl $(MAPLE_ROOT)/out/bin/) - $(shell cp -rf $(MAPLE_ROOT)/src/bin/mplcg $(MAPLE_ROOT)/out/bin/) + $(shell cp -rf $(MAPLE_ROOT)/src/bin/java2jar $(MAPLE_ROOT)/output/bin/) + $(shell cp -rf $(MAPLE_ROOT)/src/bin/jbc2mpl $(MAPLE_ROOT)/output/bin/) + $(shell cp -rf $(MAPLE_ROOT)/src/bin/mplcg $(MAPLE_ROOT)/output/bin/) .PHONY: clean clean: - @rm -rf out/ + @rm -rf output/ define build_gn mkdir -p ${INSTALL_DIR}; \ $(GN) gen ${INSTALL_DIR} --args='$(1)' --export-compile-commands; \ cd ${INSTALL_DIR}; \ - $(NINJA) -v $(2); + $(NINJA) -v $(2) | tee ${MAPLE_ROOT}/build/logs/$(shell date +"%Y-%m-%d-%H-%M-%S").log; endef diff --git a/build/build.sh b/build/build.sh new file mode 100644 index 0000000000000000000000000000000000000000..38c22fe66bfb06cc902e29d7732bc580c4385587 --- /dev/null +++ b/build/build.sh @@ -0,0 +1,23 @@ +#! /bin/bash +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# +source build/envsetup.sh +option=$@ +if [ "$option" = "DEBUG" ]; then + make BUILD_TYPE=DEBUG +else + make +fi + diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn index 072250868a59e6935c52e23c37cb46512d5bfc3e..d86ea4ce3c26b5197acc5900c8d51ec8109fe2f6 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -1,5 +1,19 @@ # This file is the master GN build configuration, all variables # declare here will be implicitly global. +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# # List all the input args declare_args() { @@ -18,16 +32,16 @@ MEMORY_LEAK_CHECK = false MARK_CYCLE_ROOTS = false OPENSOURCE_DEPS = "${MAPLE_ROOT}/src/deplibs" -OPENSOURCE_OUTPUT = "${MAPLE_ROOT}/out" +OPENSOURCE_OUTPUT = "${MAPLE_ROOT}/output" MAPLEALL_ROOT = "${MAPLE_ROOT}/src" THIRD_PARTY_ROOT = "${MAPLE_ROOT}/src/third_party" # Put all built library files under lib -GN_ARCHIVE_OUTPUT_DIRECTORY = "${GN_INSTALL_PREFIX}/out/lib" -GN_LIBRARY_OUTPUT_DIRECTORY = "${GN_INSTALL_PREFIX}/out/lib" +GN_ARCHIVE_OUTPUT_DIRECTORY = "${GN_INSTALL_PREFIX}/output/lib" +GN_LIBRARY_OUTPUT_DIRECTORY = "${GN_INSTALL_PREFIX}/output/lib" # Put all built binary files under bin -GN_BINARY_OUTPUT_DIRECTORY = "${GN_INSTALL_PREFIX}/out/bin" +GN_BINARY_OUTPUT_DIRECTORY = "${GN_INSTALL_PREFIX}/output/bin" # Toolchain setup GN_C_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang" diff --git a/build/core/maple_variables.mk b/build/core/maple_variables.mk index 85ce5cda626eb31829ba1e0a5717c9d75fe5e28b..2b8127de08bd50a18c4a65e870c3f9b1369616d9 100644 --- a/build/core/maple_variables.mk +++ b/build/core/maple_variables.mk @@ -9,10 +9,10 @@ APP_MPLT:=$(foreach APP, $(TARGETS), $(APP).mplt) APP_VTABLEIMPL_MPL := $(foreach APP, $(TARGETS), $(APP).VtableImpl.mpl) APP_S := $(foreach APP, $(TARGETS), $(APP).VtableImpl.s) -JAVA2JAR := $(MAPLE_ROOT)/out/bin/java2jar -JBC2MPL_BIN := $(MAPLE_ROOT)/out/bin/jbc2mpl -MAPLE_BIN := $(MAPLE_ROOT)/out/bin/maple -MPLCG_BIN := $(MAPLE_ROOT)/out/bin/mplcg +JAVA2JAR := $(MAPLE_ROOT)/output/bin/java2jar +JBC2MPL_BIN := $(MAPLE_ROOT)/output/bin/jbc2mpl +MAPLE_BIN := $(MAPLE_ROOT)/output/bin/maple +MPLCG_BIN := $(MAPLE_ROOT)/output/bin/mplcg MPLME_FLAGS := --quiet MPL2MPL_FLAGS := --quiet --regnativefunc --maplelinker MPLCG_SO_FLAGS := --fpic diff --git a/build/envsetup.sh b/build/envsetup.sh index bd5f558dbd021f290c5d9810659727129438c20e..1e34dae023e19e4c40b5398c82bc139c54ce88f5 100644 --- a/build/envsetup.sh +++ b/build/envsetup.sh @@ -1,8 +1,22 @@ #!/bin/bash +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# -curdir=`pwd` +curdir=$(pwd) unset MAPLE_ROOT export MAPLE_ROOT=${curdir} unset MAPLE_BUILD_CORE export MAPLE_BUILD_CORE=${MAPLE_ROOT}/build/core -export PATH=$PATH:${MAPLE_ROOT}/out/bin +export PATH=$PATH:${MAPLE_ROOT}/output/bin diff --git a/build/logs/.gitignore b/build/logs/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/build/toolchain/BUILD.gn b/build/toolchain/BUILD.gn index 51ca552715917c391906ba48aad3bb6130dd252b..1503abc71d262588997da37316a4b33c5609c7e7 100644 --- a/build/toolchain/BUILD.gn +++ b/build/toolchain/BUILD.gn @@ -1,3 +1,17 @@ +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# toolchain("clang") { tool("cc") { depfile = "{{output}}.d" diff --git a/src/BUILD.gn b/src/BUILD.gn index c2406b6ae40c166d8b0ab9de67160593e3c0da34..7eabe88f0288d70440bdbeb7155ea06af1381681 100644 --- a/src/BUILD.gn +++ b/src/BUILD.gn @@ -1,3 +1,17 @@ +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# config("mapleallcompilecfg") { cflags_cc = [] cflags_cc += [ diff --git a/src/bin/maple b/src/bin/maple index a51e7ca5fd023f18b588e6bc1f37fc25554bbb4d..ffcac8b010aeef129a5a80f81c0ff629b8318ebd 100755 Binary files a/src/bin/maple and b/src/bin/maple differ diff --git a/src/huawei_secure_c/BUILD.gn b/src/huawei_secure_c/BUILD.gn index c4afc28cfd9919c2cff0938f8ffded9f23afc36e..d4a337f30d001e36cd9a8c92292ecd715542bf7b 100644 --- a/src/huawei_secure_c/BUILD.gn +++ b/src/huawei_secure_c/BUILD.gn @@ -1,3 +1,17 @@ +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# src_libHWSecureC = [ "src/vsprintf_s.c", "src/wmemmove_s.c", diff --git a/src/maple_driver/BUILD.gn b/src/maple_driver/BUILD.gn index 8ed8cd69d2f173923dc4624e01f210e597de8fd1..7cb20d512ec89eb3dd9a588676d13722dba83dba 100644 --- a/src/maple_driver/BUILD.gn +++ b/src/maple_driver/BUILD.gn @@ -1,3 +1,17 @@ +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# configs = [ "${MAPLEALL_ROOT}:mapleallcompilecfg" ] cflags_cc += [ diff --git a/src/maple_driver/include/driver_runner.h b/src/maple_driver/include/driver_runner.h index e48f9c4edf540b866f4f70f2fd098523d492f609..8151ebd04643d36cabad13c14db7652bd27f8de0 100644 --- a/src/maple_driver/include/driver_runner.h +++ b/src/maple_driver/include/driver_runner.h @@ -1,5 +1,5 @@ /* - * Copyright (c) [2019] Huawei Technologies Co.,Ltd.All rights reserved. + * Copyright (c) [2019-2020] Huawei Technologies Co.,Ltd.All rights reserved. * * OpenArkCompiler is licensed under the Mulan PSL v1. * You can use this software according to the terms and conditions of the Mulan PSL v1. diff --git a/src/maple_ipa/BUILD.gn b/src/maple_ipa/BUILD.gn index 3709a63a6e2ef361a9682a1f1e779788e84805b3..deb400828130a196880f954cdc29350ba101b75c 100644 --- a/src/maple_ipa/BUILD.gn +++ b/src/maple_ipa/BUILD.gn @@ -1,3 +1,17 @@ +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# include_directories = [ "${MAPLEALL_ROOT}/maple_ir/include", "${MAPLEALL_ROOT}/mempool/include", diff --git a/src/maple_ir/BUILD.gn b/src/maple_ir/BUILD.gn index d96abd2d037564c3d53faa7e14cd62886e1e898d..f03abd6d5d6c1a9f5bf20f0af332cd4505d9e2ee 100644 --- a/src/maple_ir/BUILD.gn +++ b/src/maple_ir/BUILD.gn @@ -1,3 +1,17 @@ +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# include_directories = [ "${MAPLEALL_ROOT}/maple_ir/include", "${MAPLEALL_ROOT}/mpl2mpl/include", diff --git a/src/maple_me/BUILD.gn b/src/maple_me/BUILD.gn index d3e780f58cd401d8b043f763beceaac5708ae629..cb2211b99a2280c3f8dd932b4f515524804aef97 100644 --- a/src/maple_me/BUILD.gn +++ b/src/maple_me/BUILD.gn @@ -1,3 +1,17 @@ +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# include_directories = [ "${MAPLEALL_ROOT}/maple_ir/include", "${MAPLEALL_ROOT}/mempool/include", diff --git a/src/mpl2mpl/BUILD.gn b/src/mpl2mpl/BUILD.gn index 8ee9e8eef537f9eb5cff903f67c347e0896cc931..c45af2a446079b90a25fcfefb46480257f52fd03 100644 --- a/src/mpl2mpl/BUILD.gn +++ b/src/mpl2mpl/BUILD.gn @@ -1,3 +1,17 @@ +# +# Copyright (c) [2020] Huawei Technologies Co.,Ltd.All rights reserved. +# +# OpenArkCompiler is licensed under the Mulan PSL v1. +# You can use this software according to the terms and conditions of the Mulan PSL v1. +# You may obtain a copy of Mulan PSL v1 at: +# +# http://license.coscl.org.cn/MulanPSL +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR +# FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v1 for more details. +# include_directories = [ "${MAPLEALL_ROOT}/maple_ir/include", "${MAPLEALL_ROOT}/maple_me/include", diff --git a/src/mpl2mpl/src/native_stub_func.cpp b/src/mpl2mpl/src/native_stub_func.cpp index 2df99db9d1a07624badd40d6887ad5befa48d1a0..a6ada15e8e723cf48902356228fa7dab36d1398b 100644 --- a/src/mpl2mpl/src/native_stub_func.cpp +++ b/src/mpl2mpl/src/native_stub_func.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) [2019] Huawei Technologies Co.,Ltd.All rights reserved. + * Copyright (c) [2019-2020] Huawei Technologies Co.,Ltd.All rights reserved. * * OpenArkCompiler is licensed under the Mulan PSL v1. * You can use this software according to the terms and conditions of the Mulan PSL v1. @@ -145,8 +145,8 @@ void NativeStubFuncGeneration::ProcessFunc(MIRFunction *func) { monitor = builder->CreateExprDread(*formal0St); } } - NaryStmtNode *synCenter = builder->CreateStmtNary(OP_syncenter, monitor); - func->GetBody()->AddStatement(synCenter); + NaryStmtNode *syncEnter = builder->CreateStmtNary(OP_syncenter, monitor); + func->GetBody()->AddStatement(syncEnter); } // Get Env pointer, skip for critical native functions who do not need Env // Generate stubfunc call/return stmt, extra args only for non-critical_native calls diff --git a/src/mpl2mpl/src/reflection_analysis.cpp b/src/mpl2mpl/src/reflection_analysis.cpp index 212c05f49a72aee74ca62413588c8f8f1c4a8aab..d8a9d4adf0acc0fb92c414a54ae118c5ac29b77c 100644 --- a/src/mpl2mpl/src/reflection_analysis.cpp +++ b/src/mpl2mpl/src/reflection_analysis.cpp @@ -1130,6 +1130,7 @@ std::string ReflectionAnalysis::GetAnnotationValue(const MapleVector &subelemVector) { std::string annoArray; GStrIdx strIdx; + uint32_t idx; annoArray += (annoArrayStartDelimiter + std::to_string(subelemVector.size()) + annoDelimiter); if (!subelemVector.empty()) { annoArray += std::to_string(subelemVector[0]->GetType()); annoArray += annoDelimiter; - } - for (MIRPragmaElement *arrayElem : subelemVector) { + std::string javaDsp; - ConvertMapleClassName(GlobalTables::GetStrTable().GetStringFromStrIdx(arrayElem->GetTypeStrIdx()), javaDsp); + ConvertMapleClassName(GlobalTables::GetStrTable().GetStringFromStrIdx(subelemVector[0]->GetTypeStrIdx()), javaDsp); std::string typeStr = javaDsp; - uint32_t idx = ReflectionAnalysis::FindOrInsertReflectString(typeStr); + idx = ReflectionAnalysis::FindOrInsertReflectString(typeStr); annoArray += (annoDelimiterPrefix + std::to_string(idx) + annoDelimiter); + } + + for (MIRPragmaElement *arrayElem : subelemVector) { MapleVector arrayElemVector = arrayElem->GetSubElemVec(); switch (arrayElem->GetType()) { COMMON_CASE @@ -1172,6 +1176,7 @@ std::string ReflectionAnalysis::GetArrayValue(const MapleVector