예제 #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 override RepeatedField <DataAccessPath> GetPaths()
 {
     return(new RepeatedField <DataAccessPath>()
     {
         new DataAccessPath()
         {
             Mode = AccessedMethods.Any(x => x.Resolve().IsSetter)
                 ? AccessMode.Write
                 : AccessMode.Read
         }
     });
 }
예제 #4
0
        public override RepeatedField <DataAccessPath> GetPaths()
        {
            var path = new DataAccessPath()
            {
                Mode = AccessedMethods.Any(IsWriteAccessMode) ? AccessMode.Write : AccessMode.Read
            };

            path.Path.AddRange(GetAddressParts(_stateType));
            return(new RepeatedField <DataAccessPath>()
            {
                path
            });
        }
예제 #5
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);
        }