void jl_init_primitives(void) { add_builtin_func("is", jl_f_is); add_builtin_func("typeof", jl_f_typeof); add_builtin_func("subtype", jl_f_subtype); add_builtin_func("isa", jl_f_isa); add_builtin_func("typeassert", jl_f_typeassert); add_builtin_func("apply", jl_f_apply); add_builtin_func("kwcall", jl_f_kwcall); add_builtin_func("throw", jl_f_throw); add_builtin_func("tuple", jl_f_tuple); add_builtin_func("Union", jl_f_union); add_builtin_func("method_exists", jl_f_methodexists); add_builtin_func("applicable", jl_f_applicable); add_builtin_func("invoke", jl_f_invoke); add_builtin_func("eval", jl_f_top_eval); add_builtin_func("isdefined", jl_f_isdefined); add_builtin_func("yieldto", jl_f_yieldto); // functions for internal use add_builtin_func("convert_default", jl_f_convert_default); add_builtin_func("convert_tuple", jl_f_convert_tuple); add_builtin_func("tupleref", jl_f_tupleref); add_builtin_func("tuplelen", jl_f_tuplelen); add_builtin_func("getfield", jl_f_get_field); add_builtin_func("setfield", jl_f_set_field); add_builtin_func("fieldtype", jl_f_field_type); add_builtin_func("arraylen", jl_f_arraylen); add_builtin_func("arrayref", jl_f_arrayref); add_builtin_func("arrayset", jl_f_arrayset); add_builtin_func("arraysize", jl_f_arraysize); add_builtin_func("apply_type", jl_f_instantiate_type); // builtin types add_builtin("Any", (jl_value_t*)jl_any_type); add_builtin("None", (jl_value_t*)jl_bottom_type); add_builtin("Void", (jl_value_t*)jl_bottom_type); add_builtin("Top", (jl_value_t*)jl_top_type); add_builtin("TypeVar", (jl_value_t*)jl_tvar_type); add_builtin("TypeName", (jl_value_t*)jl_typename_type); add_builtin("TypeConstructor", (jl_value_t*)jl_typector_type); add_builtin("Tuple", (jl_value_t*)jl_tuple_type); add_builtin("NTuple", (jl_value_t*)jl_ntuple_type); add_builtin("Type", (jl_value_t*)jl_type_type); add_builtin("Vararg", (jl_value_t*)jl_vararg_type); add_builtin("DataType", (jl_value_t*)jl_datatype_type); add_builtin("UnionType", (jl_value_t*)jl_uniontype_type); add_builtin("Undef", (jl_value_t*)jl_undef_type); add_builtin("Module", (jl_value_t*)jl_module_type); add_builtin("Method", (jl_value_t*)jl_method_type); add_builtin("MethodTable", (jl_value_t*)jl_methtable_type); add_builtin("Symbol", (jl_value_t*)jl_sym_type); add_builtin("IntrinsicFunction", (jl_value_t*)jl_intrinsic_type); add_builtin("Function", (jl_value_t*)jl_function_type); add_builtin("LambdaStaticData", (jl_value_t*)jl_lambda_info_type); add_builtin("Ptr", (jl_value_t*)jl_pointer_type); add_builtin("Box", (jl_value_t*)jl_box_type); add_builtin("Task", (jl_value_t*)jl_task_type); add_builtin("AbstractArray", (jl_value_t*)jl_abstractarray_type); add_builtin("Array", (jl_value_t*)jl_array_type); add_builtin("Expr", (jl_value_t*)jl_expr_type); add_builtin("LineNumberNode", (jl_value_t*)jl_linenumbernode_type); add_builtin("LabelNode", (jl_value_t*)jl_labelnode_type); add_builtin("GotoNode", (jl_value_t*)jl_gotonode_type); add_builtin("QuoteNode", (jl_value_t*)jl_quotenode_type); add_builtin("TopNode", (jl_value_t*)jl_topnode_type); add_builtin("NewvarNode", (jl_value_t*)jl_newvarnode_type); #ifdef _P64 add_builtin("Int", (jl_value_t*)jl_int64_type); #else add_builtin("Int", (jl_value_t*)jl_int32_type); #endif add_builtin("ANY", jl_ANY_flag); }
void jl_init_primitives(void) { add_builtin_func("is", jl_f_is); add_builtin_func("typeof", jl_f_typeof); add_builtin_func("subtype", jl_f_subtype); add_builtin_func("isa", jl_f_isa); add_builtin_func("typeassert", jl_f_typeassert); add_builtin_func("apply", jl_f_apply); add_builtin_func("throw", jl_f_throw); add_builtin_func("tuple", jl_f_tuple); add_builtin_func("Union", jl_f_union); add_builtin_func("method_exists", jl_f_methodexists); add_builtin_func("applicable", jl_f_applicable); add_builtin_func("invoke", jl_f_invoke); add_builtin_func("eval", jl_f_top_eval); add_builtin_func("isbound", jl_f_isbound); add_builtin_func("yieldto", jl_f_yieldto); // functions for internal use add_builtin_func("convert_default", jl_f_convert_default); add_builtin_func("convert_tuple", jl_f_convert_tuple); add_builtin_func("tupleref", jl_f_tupleref); add_builtin_func("tuplelen", jl_f_tuplelen); add_builtin_func("getfield", jl_f_get_field); add_builtin_func("_setfield", jl_f_set_field); add_builtin_func("fieldtype", jl_f_field_type); add_builtin_func("arraylen", jl_f_arraylen); add_builtin_func("arrayref", jl_f_arrayref); add_builtin_func("arrayset", jl_f_arrayset); add_builtin_func("arraysize", jl_f_arraysize); add_builtin_func("apply_type", jl_f_instantiate_type); add_builtin_func("typevar", jl_f_typevar); add_builtin_func("new_type_constructor", jl_f_new_type_constructor); // builtin types add_builtin("Any", (jl_value_t*)jl_any_type); add_builtin("None", (jl_value_t*)jl_bottom_type); add_builtin("Void", (jl_value_t*)jl_bottom_type); add_builtin("Top", (jl_value_t*)jl_top_type); add_builtin("TypeVar", (jl_value_t*)jl_tvar_type); add_builtin("TypeName", (jl_value_t*)jl_typename_type); add_builtin("TypeConstructor", (jl_value_t*)jl_typector_type); add_builtin("Tuple", (jl_value_t*)jl_tuple_type); add_builtin("NTuple", (jl_value_t*)jl_ntuple_type); add_builtin("Type", (jl_value_t*)jl_type_type); add_builtin("...", (jl_value_t*)jl_seq_type); add_builtin("BitsKind", (jl_value_t*)jl_bits_kind); add_builtin("CompositeKind", (jl_value_t*)jl_struct_kind); add_builtin("AbstractKind", (jl_value_t*)jl_tag_kind); add_builtin("UnionKind", (jl_value_t*)jl_union_kind); // todo: this should only be visible to compiler components add_builtin("Undef", (jl_value_t*)jl_undef_type); add_builtin("Module", (jl_value_t*)jl_module_type); add_builtin("Method", (jl_value_t*)jl_method_type); add_builtin("MethodTable", (jl_value_t*)jl_methtable_type); add_builtin("Symbol", (jl_value_t*)jl_sym_type); add_builtin("IntrinsicFunction", (jl_value_t*)jl_intrinsic_type); add_builtin("Function", (jl_value_t*)jl_function_type); add_builtin("LambdaStaticData", (jl_value_t*)jl_lambda_info_type); add_builtin("Ptr", (jl_value_t*)jl_pointer_type); add_builtin("Box", (jl_value_t*)jl_box_type); add_builtin("Task", (jl_value_t*)jl_task_type); add_builtin("AbstractArray", (jl_value_t*)jl_abstractarray_type); add_builtin("Array", (jl_value_t*)jl_array_type); add_builtin("Expr", (jl_value_t*)jl_expr_type); add_builtin("LineNumberNode", (jl_value_t*)jl_linenumbernode_type); add_builtin("LabelNode", (jl_value_t*)jl_labelnode_type); add_builtin("GotoNode", (jl_value_t*)jl_gotonode_type); add_builtin("QuoteNode", (jl_value_t*)jl_quotenode_type); add_builtin("TopNode", (jl_value_t*)jl_topnode_type); #ifdef __LP64__ add_builtin("Int", (jl_value_t*)jl_int64_type); #else add_builtin("Int", (jl_value_t*)jl_int32_type); #endif add_builtin("ANY", jl_ANY_flag); }
void jl_add_builtin_func(const char *name, jl_fptr_t f) { return add_builtin_func(name, f); }