예제 #1
0
        public override RepeatedField <DataAccessPath> GetPaths()
        {
            var paths     = new RepeatedField <DataAccessPath>();
            var toBeAdded = AccessedMethods.Select(x => PropertyMethodIndex[x.Resolve()])
                            .Where(x => x != null)
                            .Where(PropertyTypeIsNotThisStateType)
                            .SelectMany(x => GetPathsForOwnedProperty(x).Select(y => y.WithPrefix(x.Name)));

            paths.AddRange(toBeAdded);
            return(paths);
        }
예제 #2
0
        public RepeatedField <InlineCall> GetInlineCalls()
        {
            var calls     = new RepeatedField <InlineCall>();
            var toBeAdded = AccessedMethods.Select(x => PropertyMethodIndex[x.Resolve()])
                            .Where(x => x != null)
                            .Where(PropertyTypeIsNotThisStateType)
                            .SelectMany(x => GetInlineCallsForOwnedProperty(x).Select(y => y.WithPrefix(x.Name)));

            calls.AddRange(toBeAdded);
            return(calls);
        }
예제 #3
0
        public RepeatedField <InlineCall> GetInlineCalls()
        {
            if (!IsContractReferenceState())
            {
                return(new RepeatedField <InlineCall>());
            }

            var calls     = new RepeatedField <InlineCall>();
            var toBeAdded = AccessedMethods.Select(x => PropertyMethodIndex[x.Resolve()])
                            .Where(x => x != null)
                            .Where(PropertyTypeIsActionType)
                            .Select(x => new InlineCall()
            {
                MethodName = x.Name
            });

            calls.AddRange(toBeAdded);
            return(calls);
        }