示例#1
0
        public void Process(Namespace @namespace)
        {
            var collector = new RecordCollector(@namespace.TranslationUnit);

            @namespace.Visit(collector);

            TranslationUnit = @namespace.TranslationUnit;

            foreach (var record in collector.Declarations)
            {
                if (record.Value is Namespace)
                {
                    continue;
                }

                var declNamespace = record.Value.Namespace;

                var isSameNamespace = declNamespace == @namespace;
                if (declNamespace != null)
                {
                    isSameNamespace |= declNamespace.QualifiedName == @namespace.QualifiedName;
                }

                if (!isSameNamespace)
                {
                    continue;
                }

                record.Value.Visit(this);
                GenerateInclude(record);
                ProcessTypeMap(record);
            }
        }
示例#2
0
        /**
         * @param streamOffset start position for serialization. This affects values in some
         *         records such as INDEX, but most callers will be OK to pass zero.
         * @return the {@link Record}s (in order) which will be output when the
         *         specified sheet is serialized
         */
        public static Record[] GetRecords(NPOI.SS.UserModel.ISheet hSheet, int streamOffset)
        {
            RecordCollector rc = new RecordCollector();

            ((HSSFSheet)hSheet).Sheet.VisitContainedRecords(rc, streamOffset);
            return(rc.Records);
        }
示例#3
0
        public void Process(Namespace @namespace, bool filterNamespaces = false)
        {
            TranslationUnit = @namespace.TranslationUnit;

            var collector = new RecordCollector(TranslationUnit);
            @namespace.Visit(collector);

            foreach (var record in collector.Declarations)
            {
                if (record.Value is Namespace)
                    continue;

                if (record.Value.IsDependent)
                    continue;

                if (filterNamespaces)
                {
                    var declNamespace = GetEffectiveNamespace(record.Value);

                    var isSameNamespace = declNamespace == @namespace;
                    if (declNamespace != null)
                        isSameNamespace |= declNamespace.QualifiedName == @namespace.QualifiedName;

                    if (!isSameNamespace)
                        continue;
                }

                record.Value.Visit(this);
                GenerateInclude(record);
            }
        }
示例#4
0
        public void FilesProcessing()
        {
            string[] fileNames = Directory.GetFiles(Constants.DataFilesFolder);

            var recordCollector = RecordCollector.GetInstance();

            foreach (var fileName in fileNames)
            {
                using (container = new UnityContainer())
                {
                    var menuConfiguration = new MenuConfiguration(container);
                    menuConfiguration.Configure();

                    var menu = container.Resolve <IMenu>();

                    var configurator = new ReportConfigurator(container, fileName, menu);

                    configurator.Setup();

                    if (configurator.IsSuccesfulConfiguration)
                    {
                        var record = new OfficerProcessingRecord();

                        record.FileName = fileName;

                        recordCollector.AddRecord(record);

                        Run();
                    }
                }
            }
            recordCollector.WriteRecordList();
        }
示例#5
0
        public void Process(Namespace @namespace, bool filterNamespaces = false)
        {
            TranslationUnit = @namespace.TranslationUnit;

            var collector = new RecordCollector(TranslationUnit);

            @namespace.Visit(collector);

            foreach (var record in collector.Declarations)
            {
                if (record.Value is Namespace)
                {
                    continue;
                }

                if (filterNamespaces)
                {
                    var declNamespace = GetEffectiveNamespace(record.Value);

                    var isSameNamespace = declNamespace == @namespace;
                    if (declNamespace != null)
                    {
                        isSameNamespace |= declNamespace.QualifiedName == @namespace.QualifiedName;
                    }

                    if (!isSameNamespace)
                    {
                        continue;
                    }
                }

                record.Value.Visit(this);
                GenerateInclude(record);
            }
        }
示例#6
0
        public void WriteLog([CallerMemberName] string callerName = null)
        {
            var record = new OfficerProcessingRecord();

            record.Parser              = this.dateParser.GetType().Name;
            record.ParserCaller        = callerName;
            record.ParserRecordingTime = DateTime.Now.ToString(Constants.LogDateTimeFormat);
            var recordCollector = RecordCollector.GetInstance();

            recordCollector.UpdateLastRecord(record);
        }
示例#7
0
        public void WriteLog([CallerMemberName] string callerName = null)
        {
            var record = new OfficerProcessingRecord();

            record.RecordNum             = dataAccess.GetCommonDbOfficers().ToList().Count();
            record.FileNameCaller        = callerName;
            record.FileNameRecordingTime = DateTime.Now.ToString(Constants.LogDateTimeFormat);
            var recordCollector = RecordCollector.GetInstance();

            recordCollector.UpdateLastRecord(record);
        }
示例#8
0
        public void WriteLog([CallerMemberName] string callerName = null)
        {
            var record = new OfficerProcessingRecord();

            record.OutputFormatter        = outputFormatter.GetType().Name;
            record.ViewModelFormat        = officerViewModelLoader.GetType().Name;
            record.ReportGenCaller        = callerName;
            record.ReportGenRecordingTime = DateTime.Now.ToString(Constants.LogDateTimeFormat);
            var recordCollector = RecordCollector.GetInstance();

            recordCollector.UpdateLastRecord(record);
        }
示例#9
0
        internal void Log(string storeName, Bytes key, byte[] value, long timestamp)
        {
            var topicPartition = States.GetRegisteredChangelogPartitionFor(storeName);

            RecordCollector.Send(
                topicPartition.Topic,
                key,
                value,
                null,
                topicPartition.Partition,
                timestamp,
                BYTES_KEY_SERDES,
                BYTEARRAY_VALUE_SERDES);
        }
示例#10
0
        private void GenerateExternClassIds()
        {
            PushBlock();
            {
                var classCollector = new RecordCollector(TranslationUnit);
                TranslationUnit.Visit(classCollector);

                var externClasses = new HashSet <Class>();
                foreach (var record in classCollector.Declarations)
                {
                    var   @event = record.Value as Event;
                    Class @class;
                    if (@event != null)
                    {
                        foreach (var param in @event.Parameters)
                        {
                            if (!param.Type.GetFinalPointee().TryGetClass(out @class))
                            {
                                continue;
                            }

                            externClasses.Add(@class);
                        }
                        continue;
                    }

                    @class = record.Value as Class;
                    if (@class == null || [email protected])
                    {
                        continue;
                    }

                    externClasses.Add(@class);
                }

                foreach (var @class in externClasses)
                {
                    WriteLine($"extern JSClassID classId_{GetCIdentifier(Context, @class)};");
                }
            }

            // If any of the classes have events, then also generate an external for Signal.
            // TODO: Only generate if necessary and fix possible id conflict.
            WriteLine($"extern JSClassID {SignalClassId};");


            PopBlock(NewLineKind.BeforeNextBlock);
        }
示例#11
0
        public void Process(Namespace @namespace, bool filterNamespaces = false)
        {
            TranslationUnit = @namespace.TranslationUnit;

            var collector = new RecordCollector(TranslationUnit);

            @namespace.Visit(collector);

            foreach (var record in collector.Declarations)
            {
                if (record.Value is Namespace)
                {
                    continue;
                }

                if (record.Value.IsDependent)
                {
                    continue;
                }

                record.Value.Visit(this);
                GenerateInclude(record);
            }
        }
示例#12
0
 /**
  * @param streamOffset start position for serialization. This affects values in some
  *         records such as INDEX, but most callers will be OK to pass zero.
  * @return the {@link Record}s (in order) which will be output when the
  *         specified sheet is serialized
  */
 public static Record[] GetRecords(NPOI.SS.UserModel.ISheet hSheet, int streamOffset)
 {
     RecordCollector rc = new RecordCollector();
     ((HSSFSheet)hSheet).Sheet.VisitContainedRecords(rc, streamOffset);
     return rc.Records;
 }