Пример #1
0
        internal EHClausesArray(EHDecoder ehDecoder, int[] offsetsMap)
        {
            clauses = new EHClause [ehDecoder.GetCount()];

            for (int i = 0; i < ehDecoder.GetCount(); i++)
            {
                clauses[i] = new EHClause(ehDecoder, i, offsetsMap);
            }
        }
Пример #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;
        }
Пример #3
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;
        }
Пример #4
0
        internal EHClausesArray(EHDecoder ehDecoder, int[] offsetsMap)
        {
            clauses = new EHClause [ehDecoder.GetCount()];

            for (int i = 0; i < ehDecoder.GetCount(); i++)
                clauses[i] = new EHClause(ehDecoder,i,offsetsMap);
        }