Also ich hätte da schon ne Lösung, dachte allerdings es geht einfacher :
[code=Java]
//Method RegEx
private static final String JAVA_METHOD_HEAD_EXPRESSION = "( public |protected |private | static |)+[\\s]*((\\w)*(\\s)*(\\<(\\s)*[\\w\\?]+\\>)?)[\\s]+[\\w]+\\([^\\(\\}\\/\\)]*\\)[\\w\\s]*\\{";
//...
if(lWithinMethod && lCurrentLine.contains("{") && (!lCurrentLine.trim().startsWith("//") || !lCurrentLine.trim().startsWith("*"))) {
lOpenBracketLevel+= lCurrentLine.replaceAll("[^{]", "").length();
}
if(lWithinMethod && lCurrentLine.contains("}") && (!lCurrentLine.trim().startsWith("//") || !lCurrentLine.trim().startsWith("*"))) {
lOpenBracketLevel -= lCurrentLine.replaceAll("[^}]", "").length();
if(lOpenBracketLevel == 0) {
lWithinMethod = false;
//..
[/code]
Das wars und funktioniert auch.
Ich suche mit
[code=Java]
Pattern lPattern = Pattern.compile(JAVA_METHOD_HEAD_EXPRESSION);
Matcher lMatcher = lPattern.matcher(lContent);
while(lMatcher.find()) {
int lStartOffset = lMatcher.start();
int lOffsetEnd = lMatcher.end();
//...
}
das Ende des Methodenheaders. lMatcher.end() steht also genau beim '{'.
Dann kann ich mit ner forschleife und dem Brackets-Level bis zum Ende der Methode gehen.
Ich denke für alle anderen Tags funktioniert es analog, dachte nur es gibt vielleicht einen einfachereren Weg
Lg
Alex
[/code]