internal void SetSize() { fatFormat = base.isFat(); if (fatFormat) { return; } for (int i = 0; i < handlers.Count; i++) { HandlerBlock handler = (HandlerBlock)handlers[i]; if (handler.isFat()) { fatFormat = true; return; } } }
internal override void Write(FileImage output, bool fatFormat) { // Console.WriteLine("writing exception details"); for (int i = 0; i < handlers.Count; i++) { // Console.WriteLine("Except block " + i); HandlerBlock handler = (HandlerBlock)handlers[i]; if (fatFormat) { output.Write(flags); } else { output.Write((short)flags); } // Console.WriteLine("flags = " + Hex.Short(flags)); base.Write(output, fatFormat); handler.Write(output, fatFormat); } }
/// <summary> /// Add a handler to this try block /// </summary> /// <param name="handler">a handler to be added to the try block</param> public void AddHandler(HandlerBlock handler) { flags = handler.GetFlag(); handlers.Add(handler); }