// 获取类索引数据 public ALittleScriptClassData GetClassData(ALittleScriptClassDecElement dec) { var name_dec = dec.GetClassNameDec(); if (name_dec == null) { return(null); } if (!m_class_data_map.TryGetValue(dec.GetFile(), out Dictionary <string, ALittleScriptClassData> map)) { return(null); } if (!map.TryGetValue(name_dec.GetElementText(), out ALittleScriptClassData data)) { return(null); } return(data); }
// 添加类索引数据 private void AddClassData(ALittleScriptClassDecElement dec) { var name_dec = dec.GetClassNameDec(); if (name_dec == null) { return; } if (!m_class_data_map.TryGetValue(dec.GetFile(), out Dictionary <string, ALittleScriptClassData> map)) { map = new Dictionary <string, ALittleScriptClassData>(); m_class_data_map.Add(dec.GetFile(), map); } var class_data = new ALittleScriptClassData(); string name = name_dec.GetElementText(); if (map.ContainsKey(name)) { map.Remove(name); } map.Add(name, class_data); var template_dec = dec.GetTemplateDec(); if (template_dec != null) { class_data.AddClassChildDec(template_dec); } var body_dec = dec.GetClassBodyDec(); if (body_dec == null) { return; } var element_dec_list = body_dec.GetClassElementDecList(); foreach (var element_dec in element_dec_list) { class_data.AddClassChildDec(element_dec); } }
public void FindClassAttrList(ALittleScriptClassDecElement dec , int access_level, ALittleScriptUtility.ClassAttrType attr_type, string name, List <ABnfElement> result) { var name_dec = dec.GetClassNameDec(); if (name_dec == null) { return; } if (!m_class_data_map.TryGetValue(dec.GetFile(), out Dictionary <string, ALittleScriptClassData> map)) { return; } if (!map.TryGetValue(name_dec.GetElementText(), out ALittleScriptClassData data)) { return; } data.FindClassAttrList(access_level, attr_type, name, result); }