Ejemplo n.º 1
0
        public GeneratedType AddType(string typeName, Type baseType)
        {
            // TODO -- assert that it's been generated already?

            var generatedType = new GeneratedType(Generation, typeName);

            if (baseType.IsInterface)
            {
                generatedType.Implements(baseType);
            }
            else
            {
                generatedType.InheritsFrom(baseType);
            }

            GeneratedTypes.Add(generatedType);

            return(generatedType);
        }
Ejemplo n.º 2
0
        public GeneratedType AddType(string typeName, Type baseType)
        {
            if (Assembly != null)
            {
                throw new InvalidOperationException("This generated assembly has already been compiled");
            }

            var generatedType = new GeneratedType(this, typeName);

            if (baseType.IsInterface)
            {
                generatedType.Implements(baseType);
            }
            else
            {
                generatedType.InheritsFrom(baseType);
            }

            generatedType.ParentAssembly = this;
            _generatedTypes.Add(generatedType);

            return(generatedType);
        }
Ejemplo n.º 3
0
        // TODO -- another version that takes in variables maybe?

        public ICodeFrame ReturnNewGeneratedTypeObject(GeneratedType typeBeingReturned, params string[] values)
        {
            return(Code(
                       $"return new {ParentMethod.ParentType.ParentAssembly.Namespace}.{typeBeingReturned.TypeName}({values.Join(", ")});"));
        }