コード例 #1
0
        public                       SyntaxTrivia this[int index] {
            get {
                if (_slot == null)
                {
                    throw new ArgumentOutOfRangeException();
                }

                TriviaSlot triviaSlot = null;
                int        position   = Position;
                if (_slot.IsList)
                {
                    if (index < _slot.SlotCount)
                    {
                        triviaSlot = (TriviaSlot)_slot.GetSlot(index);
                        position   = Position + _slot.GetSlotOffset(index);
                    }
                }
                else if (index == 0)
                {
                    triviaSlot = (TriviaSlot)_slot;
                }

                if (triviaSlot == null)
                {
                    throw new ArgumentOutOfRangeException();
                }

                return(triviaSlot.Realize(_token, position));
            }
        }
コード例 #2
0
 internal SyntaxTrivia(SyntaxToken token, TriviaSlot slot, int position)
 {
     Position = position;
     Token    = token;
     Slot     = slot;
 }