hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#
# Copyright (C)       2006 Holger Hans Peter Freyther
#
# SPDX-License-Identifier: GPL-2.0-only
#
 
from bb.utils import better_compile, better_exec
 
def insert_method(modulename, code, fn, lineno):
    """
    Add code of a module should be added. The methods
    will be simply added, no checking will be done
    """
    comp = better_compile(code, modulename, fn, lineno=lineno)
    better_exec(comp, None, code, fn)
 
compilecache = {}
 
def compile_cache(code):
    h = hash(code)
    if h in compilecache:
        return compilecache[h]
    return None
 
def compile_cache_add(code, compileobj):
    h = hash(code)
    compilecache[h] = compileobj