Exemplo n.º 1
0
        private static ITypeHierarchy AnonymizeCodeNames(ITypeHierarchy raw)
        {
            if (raw == null)
            {
                return(null);
            }

            return(new TypeHierarchy
            {
                Element = raw.Element.ToAnonymousName(),
                Extends = AnonymizeCodeNames(raw.Extends),
                Implements = Sets.NewHashSetFrom(raw.Implements.Select(AnonymizeCodeNames))
            });
        }
Exemplo n.º 2
0
        private static CoReTypeName GetClassContext(CoReTypeName classCtx, ITypeHierarchy typeHierarchy)
        {
            var wasLambdaCtx = IsLambdaContext(classCtx);

            if (typeHierarchy.Extends != null)
            {
                // TODO @seb: fix analysis and remove check
                // ReSharper disable once ConditionIsAlwaysTrueOrFalse
                if (typeHierarchy.Extends.Element != null)
                {
                    classCtx = typeHierarchy.Extends.Element.ToCoReName();
                }
            }
            var isLambdaCtx = IsLambdaContext(classCtx);

            if (wasLambdaCtx && !isLambdaCtx)
            {
                return(new CoReTypeName(classCtx + "$Lambda"));
            }
            return(classCtx);
        }