Beispiel #1
0
        private void processFile(MetaDataGenerator generator, string file)
        {
            Console.WriteLine("processing file: " + file);
            Trace.WriteLine("");
            MemoryStream source = Preprocess(file); // preprocess the file
            IDLParser    parser = new IDLParser(source);

            Trace.WriteLine("parsing file: " + file);
            ASTspecification spec = parser.specification();

            Trace.WriteLine(parser.getSymbolTable());
            // now parsed representation can be visited with the visitors
            generator.InitalizeForSource(parser.getSymbolTable());
            spec.jjtAccept(generator, null);
            Trace.WriteLine("");
        }
Beispiel #2
0
        protected Assembly CreateIdl(Stream source, AssemblyName targetName,
                                     bool anyToAnyContainerMapping, bool makeInterfaceDisposable,
                                     ArrayList refAssemblies)
        {
            IDLParser        parser = new IDLParser(source);
            ASTspecification spec   = parser.specification();
            // now parsed representation can be visited with the visitors
            MetaDataGenerator generator = new MetaDataGenerator(targetName, ".",
                                                                refAssemblies);

            generator.MapAnyToAnyContainer = anyToAnyContainerMapping;
            if (makeInterfaceDisposable)
            {
                generator.InheritedInterface = typeof(System.IDisposable);
            }
            generator.InitalizeForSource(parser.getSymbolTable());
            spec.jjtAccept(generator, null);
            Assembly result = generator.ResultAssembly;

            return(result);
        }