Files
jerryscript/jerry-core/ecma/operations/ecma-lex-env.h
T
Tilmann Scheller 1e99be90c3 Remove redundant extern keywords from function declarations/definitions. (#1495)
Extern keywords on function declarations/definitions provide no additional value since function declarations/definitions default to external linkage in C99, e.g. removing them won't change the semantics of the program.

The extern keywords were essentially a legacy from the early days of the project. This commit cleans this up across the whole codebase in one go to minimize history disruption.

The bulk of the changes in this commit were produced by a custom clang-tidy checker.

Note that variables declarations carrying the extern keyword are untouched by this commit since there the presence of the keyword actually has an impact on the semantics of the program.

JerryScript-DCO-1.0-Signed-off-by: Tilmann Scheller t.scheller@samsung.com
2016-12-16 10:18:37 +01:00

65 lines
2.1 KiB
C

/* Copyright JS Foundation and other contributors, http://js.foundation
*
* 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.
*/
#ifndef ECMA_LEX_ENV_H
#define ECMA_LEX_ENV_H
#include "ecma-globals.h"
#include "ecma-reference.h"
#include "jrt.h"
/** \addtogroup ecma ECMA
* @{
*
* \addtogroup lexicalenvironment Lexical environment
* @{
*
* \addtogroup globallexicalenvironment Global lexical environment
* @{
*/
void ecma_init_global_lex_env (void);
void ecma_finalize_global_lex_env (void);
ecma_object_t *ecma_get_global_environment (void);
/**
* @}
*/
/* ECMA-262 v5, 8.7.1 and 8.7.2 */
ecma_value_t ecma_op_get_value_lex_env_base (ecma_object_t *, ecma_string_t *, bool);
ecma_value_t ecma_op_get_value_object_base (ecma_value_t, ecma_string_t *);
ecma_value_t ecma_op_put_value_lex_env_base (ecma_object_t *, ecma_string_t *, bool, ecma_value_t);
/* ECMA-262 v5, Table 17. Abstract methods of Environment Records */
bool ecma_op_has_binding (ecma_object_t *, ecma_string_t *);
ecma_value_t ecma_op_create_mutable_binding (ecma_object_t *, ecma_string_t *, bool);
ecma_value_t ecma_op_set_mutable_binding (ecma_object_t *, ecma_string_t *, ecma_value_t, bool);
ecma_value_t ecma_op_get_binding_value (ecma_object_t *, ecma_string_t *, bool);
ecma_value_t ecma_op_delete_binding (ecma_object_t *, ecma_string_t *);
ecma_value_t ecma_op_implicit_this_value (ecma_object_t *);
/* ECMA-262 v5, Table 18. Additional methods of Declarative Environment Records */
void ecma_op_create_immutable_binding (ecma_object_t *, ecma_string_t *, ecma_value_t);
ecma_object_t *ecma_op_create_global_environment (ecma_object_t *);
/**
* @}
* @}
*/
#endif /* !ECMA_LEX_ENV_H */