Esempio n. 1
0
            public static SymbolKeyResolution Resolve(SymbolKeyReader reader)
            {
                var returnRefKind = reader.ReadRefKind();
                var returnType    = reader.ReadSymbolKey();

                using var paramRefKinds = reader.ReadRefKindArray();
                using var paramTypes    = reader.ReadSymbolKeyArray <ITypeSymbol>();

                if (paramTypes.IsDefault || !(returnType.GetAnySymbol() is ITypeSymbol returnTypeSymbol))
                {
                    return(default);
            public static SymbolKeyResolution Resolve(SymbolKeyReader reader, out string failureReason)
            {
                var returnRefKind = reader.ReadRefKind();
                var returnType    = reader.ReadSymbolKey(out var returnTypeFailureReason);

                using var paramRefKinds  = reader.ReadRefKindArray();
                using var parameterTypes = reader.ReadSymbolKeyArray <ITypeSymbol>(out var parameterTypesFailureReason);

                if (returnTypeFailureReason != null)
                {
                    failureReason = $"({nameof(FunctionPointerTypeSymbolKey)} {nameof(returnType)} failed -> {returnTypeFailureReason})";
                    return(default);