| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" |
| xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" |
| xmlns="http://www.w3.org/2000/svg" width="860" height="410" viewBox="-2 -2 1205 565" |
| version="1.1"> |
| <metadata id="metadata84"> |
| <rdf:RDF> |
| <cc:Work rdf:about=""> |
| <dc:format>image/svg+xml</dc:format> |
| <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
| <dc:title /> |
| </cc:Work> |
| </rdf:RDF> |
| </metadata> |
| <style type="text/css"> |
| rect{ |
| fill:#fff; |
| stroke:#000; |
| stroke-width:2.14; |
| } |
| text{ |
| font-size:14.10753822px; |
| font-style:normal; |
| font-weight:normal; |
| font-family:courier new; |
| text-anchor:middle; |
| } |
| polyline{ |
| fill:none; |
| stroke:#000; |
| stroke-width:3.2; |
| marker-start:url(#arrow); |
| stroke-dasharray:0, 5, 1000; |
| } |
| polyline.noarrow{ |
| marker-start:none; |
| stroke-dasharray:none; |
| } |
| text.gray{ |
| fill:#808080; |
| } |
| rect.gray{ |
| stroke:#808080; |
| } |
| </style> |
| <defs> |
| <marker id="arrow" orient="auto" markerWidth="5" |
| markerHeight="5" refY="2.5" refX="0"> |
| <path style="fill:#000;" d="M5,0 L0,2.5 L5,5" /> |
| </marker> |
| </defs> |
| <g id="value-subtyping"> |
| <g id="sub-top"> |
| <rect x="510" y="0" width="130" height="40" class="gray" /> |
| <text x="575" y="24.10753822px" class="gray">@UnknownVal</text> |
| </g> |
| <g id="sub-intval"> |
| <rect x="350" y="90" width="130" height="40" /> |
| <text x="415" y="114.10753822px">@IntVal(long[])</text> |
| </g> |
| <g id="sub-intrange"> |
| <rect x="170" y="90" width="170" height="40" /> |
| <text x="255" y="114.10753822px">@IntRange(long,long)</text> |
| </g> |
| <g id="sub-doubleval"> |
| <rect x="490" y="90" width="170" height="40" /> |
| <text x="575" y="114.10753822px">@DoubleVal(double[])</text> |
| </g> |
| <g id="sub-boolval"> |
| <rect x="0" y="90" width="160" height="40" /> |
| <text x="80" y="114.10753822px">@BoolVal(boolean[])</text> |
| </g> |
| <g id="sub-stringval"> |
| <rect x="670" y="90" width="170" height="40" /> |
| <text x="755" y="114.10753822px">@StringVal(String[])</text> |
| </g> |
| <g id="sub-arraylen"> |
| <rect x="850" y="90" width="140" height="40" /> |
| <text x="920" y="114.10753822px">@ArrayLen(int[])</text> |
| </g> |
| <g id="sub-arraylenrange"> |
| <rect x="1000" y="90" width="200" height="40" /> |
| <text x="1100" y="114.10753822px">@ArrayLenRange(int,int)</text> |
| </g> |
| <g id="sub-bot"> |
| <rect x="510" y="180" width="130" height="40" class="gray" /> |
| <text x="575" y="204.10753822px" class="gray">@BottomVal</text> |
| </g> |
| <polyline points="575,40 575,90" /> |
| <polyline points="575,65 80,65 80,90" class="noarrow" /> |
| <polyline points="575,65 1100,65 1100,90" class="noarrow" /> |
| <polyline points="255,65 255,90" class="noarrow" /> |
| <polyline points="415,65 415,90" class="noarrow" /> |
| <polyline points="755,65 755,90" class="noarrow" /> |
| <polyline points="920,65 920,90" class="noarrow" /> |
| |
| <polyline points="575,130 575,180" /> |
| <polyline points="80,130 80,155 575,155" /> |
| <polyline points="1100,130 1100,155 570,155" /> |
| <polyline points="255,130 255,155" /> |
| <polyline points="415,130 415,155" /> |
| <polyline points="755,130 755,155" /> |
| <polyline points="920,130 920,155" /> |
| </g> |
| <g id="numeric-subtyping"> |
| <g id="num-int-range-0-200"> |
| <rect x="35" y="240" width="200" height="40" /> |
| <text x="135" y="264.10753822px">@IntRange(from=0,to=200)</text> |
| </g> |
| <g id="num-int-1"> |
| <rect x="310" y="400" width="130" height="40" /> |
| <text x="375" y="424.10753822px">@IntVal(1)</text> |
| </g> |
| <g id="num-int-1-2"> |
| <rect x="310" y="320" width="130" height="40" /> |
| <text x="375" y="344.10753822px">@IntVal({1,2})</text> |
| </g> |
| <g id="num-int-range-0-1"> |
| <rect x="35" y="320" width="200" height="40" /> |
| <text x="135" y="344.10753822px">@IntRange(from=0,to=1)</text> |
| </g> |
| <g id="num-double-1"> |
| <rect x="490" y="320" width="130" height="40" /> |
| <text x="555" y="344.10753822px">@DoubleVal(1.0)</text> |
| </g> |
| <g id="num-double-0-2"> |
| <rect x="270" y="240" width="210" height="40" /> |
| <text x="375" y="264.10753822px">@DoubleVal({0.0,1.0,2.0})</text> |
| </g> |
| |
| <polyline points="135,280 135,320" /> |
| <polyline points="375,280 375,320" /> |
| <polyline points="375,360 375,400" /> |
| |
| <polyline points="195,280 315,320" /> |
| <polyline points="315,280 195,320" /> |
| <polyline points="435,280 555,320" /> |
| <polyline points="195,360 315,400" /> |
| <polyline points="555,360 435,400" /> |
| |
| </g> |
| <g id="array-subtyping"> |
| <g id="string-a"> |
| <rect x="800" y="520" width="130" height="40" /> |
| <text x="865" y="544.10753822px">@StringVal("a")</text> |
| </g> |
| <g id="string-a-aa"> |
| <rect x="650" y="450" width="190" height="40" /> |
| <text x="745" y="474.10753822px">@StringVal({"a","aa"})</text> |
| </g> |
| <g id="string-a-b"> |
| <rect x="895" y="450" width="180" height="40" /> |
| <text x="985" y="474.10753822px">@StringVal({"a","b"})</text> |
| </g> |
| <g id="string-a-aa-b"> |
| <rect x="755" y="380" width="220" height="40" /> |
| <text x="865" y="404.10753822px">@StringVal({"a","aa","b"})</text> |
| </g> |
| <g id="matches-regex-a-star"> |
| <rect x="650" y="320" width="170" height="40" /> |
| <text x="740" y="344.10753822px">@MatchesRegex("a*")</text> |
| </g> |
| <g id="matches-regex-a-star-b-star"> |
| <rect x="630" y="240" width="230" height="40" /> |
| <text x="745" y="264.10753822px">@MatchesRegex({"a*", "b*"})</text> |
| </g> |
| |
| <g id="arraylen-1"> |
| <rect x="1040" y="380" width="130" height="40" /> |
| <text x="1105" y="404.10753822px">@ArrayLen(1)</text> |
| </g> |
| <g id="arraylen-1-2"> |
| <rect x="915" y="310" width="140" height="40" /> |
| <text x="985" y="334.10753822px">@ArrayLen({1,2})</text> |
| </g> |
| <g id="arraylenrange"> |
| <rect x="895" y="240" width="180" height="40" /> |
| <text x="985" y="264.10753822px">@ArrayLenRange(0,200)</text> |
| </g> |
| |
| <polyline points="985,280 985,310" /> |
| <polyline points="1015,350 1075,380" /> |
| <polyline points="955,350 895,380" /> |
| <polyline points="835,420 775,450" /> |
| <polyline points="895,420 955,450" /> |
| <polyline points="1075,420 1015,450" /> |
| <polyline points="955,490 895,520" /> |
| <polyline points="775,490 835,520" /> |
| <polyline points="720,360 720,450" /> |
| <polyline points="720,280 720,320" /> |
| <polyline points="820,280 870,380" /> |
| |
| </g> |
| </svg> |