Example #1
0
        protected NameInfo(BindKind kind, NameNode node)
        {
            Contracts.Assert(BindKind._Min <= kind && kind < BindKind._Lim);
            Contracts.AssertValue(node);

            Kind = kind;
            Node = node;
        }
Example #2
0
        public NameLookupInfo(BindKind kind, DType type, DPath path, int upCount, object data = null, DName logicalName = default(DName))
        {
            Contracts.Assert(BindKind._Min <= kind && kind < BindKind._Lim);
            Contracts.Assert(upCount >= 0);
            Contracts.AssertValueOrNull(data);

            Kind        = kind;
            Type        = type;
            Path        = path;
            UpCount     = upCount;
            Data        = data;
            LogicalName = logicalName;
        }
Example #3
0
        private FirstNameInfo(BindKind kind, FirstNameNode node, int nestDst, int nestCur, DPath path, object data, DName dataControlName, bool isDataControlAccess)
            : base(kind, node)
        {
            Contracts.Assert(nestDst >= int.MinValue);
            Contracts.Assert(nestCur >= 0);
            Contracts.Assert(nestCur >= nestDst);
            Contracts.AssertValueOrNull(data);

            NestDst             = nestDst;
            NestSrc             = nestCur;
            Path                = path;
            Data                = data;
            IsDataControlAccess = isDataControlAccess;
            DataControlName     = dataControlName;

            _dataQueryOptions = new Lazy <Dictionary <ExpandPath, ExpandQueryOptions> >();
        }