コード例 #1
0
        static void ResolveSelectExpression(IASTNode node)
        {
            // This is called when it's time to fully resolve a path expression.
            int type = node.Type;

            switch (type)
            {
            case DOT:
                DotNode dot = (DotNode)node;
                dot.ResolveSelectExpression();
                break;

            case ALIAS_REF:
                // Notify the FROM element that it is being referenced by the select.
                FromReferenceNode aliasRefNode = (FromReferenceNode)node;

                aliasRefNode.Resolve(false, false);                         //TODO: is it kosher to do it here?
                FromElement fromElement = aliasRefNode.FromElement;
                if (fromElement != null)
                {
                    fromElement.IncludeSubclasses = true;
                }
                break;

            default:
                break;
            }
        }