Пример #1
0
 static Element FromStream(Stream source)
 {
     var identifier = new ClassIdentifier(source);
     var elementType = ElementDefinitions[identifier];
     Element element = elementType != null ? (Element)Activator.CreateInstance(elementType) : new UnknownElement(identifier);
     element.Initialize(source);
     return element;
 }
Пример #2
0
        private static string GenericTypeWriter(
            TypeStatement typeStatement,
            IList <string> usedClassNames,
            bool includeName
            )
        {
            var argumentsTemplate = "System.Nullable<[[TYPE]]>[[NAME]][[DEFAULT_VALUE]]";

            if (typeStatement.IsTypeAlias)
            {
                return(GenericTypeWriter(
                           typeStatement.AliasType,
                           usedClassNames,
                           includeName
                           ));
            }
            else if (typeStatement.IsNullable)
            {
                var genericType = typeStatement.GenericTypes.First();

                if (!genericType.IsEnum &&
                    (ClassIdentifier.Identify(
                         usedClassNames,
                         genericType.Name
                         ) || genericType.IsNullable ||
                     genericType.IsArray ||
                     genericType.IsModifier ||
                     genericType.IsAction ||
                     genericType.IsTypeAlias ||
                     genericType.Name == GenerationIdentifiedTypes.String ||
                     genericType.Name == GenerationIdentifiedTypes.CachedEntity
                    )
                    )
                {
                    argumentsTemplate = "[[TYPE]][[NAME]][[DEFAULT_VALUE]]";
                }
            }
            else if (!typeStatement.IsEnum &&
                     (ClassIdentifier.Identify(
                          usedClassNames,
                          typeStatement.Name
                          ) || typeStatement.IsNullable ||
                      typeStatement.IsArray ||
                      typeStatement.IsModifier ||
                      typeStatement.IsAction ||
                      typeStatement.Name == GenerationIdentifiedTypes.String ||
                      typeStatement.Name == GenerationIdentifiedTypes.CachedEntity
                     )
                     )
            {
                argumentsTemplate = "[[TYPE]][[NAME]][[DEFAULT_VALUE]]";
            }

            return(argumentsTemplate.Replace(
                       "[[NAME]]",
                       includeName ? " [[NAME]]" : string.Empty
                       ));
        }
Пример #3
0
        public void WhenClassIdUnknownClassIdAssigned()
        {
            // arrange
            var classIdentifier = new ClassIdentifier();
            var classId         = classIdentifier.Record("A", "B");

            // act
            var retVal = classIdentifier.Record("B", "B");

            // assert
            Assert.AreEqual(classId + 1, retVal);
        }
Пример #4
0
        public TraceDataCollector(IMessageProtocol messageProtocol,
                                  BufferService bufferService,
                                  ClassIdentifier classIdentifier,
                                  MethodIdentifier methodIdentifier,
                                  IErrorHandler errorHandler,
                                  ILog logger)
        {
            _messageProtocol  = messageProtocol ?? throw new ArgumentNullException(nameof(messageProtocol));
            _bufferService    = bufferService ?? throw new ArgumentNullException(nameof(bufferService));
            _classIdentifier  = classIdentifier ?? throw new ArgumentNullException(nameof(classIdentifier));
            _methodIdentifier = methodIdentifier ?? throw new ArgumentNullException(nameof(methodIdentifier));
            _errorHandler     = errorHandler ?? throw new ArgumentNullException(nameof(errorHandler));
            _logger           = logger ?? throw new ArgumentNullException(nameof(logger));

            _methodIdAdapter = new MethodIdAdapter(this);

            _task = Task.Run(() => ReadTraceMessages());
        }
Пример #5
0
 public ElementAttribute(ClassIdentifier identifier, ElementTypes type, string description = null) : this(type, description)
 {
     ClassIdentifier = identifier;
 }
Пример #6
0
 public ElementAttribute(byte a, byte b, byte c, byte d, ElementTypes type, string description = null) : this(type, description)
 {
     ClassIdentifier = new ClassIdentifier(a, b, c, d);
 }
Пример #7
0
 public ElementAttribute(int identifier, ElementTypes type, string description = null) : this(type, description)
 {
     ClassIdentifier = new ClassIdentifier(identifier);
 }
Пример #8
0
 public UnknownElement(ClassIdentifier identifier)
 {
     Identifier = identifier;
 }
Пример #9
0
 public UnknownElement(ClassIdentifier identifier)
 {
     Identifier = identifier;
 }
Пример #10
0
 protected Element(Stream source)
 {
     var identifier = new ClassIdentifier(source);
     Initialize(source);
 }
Пример #11
0
 RuleHead IParsnipRuleFactory.RuleHead1(RuleHeadPrefix t0, ClassIdentifier t1) => new RuleHead(t0.Id, t1);