Example #1
0
        private NamespaceId ParseNamespaceId()
        {
            var namespaceBuilder = new NamespaceIdBuilder();

            // there needs to be at least one name
            namespaceBuilder.AddNameSegment(MatchToken(MemberIdTokenKind.Name));

            // as long as there are more dots, consume more name segments
            while (TestAndMatchToken(MemberIdTokenKind.Dot))
            {
                namespaceBuilder.AddNameSegment(MatchToken(MemberIdTokenKind.Name));
            }

            // all tokens should be parsed now
            MatchToken(MemberIdTokenKind.Eof);

            return(namespaceBuilder.ToNamespaceId());
        }
Example #2
0
            public override TypeIdBuilder AddNameSegment(string name)
            {
                if (m_CurrentName != null)
                {
                    m_NamespaceBuilder.AddNameSegment(m_CurrentName);
                }

                return(new OuterTypeIdBuilder(m_NamespaceBuilder, name));
            }