public static bool IsAvailable([CanBeNull] IMethodDeclaration methodDeclaration)
        {
            if (methodDeclaration == null)
            {
                return(false);
            }

            var declaredElement = methodDeclaration.DeclaredElement;

            return(declaredElement != null && methodDeclaration.IsValid() &&
                   !BurstCodeAnalysisUtil.IsBurstProhibitedFunction(declaredElement));
        }
Exemple #2
0
        public static bool IsAvailable([CanBeNull] IMethodDeclaration methodDeclaration)
        {
            if (methodDeclaration == null)
            {
                return(false);
            }

            methodDeclaration.GetPsiServices().Locks.AssertReadAccessAllowed();

            var declaredElement = methodDeclaration.DeclaredElement;

            return(declaredElement != null && methodDeclaration.IsValid() &&
                   !BurstCodeAnalysisUtil.IsBurstProhibitedFunction(declaredElement));
        }
Exemple #3
0
        public override LocalList <IDeclaredElement> GetBanMarksFromNode(ITreeNode currentNode, IDeclaredElement containingFunction)
        {
            var result = base.GetBanMarksFromNode(currentNode, containingFunction);

            if (containingFunction == null)
            {
                return(result);
            }

            var functionDeclaration = currentNode as IFunctionDeclaration;
            var function            = functionDeclaration?.DeclaredElement;

            if (function == null)
            {
                return(result);
            }

            if (BurstCodeAnalysisUtil.IsBurstProhibitedFunction(function))
            {
                result.Add(function);
            }

            return(result);
        }