Exemplo n.º 1
0
        public override void EvaluateNode(OTreeNode node)
        {
            MethodInfo m = (MethodInfo)node.Definition;

            if (m.GetMethodBody() != null)
            {
                foreach (LocalVariableInfo i in m.GetMethodBody().LocalVariables)
                {
                    if (!i.LocalType.IsGenericParameter && !i.LocalType.IsGenericType)
                    {
                        if (i.LocalType.IsArray)
                        {
                            if (i.LocalType.GetElementType().IsGenericParameter || i.LocalType.GetElementType().IsGenericType)
                            {
                                continue;
                            }
                        }
                        if (i.LocalType.IsInterface)
                        {
#if DebugWarnings
                            Log.WriteLine("Warning: " + NameBuilder.BuildMethodName(m) + " Uses an interface");
#endif
                            if (node.SelectedImageIndex != Constants.ErrorIcon)
                            {
                                node.SelectedImageIndex = Constants.WarningIcon;
                                node.ImageIndex         = Constants.WarningIcon;
                            }
                            node.Warnings.Add(this);
                            return;
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        public override void EvaluateNode(OTreeNode node)
        {
            MethodInfo m = (MethodInfo)node.Definition;

            if ((m.Attributes & MethodAttributes.PinvokeImpl) != 0)
            {
#if DebugErrors
                Log.WriteLine(NameBuilder.BuildMethodName(m) + " ~ PInvoke Impl");
#endif
                node.SelectedImageIndex = Constants.ErrorIcon;
                node.ImageIndex         = Constants.ErrorIcon;
                node.Errors.Add(this);
            }
        }
Exemplo n.º 3
0
        public override void EvaluateNode(OTreeNode node)
        {
            MethodInfo           m          = (MethodInfo)node.Definition;
            MethodImplAttributes xImplFlags = m.GetMethodImplementationFlags();

            if ((xImplFlags & MethodImplAttributes.Unmanaged) != 0)
            {
#if DebugErrors
                Log.WriteLine(NameBuilder.BuildMethodName(m) + " ~ Method Implementation: Unmanaged");
#endif
                node.SelectedImageIndex = Constants.ErrorIcon;
                node.ImageIndex         = Constants.ErrorIcon;
                node.Errors.Add(this);
            }
        }