File tree Expand file tree Collapse file tree 1 file changed +13
-4
lines changed
src/main/java/the/bytecode/club/jda/gui/fileviewer Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -72,16 +72,25 @@ private void parseLabels(Fold parent, Fold f) {
7272 }
7373 }
7474
75+ private boolean isMethodFold (Fold f ) {
76+ if (f .getParent () == null )
77+ return false ;
78+ Fold parent = f .getParent ();
79+ for (Token t = getTokenListForLine (parent .getStartLine ()); t != null ; t = t .getNextToken ()) {
80+ if (t .getType () == TokenTypes .RESERVED_WORD && t .getLexeme ().equals ("class" ))
81+ return true ;
82+ }
83+ return false ;
84+ }
85+
7586 private Fold getMethodFold (Token token ) {
7687 return parentFoldCache .computeIfAbsent (token , t -> {
7788 FoldManager foldManager = getFoldManager ();
78- Fold rootFold = foldManager .getFold (0 );
7989 Fold curFold = foldManager .getDeepestFoldContaining (t .getOffset ());
8090 while (curFold != null ) {
81- Fold parentFold = curFold .getParent ();
82- if (parentFold == rootFold )
91+ if (isMethodFold (curFold ))
8392 return curFold ;
84- curFold = parentFold ;
93+ curFold = curFold . getParent () ;
8594 }
8695 throw new IllegalArgumentException ("Token is not parented in top-level (class def) fold" );
8796 });
You can’t perform that action at this time.
0 commit comments