Example #1
0
 def f(index, key):
     return XP.XStackAddress(self, index, p.tags, args)
Example #2
0
    'no': lambda x: XP.XNoOverlap(*x),
    'nn': lambda x: XP.XNotNull(*x),
    'nng': lambda x: XP.XNonNegative(*x),
    'nz': lambda x: XP.XNotZero(*x),
    'null': lambda x: XP.XNull(*x),
    'nt': lambda x: XP.XNullTerminated(*x),
    'ofs': lambda x: XP.XOutputFormatString(*x),
    'pr': lambda x: XP.XPreservesMemory(*x),
    'pv': lambda x: XP.XPreservesValue(*x),
    'prm': lambda x: XP.XPreservesAllMemory(*x),
    'prmx': lambda x: XP.XPreservesAllMemoryX(*x),
    'prn': lambda x: XP.XPreservesNullTermination(*x),
    'prv': lambda x: XP.XPreservesValidity(*x),
    'rb': lambda x: XP.XRevBuffer(*x),
    'rep': lambda x: XP.XRepositioned(*x),
    'sa': lambda x: XP.XStackAddress(*x),
    'x': lambda x: XP.XRelationalExpr(*x),
    'cf': lambda x: XP.XConfined(*x),
    'tt': lambda x: XP.XTainted(*x),
    'up': lambda x: XP.XUniquePointer(*x),
    'vm': lambda x: XP.XValidMem(*x)
}


class InterfaceDictionary(object):
    """Function interface constructs."""
    def __init__(self, cfile):
        self.cfile = cfile
        self.declarations = self.cfile.declarations
        self.dictionary = self.declarations.dictionary
        self.api_parameter_table = IT.IndexedTable('api-parameter-table')