public override ABnfGuessError CheckError()
        {
            var parent = m_element.GetParent();

            if (parent is ALittleScriptMethodParamDecElement)
            {
                return(null);
            }

            while (parent != null)
            {
                ALittleScriptMethodParamDecElement param_dec = null;
                if (parent is ALittleScriptClassMethodDecElement)
                {
                    param_dec = ((ALittleScriptClassMethodDecElement)parent).GetMethodParamDec();
                }
                else if (parent is ALittleScriptClassStaticDecElement)
                {
                    param_dec = ((ALittleScriptClassStaticDecElement)parent).GetMethodParamDec();
                }
                else if (parent is ALittleScriptClassCtorDecElement)
                {
                    param_dec = ((ALittleScriptClassCtorDecElement)parent).GetMethodParamDec();
                }
                else if (parent is ALittleScriptGlobalMethodDecElement)
                {
                    param_dec = ((ALittleScriptGlobalMethodDecElement)parent).GetMethodParamDec();
                }

                if (param_dec != null)
                {
                    var param_one_list = param_dec.GetMethodParamOneDecList();
                    if (param_one_list.Count == 0)
                    {
                        return(new ABnfGuessError(m_element, "参数占位符未定义"));
                    }
                    var param_tail = param_one_list[param_one_list.Count - 1].GetMethodParamTailDec();
                    if (param_tail == null)
                    {
                        return(new ABnfGuessError(m_element, "参数占位符未定义"));
                    }
                    break;
                }

                parent = parent.GetParent();
            }
            return(null);
        }
Пример #2
0
 public ALittleScriptMethodParamDecElement GetMethodParamDec()
 {
     if (m_flag_MethodParamDec)
     {
         return(m_cache_MethodParamDec);
     }
     m_flag_MethodParamDec = true;
     foreach (var child in m_childs)
     {
         if (child is ALittleScriptMethodParamDecElement)
         {
             m_cache_MethodParamDec = child as ALittleScriptMethodParamDecElement;
             break;
         }
     }
     return(m_cache_MethodParamDec);
 }