/// <summary>
    /// Create Delta Paks based on Level Transitions.
    /// </summary>
    /// <param name="MapFrom"></param>
    /// <param name="MapTo"></param>
    public void CreateDeltaMapPaks(string MapFrom, string MapTo)
    {
        foreach (string NameKey in DependencyJson.Keys)
        {
            if (NameKey.Contains(MapFrom))
            {
                MapFrom = NameKey;
            }
            if (NameKey.Contains(MapTo))
            {
                MapTo = NameKey;
            }
        }

        List <string> MapFromAssets = Array.ConvertAll <object, string>(DependencyJson[MapFrom] as object[], Convert.ToString).ToList();

        MapFromAssets.Add(MapFrom);
        List <string> MapToAssets = Array.ConvertAll <object, string>(DependencyJson[MapTo] as object[], Convert.ToString).ToList();

        MapToAssets.Add(MapTo);

        object[]      Value            = (object[])DependencyJson["ContentDirectoryAssets"];
        List <string> ContentDirectory = Array.ConvertAll <object, string>(Value, Convert.ToString).ToList();

        // Delta.
        List <string> DeltaAssets = MapToAssets.Except(MapFromAssets).Except(ContentDirectory).ToList();

        // create a pak file for this delta.
        string[] Tokens_MapFrom = MapFrom.Split('/');
        string[] Tokens_MapTo   = MapTo.Split('/');

        string DeltaPakName = Tokens_MapFrom[Tokens_MapFrom.Length - 1] + "_" + Tokens_MapTo[Tokens_MapTo.Length - 1];

        CreatePak(DeltaPakName, DeltaAssets);
    }
                // TODO
                // {A48C75B3-07B4-4D84-8803-250D6406695D}
                // this is a bit weird
                // it is get or create
                // but like if something as already made a hopeful member it will just throw
                // that is probably a bug
                // x.y := 5
                // 5 > x
                // boom, probably
                public TransientMember GetReturns(IValue value)
                {
                    if (value.Hopeful is IIsDefinately <InferredType> inferredType)
                    {
                        return(inferredType.Value.Returns.GetOrThrow());
                    }
                    else
                    {
                        var inferredMethodType = new InferredType(this, "generated infered method type");
                        value.Hopeful = Possibly.Is(inferredMethodType);

                        // shared code {A9E37392-760B-427D-852E-8829EEFCAE99}
                        // we don't use has member input/output doesn't go in the member list
                        // it is not a public member
                        // and infered to do not have private members
                        var methodInputKey = new NameKey("generated infered method input - " + Guid.NewGuid());
                        var inputMember    = new Member(this, methodInputKey.ToString() !);
                        inputMember.LooksUp      = Possibly.Is(Prototypist.Toolbox.OrType.Make <MethodType, Type, Object, OrType, InferredType, GenericTypeParameter, IError>(new InferredType(this, "implicit input")));
                        inferredMethodType.Input = Possibly.Is(inputMember);

                        var returnMember = new TransientMember(this, "generated infered method return -" + Guid.NewGuid());
                        returnMember.LooksUp       = Possibly.Is(Prototypist.Toolbox.OrType.Make <MethodType, Type, Object, OrType, InferredType, GenericTypeParameter, IError>(new InferredType(this, "implicit return")));
                        inferredMethodType.Returns = Possibly.Is(returnMember);

                        return(returnMember);
                    }
                }
Esempio n. 3
0
        public PointObject()
        {
            var keyX   = new NameKey("x");
            var localX = MemberDefinition.CreateAndBuild(keyX, new AnyType(), Access.ReadWrite);
            var keyY   = new NameKey("y");
            var localY = MemberDefinition.CreateAndBuild(keyY, new AnyType(), Access.ReadWrite);

            RootScope = Model.Instantiated.RootScope.CreateAndBuild(
                Scope.CreateAndBuild(
                    new List <IsStatic>()
            {
                new IsStatic(MemberDefinition.CreateAndBuild(new NameKey("point"), new AnyType(), Access.ReadWrite), false)
            }),
                new[] {
                AssignOperation.CreateAndBuild(
                    ObjectDefiniton.CreateAndBuild(
                        Scope.CreateAndBuild(
                            new List <IsStatic> {
                    new IsStatic(localX, false),
                    new IsStatic(localY, false)
                }),
                        new IAssignOperation[] {
                    AssignOperation.CreateAndBuild(
                        ConstantNumber.CreateAndBuild(5),
                        MemberReference.CreateAndBuild(localX)),
                    AssignOperation.CreateAndBuild(
                        ConstantNumber.CreateAndBuild(2),
                        MemberReference.CreateAndBuild(localY))
                },
                        InterfaceType.CreateAndBuild(new [] { localX, localY })),
                    MemberReference.CreateAndBuild(MemberDefinition.CreateAndBuild(new NameKey("point"), new AnyType(), Access.ReadWrite)))
            },
                EntryPointDefinition.CreateAndBuild(new EmptyType(), MemberDefinition.CreateAndBuild(new NameKey("input"), new NumberType(), Access.ReadWrite), Scope.CreateAndBuild(Array.Empty <IsStatic>()), Array.Empty <ICodeElement>(), Array.Empty <ICodeElement>()));
        }
Esempio n. 4
0
        public ISetUpResult <IBox <WeakMemberReference>, Tpn.TypeProblem2.Member> Run(Tpn.IStaticScope scope, ISetUpContext context)
        {
            // this is a bit werid
            // it creates member possibly on parent for code like
            // type {x;y;}
            // or
            // object {1 =: x; 2 =: y;}
            // the second is really bad tho, if you had:
            // 1 =: x;
            // object {1 =: x; 2 =: y;}
            // the possible member for x in the object would not result in a real member

            // {48146F3A-6D75-4F24-B857-BED24CE846EA}
            // here is a painful situaltion
            // 1 =: x;
            // object {x =: x; 2 =: y;}
            // in object the LHS x is resolves up
            // the RHS x resolves to create a new member

            if (!(scope is Tpn.IHavePossibleMembers possibleScope))
            {
                throw new NotImplementedException("this should be an IError");
            }

            var nameKey = new NameKey(memberName);
            var member  = GetMember(scope, context, possibleScope, nameKey);

            return(new SetUpResult <IBox <WeakMemberReference>, Tpn.TypeProblem2.Member>(new MemberResolveReferance(nameKey), OrType.Make <Tpn.TypeProblem2.Member, IError>(member)));
        }
Esempio n. 5
0
        public void InterestingCase2()
        {
            var member1Key      = new NameKey("x");
            var memeber1TypeBox = new Box <IOrType <IFrontendType <IVerifiableType>, IError> >();
            var member1         = new WeakMemberDefinition(Access.ReadWrite, member1Key, memeber1TypeBox);
            var type1           = new HasMembersType(new WeakScope(new List <WeakMemberDefinition> {
                member1
            }));

            memeber1TypeBox.Fill(OrType.Make <IFrontendType <IVerifiableType>, IError>(type1));

            var member2Key      = new NameKey("x");
            var memeber2TypeBox = new Box <IOrType <IFrontendType <IVerifiableType>, IError> >();
            var member2         = new WeakMemberDefinition(Access.ReadWrite, member2Key, memeber2TypeBox);
            var member3Key      = new NameKey("y");
            var member3         = new WeakMemberDefinition(Access.ReadWrite, member3Key, new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(new NumberType())));
            var type2           = new HasMembersType(new WeakScope(new List <WeakMemberDefinition> {
                member2, member3
            }));

            memeber2TypeBox.Fill(OrType.Make <IFrontendType <IVerifiableType>, IError>(type2));

            Assert.False(type1.TheyAreUs(type2, new List <(IFrontendType <IVerifiableType>, IFrontendType <IVerifiableType>)>()).Is1OrThrow());
            Assert.False(type2.TheyAreUs(type1, new List <(IFrontendType <IVerifiableType>, IFrontendType <IVerifiableType>)>()).Is1OrThrow());
        }
Esempio n. 6
0
 public ModuleDefinitionPopulateScope(
     IPopulateScope <IFrontendCodeElement, ISetUpSideNode>[] elements,
     NameKey nameKey)
 {
     this.elements = elements ?? throw new ArgumentNullException(nameof(elements));
     this.nameKey  = nameKey ?? throw new ArgumentNullException(nameof(nameKey));
 }
Esempio n. 7
0
 public static IPopulateBoxes <WeakModuleDefinition> PopulateBoxes(IResolvableScope scope,
                                                                   IPopulateBoxes <IConvertableFrontendCodeElement <ICodeElement> >[] resolveReferance,
                                                                   NameKey nameKey)
 {
     return(new ModuleDefinitionResolveReferance(scope,
                                                 resolveReferance,
                                                 nameKey));
 }
Esempio n. 8
0
 public ModuleDefinitionResolveReferance(
     IResolvableScope scope,
     IPopulateBoxes <IFrontendCodeElement>[] resolveReferance,
     NameKey nameKey)
 {
     this.scope            = scope ?? throw new ArgumentNullException(nameof(scope));
     this.resolveReferance = resolveReferance ?? throw new ArgumentNullException(nameof(resolveReferance));
     this.nameKey          = nameKey ?? throw new ArgumentNullException(nameof(nameKey));
 }
Esempio n. 9
0
        public PairType()
        {
            var pairTypeNumber =
                InterfaceType.CreateAndBuild(
                    new List <IMemberDefinition> {
                MemberDefinition.CreateAndBuild(new NameKey("x"), new NumberType(), false),
                MemberDefinition.CreateAndBuild(new NameKey("y"), new NumberType(), false)
            });

            var inputKey = new NameKey("input");
            var input    = MemberDefinition.CreateAndBuild(inputKey, new NumberType(), false);

            var methodScope = Scope.CreateAndBuild(new List <Scope.IsStatic> {
                new Scope.IsStatic(input, false)
            });

            var localX = MemberDefinition.CreateAndBuild(new NameKey("x"), new NumberType(), false);
            var localY = MemberDefinition.CreateAndBuild(new NameKey("y"), new NumberType(), false);

            var pairifyKey = new NameKey("pairify");
            var pairify    = MemberDefinition.CreateAndBuild(pairifyKey, MethodType.CreateAndBuild(new NumberType(), pairTypeNumber), false);

            Module = ModuleDefinition.CreateAndBuild(
                Scope.CreateAndBuild(
                    new List <Scope.IsStatic> {
                new Scope.IsStatic(MemberDefinition.CreateAndBuild(pairifyKey, MethodType.CreateAndBuild(new NumberType(), pairTypeNumber), false), false)
            }),
                new ICodeElement[] {
                AssignOperation.CreateAndBuild(
                    MethodDefinition.CreateAndBuild(
                        new NumberType(),
                        pairTypeNumber,
                        input,
                        methodScope,
                        new ICodeElement[] {
                    ReturnOperation.CreateAndBuild(
                        ObjectDefiniton.CreateAndBuild(
                            Scope.CreateAndBuild(
                                new List <Scope.IsStatic> {
                        new Scope.IsStatic(localX, false),
                        new Scope.IsStatic(localY, false)
                    }),
                            new IAssignOperation[] {
                        AssignOperation.CreateAndBuild(
                            MemberReference.CreateAndBuild(input),
                            MemberReference.CreateAndBuild(localX)),
                        AssignOperation.CreateAndBuild(
                            MemberReference.CreateAndBuild(input),
                            MemberReference.CreateAndBuild(localY))
                    }))
                },
                        new ICodeElement[0],
                        false),
                    MemberReference.CreateAndBuild(pairify))
            },
                new NameKey("pair-type"));
        }
Esempio n. 10
0
            public IResolvelizeScope <WeakMemberReference, ISetUpMember> Run(IDefineMembers scope, IPopulateScopeContext context)
            {
                var nameKey = new NameKey(memberName);
                var member  = context.TypeProblem.CreateMember(nameKey);

                scope.Cast <ISetUpScope>().MightHaveMember(member);

                return(new MemberFinalizeScope(nameKey, member));
            }
Esempio n. 11
0
 public ModuleDefinitionFinalizeScope(
     ISetUpObject scope,
     IResolvelizeScope <IFrontendCodeElement, ISetUpSideNode>[] elements,
     NameKey nameKey)
 {
     SetUpSideNode = scope ?? throw new ArgumentNullException(nameof(scope));
     this.elements = elements ?? throw new ArgumentNullException(nameof(elements));
     this.nameKey  = nameKey ?? throw new ArgumentNullException(nameof(nameKey));
 }
Esempio n. 12
0
 public GenericTypeDefinitionPopulateScope(
     NameKey nameKey,
     IEnumerable <IPopulateScope <IFrontendCodeElement, ISetUpSideNode> > lines,
     IGenericTypeParameterPlacholder[] genericParameters)
 {
     this.nameKey           = nameKey ?? throw new ArgumentNullException(nameof(nameKey));
     this.lines             = lines ?? throw new ArgumentNullException(nameof(lines));
     this.genericParameters = genericParameters ?? throw new ArgumentNullException(nameof(genericParameters));
 }
Esempio n. 13
0
 public GenericTypeDefinitionPopulateScope(
     NameKey nameKey,
     IReadOnlyList <IOrType <ISetUp <IBox <IFrontendCodeElement>, Tpn.ITypeProblemNode>, IError> > lines,
     NameKey[] genericParameters)
 {
     this.nameKey           = nameKey ?? throw new ArgumentNullException(nameof(nameKey));
     this.lines             = lines ?? throw new ArgumentNullException(nameof(lines));
     this.genericParameters = genericParameters ?? throw new ArgumentNullException(nameof(genericParameters));
 }
Esempio n. 14
0
        public Closoure()
        {
            var xKey = new NameKey("x");
            var x    = MemberDefinition.CreateAndBuild(xKey, new NumberType(), false);

            var yKey = new NameKey("y");
            var y    = MemberDefinition.CreateAndBuild(yKey, new NumberType(), false);

            var methodScope = Scope.CreateAndBuild(new List <Scope.IsStatic> {
                new Scope.IsStatic(x, false)
            });
            var innerMethodScope = Scope.CreateAndBuild(new List <Scope.IsStatic> {
                new Scope.IsStatic(y, false)
            }, methodScope);

            Module = ModuleDefinition.CreateAndBuild(
                Scope.CreateAndBuild(
                    new List <Scope.IsStatic>()
            {
                new Scope.IsStatic(MemberDefinition.CreateAndBuild(new NameKey("create-accululator"), new AnyType(), false), false)
            }),
                new[] {
                AssignOperation.CreateAndBuild(
                    MethodDefinition.CreateAndBuild(
                        new NumberType(),
                        MethodType.CreateAndBuild(
                            new NumberType(),
                            new NumberType()),
                        x,
                        methodScope,
                        new ICodeElement[] {
                    ReturnOperation.CreateAndBuild(
                        MethodDefinition.CreateAndBuild(
                            new NumberType(),
                            new NumberType(),
                            y,
                            innerMethodScope,
                            new ICodeElement[] {
                        AssignOperation.CreateAndBuild(
                            AddOperation.CreateAndBuild(
                                MemberReference.CreateAndBuild(x),
                                MemberReference.CreateAndBuild(y)),
                            MemberReference.CreateAndBuild(x)),
                        ReturnOperation.CreateAndBuild(
                            MemberReference.CreateAndBuild(x))
                    },
                            new ICodeElement[0],
                            false)
                        )
                },
                        new ICodeElement[0],
                        false),
                    MemberReference.CreateAndBuild(MemberDefinition.CreateAndBuild(new NameKey("create-accululator"), new AnyType(), false)))
            },
                new NameKey("closoure"));
        }
Esempio n. 15
0
        public PairType()
        {
            var pairTypeNumber =
                InterfaceType.CreateAndBuild(
                    new List <IMemberDefinition> {
                MemberDefinition.CreateAndBuild(new NameKey("x"), new NumberType(), Access.ReadWrite),
                MemberDefinition.CreateAndBuild(new NameKey("y"), new NumberType(), Access.ReadWrite)
            });

            var inputKey = new NameKey("input");
            var input    = MemberDefinition.CreateAndBuild(inputKey, new NumberType(), Access.ReadWrite);

            var methodScope = Scope.CreateAndBuild(new List <IsStatic> {
                new IsStatic(input, false)
            });

            var localX = MemberDefinition.CreateAndBuild(new NameKey("x"), new NumberType(), Access.ReadWrite);
            var localY = MemberDefinition.CreateAndBuild(new NameKey("y"), new NumberType(), Access.ReadWrite);

            var pairifyKey = new NameKey("pairify");
            var pairify    = MemberDefinition.CreateAndBuild(pairifyKey, MethodType.CreateAndBuild(new NumberType(), pairTypeNumber), Access.ReadWrite);

            RootScope = Model.Instantiated.RootScope.CreateAndBuild(
                Scope.CreateAndBuild(
                    new List <IsStatic> {
                new IsStatic(MemberDefinition.CreateAndBuild(pairifyKey, MethodType.CreateAndBuild(new NumberType(), pairTypeNumber), Access.ReadWrite), false)
            }),
                new [] {
                AssignOperation.CreateAndBuild(
                    MethodDefinition.CreateAndBuild(
                        pairTypeNumber,
                        input,
                        methodScope,
                        new ICodeElement[] {
                    ReturnOperation.CreateAndBuild(
                        ObjectDefiniton.CreateAndBuild(
                            Scope.CreateAndBuild(
                                new List <IsStatic> {
                        new IsStatic(localX, false),
                        new IsStatic(localY, false)
                    }),
                            new IAssignOperation[] {
                        AssignOperation.CreateAndBuild(
                            MemberReference.CreateAndBuild(input),
                            MemberReference.CreateAndBuild(localX)),
                        AssignOperation.CreateAndBuild(
                            MemberReference.CreateAndBuild(input),
                            MemberReference.CreateAndBuild(localY))
                    },
                            InterfaceType.CreateAndBuild(new [] { localX, localY })))
                },
                        Array.Empty <ICodeElement>()),
                    MemberReference.CreateAndBuild(pairify))
            },
                EntryPointDefinition.CreateAndBuild(new EmptyType(), MemberDefinition.CreateAndBuild(new NameKey("input"), new NumberType(), Access.ReadWrite), Scope.CreateAndBuild(Array.Empty <IsStatic>()), Array.Empty <ICodeElement>(), Array.Empty <ICodeElement>()));
        }
Esempio n. 16
0
        public bool TryAddGeneric(NameKey key, IBox <IIsPossibly <IFrontendGenericType> > definition)
        {
            if (finalizableScope.IsFinal)
            {
                throw new ApplicationException("bug: don't add after finalize");
            }
            var list = genericTypes.GetOrAdd(new NameKey(key.Name), new ConcurrentSet <IBox <IIsPossibly <IFrontendGenericType> > >());

            return(list.TryAdd(definition));
        }
Esempio n. 17
0
 public static IPopulateScope <WeakGenericTypeDefinition, ISetUpType> PopulateScope(
     NameKey nameKey,
     IEnumerable <IPopulateScope <IConvertableFrontendCodeElement <ICodeElement>, ISetUpSideNode> > lines,
     IGenericTypeParameterPlacholder[] genericParameters)
 {
     return(new GenericTypeDefinitionPopulateScope(
                nameKey,
                lines,
                genericParameters));
 }
Esempio n. 18
0
        public Boolean HasComponent(String name)
        {
            if (String.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException(nameof(name));
            }
            NameKey key = new NameKey(name);

            return(HasComponent(key));
        }
Esempio n. 19
0
        public override bool Equals(object other)
        {
            if (!(other is NameKey))
            {
                return(false);
            }
            NameKey key = (NameKey)other;

            return(_name == key._name && _ns == key._ns);
        }
Esempio n. 20
0
        private IFrontendType <IVerifiableType> B1()
        {
            var member1Key = new NameKey("bm1");
            var member1    = new WeakMemberDefinition(Access.ReadWrite, member1Key, new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(new NumberType())));
            var type1      = new HasMembersType(new WeakScope(new List <WeakMemberDefinition> {
                member1
            }));

            return(type1);
        }
Esempio n. 21
0
        public void Indexator_GetValue_by_name_Null_Test()
        {
            // Arrange
            var name1 = new NameKey("dummy");

            // Action
            var actualValuePairs = _userTypeCollection[name1];

            // Assert
            Assert.IsTrue(actualValuePairs == null);
        }
Esempio n. 22
0
        public void TryGetValue_by_name_Test()
        {
            // Arrange
            var name1 = new NameKey(_nameKey1.Name);
            // Action
            Person actualPerson = new Person();
            var    isSuccess    = _userTypeCollection.TryGetValue(name1, ref actualPerson);

            // Assert
            Assert.IsTrue(isSuccess);
            Assert.AreEqual(_personUt1, actualPerson);
        }
Esempio n. 23
0
 public static IPopulateBoxes <WeakGenericTypeDefinition> PopulateBoxes(NameKey nameKey,
                                                                        IResolvableScope scope,
                                                                        Box <IIsPossibly <IFrontendGenericType> > box,
                                                                        IGenericTypeParameterPlacholder[] genericParameters,
                                                                        IPopulateBoxes <IConvertableFrontendCodeElement <ICodeElement> >[] lines)
 {
     return(new GenericTypeDefinitionResolveReferance(nameKey,
                                                      scope,
                                                      box,
                                                      genericParameters,
                                                      lines));
 }
Esempio n. 24
0
 public bool Create(object keyData, out IKey key, out string errorMessage)
 {
     key          = null;
     errorMessage = string.Empty;
     if (keyData is string stringKeyData)
     {
         key = new NameKey(stringKeyData);
         return(true);
     }
     errorMessage = "keyData type is not supported.";
     return(false);
 }
Esempio n. 25
0
 public GenericTypeDefinitionResolveReferance(
     NameKey nameKey,
     IResolvableScope scope,
     Box <IIsPossibly <IFrontendGenericType> > box,
     IGenericTypeParameterPlacholder[] genericParameters,
     IPopulateBoxes <IFrontendCodeElement>[] lines)
 {
     this.nameKey           = nameKey ?? throw new ArgumentNullException(nameof(nameKey));
     this.scope             = scope ?? throw new ArgumentNullException(nameof(scope));
     this.box               = box ?? throw new ArgumentNullException(nameof(box));
     this.genericParameters = genericParameters ?? throw new ArgumentNullException(nameof(genericParameters));
     this.lines             = lines ?? throw new ArgumentNullException(nameof(lines));
 }
Esempio n. 26
0
        public static Name Make(char[] source, int start, int end)
        {
            NameKey key = new NameKey(source, start, end);
            Name    ret;

            if (!names.TryGetValue(key, out ret))
            {
                ret        = key.makeName();
                key        = new NameKey(ret.name, 0, ret.name.Length);
                names[key] = ret;
            }
            return(ret);
        }
Esempio n. 27
0
 public GenericTypeDefinitionFinalizeScope(
     NameKey nameKey,
     ISetUpType scope,
     Box <IIsPossibly <IFrontendGenericType> > box,
     IGenericTypeParameterPlacholder[] genericParameters,
     IResolvelizeScope <IFrontendCodeElement, ISetUpSideNode>[] lines)
 {
     this.nameKey           = nameKey ?? throw new ArgumentNullException(nameof(nameKey));
     this.SetUpSideNode     = scope ?? throw new ArgumentNullException(nameof(scope));
     this.box               = box ?? throw new ArgumentNullException(nameof(box));
     this.genericParameters = genericParameters ?? throw new ArgumentNullException(nameof(genericParameters));
     this.lines             = lines ?? throw new ArgumentNullException(nameof(lines));
 }
Esempio n. 28
0
        public Closoure()
        {
            var xKey = new NameKey("x");
            var x    = MemberDefinition.CreateAndBuild(xKey, new NumberType(), Access.ReadWrite);

            var yKey = new NameKey("y");
            var y    = MemberDefinition.CreateAndBuild(yKey, new NumberType(), Access.ReadWrite);

            var methodScope = Scope.CreateAndBuild(new List <IsStatic> {
                new IsStatic(x, false)
            });
            var innerMethodScope = Scope.CreateAndBuild(new List <IsStatic> {
                new IsStatic(y, false)
            });

            RootScope = Model.Instantiated.RootScope.CreateAndBuild(
                Scope.CreateAndBuild(
                    new List <IsStatic>()
            {
                new IsStatic(MemberDefinition.CreateAndBuild(new NameKey("create-accululator"), new AnyType(), Access.ReadWrite), false)
            }),
                new [] {
                AssignOperation.CreateAndBuild(
                    MethodDefinition.CreateAndBuild(
                        MethodType.CreateAndBuild(
                            new NumberType(),
                            new NumberType()),
                        x,
                        methodScope,
                        new ICodeElement[] {
                    ReturnOperation.CreateAndBuild(
                        MethodDefinition.CreateAndBuild(
                            new NumberType(),
                            y,
                            innerMethodScope,
                            new ICodeElement[] {
                        AssignOperation.CreateAndBuild(
                            AddOperation.CreateAndBuild(
                                MemberReference.CreateAndBuild(x),
                                MemberReference.CreateAndBuild(y)),
                            MemberReference.CreateAndBuild(x)),
                        ReturnOperation.CreateAndBuild(MemberReference.CreateAndBuild(x))
                    },
                            Array.Empty <ICodeElement>())
                        )
                },
                        Array.Empty <ICodeElement>()),
                    MemberReference.CreateAndBuild(MemberDefinition.CreateAndBuild(new NameKey("create-accululator"), new AnyType(), Access.ReadWrite)))
            },
                EntryPointDefinition.CreateAndBuild(new EmptyType(), MemberDefinition.CreateAndBuild(new NameKey("input"), new NumberType(), Access.ReadWrite), Scope.CreateAndBuild(Array.Empty <IsStatic>()), Array.Empty <ICodeElement>(), Array.Empty <ICodeElement>()));
        }
Esempio n. 29
0
        public override bool Equals(object other)
        {
            if (!(other is NameKey))
            {
                return(false);
            }
            NameKey nameKey = (NameKey)other;

            if (name == nameKey.name)
            {
                return(ns == nameKey.ns);
            }
            return(false);
        }
Esempio n. 30
0
        public void Indexator_GetValue_by_name_Test()
        {
            // Arrange
            var name1 = new NameKey(_nameKey1.Name);

            // Action
            var actualValuePairs = _userTypeCollection[name1];

            // Assert
            Assert.IsTrue(actualValuePairs != null);
            var valuePairs = actualValuePairs.ToList();

            Assert.IsTrue(valuePairs.Any());
            Assert.AreEqual(_personUt1, valuePairs.First().Value);
        }
Esempio n. 31
0
        public void RegisterProperty(RedwoodProperty property)
        {
            var key = new NameKey(property.Name, property.OwnerType);

            propertiesLock.EnterWriteLock();
            try
            {
                if (propertiesDict.ContainsKey(key))
                    throw new InvalidOperationException(string.Format("Redwood property {0} already exists on {1}.", property.Name, property.OwnerType.FullName));

                propertiesDict.Add(key, property);
            }
            finally
            {
                propertiesLock.ExitWriteLock();
            }
        }
Esempio n. 32
0
 public bool Equals(NameKey key)
 {
     return
         this.name.Equals(key.name)
         && this.ownerType == key.ownerType;
 }