Esempio n. 1
0
        internal EHClause(EHDecoder ehDecoder, int index, int[] offsetsMap)
        {
            kind          = (EHClauseKind)(ehDecoder.GetKind(index));
            tryStart      = offsetsMap[ehDecoder.GetTryOfs(index)];
            tryLength     = offsetsMap[ehDecoder.GetTryOfs(index) + ehDecoder.GetTryLen(index)] - tryStart;
            handlerStart  = offsetsMap[ehDecoder.GetHOfs(index)];
            handlerLength = offsetsMap[ehDecoder.GetHOfs(index) + ehDecoder.GetHLen(index)] - handlerStart;

            classObject = (kind == EHClauseKind.TypeFilteredHandler) ? ehDecoder.GetClass(index) as Type : null;
            filterStart = (kind == EHClauseKind.UserFilteredHandler) ? ehDecoder.GetFOfs(index) : -1;
        }
Esempio n. 2
0
        internal EHClause(EHDecoder ehDecoder, int index, int[] offsetsMap)
        {
            kind = (EHClauseKind)(ehDecoder.GetKind(index));
            tryStart = offsetsMap[ehDecoder.GetTryOfs(index)];
            tryLength = offsetsMap[ehDecoder.GetTryOfs(index)+ehDecoder.GetTryLen(index)]-tryStart;
            handlerStart = offsetsMap[ehDecoder.GetHOfs(index)];
            handlerLength = offsetsMap[ehDecoder.GetHOfs(index)+ehDecoder.GetHLen(index)]-handlerStart;

            classObject = (kind == EHClauseKind.TypeFilteredHandler) ? ehDecoder.GetClass(index) as Type : null;
            filterStart = (kind == EHClauseKind.UserFilteredHandler) ? ehDecoder.GetFOfs(index) : -1;
        }