xref: /aosp_15_r20/external/bazelbuild-rules_testing/docgen/func_template.vm (revision d605057434dcabba796c020773aab68d9790ff9f)
1*d6050574SRomain Jobredeaux#set( $nl = "
2*d6050574SRomain Jobredeaux" )
3*d6050574SRomain Jobredeaux#set( $fn = $funcInfo.functionName)
4*d6050574SRomain Jobredeaux#set( $fnl = $fn.replaceAll("[.]", "_").toLowerCase())
5*d6050574SRomain Jobredeaux{.starlark-object}
6*d6050574SRomain Jobredeaux#[[##]]# $fn
7*d6050574SRomain Jobredeaux
8*d6050574SRomain Jobredeaux#set( $hasParams = false)
9*d6050574SRomain Jobredeaux{.starlark-signature}
10*d6050574SRomain Jobredeaux${funcInfo.functionName}(## Comment to consume newline
11*d6050574SRomain Jobredeaux#foreach ($param in $funcInfo.getParameterList())
12*d6050574SRomain Jobredeaux#if($param.name != "self")
13*d6050574SRomain Jobredeaux#set( $hasParams = true)
14*d6050574SRomain Jobredeaux[${param.name}](#${fnl}_${param.name})## Comment to consume newline
15*d6050574SRomain Jobredeaux#if(!$param.getDefaultValue().isEmpty())
16*d6050574SRomain Jobredeaux=$param.getDefaultValue()#end#if($foreach.hasNext),
17*d6050574SRomain Jobredeaux#end
18*d6050574SRomain Jobredeaux#end
19*d6050574SRomain Jobredeaux#end
20*d6050574SRomain Jobredeaux)
21*d6050574SRomain Jobredeaux
22*d6050574SRomain Jobredeaux${funcInfo.docString}
23*d6050574SRomain Jobredeaux
24*d6050574SRomain Jobredeaux#if ($hasParams)
25*d6050574SRomain Jobredeaux{#${fnl}_parameters}
26*d6050574SRomain Jobredeaux**PARAMETERS** [¶](#${fnl}_parameters){.headerlink}
27*d6050574SRomain Jobredeaux
28*d6050574SRomain Jobredeaux#foreach ($param in $funcInfo.getParameterList())
29*d6050574SRomain Jobredeaux#if($param.name != "self")
30*d6050574SRomain Jobredeaux#set($link = $fnl + "_" + $param.name)
31*d6050574SRomain Jobredeaux#if($foreach.first)
32*d6050574SRomain Jobredeaux{.params-box}
33*d6050574SRomain Jobredeaux#end
34*d6050574SRomain Jobredeaux## The .span wrapper is necessary so the trailing colon doesn't wrap
35*d6050574SRomain Jobredeaux:[${param.name}[¶](#$link){.headerlink}]{.span}: []{#$link}
36*d6050574SRomain Jobredeaux#if(!$param.getDefaultValue().isEmpty())(_default `${param.getDefaultValue()}`_) #end
37*d6050574SRomain Jobredeaux#if(!$param.docString.isEmpty())
38*d6050574SRomain Jobredeaux  $param.docString.replaceAll("$nl", "$nl  ")
39*d6050574SRomain Jobredeaux#else
40*d6050574SRomain Jobredeaux  _undocumented_
41*d6050574SRomain Jobredeaux#end
42*d6050574SRomain Jobredeaux#end
43*d6050574SRomain Jobredeaux#end
44*d6050574SRomain Jobredeaux#end
45*d6050574SRomain Jobredeaux#if (!$funcInfo.getReturn().docString.isEmpty())
46*d6050574SRomain Jobredeaux
47*d6050574SRomain Jobredeaux{#${fnl}_returns}
48*d6050574SRomain JobredeauxRETURNS [¶](#${fnl}_returns){.headerlink}
49*d6050574SRomain Jobredeaux: ${funcInfo.getReturn().docString.replaceAll("$nl", "$nl  ")}
50*d6050574SRomain Jobredeaux#end
51*d6050574SRomain Jobredeaux#if (!$funcInfo.getDeprecated().docString.isEmpty())
52*d6050574SRomain Jobredeaux
53*d6050574SRomain Jobredeaux**DEPRECATED**
54*d6050574SRomain Jobredeaux
55*d6050574SRomain Jobredeaux${funcInfo.getDeprecated().docString}
56*d6050574SRomain Jobredeaux#end
57