IEnumerable <Yarn.Analysis.Diagnosis> AnalyseEnvironment() { var deprecations = new List <Deprecation>(); deprecations.Add(new Deprecation( typeof(Yarn.Unity.VariableStorageBehaviour), "SetNumber", "This method is obsolete, and will not be called in future " + "versions of Yarn Spinner. Use SetValue instead." )); deprecations.Add(new Deprecation( typeof(Yarn.Unity.VariableStorageBehaviour), "GetNumber", "This method is obsolete, and will not be called in future " + "versions of Yarn Spinner. Use GetValue instead." )); var results = new List <Yarn.Analysis.Diagnosis>(); var assemblies = System.AppDomain.CurrentDomain.GetAssemblies(); foreach (var assembly in assemblies) { foreach (var type in assembly.GetTypes()) { foreach (var deprecation in deprecations) { if (!type.IsSubclassOf(deprecation.type)) { continue; } foreach (var method in type.GetMethods()) { if (method.Name == deprecation.methodName && method.DeclaringType == type) { var message = "{0} implements the {1} method. {2}"; message = string.Format(message, type.Name, deprecation.methodName, deprecation.usageNotes); var diagnosis = new Yarn.Analysis.Diagnosis(message, Yarn.Analysis.Diagnosis.Severity.Warning); results.Add(diagnosis); } } } } } return(results); }
IEnumerable<Yarn.Analysis.Diagnosis> AnalyseEnvironment() { var deprecations = new List<Deprecation>(); deprecations.Add(new Deprecation( typeof(Yarn.Unity.VariableStorageBehaviour), "SetNumber", "This method is obsolete, and will not be called in future versions of Yarn Spinner. Use SetValue instead." )); deprecations.Add(new Deprecation( typeof(Yarn.Unity.VariableStorageBehaviour), "GetNumber", "This method is obsolete, and will not be called in future versions of Yarn Spinner. Use GetValue instead." )); var results = new List<Yarn.Analysis.Diagnosis>(); var assemblies = System.AppDomain.CurrentDomain.GetAssemblies(); foreach (var assembly in assemblies) { foreach (var type in assembly.GetTypes()) { foreach (var deprecation in deprecations) { if (!type.IsSubclassOf (deprecation.type)) continue; foreach (var method in type.GetMethods ()) { if (method.Name == deprecation.methodName && method.DeclaringType == type) { var message = "{0} implements the {1} method. {2}"; message = string.Format (message, type.Name, deprecation.methodName, deprecation.usageNotes); var diagnosis = new Yarn.Analysis.Diagnosis (message, Yarn.Analysis.Diagnosis.Severity.Warning); results.Add (diagnosis); } } } } } return results; }