1 #include "py/mpconfig.h"
2 #include "py/objint.h"
3 #include "py/objstr.h"
4 #include "py/emitglue.h"
5 
6 #if MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE != 0
7 #error "incompatible MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE"
8 #endif
9 
10 #if MICROPY_PY_BUILTINS_FLOAT
11 typedef struct _mp_obj_float_t {
12     mp_obj_base_t base;
13     mp_float_t value;
14 } mp_obj_float_t;
15 #endif
16 
17 #if MICROPY_PY_BUILTINS_COMPLEX
18 typedef struct _mp_obj_complex_t {
19     mp_obj_base_t base;
20     mp_float_t real;
21     mp_float_t imag;
22 } mp_obj_complex_t;
23 #endif
24 
25 enum {
26     MP_QSTR_uPy = MP_QSTRnumber_of,
27     MP_QSTR_i,
28     MP_QSTR_frozentest_dot_py,
29 };
30 
31 extern const qstr_pool_t mp_qstr_const_pool;
32 const qstr_pool_t mp_qstr_frozen_const_pool = {
33     (qstr_pool_t*)&mp_qstr_const_pool, // previous pool
34     MP_QSTRnumber_of, // previous pool size
35     3, // allocated entries
36     3, // used entries
37     {
38         (const byte*)"\xf9\x03" "uPy",
39         (const byte*)"\xcc\x01" "i",
40         (const byte*)"\xfe\x0d" "frozentest.py",
41     },
42 };
43 
44 // frozen bytecode for file frozentest.py, scope frozentest_<module>
45 STATIC const byte fun_data_frozentest__lt_module_gt_[92] = {
46     0x03, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0d,
47     MP_QSTR__lt_module_gt_ & 0xff, MP_QSTR__lt_module_gt_ >> 8,
48     MP_QSTR_frozentest_dot_py & 0xff, MP_QSTR_frozentest_dot_py >> 8,
49     0x2a, 0x28, 0x28, 0x28, 0x2b, 0x28, 0x00, 0x00, 0xff,
50     0x1b, MP_QSTR_print & 0xff, MP_QSTR_print >> 8,
51     0x16, MP_QSTR_uPy & 0xff, MP_QSTR_uPy >> 8,
52     0x64, 0x01,
53     0x32,
54     0x1b, MP_QSTR_print & 0xff, MP_QSTR_print >> 8,
55     0x17, 0x00,
56     0x64, 0x01,
57     0x32,
58     0x1b, MP_QSTR_print & 0xff, MP_QSTR_print >> 8,
59     0x17, 0x01,
60     0x64, 0x01,
61     0x32,
62     0x1b, MP_QSTR_print & 0xff, MP_QSTR_print >> 8,
63     0x17, 0x02,
64     0x64, 0x01,
65     0x32,
66     0x1b, MP_QSTR_print & 0xff, MP_QSTR_print >> 8,
67     0x14, 0xba, 0xef, 0x9a, 0x15,
68     0x64, 0x01,
69     0x32,
70     0x80,
71     0x35, 0x0f, 0x80,
72     0x30,
73     0x24, MP_QSTR_i & 0xff, MP_QSTR_i >> 8,
74     0x1b, MP_QSTR_print & 0xff, MP_QSTR_print >> 8,
75     0x1b, MP_QSTR_i & 0xff, MP_QSTR_i >> 8,
76     0x64, 0x01,
77     0x32,
78     0x81,
79     0xe5,
80     0x30,
81     0x84,
82     0xd7,
83     0x36, 0xeb, 0x7f,
84     0x32,
85     0x11,
86     0x5b,
87 };
88 STATIC const mp_obj_str_t const_obj_frozentest__lt_module_gt__0 = {{&mp_type_str}, 246, 34, (const byte*)"\x61\x20\x6c\x6f\x6e\x67\x20\x73\x74\x72\x69\x6e\x67\x20\x74\x68\x61\x74\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x74\x65\x72\x6e\x65\x64"};
89 STATIC const mp_obj_str_t const_obj_frozentest__lt_module_gt__1 = {{&mp_type_str}, 200, 38, (const byte*)"\x61\x20\x73\x74\x72\x69\x6e\x67\x20\x74\x68\x61\x74\x20\x68\x61\x73\x20\x75\x6e\x69\x63\x6f\x64\x65\x20\xce\xb1\xce\xb2\xce\xb3\x20\x63\x68\x61\x72\x73"};
90 STATIC const mp_obj_str_t const_obj_frozentest__lt_module_gt__2 = {{&mp_type_bytes}, 57, 11, (const byte*)"\x62\x79\x74\x65\x73\x20\x31\x32\x33\x34\x01"};
91 STATIC const mp_rom_obj_t const_table_data_frozentest__lt_module_gt_[3] = {
92     MP_ROM_PTR(&const_obj_frozentest__lt_module_gt__0),
93     MP_ROM_PTR(&const_obj_frozentest__lt_module_gt__1),
94     MP_ROM_PTR(&const_obj_frozentest__lt_module_gt__2),
95 };
96 const mp_raw_code_t raw_code_frozentest__lt_module_gt_ = {
97     .kind = MP_CODE_BYTECODE,
98     .scope_flags = 0x20,
99     .n_pos_args = 0,
100     .fun_data = fun_data_frozentest__lt_module_gt_,
101     .const_table = (mp_uint_t*)const_table_data_frozentest__lt_module_gt_,
102     #if MICROPY_PERSISTENT_CODE_SAVE
103     .fun_data_len = 92,
104     .n_obj = 3,
105     .n_raw_code = 0,
106     #if MICROPY_EMIT_NATIVE || MICROPY_EMIT_INLINE_ASM
107     .prelude_offset = 0,
108     .n_qstr = 0,
109     .qstr_link = NULL,
110     #endif
111     #endif
112     #if MICROPY_EMIT_NATIVE || MICROPY_EMIT_INLINE_ASM
113     .type_sig = 0,
114     #endif
115 };
116 
117 const char mp_frozen_mpy_names[] = {
118 "frozentest.py\0"
119 "\0"};
120 const mp_raw_code_t *const mp_frozen_mpy_content[] = {
121     &raw_code_frozentest__lt_module_gt_,
122 };
123