/* * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ declare interface ArkTools { isAOTCompiled(args: any): boolean; } declare function print(arg:any):string; print(1 + 1); //: 2 print(1 + 1.1); //: 2.1 print(1 + 1.1); //: 2.1 print(0.1 + 1.1) //: 1.2000000000000002 print("hello" + "world") //: helloworld print("hello" + 1) //: hello1 let addr = function (rhs:any) { return "a" + rhs; } let addl = function (lhs:any) { return lhs + "a"; } if (ArkTools.isAOTCompiled(addr)) { print("addr compiled") //aot: addr compiled } if (ArkTools.isAOTCompiled(addl)) { print("addl compiled") //aot: addl compiled } print(addr(1)) //: a1 print(addr("1")) //: a1 print(addl(1)) //: 1a print(addl("1")) //: 1a