Exemplo n.º 1
0
        void CheckImplicitReturn(Method node)
        {
            if (Parameters.DisabledWarnings.Contains("BCW0023"))
            {
                return;
            }

            if (null == node.ReturnType ||
                null == node.ReturnType.Entity ||
                node.ReturnType.Entity == TypeSystemServices.VoidType ||
                node.Body.IsEmpty ||
                ((InternalMethod)node.Entity).IsGenerator ||
                node.Name == "ExpandImpl")                //ignore old-style macros
            {
                return;
            }

            if (!AstUtil.AllCodePathsReturnOrRaise(node.Body))
            {
                Warnings.Add(CompilerWarningFactory.ImplicitReturn(node));
            }
        }