// Statistics.cs : Generation statistics class implementation // // Author: Mike Kestner // // Copyright (c) 2002 Mike Kestner // Copyright (c) 2004 Novell, Inc. // // This program is free software; you can redistribute it and/or // modify it under the terms of version 2 of the GNU General Public // License as published by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // General Public License for more details. // // You should have received a copy of the GNU General Public // License along with this program; if not, write to the // Free Software Foundation, Inc., 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. namespace GtkSharp.Generation { using System; using System.Collections; public class Statistics { static int cbs = 0; static int enums = 0; static int objects = 0; static int structs = 0; static int boxed = 0; static int opaques = 0; static int interfaces = 0; static int methods = 0; static int ctors = 0; static int props = 0; static int sigs = 0; static int throttled = 0; static int ignored = 0; static bool vm_ignored = false; public static int CBCount { get { return cbs; } set { cbs = value; } } public static int EnumCount { get { return enums; } set { enums = value; } } public static int ObjectCount { get { return objects; } set { objects = value; } } public static int StructCount { get { return structs; } set { structs = value; } } public static int BoxedCount { get { return boxed; } set { boxed = value; } } public static int OpaqueCount { get { return opaques; } set { opaques = value; } } public static int CtorCount { get { return ctors; } set { ctors = value; } } public static int MethodCount { get { return methods; } set { methods = value; } } public static int PropCount { get { return props; } set { props = value; } } public static int SignalCount { get { return sigs; } set { sigs = value; } } public static int IFaceCount { get { return interfaces; } set { interfaces = value; } } public static int ThrottledCount { get { return throttled; } set { throttled = value; } } public static int IgnoreCount { get { return ignored; } set { ignored = value; } } public static bool VMIgnored { get { return vm_ignored; } set { if (value) vm_ignored = value; } } public static void Report() { if (VMIgnored) { Console.WriteLine(); Console.WriteLine("Warning: Generation throttled for Virtual Methods."); Console.WriteLine(" Consider regenerating with --gluelib-name and --glue-filename."); } Console.WriteLine(); Console.WriteLine("Generation Summary:"); Console.Write(" Enums: " + enums); Console.Write(" Structs: " + structs); Console.Write(" Boxed: " + boxed); Console.Write(" Opaques: " + opaques); Console.Write(" Interfaces: " + interfaces); Console.Write(" Objects: " + objects); Console.WriteLine(" Callbacks: " + cbs); Console.Write(" Properties: " + props); Console.Write(" Signals: " + sigs); Console.Write(" Methods: " + methods); Console.Write(" Constructors: " + ctors); Console.WriteLine(" Throttled: " + throttled); Console.WriteLine("Total Nodes: " + (enums+structs+boxed+opaques+interfaces+cbs+objects+props+sigs+methods+ctors+throttled)); Console.WriteLine(); } } }