private static bool IsOpenBrace(ElemType _type, string _cur, List <string> _list) { if (ElemIdentify.IsOpenComment(_cur)) { return(true); } if (_list.Count > 0) { string nextLine = _list[0]; if (nextLine.Equals("{") || nextLine.Equals("(")) { if (IElement.IsBraceType(_type)) { _list.RemoveAt(0); return(true); } else { string msg = "ElementParser::IsOpenBrace() Invalid open brace."; msg += string.Format(" type = {0}, cur = {1}, next = {2}", _type, _cur, nextLine); Debug.Assert(false, msg); throw new Exception(msg); } } } return(false); }
private static bool IsCloseBrace(ElemType _root_type, string _line) { if (_root_type == ElemType.GroupComment) { if (!ElemIdentify.IsOpenComment(_line) && ElemIdentify.IsCloseComment(_line)) { return(true); } return(false); } if (_line.Equals("}") || _line.Equals(")")) { return(true); } return(false); }
public static bool IsLostParentConstMember(IElement _elem) { if (!ElemIdentify.IsConstMember(_elem.originData) && !ElemIdentify.IsDefine(_elem.originData)) { return(false); } if (_elem.elemType == ElemType.Comment || _elem.elemType == ElemType.ForceComment) { return(false); } if (_elem.parent.elemType != ElemType.Root && _elem.parent.elemType != ElemType.NameSpace) { return(false); } return(true); }
public static ElemType GetType(ref string _line) { if (ElemIdentify.IsComment(_line)) { return(ElemType.Comment); } if (ElemIdentify.IsGroupComment(_line)) { return(ElemType.GroupComment); } if (ElemIdentify.IsForceComment(_line)) { return(ElemType.ForceComment); } if (ElemIdentify.IsInclude(_line) || ElemIdentify.IsUsingNamespace(_line)) { return(ElemType.Include); } if (ElemIdentify.IsDefine(_line)) { return(ElemType.Define); } if (ElemIdentify.IsNamespace(_line)) { return(ElemType.NameSpace); } if (ElemIdentify.IsClass(_line)) { return(ElemType.Class); } if (ElemIdentify.IsStruct(_line)) { return(ElemType.Struct); } if (ElemIdentify.IsEnum(_line)) { return(ElemType.Enum); } if (ElemIdentify.IsEnumMember(_line)) { return(ElemType.EnumMember); } if (ElemIdentify.IsFunction(_line)) { return(ElemType.Function); } if (ElemIdentify.IsConstMember(_line)) { return(ElemType.ConstMember); } if (ElemIdentify.IsMember(_line)) { return(ElemType.Member); } string msg = "ElementFactory::GetType() Not implemented type. line = " + _line; Debug.Assert(false, msg); throw new Exception(msg); }