예제 #1
0
        internal virtual void BottomUpPopulate(GremlinVariable terminateVariable, string property, string columnName)
        {
            if (terminateVariable == this)
            {
                return;
            }
            if (HomeContext == null)
            {
                throw new Exception();
            }

            HomeContext.PopulateColumn(GetVariableProperty(property), columnName);
            if (!(HomeContext.HomeVariable is GremlinRepeatVariable) && !HomeContext.HomeVariable.ProjectedProperties.Contains(columnName))
            {
                HomeContext.HomeVariable.ProjectedProperties.Add(columnName);
            }

            if (HomeContext.HomeVariable == null)
            {
                throw new Exception();
            }
            HomeContext.HomeVariable.BottomUpPopulate(terminateVariable, columnName, columnName);
        }