You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
//TODO if some languages use different character for separating arguments, below needs to be adjusted
519
542
String[] args = signature.split(",");
520
543
for (Stringarg : args) {
521
-
//log.fine("Param = "+ arg);
522
-
intspace = arg.lastIndexOf(' ');//TODO this is not the best way, but works to find the last string(name) in the argument, hence skipping type
523
-
if (space > 0 && space < arg.length()) {
524
-
Stringafters = arg.substring(space + 1);
525
-
//FIXME this will not work for typeless languages such as python or assignments inside signature ... but since ctags doesn't provide signatures for python yet and assigning stuff in signature is not the case for c or java, we don't care ...
526
-
String[] names = afters.split("[\\W]"); //this should just parse out variables, we assume first non empty text is the argument name
527
-
for (Stringname : names) {
528
-
if (name.length() > 0) {
529
-
//log.fine("Param Def = "+ string);
530
-
addTag(defs, seenSymbols, lnum, name, "argument",
544
+
//TODO this algorithm assumes that data types occur to
545
+
// the left of the argument name, so it will not
546
+
// work for languages like rust, kotlin, etc. which
547
+
// place the data type to the right of the argument name.
548
+
// Need an attribute from ctags to indicate data type location.
0 commit comments