Auf Thema antworten

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]



Oben