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); }
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); }