コード例 #1
0
        private void ComputeExceptionHandlerData(ExceptionHandlerData data, ExceptionHandler handler)
        {
            BlockRange range = this.ComputeRange(handler.HandlerStart, handler.HandlerEnd);

            switch (handler.HandlerType)
            {
            case ExceptionHandlerType.Catch:
                data.Catches.Add(new CatchHandlerData(handler.CatchType, range));
                break;

            case ExceptionHandlerType.Filter:
                throw new NotImplementedException();

            case ExceptionHandlerType.Finally:
                data.FinallyRange = range;
                break;

            case ExceptionHandlerType.Fault:
                data.FaultRange = range;
                break;
            }
        }
コード例 #2
0
 public CatchHandlerData(TypeReference type, BlockRange range)
 {
     this.Type  = type;
     this.Range = range;
 }
コード例 #3
0
 public CatchHandlerData(TypeReference type, BlockRange range)
 {
     this.Type = type;
     this.Range = range;
 }
コード例 #4
0
 public ExceptionHandlerData(BlockRange try_range)
 {
     this.try_range = try_range;
 }