/* * Copyright (c) 2024 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. */ // Autogenerated file -- DO NOT EDIT! // NOLINTBEGIN(readability-identifier-naming) % Es2pandaLibApi::ast_nodes&.each do |ast_node| % if ast_node != "AstNode" && ast_node != "TypeNode" bool (*Is<%= ast_node %>)(es2panda_AstNode *ast); % end % end % Es2pandaLibApi::scopes&.each do |scope| % if scope != "Scope" bool (*ScopeIs<%= scope %>)(es2panda_Scope *scope); % end % end % Es2pandaLibApi::ast_types&.each do |type| % if type != "Type" bool (*TypeIs<%= type %>)(es2panda_Type *type); % end % end % Es2pandaLibApi::ast_variables&.each do |variable| % if variable[1] != "Variable" bool (*VariableIs<%= variable[1] %>)(es2panda_Variable *variable); % end % end char const *(*AstNodeName)(es2panda_AstNode *ast); % Es2pandaLibApi::classes&.each do |className, classData| % classData.class_constructors&.each_with_index do |constructor, index| <%= classData.constructor_type().lib_type_to_str() %>(*Create<%= className + "#{index}" %>)(es2panda_Context *context<%= constructor["args"]&.map { |arg| if arg.lib_args_to_str.strip() != "" then ", " + arg.lib_args_to_str end}&.join("") %>); % if classData.updater_allowed() <%= classData.constructor_type().lib_type_to_str() %>(*Update<%= className + "#{index}" %>)(es2panda_Context *context, es2panda_AstNode *original<%= constructor["args"]&.map { |arg| if arg.lib_args_to_str.strip() != "" then ", " + arg.lib_args_to_str end}&.join("") %>); % end # Updater end % end % classData.class_methods&.each_with_index do |method_info, index| <%= method_info["const"] %> <%= method_info["return_type"].lib_type_to_str %>(*<%= className + method_info["overload_name"] %>)( es2panda_Context *context<%= if classData.call_cast["call_var"] then ", " + classData.call_cast["call_var"] end %><%= method_info["args"]&.map { |arg| if arg.lib_args_to_str.strip() != "" then ", " + arg.lib_args_to_str end}&.join("") %><%= method_info["return_arg_to_str"] %>); % end % end // NOLINTEND(readability-identifier-naming)