Esempio n. 1
0
        public RegionDef(RegionDefXml region, bool tokenRegion = false)
        {
            IsTokenRegion = tokenRegion;

            regionDefXml = region;

            var defs = new List <IElementDef>();

            foreach (var element in region.Elements)
            {
                if (element is RegionDefXml)
                {
                    defs.Add(new RegionDef((RegionDefXml)element, tokenRegion));
                }
                else if (element is MethodDefXml)
                {
                    defs.Add(new MethodDef((MethodDefXml)element));
                }
                else
                {
                    throw new NotImplementedException($"Don't know how to process element definition of type '{element.GetType()}'.");
                }
            }

            Elements = defs.ToReadOnlyList();
        }
Esempio n. 2
0
        public RegionDef(RegionDefXml region, bool tokenRegion = false)
        {
            IsTokenRegion = tokenRegion;

            regionDefXml = region;
            Regions      = region.Regions.Select(r => new RegionDef(r, tokenRegion)).ToReadOnlyList();
            MethodDefs   = region.MethodDefs.Select(m => new MethodDef(m)).ToReadOnlyList();
        }
Esempio n. 3
0
        public RegionDef(RegionDef originalRegion, bool tokenRegion = false, ReadOnlyCollection <RegionDef> regions = null, ReadOnlyCollection <MethodDef> methods = null)
        {
            regionDefXml = originalRegion.regionDefXml;

            Regions        = regions ?? originalRegion.Regions;;
            MethodDefs     = methods ?? originalRegion.MethodDefs;
            HasTokenRegion = originalRegion.HasTokenRegion;

            IsTokenRegion = tokenRegion;
        }
Esempio n. 4
0
        public RegionDef(RegionDef originalRegion, bool tokenRegion = false, ReadOnlyCollection <IElementDef> elements = null)
        {
            regionDefXml = originalRegion.regionDefXml;

            Elements = (elements ?? originalRegion.Elements) ?? new ReadOnlyCollection <IElementDef>(new List <IElementDef>());

            HasTokenRegion = originalRegion.HasTokenRegion;

            IsTokenRegion = tokenRegion;
        }