예제 #1
0
파일: NameParser.cs 프로젝트: jpobst/Mokii
        private static NameSyntax BuildQualifiedSyntax(SeparatedSyntaxList<NameSyntax> tokens)
        {
            SyntaxToken? dot = null;
            NameSyntax right = null;

            // Start grabbing NameSyntaxii from the back
            right = tokens.GetAndRemoveLastSyntax ();

            // There's only 1 NameSyntax, so it's a SimpleNameSyntax
            if (tokens.SeparatorCount == 0)
                return right;

            // Remove and save the dot
            dot = tokens.GetAndRemoveLastSeparator ();

            // Recurse to build the left part
            var left = BuildQualifiedSyntax (tokens);

            return Syntax.QualifiedName (left, dot.Value, (SimpleNameSyntax)right);
        }