Generates serializer asset codes.
This class is NOT formal API, so backward compatibility will not be maintained.
예제 #1
0
        private static void GenerateSerializers(
            IList <string> sourceFilePathes,
            string[] referenceAssemblies,
            bool sourceFileIsAssembly,
            string includingPattern,
            string excludingPattern,
            bool treatWarningsAsErrors,
            int warningLevel,
            bool admitNonPublicTypes,
            SerializerCodeGenerationConfiguration configuration
            )
        {
            if (sourceFilePathes == null || sourceFilePathes.Count == 0)
            {
                throw new ArgumentException("Source files or a source assembly is required.");
            }
            var generator = new SerializerCodeGenerator(configuration);

            IEnumerable <string> result;

            if (!sourceFileIsAssembly)
            {
                result =
                    generator.GenerateSerializers(
                        new SerializerTargetCompiler
                {
                    TreatWarningsAsErrors = treatWarningsAsErrors,
                    WarningLevel          = warningLevel
                }.CompileTargetTypeAssembly(
                            sourceFilePathes,
                            referenceAssemblies ?? new string[0]
                            ),
                        includingPattern,
                        excludingPattern,
                        admitNonPublicTypes
                        );
            }
            else
            {
                result =
                    generator.GenerateSerializers(
                        sourceFilePathes[0],
                        includingPattern,
                        excludingPattern,
                        admitNonPublicTypes
                        );
            }

            foreach (var outputFilePath in result)
            {
                Console.WriteLine(outputFilePath);
            }
        }
예제 #2
0
		private static void GenerateSerializers(
			IList<string> sourceFilePathes,
			string[] referenceAssemblies,
			bool sourceFileIsAssembly,
			string includingPattern,
			string excludingPattern,
			bool treatWarningsAsErrors,
			int warningLevel,
			SerializerCodeGenerationConfiguration configuration
		)
		{
			if ( sourceFilePathes == null || sourceFilePathes.Count == 0 )
			{
				throw new ArgumentException( "Source files or a source assembly is required." );
			}
			var generator = new SerializerCodeGenerator( configuration );

			IEnumerable<string> result;
			if ( !sourceFileIsAssembly )
			{
				result =
					generator.GenerateSerializers(
						new SerializerTargetCompiler
						{
							TreatWarningsAsErrors = treatWarningsAsErrors,
							WarningLevel = warningLevel
						}.CompileTargetTypeAssembly(
							sourceFilePathes,
							referenceAssemblies ?? new string[ 0 ]
							),
						includingPattern,
						excludingPattern
						);
			}
			else
			{
				result =
					generator.GenerateSerializers(
						sourceFilePathes[ 0 ],
						includingPattern,
						excludingPattern
						);
			}

			foreach ( var outputFilePath in result )
			{
				Console.WriteLine( outputFilePath );
			}
		}