예제 #1
0
 def f(index, key):
     return PO.CPOCast(self, index, p.tags, args)
예제 #2
0
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
# ------------------------------------------------------------------------------
import xml.etree.ElementTree as ET

import advance.util.fileutil as UF
import advance.util.IndexedTable as IT

import advance.proof.CPOPredicate as PO

po_predicate_constructors = {
    'ab': lambda x: PO.CPOAllocationBase(*x),
    'b': lambda x: PO.CPOBuffer(*x),
    'c': lambda x: PO.CPOCast(*x),
    'cb': lambda x: PO.CPOCommonBase(*x),
    'cbt': lambda x: PO.CPOCommonBaseType(*x),
    'cls': lambda x: PO.CPOCanLeaveScope(*x),
    'cr': lambda x: PO.CPOControlledResource(*x),
    'cssl': lambda x: PO.CPOSignedToSignedCastLB(*x),
    'cssu': lambda x: PO.CPOSignedToSignedCastUB(*x),
    'csul': lambda x: PO.CPOSignedToUnsignedCastLB(*x),
    'csuu': lambda x: PO.CPOSignedToUnsignedCastUB(*x),
    'cus': lambda x: PO.CPOUnsignedToSignedCast(*x),
    'cuu': lambda x: PO.CPOUnsignedToUnsignedCast(*x),
    'dr': lambda x: PO.CPODistinctRegion(*x),
    'fc': lambda x: PO.CPOFormatCast(*x),
    'ft': lambda x: PO.CPOFormatString(*x),
    'ga': lambda x: PO.CPOGlobalAddress(*x),
    'ha': lambda x: PO.CPOHeapAddress(*x),