private void ParsePropLine(string line, bool setProperty) { int helpStringPos = line.IndexOf("helpstring"); if (helpStringPos <= 0) { throw new Exception("Help string could not be found"); } helpStringPos += "helpstring".Length + 2; // 2 for (" int helpStringPosEnd = line.IndexOf(")]", helpStringPos) - 1; int helpStringLen = helpStringPosEnd - helpStringPos; string helpString = line.Substring(helpStringPos, helpStringLen); int hResultPos = line.IndexOf("HRESULT"); if (hResultPos <= 0) { throw new Exception("HRESULT could not be found"); } int propertyStartPos = hResultPos + "HRESULT ".Length; int propertyEndPos = line.IndexOf("(", propertyStartPos); int propertyLength = propertyEndPos - propertyStartPos; string propertyName = line.Substring(propertyStartPos, propertyLength); int parametersEndPos = line.IndexOf(")", propertyEndPos); int parametersLength = parametersEndPos - propertyEndPos; string parameters = line.Substring(propertyEndPos + 1, parametersLength - 1); List <APIParameter> propertyParameters; ParseGetPropertyParameters(parameters, out propertyParameters); APIProperty property = new APIProperty(); property.Name = propertyName; _currentInterface.Properties.Add(property); if (setProperty) { property.HasSet = true; } else { property.HasGet = true; } property.Parameters = propertyParameters; property.HelpString = helpString; }
private void ParsePropLine(string line, bool setProperty) { int helpStringPos = line.IndexOf("helpstring"); if (helpStringPos <= 0) throw new Exception("Help string could not be found"); helpStringPos += "helpstring".Length + 2; // 2 for (" int helpStringPosEnd = line.IndexOf(")]", helpStringPos) - 1; int helpStringLen = helpStringPosEnd - helpStringPos; string helpString = line.Substring(helpStringPos, helpStringLen); int hResultPos = line.IndexOf("HRESULT"); if (hResultPos <= 0) throw new Exception("HRESULT could not be found"); int propertyStartPos = hResultPos + "HRESULT ".Length; int propertyEndPos = line.IndexOf("(", propertyStartPos); int propertyLength = propertyEndPos - propertyStartPos; string propertyName = line.Substring(propertyStartPos, propertyLength); int parametersEndPos = line.IndexOf(")", propertyEndPos); int parametersLength = parametersEndPos - propertyEndPos; string parameters = line.Substring(propertyEndPos + 1, parametersLength - 1); List<APIParameter> propertyParameters; ParseGetPropertyParameters(parameters, out propertyParameters); APIProperty property = new APIProperty(); property.Name = propertyName; _currentInterface.Properties.Add(property); if (setProperty) property.HasSet = true; else property.HasGet = true; property.Parameters = propertyParameters; property.HelpString = helpString; }