parseClass function
return : 0: no class line 1: class start 2: class end
Implementation
int parseClass(String str) {
String normalClass = r"[ ]*class[ ]*\S+[ ]*\{";
String abstractClass = r"[ ]*abstract[ ]*class[ ]*\S+[ ]*\{";
RegExp regExp = new RegExp(normalClass);
RegExp regExp2 = new RegExp(abstractClass);
if (regExp2.hasMatch(str)) {
_tmpClassNameStr.name = str
.replaceAll("class", "")
.replaceAll("abstract", "")
.replaceAll("{", "")
.trim();
_tmpClassNameStr.type = ClassType.abstract;
// print("abstract class:$_tmpClassNameStr");
return 1;
} else if (regExp.hasMatch(str)) {
_tmpClassNameStr.name =
str.replaceAll("class", "").replaceAll("{", "").trim();
_tmpClassNameStr.type = ClassType.normal;
return 1;
} else if (str.contains("enum")) {
_tmpClassNameStr.name =
str.replaceAll("enum", "").replaceAll("{", "").trim();
_tmpClassNameStr.type = ClassType.enumType;
return 1;
} else if (str == "}") {
return 2;
}
return 0;
}