It is recommended to use the JArchitect interactive UI capabilities
to make the most of JArchitect by mastering all aspects of your code.
Diagrams
Application Metrics
Note: Further Application Statistics are available.
|
Rules summary
37410This section lists all Rules violated, and Rules or Queries with Error- Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
- Number of Rules violated: 53
Summary of Rules violated
Rules can be checked live atdevelopment-time, from within
JArchitect. Online documentation.
JArchitect rules report too many flaws onexisting code base? Use the option
Recent Violations Only!
Some Critical Rules are violated. Critical Rulescan be used to break the build process if
violated. Online documentation.
Application Statistics
| Stat | # Occurences | Avg | StdDev | Max |
|---|---|---|---|---|
| Properties on interfaces | 885 interfaces | 0 | 0 | 0 properties on org.jboss.modules.log.ModuleLogger |
| Methods on interfaces | 885 interfaces | 5.63 | 11.44 | 250 methods on org.apache.jasper.JasperMessages |
| Arguments on methods on interfaces | 4,981 methods | 0.73 | 0.98 | 10 arguments on org.eclipse.jdt.internal.compiler.IProblemFactory.createProblem(char[],int,String[],int,String[],int,int,int,int,int) |
| Public properties on classes | 8,172 Classes | 0 | 0 | 0 public properties on __redirected.__JAXPRedirected |
| Public methods on classes | 8,172 classes | 7.87 | 13.51 | 466 public methods on org.eclipse.jdt.internal.compiler.problem.ProblemReporter |
| Arguments on public methods on classes | 64,278 methods | 1.07 | 1.22 | 18 arguments on com.sun.xml.xsom.impl.ElementDecl.ElementDecl(PatcherManager,SchemaDocumentImpl,AnnotationImpl,Locator,ForeignAttributesImpl,String,String,boolean,XmlString,XmlString,boolean,boolean,Boolean,Ref$Type,Ref$Element,int,int,List) |
| BC instructions in non-abstract methods | 83,386 methods | 22.46 | 76.8 | 6987 BC instructions in io.undertow.server.protocol.http.HttpRequestParser$$generated.HttpRequestParser$$generated() |
| Cyclomatic complexity on non abstract Methods | 83,386 Methods | 2.61 | 10.59 | CC = 2048 for nu.xom.UnicodeUtil.decompose(int) |
Types Metrics : Code Quality
If you wish to define thresholds on types' Code Metrics, consider writing some Rule.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Types Metrics : Code Members and Inheritance
| Type Name | # Instance Methods | Nb Static Methods | Nb Properties | # Fields | # Children Classes | Depth Of Inheritance Tree | Type Package |
|---|
Types Metrics : Lack Of Cohesion Of Methods and Association Between Classes
| Type Name | Lack Of Cohesion Of Methods | Lack Of Cohesion Of Methods HS | Association Between Classes | Type Package |
|---|
Packages Metrics
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
| Packages | # lines of code | # BC instruction | # Types | # lines of comment | % Comment | % Coverage | Afferent Coupling | Efferent Coupling |
|---|---|---|---|---|---|---|---|---|
| __redirected | 774 | 2821 | 13 | - | - | - | 1 | 22 |
| org.jboss.modules | 5239 | 22511 | 136 | - | - | - | 5 | 24 |
| org.jboss.modules.log | 201 | 772 | 5 | - | - | - | 2 | 4 |
| org.jboss.modules._private | 0 | 0 | 1 | - | - | - | 2 | 1 |
| org.jboss.modules.xml | 1453 | 8634 | 3 | - | - | - | 1 | 2 |
| org.jboss.modules.filter | 245 | 1228 | 16 | - | - | - | 1 | 4 |
| org.jboss.modules.security | 83 | 349 | 6 | - | - | - | 1 | 6 |
| org.jboss.modules.ref | 114 | 467 | 12 | - | - | - | 1 | 2 |
| org.jboss.modules.management | 91 | 309 | 6 | - | - | - | 1 | 3 |
| org.objectweb.asm | 0 | 16408 | 20 | - | - | - | 0 | 3 |
| org.objectweb.asm.signature | 0 | 502 | 3 | - | - | - | 0 | 1 |
| ch.qos.cal10n | 60 | 253 | 8 | - | - | - | 2 | 6 |
| ch.qos.cal10n.util | 348 | 1413 | 16 | - | - | - | 3 | 6 |
| ch.qos.cal10n.verifier | 110 | 687 | 7 | - | - | - | 1 | 3 |
| ch.qos.cal10n.verifier.processor | 49 | 200 | 4 | - | - | - | 0 | 10 |
| com.fasterxml.classmate | 758 | 3454 | 16 | - | - | - | 3 | 8 |
| com.fasterxml.classmate.members | 142 | 598 | 9 | - | - | - | 2 | 5 |
| com.fasterxml.classmate.types | 191 | 701 | 6 | - | - | - | 1 | 5 |
| com.fasterxml.classmate.util | 89 | 371 | 5 | - | - | - | 2 | 4 |
| com.fasterxml.jackson.annotation | 147 | 943 | 49 | - | - | - | 18 | 5 |
| com.fasterxml.jackson.core | 1036 | 4873 | 26 | - | - | - | 29 | 14 |
| com.fasterxml.jackson.core.base | 540 | 2262 | 3 | - | - | - | 3 | 7 |
| com.fasterxml.jackson.core.format | 117 | 536 | 5 | - | - | - | 4 | 5 |
| com.fasterxml.jackson.core.io | 1216 | 5180 | 14 | - | - | - | 13 | 8 |
| com.fasterxml.jackson.core.json | 4703 | 19970 | 10 | - | - | - | 3 | 10 |
| com.fasterxml.jackson.core.sym | 618 | 2583 | 10 | - | - | - | 2 | 4 |
| com.fasterxml.jackson.core.type | 10 | 35 | 2 | - | - | - | 5 | 2 |
| com.fasterxml.jackson.core.util | 929 | 3535 | 18 | - | - | - | 12 | 10 |
| com.fasterxml.jackson.databind | 2651 | 12549 | 47 | - | - | - | 28 | 32 |
| com.fasterxml.jackson.databind.annotation | 21 | 128 | 12 | - | - | - | 7 | 7 |
| com.fasterxml.jackson.databind.cfg | 314 | 1531 | 10 | - | - | - | 12 | 16 |
| com.fasterxml.jackson.databind.exc | 66 | 275 | 4 | - | - | - | 3 | 4 |
| com.fasterxml.jackson.databind.ext | 141 | 547 | 11 | - | - | - | 2 | 18 |
| com.fasterxml.jackson.databind.introspect | 2307 | 10350 | 39 | - | - | - | 14 | 15 |
| com.fasterxml.jackson.databind.jsonFormatVisitors | 89 | 442 | 38 | - | - | - | 7 | 5 |
| com.fasterxml.jackson.databind.jsonschema | 16 | 60 | 3 | - | - | - | 3 | 6 |
| com.fasterxml.jackson.databind.module | 309 | 1238 | 6 | - | - | - | 1 | 10 |
| com.fasterxml.jackson.databind.node | 1076 | 4616 | 28 | - | - | - | 7 | 11 |
| com.fasterxml.jackson.databind.type | 869 | 4596 | 14 | - | - | - | 14 | 9 |
| com.fasterxml.jackson.databind.util | 1678 | 6908 | 52 | - | - | - | 15 | 18 |
| com.fasterxml.jackson.databind.deser | 2955 | 12985 | 31 | - | - | - | 7 | 22 |
| com.fasterxml.jackson.databind.deser.impl | 1064 | 4511 | 29 | - | - | - | 3 | 14 |
| com.fasterxml.jackson.databind.deser.std | 2392 | 10592 | 97 | - | - | - | 6 | 27 |
| com.fasterxml.jackson.databind.jsontype | 44 | 223 | 7 | - | - | - | 16 | 8 |
| com.fasterxml.jackson.databind.jsontype.impl | 707 | 2834 | 17 | - | - | - | 3 | 13 |
| com.fasterxml.jackson.databind.ser | 1259 | 5305 | 23 | - | - | - | 6 | 22 |
| com.fasterxml.jackson.databind.ser.impl | 816 | 3137 | 32 | - | - | - | 3 | 17 |
| com.fasterxml.jackson.databind.ser.std | 2238 | 9004 | 65 | - | - | - | 6 | 24 |
| com.fasterxml.jackson.jaxrs.annotation | 0 | 0 | 1 | - | - | - | 1 | 3 |
| com.fasterxml.jackson.jaxrs.base | 247 | 1115 | 3 | - | - | - | 1 | 13 |
| com.fasterxml.jackson.jaxrs.cfg | 163 | 644 | 9 | - | - | - | 2 | 10 |
| com.fasterxml.jackson.jaxrs.util | 38 | 162 | 3 | - | - | - | 1 | 5 |
| com.fasterxml.jackson.jaxrs.json | 97 | 438 | 8 | - | - | - | 0 | 14 |
| com.fasterxml.jackson.jaxrs.json.annotation | 13 | 39 | 3 | - | - | - | 1 | 4 |
| com.fasterxml.jackson.module.jaxb | 459 | 1990 | 7 | - | - | - | 0 | 18 |
| com.fasterxml.jackson.module.jaxb.deser | 51 | 234 | 3 | - | - | - | 0 | 9 |
| com.fasterxml.jackson.module.jaxb.ser | 60 | 206 | 2 | - | - | - | 0 | 10 |
| org.relaxng.datatype | 8 | 20 | 7 | - | - | - | 4 | 1 |
| org.relaxng.datatype.helpers | 129 | 436 | 9 | - | - | - | 0 | 5 |
| com.google.common.annotations | 0 | 0 | 4 | - | - | - | 15 | 2 |
| com.google.common.cache | 2492 | 10887 | 120 | - | - | - | 1 | 18 |
| com.google.common.collect | 15168 | 69118 | 876 | - | - | - | 7 | 17 |
| com.google.common.escape | 288 | 1235 | 17 | - | - | - | 3 | 5 |
| com.google.common.eventbus | 218 | 960 | 19 | - | - | - | 0 | 13 |
| com.google.common.hash | 962 | 4973 | 65 | - | - | - | 2 | 13 |
| com.google.common.html | 3 | 24 | 2 | - | - | - | 0 | 4 |
| com.google.common.io | 1804 | 7705 | 95 | - | - | - | 1 | 18 |
| com.google.common.math | 667 | 4768 | 12 | - | - | - | 4 | 7 |
| com.google.common.net | 771 | 3717 | 13 | - | - | - | 0 | 17 |
| com.google.common.primitives | 1852 | 9051 | 45 | - | - | - | 7 | 12 |
| com.google.common.reflect | 1177 | 5523 | 68 | - | - | - | 1 | 15 |
| com.google.common.xml | 22 | 93 | 2 | - | - | - | 0 | 4 |
| com.google.common.base | 1915 | 9383 | 140 | - | - | - | 12 | 12 |
| com.google.common.base.internal | 48 | 151 | 1 | - | - | - | 0 | 4 |
| com.google.common.util.concurrent | 2937 | 12289 | 196 | - | - | - | 2 | 16 |
| com.google.thirdparty.publicsuffix | 66 | 316 | 3 | - | - | - | 1 | 5 |
| org.h2 | 47 | 119 | 1 | - | - | - | 8 | 6 |
| org.h2.api | 0 | 0 | 5 | - | - | - | 7 | 5 |
| org.h2.bnf | 384 | 1715 | 10 | - | - | - | 1 | 7 |
| org.h2.compress | 325 | 1471 | 6 | - | - | - | 4 | 7 |
| org.h2.constant | 122 | 530 | 3 | - | - | - | 23 | 4 |
| org.h2.constraint | 495 | 2089 | 4 | - | - | - | 6 | 12 |
| org.h2.engine | 3453 | 13491 | 30 | - | - | - | 23 | 30 |
| org.h2.expression | 3676 | 15810 | 40 | - | - | - | 13 | 23 |
| org.h2.fulltext | 826 | 3466 | 7 | - | - | - | 0 | 20 |
| org.h2.index | 3755 | 16152 | 46 | - | - | - | 11 | 18 |
| org.h2.jdbc | 4184 | 16645 | 18 | - | - | - | 13 | 16 |
| org.h2.jdbcx | 415 | 1655 | 6 | - | - | - | 1 | 13 |
| org.h2.jmx | 96 | 534 | 3 | - | - | - | 0 | 13 |
| org.h2.message | 397 | 1784 | 6 | - | - | - | 27 | 14 |
| org.h2.result | 1103 | 4483 | 16 | - | - | - | 14 | 16 |
| org.h2.schema | 470 | 1894 | 6 | - | - | - | 12 | 16 |
| org.h2.security | 624 | 8090 | 7 | - | - | - | 10 | 14 |
| org.h2.table | 2866 | 14831 | 25 | - | - | - | 13 | 20 |
| org.h2.tools | 3851 | 16173 | 25 | - | - | - | 11 | 30 |
| org.h2.upgrade | 86 | 409 | 1 | - | - | - | 1 | 9 |
| org.h2.util | 3049 | 12790 | 44 | - | - | - | 30 | 26 |
| org.h2.value | 2934 | 13068 | 33 | - | - | - | 19 | 21 |
| org.h2.command | 4152 | 16104 | 8 | - | - | - | 13 | 19 |
| org.h2.command.ddl | 1812 | 7074 | 44 | - | - | - | 9 | 16 |
| org.h2.command.dml | 2973 | 12043 | 27 | - | - | - | 7 | 24 |
| org.h2.mvstore | 2412 | 10927 | 20 | - | - | - | 13 | 16 |
| org.h2.mvstore.cache | 364 | 1658 | 5 | - | - | - | 1 | 8 |
| org.h2.mvstore.db | 1645 | 6908 | 20 | - | - | - | 3 | 23 |
| org.h2.mvstore.rtree | 470 | 2149 | 7 | - | - | - | 0 | 6 |
| org.h2.mvstore.type | 695 | 3042 | 20 | - | - | - | 3 | 8 |
| org.h2.server | 581 | 2148 | 5 | - | - | - | 3 | 16 |
| org.h2.server.pg | 810 | 2732 | 4 | - | - | - | 1 | 15 |
| org.h2.server.web | 2409 | 11712 | 17 | - | - | - | 2 | 23 |
| org.h2.store | 3885 | 16517 | 29 | - | - | - | 14 | 30 |
| org.h2.store.fs | 1675 | 7185 | 37 | - | - | - | 15 | 17 |
| com.sun.codemodel | 2459 | 11513 | 95 | - | - | - | 29 | 10 |
| com.sun.codemodel.writer | 87 | 403 | 8 | - | - | - | 2 | 5 |
| com.sun.codemodel.util | 244 | 2106 | 9 | - | - | - | 2 | 8 |
| com.sun.codemodel.fmt | 129 | 499 | 15 | - | - | - | 2 | 7 |
| com.sun.istack | 216 | 721 | 14 | - | - | - | 23 | 11 |
| com.sun.istack.localization | 70 | 233 | 4 | - | - | - | 0 | 3 |
| com.sun.istack.logging | 141 | 627 | 1 | - | - | - | 0 | 4 |
| com.sun.istack.tools | 223 | 867 | 10 | - | - | - | 1 | 10 |
| com.sun.faces | 7 | 19 | 1 | - | - | - | 7 | 1 |
| com.sun.faces.action | 126 | 463 | 7 | - | - | - | 0 | 14 |
| com.sun.faces.el | 1452 | 5774 | 28 | - | - | - | 11 | 17 |
| com.sun.faces.io | 145 | 810 | 3 | - | - | - | 5 | 3 |
| com.sun.faces.lifecycle | 626 | 2572 | 18 | - | - | - | 3 | 23 |
| com.sun.faces.mgbean | 822 | 3694 | 31 | - | - | - | 6 | 17 |
| com.sun.faces.spi | 361 | 1286 | 21 | - | - | - | 7 | 14 |
| com.sun.faces.vendor | 71 | 291 | 2 | - | - | - | 1 | 7 |
| com.sun.faces.application | 3550 | 14836 | 62 | - | - | - | 11 | 59 |
| com.sun.faces.application.annotation | 832 | 3983 | 37 | - | - | - | 3 | 26 |
| com.sun.faces.application.resource | 1562 | 7325 | 22 | - | - | - | 1 | 23 |
| com.sun.faces.application.view | 2375 | 9974 | 49 | - | - | - | 3 | 39 |
| com.sun.faces.component | 203 | 956 | 10 | - | - | - | 3 | 8 |
| com.sun.faces.component.behavior | 52 | 175 | 2 | - | - | - | 2 | 6 |
| com.sun.faces.component.validator | 82 | 349 | 2 | - | - | - | 1 | 9 |
| com.sun.faces.component.visit | 125 | 491 | 6 | - | - | - | 1 | 5 |
| com.sun.faces.config | 2745 | 12525 | 50 | - | - | - | 18 | 49 |
| com.sun.faces.config.configprovider | 208 | 869 | 7 | - | - | - | 1 | 12 |
| com.sun.faces.config.processor | 2013 | 9075 | 22 | - | - | - | 1 | 38 |
| com.sun.faces.context | 2000 | 8143 | 49 | - | - | - | 4 | 27 |
| com.sun.faces.context.flash | 676 | 2996 | 8 | - | - | - | 2 | 18 |
| com.sun.faces.ext.component | 2 | 5 | 1 | - | - | - | 0 | 2 |
| com.sun.faces.ext.render | 12 | 43 | 1 | - | - | - | 0 | 5 |
| com.sun.faces.ext.taglib | 19 | 58 | 2 | - | - | - | 0 | 8 |
| com.sun.faces.ext.validator | 139 | 537 | 3 | - | - | - | 0 | 12 |
| com.sun.faces.facelets | 58 | 197 | 8 | - | - | - | 4 | 8 |
| com.sun.faces.facelets.compiler | 1051 | 4240 | 41 | - | - | - | 5 | 29 |
| com.sun.faces.facelets.component | 551 | 2170 | 5 | - | - | - | 0 | 14 |
| com.sun.faces.facelets.el | 619 | 2725 | 20 | - | - | - | 8 | 16 |
| com.sun.faces.facelets.impl | 554 | 2406 | 21 | - | - | - | 4 | 23 |
| com.sun.faces.facelets.util | 513 | 2180 | 8 | - | - | - | 13 | 20 |
| com.sun.faces.facelets.tag | 892 | 4110 | 44 | - | - | - | 10 | 22 |
| com.sun.faces.facelets.tag.composite | 683 | 3014 | 43 | - | - | - | 1 | 25 |
| com.sun.faces.facelets.tag.ui | 354 | 1511 | 15 | - | - | - | 4 | 17 |
| com.sun.faces.facelets.tag.jsf | 1163 | 4688 | 47 | - | - | - | 10 | 29 |
| com.sun.faces.facelets.tag.jsf.core | 790 | 3226 | 32 | - | - | - | 1 | 25 |
| com.sun.faces.facelets.tag.jsf.html | 125 | 546 | 9 | - | - | - | 2 | 7 |
| com.sun.faces.facelets.tag.jstl.core | 364 | 1469 | 15 | - | - | - | 1 | 12 |
| com.sun.faces.facelets.tag.jstl.fn | 145 | 470 | 1 | - | - | - | 0 | 3 |
| com.sun.faces.flow | 866 | 3347 | 23 | - | - | - | 4 | 25 |
| com.sun.faces.flow.builder | 335 | 1443 | 10 | - | - | - | 3 | 10 |
| com.sun.faces.renderkit | 1554 | 10912 | 25 | - | - | - | 8 | 29 |
| com.sun.faces.renderkit.html_basic | 3276 | 13797 | 44 | - | - | - | 1 | 27 |
| com.sun.faces.scripting | 70 | 228 | 4 | - | - | - | 2 | 8 |
| com.sun.faces.scripting.groovy | 269 | 1075 | 11 | - | - | - | 6 | 21 |
| com.sun.faces.taglib | 139 | 547 | 3 | - | - | - | 2 | 7 |
| com.sun.faces.taglib.html_basic | 4448 | 13883 | 30 | - | - | - | 0 | 17 |
| com.sun.faces.taglib.jsf_core | 1364 | 5153 | 36 | - | - | - | 0 | 28 |
| com.sun.faces.util | 2058 | 9444 | 33 | - | - | - | 33 | 34 |
| com.sun.faces.util.cdi11 | 41 | 127 | 5 | - | - | - | 2 | 9 |
| com.sun.xml.txw2 | 684 | 2933 | 30 | - | - | - | 5 | 6 |
| com.sun.xml.txw2.output | 906 | 2928 | 18 | - | - | - | 5 | 15 |
| com.sun.xml.txw2.annotation | 0 | 0 | 5 | - | - | - | 4 | 2 |
| org.jvnet.fastinfoset | 57 | 185 | 12 | - | - | - | 11 | 8 |
| org.jvnet.fastinfoset.stax | 0 | 0 | 2 | - | - | - | 1 | 3 |
| org.jvnet.fastinfoset.sax | 0 | 0 | 7 | - | - | - | 2 | 5 |
| org.jvnet.fastinfoset.sax.helpers | 241 | 1140 | 2 | - | - | - | 0 | 10 |
| com.sun.xml.fastinfoset | 2097 | 12287 | 13 | - | - | - | 14 | 12 |
| com.sun.xml.fastinfoset.util | 1183 | 5053 | 25 | - | - | - | 6 | 5 |
| com.sun.xml.fastinfoset.sax | 1482 | 6388 | 10 | - | - | - | 3 | 14 |
| com.sun.xml.fastinfoset.vocab | 227 | 1082 | 3 | - | - | - | 5 | 6 |
| com.sun.xml.fastinfoset.alphabet | 5 | 16 | 1 | - | - | - | 1 | 1 |
| com.sun.xml.fastinfoset.algorithm | 737 | 4777 | 22 | - | - | - | 5 | 7 |
| com.sun.xml.fastinfoset.tools | 710 | 2788 | 17 | - | - | - | 1 | 22 |
| com.sun.xml.fastinfoset.dom | 658 | 2998 | 2 | - | - | - | 1 | 9 |
| com.sun.xml.fastinfoset.org.apache.xerces.util | 690 | 3288 | 1 | - | - | - | 3 | 2 |
| com.sun.xml.fastinfoset.stax | 1267 | 5846 | 5 | - | - | - | 5 | 14 |
| com.sun.xml.fastinfoset.stax.util | 69 | 260 | 2 | - | - | - | 1 | 5 |
| com.sun.xml.fastinfoset.stax.events | 741 | 2606 | 21 | - | - | - | 1 | 10 |
| com.sun.xml.fastinfoset.stax.factory | 179 | 827 | 3 | - | - | - | 0 | 14 |
| com.sun.xml.bind | 449 | 2084 | 14 | - | - | - | 15 | 14 |
| com.sun.xml.bind.annotation | 0 | 0 | 3 | - | - | - | 2 | 2 |
| com.sun.xml.bind.marshaller | 378 | 1307 | 9 | - | - | - | 5 | 11 |
| com.sun.xml.bind.unmarshaller | 132 | 490 | 4 | - | - | - | 4 | 9 |
| com.sun.xml.bind.util | 190 | 955 | 7 | - | - | - | 6 | 7 |
| com.sun.xml.bind.api | 128 | 616 | 11 | - | - | - | 10 | 20 |
| com.sun.xml.bind.api.impl | 222 | 1339 | 5 | - | - | - | 12 | 2 |
| com.sun.xml.bind.v2 | 209 | 949 | 7 | - | - | - | 11 | 14 |
| com.sun.xml.bind.v2.bytecode | 80 | 329 | 5 | - | - | - | 1 | 5 |
| com.sun.xml.bind.v2.util | 365 | 1600 | 14 | - | - | - | 10 | 9 |
| com.sun.xml.bind.v2.model.annotation | 280 | 1260 | 29 | - | - | - | 9 | 11 |
| com.sun.xml.bind.v2.model.core | 61 | 340 | 29 | - | - | - | 17 | 13 |
| com.sun.xml.bind.v2.model.impl | 2462 | 12889 | 95 | - | - | - | 6 | 39 |
| com.sun.xml.bind.v2.model.nav | 396 | 1767 | 17 | - | - | - | 13 | 5 |
| com.sun.xml.bind.v2.model.runtime | 0 | 0 | 19 | - | - | - | 6 | 12 |
| com.sun.xml.bind.v2.runtime | 2468 | 10656 | 57 | - | - | - | 19 | 45 |
| com.sun.xml.bind.v2.runtime.output | 1130 | 4793 | 28 | - | - | - | 2 | 22 |
| com.sun.xml.bind.v2.runtime.property | 646 | 2966 | 28 | - | - | - | 2 | 18 |
| com.sun.xml.bind.v2.runtime.unmarshaller | 1847 | 7391 | 65 | - | - | - | 8 | 40 |
| com.sun.xml.bind.v2.runtime.reflect | 800 | 3418 | 56 | - | - | - | 7 | 23 |
| com.sun.xml.bind.v2.runtime.reflect.opt | 510 | 2344 | 44 | - | - | - | 1 | 16 |
| com.sun.xml.bind.v2.schemagen | 858 | 4189 | 29 | - | - | - | 2 | 25 |
| com.sun.xml.bind.v2.schemagen.episode | 0 | 0 | 5 | - | - | - | 2 | 3 |
| com.sun.xml.bind.v2.schemagen.xmlschema | 0 | 0 | 43 | - | - | - | 1 | 4 |
| com.sun.xml.xsom | 53 | 244 | 35 | - | - | - | 19 | 11 |
| com.sun.xml.xsom.parser | 100 | 360 | 9 | - | - | - | 8 | 10 |
| com.sun.xml.xsom.visitor | 0 | 0 | 11 | - | - | - | 9 | 2 |
| com.sun.xml.xsom.util | 198 | 861 | 13 | - | - | - | 4 | 10 |
| com.sun.xml.xsom.impl | 1059 | 4081 | 60 | - | - | - | 3 | 13 |
| com.sun.xml.xsom.impl.util | 698 | 3713 | 12 | - | - | - | 2 | 12 |
| com.sun.xml.xsom.impl.scd | 2301 | 12269 | 57 | - | - | - | 2 | 7 |
| com.sun.xml.xsom.impl.parser | 390 | 1684 | 28 | - | - | - | 3 | 14 |
| com.sun.xml.xsom.impl.parser.state | 6862 | 35301 | 39 | - | - | - | 2 | 11 |
| com.sun.tools.jxc | 380 | 1651 | 18 | - | - | - | 2 | 29 |
| com.sun.tools.jxc.ap | 246 | 1218 | 12 | - | - | - | 2 | 21 |
| com.sun.tools.jxc.gen.config | 827 | 3605 | 9 | - | - | - | 1 | 6 |
| com.sun.tools.jxc.model.nav | 227 | 1188 | 4 | - | - | - | 1 | 11 |
| com.sun.tools.xjc | 1249 | 5824 | 42 | - | - | - | 24 | 49 |
| com.sun.tools.xjc.outline | 37 | 145 | 9 | - | - | - | 13 | 9 |
| com.sun.tools.xjc.runtime | 42 | 175 | 3 | - | - | - | 0 | 5 |
| com.sun.tools.xjc.util | 292 | 1242 | 13 | - | - | - | 13 | 15 |
| com.sun.tools.xjc.writer | 69 | 311 | 2 | - | - | - | 1 | 6 |
| com.sun.tools.xjc.addon.accessors | 29 | 98 | 1 | - | - | - | 0 | 10 |
| com.sun.tools.xjc.addon.at_generated | 26 | 148 | 1 | - | - | - | 0 | 7 |
| com.sun.tools.xjc.addon.code_injector | 15 | 59 | 2 | - | - | - | 0 | 8 |
| com.sun.tools.xjc.addon.episode | 133 | 586 | 9 | - | - | - | 0 | 14 |
| com.sun.tools.xjc.addon.locator | 17 | 72 | 1 | - | - | - | 0 | 7 |
| com.sun.tools.xjc.addon.sync | 10 | 44 | 1 | - | - | - | 0 | 7 |
| com.sun.tools.xjc.api | 36 | 176 | 13 | - | - | - | 9 | 20 |
| com.sun.tools.xjc.api.util | 73 | 325 | 4 | - | - | - | 0 | 9 |
| com.sun.tools.xjc.api.impl.j2s | 94 | 461 | 3 | - | - | - | 1 | 20 |
| com.sun.tools.xjc.api.impl.s2j | 341 | 1486 | 15 | - | - | - | 1 | 23 |
| com.sun.tools.xjc.generator | 0 | 0 | 1 | - | - | - | 0 | 0 |
| com.sun.tools.xjc.generator.util | 31 | 114 | 7 | - | - | - | 0 | 3 |
| com.sun.tools.xjc.generator.annotation.ri | 0 | 0 | 3 | - | - | - | 0 | 3 |
| com.sun.tools.xjc.generator.annotation.spec | 0 | 0 | 31 | - | - | - | 3 | 4 |
| com.sun.tools.xjc.generator.bean | 616 | 3473 | 25 | - | - | - | 5 | 21 |
| com.sun.tools.xjc.generator.bean.field | 608 | 3424 | 34 | - | - | - | 5 | 18 |
| com.sun.tools.xjc.model | 1027 | 4568 | 65 | - | - | - | 15 | 33 |
| com.sun.tools.xjc.model.nav | 203 | 879 | 8 | - | - | - | 4 | 7 |
| com.sun.tools.xjc.reader | 359 | 1691 | 12 | - | - | - | 9 | 17 |
| com.sun.tools.xjc.reader.gbind | 169 | 745 | 14 | - | - | - | 2 | 2 |
| com.sun.tools.xjc.reader.internalizer | 778 | 3474 | 21 | - | - | - | 4 | 30 |
| com.sun.tools.xjc.reader.relaxng | 262 | 1157 | 13 | - | - | - | 1 | 16 |
| com.sun.tools.xjc.reader.dtd | 360 | 1790 | 13 | - | - | - | 1 | 18 |
| com.sun.tools.xjc.reader.dtd.bindinfo | 414 | 1914 | 15 | - | - | - | 1 | 18 |
| com.sun.tools.xjc.reader.xmlschema | 1647 | 7463 | 42 | - | - | - | 5 | 30 |
| com.sun.tools.xjc.reader.xmlschema.bindinfo | 966 | 4279 | 53 | - | - | - | 5 | 33 |
| com.sun.tools.xjc.reader.xmlschema.ct | 287 | 1497 | 15 | - | - | - | 1 | 11 |
| com.sun.tools.xjc.reader.xmlschema.parser | 145 | 569 | 8 | - | - | - | 2 | 16 |
| nu.xom | 0 | 30131 | 86 | - | - | - | 5 | 13 |
| nu.xom.canonical | 0 | 1867 | 5 | - | - | - | 0 | 5 |
| nu.xom.converters | 0 | 1437 | 2 | - | - | - | 1 | 6 |
| nu.xom.tests | 0 | 728 | 1 | - | - | - | 0 | 3 |
| nu.xom.xinclude | 0 | 2459 | 14 | - | - | - | 0 | 5 |
| nu.xom.xslt | 0 | 1124 | 9 | - | - | - | 0 | 10 |
| nu.xom.jaxen | 0 | 1903 | 24 | - | - | - | 8 | 10 |
| nu.xom.jaxen.util | 0 | 625 | 11 | - | - | - | 3 | 3 |
| nu.xom.jaxen.expr | 0 | 4009 | 72 | - | - | - | 1 | 8 |
| nu.xom.jaxen.expr.iter | 0 | 163 | 14 | - | - | - | 1 | 4 |
| nu.xom.jaxen.function | 0 | 2017 | 27 | - | - | - | 4 | 4 |
| nu.xom.jaxen.function.ext | 0 | 332 | 5 | - | - | - | 1 | 5 |
| nu.xom.jaxen.function.xslt | 0 | 29 | 1 | - | - | - | 1 | 4 |
| nu.xom.jaxen.saxpath | 0 | 327 | 7 | - | - | - | 5 | 3 |
| nu.xom.jaxen.saxpath.base | 0 | 5245 | 5 | - | - | - | 0 | 4 |
| nu.xom.jaxen.saxpath.helpers | 0 | 146 | 2 | - | - | - | 2 | 2 |
| xom-1.2.5.jar::org.w3c.dom | 0 | 0 | 1 | - | - | - | 1 | 2 |
| com.sun.xml.messaging.saaj | 38 | 108 | 1 | - | - | - | 6 | 3 |
| com.sun.xml.messaging.saaj.util | 1044 | 5365 | 19 | - | - | - | 8 | 17 |
| com.sun.xml.messaging.saaj.util.transform | 137 | 417 | 1 | - | - | - | 2 | 8 |
| com.sun.xml.messaging.saaj.soap | 1739 | 6755 | 24 | - | - | - | 5 | 32 |
| com.sun.xml.messaging.saaj.soap.dynamic | 5 | 18 | 2 | - | - | - | 1 | 3 |
| com.sun.xml.messaging.saaj.soap.ver1_2 | 494 | 2053 | 14 | - | - | - | 2 | 13 |
| com.sun.xml.messaging.saaj.soap.impl | 1250 | 4984 | 22 | - | - | - | 3 | 20 |
| com.sun.xml.messaging.saaj.soap.ver1_1 | 281 | 1267 | 13 | - | - | - | 2 | 12 |
| com.sun.xml.messaging.saaj.soap.name | 157 | 722 | 17 | - | - | - | 4 | 5 |
| com.sun.xml.messaging.saaj.client.p2p | 302 | 1189 | 2 | - | - | - | 0 | 10 |
| com.sun.xml.messaging.saaj.packaging.mime | 35 | 112 | 3 | - | - | - | 2 | 3 |
| com.sun.xml.messaging.saaj.packaging.mime.util | 544 | 3078 | 12 | - | - | - | 2 | 3 |
| com.sun.xml.messaging.saaj.packaging.mime.internet | 1824 | 7138 | 20 | - | - | - | 4 | 10 |
| 60 | 227 | 1 | - | - | - | 0 | 3 | |
| gnu.getopt | 368 | 1475 | 2 | - | - | - | 1 | 4 |
| io.netty.bootstrap | 400 | 1912 | 13 | - | - | - | 1 | 9 |
| io.netty.buffer | 5104 | 23155 | 57 | - | - | - | 32 | 10 |
| io.netty.channel | 2529 | 9473 | 111 | - | - | - | 36 | 15 |
| io.netty.channel.embedded | 151 | 557 | 6 | - | - | - | 1 | 10 |
| io.netty.channel.group | 305 | 1324 | 17 | - | - | - | 0 | 9 |
| io.netty.channel.local | 294 | 1089 | 15 | - | - | - | 0 | 9 |
| io.netty.channel.nio | 717 | 2448 | 16 | - | - | - | 3 | 15 |
| io.netty.channel.oio | 235 | 771 | 9 | - | - | - | 3 | 10 |
| io.netty.channel.rxtx | 220 | 994 | 11 | - | - | - | 0 | 8 |
| io.netty.channel.sctp | 222 | 858 | 9 | - | - | - | 3 | 8 |
| io.netty.channel.sctp.nio | 236 | 872 | 6 | - | - | - | 0 | 14 |
| io.netty.channel.sctp.oio | 336 | 1128 | 6 | - | - | - | 0 | 13 |
| io.netty.channel.socket | 381 | 1439 | 12 | - | - | - | 4 | 8 |
| io.netty.channel.socket.nio | 435 | 1602 | 7 | - | - | - | 0 | 15 |
| io.netty.channel.socket.oio | 415 | 1411 | 8 | - | - | - | 0 | 11 |
| io.netty.channel.udt | 171 | 619 | 8 | - | - | - | 1 | 9 |
| io.netty.channel.udt.nio | 243 | 996 | 11 | - | - | - | 0 | 13 |
| io.netty.handler.logging | 194 | 951 | 2 | - | - | - | 0 | 5 |
| io.netty.handler.ssl | 518 | 1904 | 12 | - | - | - | 1 | 14 |
| io.netty.handler.stream | 346 | 1293 | 11 | - | - | - | 2 | 11 |
| io.netty.handler.timeout | 265 | 1040 | 15 | - | - | - | 0 | 5 |
| io.netty.handler.traffic | 220 | 928 | 8 | - | - | - | 0 | 7 |
| io.netty.handler.codec | 1135 | 4081 | 26 | - | - | - | 14 | 10 |
| io.netty.handler.codec.base64 | 145 | 3140 | 4 | - | - | - | 1 | 5 |
| io.netty.handler.codec.bytes | 10 | 40 | 2 | - | - | - | 0 | 5 |
| io.netty.handler.codec.compression | 1048 | 5811 | 30 | - | - | - | 2 | 11 |
| io.netty.handler.codec.marshalling | 174 | 596 | 15 | - | - | - | 0 | 8 |
| io.netty.handler.codec.protobuf | 68 | 278 | 4 | - | - | - | 0 | 6 |
| io.netty.handler.codec.rtsp | 169 | 659 | 12 | - | - | - | 0 | 6 |
| io.netty.handler.codec.sctp | 49 | 238 | 4 | - | - | - | 0 | 6 |
| io.netty.handler.codec.serialization | 245 | 948 | 14 | - | - | - | 0 | 9 |
| io.netty.handler.codec.socks | 501 | 2749 | 43 | - | - | - | 0 | 8 |
| io.netty.handler.codec.spdy | 2249 | 15068 | 67 | - | - | - | 0 | 16 |
| io.netty.handler.codec.string | 22 | 71 | 2 | - | - | - | 0 | 7 |
| io.netty.handler.codec.http | 2731 | 11044 | 74 | - | - | - | 5 | 16 |
| io.netty.handler.codec.http.cors | 103 | 431 | 4 | - | - | - | 0 | 6 |
| io.netty.handler.codec.http.multipart | 2392 | 10011 | 35 | - | - | - | 0 | 17 |
| io.netty.handler.codec.http.websocketx | 1294 | 7502 | 49 | - | - | - | 0 | 15 |
| io.netty.util | 1014 | 4140 | 34 | - | - | - | 27 | 13 |
| io.netty.util.concurrent | 1486 | 6111 | 52 | - | - | - | 17 | 7 |
| io.netty.util.internal | 856 | 3356 | 21 | - | - | - | 27 | 17 |
| io.netty.util.internal.chmv8 | 4015 | 20018 | 94 | - | - | - | 1 | 11 |
| io.netty.util.internal.logging | 693 | 2765 | 16 | - | - | - | 20 | 8 |
| io.undertow | 739 | 3571 | 13 | - | - | - | 31 | 24 |
| io.undertow.attribute | 474 | 1802 | 60 | - | - | - | 7 | 12 |
| io.undertow.channels | 532 | 1965 | 12 | - | - | - | 3 | 9 |
| io.undertow.conduits | 1568 | 6790 | 34 | - | - | - | 7 | 15 |
| io.undertow.io | 653 | 2384 | 13 | - | - | - | 11 | 10 |
| io.undertow.predicate | 619 | 2634 | 42 | - | - | - | 8 | 10 |
| io.undertow.util | 5311 | 21868 | 115 | - | - | - | 39 | 24 |
| io.undertow.client | 152 | 645 | 13 | - | - | - | 3 | 12 |
| io.undertow.client.ajp | 879 | 3817 | 21 | - | - | - | 0 | 17 |
| io.undertow.client.http | 871 | 10399 | 21 | - | - | - | 0 | 18 |
| io.undertow.security.api | 49 | 215 | 15 | - | - | - | 13 | 9 |
| io.undertow.security.handlers | 97 | 325 | 9 | - | - | - | 2 | 11 |
| io.undertow.security.idm | 36 | 138 | 9 | - | - | - | 10 | 6 |
| io.undertow.security.impl | 1133 | 5055 | 47 | - | - | - | 4 | 23 |
| io.undertow.server | 1078 | 4066 | 44 | - | - | - | 35 | 24 |
| io.undertow.server.session | 462 | 1911 | 23 | - | - | - | 9 | 10 |
| io.undertow.server.handlers | 1374 | 5505 | 65 | - | - | - | 17 | 26 |
| io.undertow.server.handlers.accesslog | 130 | 513 | 6 | - | - | - | 0 | 11 |
| io.undertow.server.handlers.builder | 265 | 1289 | 12 | - | - | - | 2 | 10 |
| io.undertow.server.handlers.cache | 613 | 2511 | 17 | - | - | - | 1 | 17 |
| io.undertow.server.handlers.encoding | 236 | 991 | 16 | - | - | - | 2 | 17 |
| io.undertow.server.handlers.error | 106 | 404 | 6 | - | - | - | 0 | 12 |
| io.undertow.server.handlers.form | 377 | 1497 | 15 | - | - | - | 6 | 14 |
| io.undertow.server.handlers.proxy | 722 | 3188 | 44 | - | - | - | 2 | 18 |
| io.undertow.server.handlers.resource | 725 | 3029 | 26 | - | - | - | 7 | 17 |
| io.undertow.server.protocol.ajp | 952 | 3815 | 18 | - | - | - | 2 | 17 |
| io.undertow.server.protocol.framed | 833 | 3674 | 13 | - | - | - | 5 | 15 |
| io.undertow.server.protocol.http | 1490 | 16803 | 25 | - | - | - | 6 | 18 |
| io.undertow.websockets | 92 | 389 | 5 | - | - | - | 5 | 12 |
| io.undertow.websockets.client | 138 | 719 | 9 | - | - | - | 1 | 14 |
| io.undertow.websockets.spi | 128 | 539 | 5 | - | - | - | 8 | 14 |
| io.undertow.websockets.core | 1333 | 6910 | 48 | - | - | - | 11 | 18 |
| io.undertow.websockets.core.function | 141 | 597 | 5 | - | - | - | 2 | 10 |
| io.undertow.websockets.core.protocol | 52 | 191 | 2 | - | - | - | 7 | 7 |
| io.undertow.websockets.core.protocol.version07 | 1090 | 10167 | 26 | - | - | - | 5 | 12 |
| io.undertow.websockets.core.protocol.version08 | 8 | 37 | 2 | - | - | - | 3 | 8 |
| io.undertow.websockets.core.protocol.version13 | 23 | 78 | 2 | - | - | - | 4 | 8 |
| org.eclipse.jdt.internal.antadapter | 13 | 72 | 1 | - | - | - | 1 | 4 |
| ecj-4.3.1.jar::org.eclipse.jdt.internal.compiler | 5497 | 21938 | 25 | - | - | - | 13 | 16 |
| org.eclipse.jdt.internal.compiler.lookup | 16131 | 67779 | 78 | - | - | - | 12 | 12 |
| org.eclipse.jdt.internal.compiler.ast | 18149 | 72146 | 116 | - | - | - | 12 | 12 |
| org.eclipse.jdt.internal.compiler.batch | 3872 | 13913 | 19 | - | - | - | 6 | 15 |
| org.eclipse.jdt.internal.compiler.classfmt | 1725 | 7421 | 14 | - | - | - | 7 | 10 |
| org.eclipse.jdt.internal.compiler.codegen | 6525 | 25457 | 23 | - | - | - | 5 | 11 |
| org.eclipse.jdt.internal.compiler.env | 170 | 644 | 22 | - | - | - | 13 | 4 |
| org.eclipse.jdt.internal.compiler.flow | 3118 | 14063 | 14 | - | - | - | 2 | 8 |
| org.eclipse.jdt.internal.compiler.impl | 2412 | 13742 | 15 | - | - | - | 16 | 10 |
| org.eclipse.jdt.internal.compiler.problem | 7481 | 26122 | 10 | - | - | - | 13 | 11 |
| org.eclipse.jdt.internal.compiler.tool | 1482 | 5940 | 17 | - | - | - | 0 | 21 |
| org.eclipse.jdt.internal.compiler.util | 2156 | 8691 | 26 | - | - | - | 14 | 11 |
| org.eclipse.jdt.internal.compiler.apt.dispatch | 886 | 3477 | 16 | - | - | - | 1 | 25 |
| org.eclipse.jdt.internal.compiler.apt.model | 1915 | 8788 | 24 | - | - | - | 1 | 18 |
| org.eclipse.jdt.internal.compiler.apt.util | 1217 | 4949 | 9 | - | - | - | 1 | 15 |
| org.eclipse.jdt.internal.compiler.parser | 13638 | 57547 | 26 | - | - | - | 6 | 12 |
| org.eclipse.jdt.internal.compiler.parser.diagnose | 1747 | 7357 | 9 | - | - | - | 1 | 9 |
| ecj-4.3.1.jar::org.eclipse.jdt.core | 337 | 1555 | 4 | - | - | - | 0 | 16 |
| org.eclipse.jdt.core.compiler | 996 | 3375 | 5 | - | - | - | 19 | 3 |
| org.eclipse.jdt.core.compiler.batch | 4 | 16 | 1 | - | - | - | 0 | 4 |
| io.undertow.servlet | 333 | 1640 | 6 | - | - | - | 7 | 9 |
| io.undertow.servlet.api | 827 | 3225 | 41 | - | - | - | 9 | 21 |
| io.undertow.servlet.attribute | 46 | 160 | 4 | - | - | - | 0 | 7 |
| io.undertow.servlet.core | 1191 | 4936 | 41 | - | - | - | 6 | 30 |
| io.undertow.servlet.predicate | 20 | 83 | 2 | - | - | - | 1 | 7 |
| io.undertow.servlet.spec | 3396 | 13381 | 57 | - | - | - | 7 | 33 |
| io.undertow.servlet.util | 149 | 593 | 10 | - | - | - | 5 | 17 |
| io.undertow.servlet.websockets | 127 | 528 | 5 | - | - | - | 1 | 20 |
| io.undertow.servlet.handlers | 976 | 4277 | 31 | - | - | - | 10 | 24 |
| io.undertow.servlet.handlers.security | 390 | 1670 | 21 | - | - | - | 2 | 21 |
| org.apache.tomcat | 0 | 0 | 2 | - | - | - | 3 | 3 |
| org.apache.jasper | 1457 | 5904 | 10 | - | - | - | 8 | 11 |
| org.apache.jasper.deploy | 209 | 564 | 8 | - | - | - | 3 | 4 |
| org.apache.jasper.servlet | 344 | 1280 | 3 | - | - | - | 2 | 15 |
| org.apache.jasper.security | 61 | 418 | 2 | - | - | - | 3 | 2 |
| org.apache.jasper.el | 301 | 1210 | 17 | - | - | - | 2 | 8 |
| org.apache.jasper.util | 23 | 70 | 1 | - | - | - | 1 | 2 |
| org.apache.jasper.xmlparser | 2293 | 11123 | 11 | - | - | - | 1 | 7 |
| org.apache.jasper.runtime | 1795 | 6880 | 42 | - | - | - | 2 | 17 |
| org.apache.jasper.compiler | 10618 | 45678 | 138 | - | - | - | 3 | 32 |
| org.apache.jasper.compiler.tagplugin | 0 | 0 | 2 | - | - | - | 2 | 1 |
| org.apache.jasper.tagplugins.jstl | 121 | 465 | 3 | - | - | - | 1 | 7 |
| org.apache.jasper.tagplugins.jstl.core | 701 | 4863 | 14 | - | - | - | 0 | 5 |
| io.undertow.jsp | 31 | 133 | 4 | - | - | - | 0 | 12 |
| io.undertow.websockets.jsr | 1565 | 7051 | 54 | - | - | - | 3 | 41 |
| io.undertow.websockets.jsr.annotated | 499 | 2583 | 19 | - | - | - | 1 | 15 |
| io.undertow.websockets.jsr.handshake | 77 | 318 | 6 | - | - | - | 1 | 16 |
| io.undertow.websockets.jsr.util | 39 | 176 | 1 | - | - | - | 1 | 5 |
| net.jcip.annotations | - | 0 | 4 | - | - | - | 0 | 2 |
| Code Quality | 1120 |
|
| Critical Rule warning: Types too big - critical |
warnif count > 0 from t in JustMyCode.Types where
t.NbLinesOfCode > 500 ||
t.NbBCInstructions > 3000
orderby t.NbLinesOfCode descending
select new { t, t.NbLinesOfCode, t.NbBCInstructions,
t.Methods, t.Fields }
// Types where NbLinesOfCode > 500 are extremely complex
// and should be split in a smaller group of types.
// See the definition of the NbLinesOfCode metric here
// http://www.jarchitect.com/Metrics#NbLinesOfCode
// In average, a line of code is compiled to around
// 6 BC instructions. This is why the code metric
// NbBCInstructions is used here, in case the
// code metric NbLinesOfCode is un-available because
// of missing code source files.
// See the definition of the NbBCInstructions metric here
// http://www.jarchitect.com/Metrics#NbBCInstructions
103 types matched
| types | # lines of code (LOC) | # ByteCode instructions | Methods | Fields | Full Name |
|---|---|---|---|---|---|
| ProblemReporter | 7 142 | 24 942 | 493 methods | 5 fields | org.eclipse.jdt.internal.compiler.problem.ProblemReporter |
| Parser | 6 534 | 27 126 | 432 methods | 132 fields | org.eclipse.jdt.internal.compiler.parser.Parser |
| CodeStream | 4 541 | 16 674 | 328 methods | 42 fields | org.eclipse.jdt.internal.compiler.codegen.CodeStream |
| Parser | 3 705 | 14 398 | 156 methods | 55 fields | org.h2.command.Parser |
| ClassFile | 3 673 | 15 759 | 87 methods | 24 fields | org.eclipse.jdt.internal.compiler.ClassFile |
| Scope | 2 914 | 11 495 | 96 methods | 13 fields | org.eclipse.jdt.internal.compiler.lookup.Scope |
| Main | 2 510 | 8 331 | 57 methods | 52 fields | org.eclipse.jdt.internal.compiler.batch.Main |
| Scanner | 2 480 | 10 244 | 62 methods | 112 fields | org.eclipse.jdt.internal.compiler.parser.Scanner |
| UTF8StreamJsonParser | 1 536 | 6 667 | 81 methods | 12 fields | com.fasterxml.jackson.core.json.UTF8StreamJsonParser |
| DiagnoseParser | 1 468 | 6 072 | 26 methods | 45 fields | org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser |
| MXParser | 1 430 | 8 467 | 76 methods | 84 fields | org.jboss.modules.xml.MXParser |
| UnconditionalFlowInfo | 1 401 | 7 782 | 53 methods | 12 fields | org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo |
| SourceTypeBinding | 1 394 | 5 962 | 63 methods | 16 fields | org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding |
| Generator$GenerateVisitor | 1 350 | 6 108 | 47 methods | 20 fields | org.apache.jasper.compiler.Generator$GenerateVisitor |
| SCDParserTokenManager | 1 325 | 7 513 | 38 methods | 55 fields | com.sun.xml.xsom.impl.scd.SCDParserTokenManager |
| Function | 1 322 | 5 777 | 59 methods | 165 fields | org.h2.expression.Function |
| BinaryExpression | 1 259 | 3 833 | 23 methods | 3 fields | org.eclipse.jdt.internal.compiler.ast.BinaryExpression |
| JdbcResultSet | 1 140 | 4 594 | 206 methods | 13 fields | org.h2.jdbc.JdbcResultSet |
| Database | 1 128 | 4 429 | 166 methods | 89 fields | org.h2.engine.Database |
| WebApp | 1 128 | 6 003 | 47 methods | 8 fields | org.h2.server.web.WebApp |
| Constant | 1 029 | 7 113 | 34 methods | 1 field | org.eclipse.jdt.internal.compiler.impl.Constant |
| PageStore | 1 025 | 4 674 | 92 methods | 59 fields | org.h2.store.PageStore |
| CompilerOptions | 998 | 5 214 | 15 methods | 292 fields | org.eclipse.jdt.internal.compiler.impl.CompilerOptions |
| HttpPostRequestDecoder | 995 | 3 879 | 40 methods | 19 fields | io.netty.handler.codec.http.multipart.HttpPostRequestDecoder |
| CharOperation | 988 | 3 358 | 70 methods | 3 fields | org.eclipse.jdt.core.compiler.CharOperation |
| ConcurrentHashMapV8<K,V> | 987 | 4 906 | 87 methods | 39 fields | io.netty.util.internal.chmv8.ConcurrentHashMapV8 |
| BinaryTypeBinding | 986 | 4 429 | 45 methods | 9 fields | org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding |
| WriterBasedJsonGenerator | 963 | 3 985 | 64 methods | 9 fields | com.fasterxml.jackson.core.json.WriterBasedJsonGenerator |
| ReaderBasedJsonParser | 953 | 3 832 | 51 methods | 8 fields | com.fasterxml.jackson.core.json.ReaderBasedJsonParser |
| AbstractCommentParser | 951 | 3 894 | 44 methods | 62 fields | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser |
| complexType | 919 | 4 924 | 27 methods | 22 fields | com.sun.xml.xsom.impl.parser.state.complexType |
| Encoder | 910 | 4 054 | 118 methods | 33 fields | com.sun.xml.fastinfoset.Encoder |
| UTF8JsonGenerator | 886 | 4 019 | 69 methods | 29 fields | com.fasterxml.jackson.core.json.UTF8JsonGenerator |
| SAXDocumentParser | 852 | 4 076 | 39 methods | 15 fields | com.sun.xml.fastinfoset.sax.SAXDocumentParser |
| LookupEnvironment | 848 | 3 516 | 54 methods | 48 fields | org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment |
| TypeDeclaration | 848 | 3 494 | 41 methods | 31 fields | org.eclipse.jdt.internal.compiler.ast.TypeDeclaration |
| Parser | 841 | 4 134 | 55 methods | 14 fields | org.apache.jasper.compiler.Parser |
| ReferenceBinding | 839 | 3 273 | 90 methods | 12 fields | org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding |
| ClassScope | 835 | 3 546 | 26 methods | 3 fields | org.eclipse.jdt.internal.compiler.lookup.ClassScope |
| Recover | 834 | 4 259 | 50 methods | 17 fields | org.h2.tools.Recover |
| MVStore | 825 | 3 792 | 75 methods | 43 fields | org.h2.mvstore.MVStore |
| JasperMessages_$bundle | 823 | 3 459 | 499 methods | 251 fields | org.apache.jasper.JasperMessages_$bundle |
| Decoder | 814 | 4 453 | 83 methods | 46 fields | com.sun.xml.fastinfoset.Decoder |
| ForkJoinPool | 804 | 4 259 | 70 methods | 80 fields | io.netty.util.internal.chmv8.ForkJoinPool |
| TryStatement | 790 | 2 999 | 16 methods | 38 fields | org.eclipse.jdt.internal.compiler.ast.TryStatement |
| ApplicationImpl | 789 | 3 562 | 85 methods | 36 fields | com.sun.faces.application.ApplicationImpl |
| StAXDocumentParser | 788 | 3 941 | 101 methods | 37 fields | com.sun.xml.fastinfoset.stax.StAXDocumentParser |
| LocalCache$Segment<K,V> | 786 | 3 177 | 59 methods | 14 fields | com.google.common.cache.LocalCache$Segment |
| Main$Logger | 764 | 3 282 | 54 methods | 69 fields | org.eclipse.jdt.internal.compiler.batch.Main$Logger |
| Select | 756 | 3 217 | 51 methods | 27 fields | org.h2.command.dml.Select |
| CompositeByteBuf | 745 | 3 410 | 124 methods | 8 fields | io.netty.buffer.CompositeByteBuf |
| JdbcConnection | 695 | 2 772 | 85 methods | 19 fields | org.h2.jdbc.JdbcConnection |
| QualifiedNameReference | 691 | 3 039 | 34 methods | 9 fields | org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference |
| XMLChar | 690 | 3 288 | 21 methods | 9 fields | com.sun.xml.fastinfoset.org.apache.xerces.util.XMLChar |
| XMLChar | 690 | 3 288 | 21 methods | 9 fields | org.apache.jasper.xmlparser.XMLChar |
| BlockScope | 673 | 2 485 | 34 methods | 14 fields | org.eclipse.jdt.internal.compiler.lookup.BlockScope |
| Data | 661 | 2 873 | 41 methods | 22 fields | org.h2.store.Data |
| MethodVerifier15 | 659 | 2 973 | 34 methods | 0 field | org.eclipse.jdt.internal.compiler.lookup.MethodVerifier15 |
| MethodBinding | 658 | 2 974 | 64 methods | 10 fields | org.eclipse.jdt.internal.compiler.lookup.MethodBinding |
| MessageImpl | 649 | 2 529 | 66 methods | 31 fields | com.sun.xml.messaging.saaj.soap.MessageImpl |
| BasicDeserializerFactory | 646 | 2 858 | 44 methods | 8 fields | com.fasterxml.jackson.databind.deser.BasicDeserializerFactory |
| Util | 645 | 2 412 | 39 methods | 37 fields | org.eclipse.jdt.internal.compiler.util.Util |
| EclipseFileManager | 644 | 2 576 | 42 methods | 11 fields | org.eclipse.jdt.internal.compiler.apt.util.EclipseFileManager |
| Schema | 640 | 3 369 | 24 methods | 24 fields | com.sun.xml.xsom.impl.parser.state.Schema |
| ConstantPool | 626 | 3 193 | 26 methods | 226 fields | org.eclipse.jdt.internal.compiler.codegen.ConstantPool |
| EclipseFileManager | 626 | 2 540 | 42 methods | 11 fields | org.eclipse.jdt.internal.compiler.tool.EclipseFileManager |
| PgServerThread | 624 | 2 106 | 47 methods | 21 fields | org.h2.server.pg.PgServerThread |
| Module | 607 | 2 724 | 63 methods | 21 fields | org.jboss.modules.Module |
| RenderKitUtils | 607 | 2 749 | 48 methods | 10 fields | com.sun.faces.renderkit.RenderKitUtils |
| ClassFileReader | 607 | 2 531 | 45 methods | 25 fields | org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader |
| ParameterizedTypeBinding | 603 | 2 552 | 55 methods | 10 fields | org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding |
| JdbcDatabaseMetaData | 602 | 2 326 | 181 methods | 2 fields | org.h2.jdbc.JdbcDatabaseMetaData |
| TypeBinding | 597 | 2 108 | 61 methods | 12 fields | org.eclipse.jdt.internal.compiler.lookup.TypeBinding |
| NavigationHandlerImpl | 595 | 2 580 | 33 methods | 8 fields | com.sun.faces.application.NavigationHandlerImpl |
| JdbcPreparedStatement | 583 | 2 425 | 73 methods | 4 fields | org.h2.jdbc.JdbcPreparedStatement |
| FaceletViewHandlingStrategy | 583 | 2 414 | 37 methods | 16 fields | com.sun.faces.application.view.FaceletViewHandlingStrategy |
| SingleNameReference | 578 | 2 328 | 25 methods | 5 fields | org.eclipse.jdt.internal.compiler.ast.SingleNameReference |
| Generator | 573 | 2 383 | 46 methods | 18 fields | org.apache.jasper.compiler.Generator |
| EqualExpression | 570 | 2 163 | 13 methods | 0 field | org.eclipse.jdt.internal.compiler.ast.EqualExpression |
| XMLEncodingDetector | 569 | 2 990 | 24 methods | 29 fields | org.apache.jasper.xmlparser.XMLEncodingDetector |
| MapMakerInternalMap$Segment<K,V> | 568 | 2 192 | 49 methods | 12 fields | com.google.common.collect.MapMakerInternalMap$Segment |
| Javadoc | 564 | 2 689 | 13 methods | 8 fields | org.eclipse.jdt.internal.compiler.ast.Javadoc |
| CompilationUnitScope | 559 | 2 448 | 34 methods | 16 fields | org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope |
| JavadocParser | 558 | 2 524 | 22 methods | 49 fields | org.eclipse.jdt.internal.compiler.parser.JavadocParser |
| Session | 551 | 2 018 | 110 methods | 51 fields | org.h2.engine.Session |
| MetaTable | 546 | 5 380 | 37 methods | 34 fields | org.h2.table.MetaTable |
| ObjectMapper | 542 | 2 678 | 175 methods | 19 fields | com.fasterxml.jackson.databind.ObjectMapper |
| Validator$ValidateVisitor | 536 | 3 090 | 42 methods | 19 fields | org.apache.jasper.compiler.Validator$ValidateVisitor |
| elementDeclBody | 533 | 3 070 | 13 methods | 24 fields | com.sun.xml.xsom.impl.parser.state.elementDeclBody |
| MethodVerifier | 533 | 2 366 | 42 methods | 5 fields | org.eclipse.jdt.internal.compiler.lookup.MethodVerifier |
| SourceElementNotifier | 514 | 1 861 | 18 methods | 10 fields | org.eclipse.jdt.internal.compiler.SourceElementNotifier |
| BeanDeserializerBase | 507 | 2 224 | 51 methods | 21 fields | com.fasterxml.jackson.databind.deser.BeanDeserializerBase |
| MimeUtility | 501 | 2 027 | 28 methods | 13 fields | com.sun.xml.messaging.saaj.packaging.mime.internet.MimeUtility |
| particle | 489 | 4 020 | 17 methods | 16 fields | com.sun.xml.xsom.impl.parser.state.particle |
| Base64 | 457 | 5 576 | 31 methods | 21 fields | io.undertow.websockets.core.protocol.version07.Base64 |
| AES | 200 | 4 088 | 10 methods | 13 fields | org.h2.security.AES |
| SpdyCodecUtil | 30 | 5 928 | 7 methods | 25 fields | io.netty.handler.codec.spdy.SpdyCodecUtil |
| AttributeManager | 4 | 4 043 | 1 method | 1 field | com.sun.faces.renderkit.AttributeManager |
| ClassReader | 0 | 3 998 | 24 methods | 9 fields | org.objectweb.asm.ClassReader |
| MethodWriter | 0 | 5 316 | 42 methods | 45 fields | org.objectweb.asm.MethodWriter |
Statistics
| Stat | # lines of code (LOC) | # ByteCode instructions | Methods | Fields |
|---|---|---|---|---|
| Sum: | 102 934 | 495 373 | 0 | 0 |
| Average: | 999.36 | 4 809 | 0 | 0 |
| Minimum: | 0 | 1 861 | 0 | 0 |
| Maximum: | 7 142 | 27 126 | 0 | 0 |
| Standard deviation: | 1 082 | 4 032 | 0 | 0 |
| Variance: | 1 170 987 | 16 264 895 | 0 | 0 |
| Critical Rule warning: Methods too complex - critical |
warnif count > 0 from m in JustMyCode.Methods where
m.BCCyclomaticComplexity > 40 &&
m.BCNestingDepth > 5
orderby m.BCCyclomaticComplexity descending,
m.BCNestingDepth descending
select new { m, m.BCCyclomaticComplexity, m.BCNestingDepth }
// Methods with BCCyclomaticComplexity > 40 and BCNestingDepth > 4
// are really too complex and should be split
// in smaller methods, or even types.
// See the definition of the BCCyclomaticComplexity metric here
// http://www.jarchitect.com/Metrics#ILCC
// See the definition of the BCNestingDepth metric here
// http://www.jarchitect.com/Metrics#BCNestingDepth
189 methods matched
| methods | ByteCode Cyclomatic Complexity (BCCC) | ByteCode Nesting Depth | Full Name |
|---|---|---|---|
| handleHeader(ByteBuffer,ParseState,HttpServerExchange) | 438 | 339 | io.undertow.server.protocol.http.HttpRequestParser$$generated .handleHeader(ByteBuffer,ParseState,HttpServerExchange) |
| traverse(MethodBinding,int,byte[],int,int,Map,boolean) | 406 | 14 | org.eclipse.jdt.internal.compiler.ClassFile.traverse(MethodBinding,int ,byte[],int,int,Map,boolean) |
| jjMoveNfa_0(int,int) | 395 | 150 | com.sun.xml.xsom.impl.scd.SCDParserTokenManager.jjMoveNfa_0(int,int) |
| enterElement(String,String,String,Attributes) | 362 | 233 | com.sun.xml.xsom.impl.parser.state.complexType.enterElement(String ,String,String,Attributes) |
| internalScanIdentifierOrKeyword(int,int,char[]) | 343 | 199 | org.eclipse.jdt.internal.compiler.parser.Scanner .internalScanIdentifierOrKeyword(int,int,char[]) |
| convertTo(int) | 288 | 8 | org.h2.value.Value.convertTo(int) |
| getSimpleValue(Session,Value,Expression[],Value[]) | 278 | 15 | org.h2.expression.Function.getSimpleValue(Session,Value,Expression[] ,Value[]) |
| enterElement(String,String,String,Attributes) | 272 | 225 | com.sun.xml.xsom.impl.parser.state.particle.enterElement(String,String ,String,Attributes) |
| getNextToken() | 257 | 66 | org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken() |
| handleHeader(ByteBuffer,ResponseParseState,HttpResponseBuilder) | 246 | 193 | io.undertow.client.http.HttpResponseParser$$generated.handleHeader (ByteBuffer,ResponseParseState,HttpResponseBuilder) |
| configure(String[]) | 237 | 63 | org.eclipse.jdt.internal.compiler.batch.Main.configure(String[]) |
| accept(ClassVisitor,Attribute[],int) | 232 | 62 | org.objectweb.asm.ClassReader.accept(ClassVisitor,Attribute[],int) |
| a(int,int,ClassWriter,Item) | 226 | 8 | org.objectweb.asm.Frame.a(int,int,ClassWriter,Item) |
| set(Map) | 224 | 50 | org.eclipse.jdt.internal.compiler.impl.CompilerOptions.set(Map) |
| handleErrorOrWarningToken(String,boolean,int) | 221 | 59 | org.eclipse.jdt.internal.compiler.batch.Main.handleErrorOrWarningToken (String,boolean,int) |
| computeId() | 200 | 9 | org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.computeId() |
| enterElement(String,String,String,Attributes) | 169 | 103 | com.sun.xml.xsom.impl.parser.state.elementDeclBody.enterElement(String ,String,String,Attributes) |
| generateRows(Session,SearchRow,SearchRow) | 156 | 35 | org.h2.table.MetaTable.generateRows(Session,SearchRow,SearchRow) |
| leaveElement(String,String,String) | 154 | 109 | com.sun.xml.xsom.impl.parser.state.particle.leaveElement(String,String ,String) |
| generateCode(BlockScope,CodeStream,boolean) | 154 | 68 | org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateCode (BlockScope,CodeStream,boolean) |
| enterElement(String,String,String,Attributes) | 143 | 51 | com.sun.xml.xsom.impl.parser.state.Schema.enterElement(String,String ,String,Attributes) |
| jumpOverMethodBody() | 133 | 55 | org.eclipse.jdt.internal.compiler.parser.Scanner.jumpOverMethodBody() |
| initialize(String) | 133 | 21 | org.h2.command.Parser.initialize(String) |
| leaveElement(String,String,String) | 130 | 17 | com.sun.xml.xsom.impl.parser.state.complexType.leaveElement(String ,String,String) |
| parsePrepared() | 127 | 19 | org.h2.command.Parser.parsePrepared() |
| parseTag(int) | 122 | 59 | org.eclipse.jdt.internal.compiler.parser.JavadocParser.parseTag(int) |
| consumeToken(int) | 122 | 10 | org.eclipse.jdt.internal.compiler.parser.Parser.consumeToken(int) |
| getValueWithArgs(Session,Expression[]) | 113 | 6 | org.h2.expression.Function.getValueWithArgs(Session,Expression[]) |
| commentParse() | 110 | 50 | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser .commentParse() |
| processOptions(String) | 109 | 90 | org.eclipse.jdt.internal.compiler.tool.Options.processOptions(String) |
| convertHexFloatingPointLiteralToBits(char[]) | 109 | 8 | org.eclipse.jdt.internal.compiler.util.FloatUtil .convertHexFloatingPointLiteralToBits(char[]) |
| leaveAttribute(String,String,String) | 107 | 10 | com.sun.xml.xsom.impl.parser.state.complexType.leaveAttribute(String ,String,String) |
| getBinding(char[],int,InvocationSite,boolean) | 106 | 38 | org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding(char[],int ,InvocationSite,boolean) |
| enterAttribute(String,String,String) | 106 | 10 | com.sun.xml.xsom.impl.parser.state.complexType.enterAttribute(String ,String,String) |
| getTypeOrPackage(char[],int,boolean) | 105 | 59 | org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(char[] ,int,boolean) |
| enterElement(String,String,String,Attributes) | 103 | 81 | com.sun.xml.xsom.impl.parser.state.SimpleType_Restriction.enterElement (String,String,String,Attributes) |
| generateStackMapTableAttribute(MethodBinding,int,int,int,boolean) | 103 | 8 | org.eclipse.jdt.internal.compiler.ClassFile .generateStackMapTableAttribute(MethodBinding,int,int,int,boolean) |
| leaveElement(String,String,String) | 97 | 29 | com.sun.xml.xsom.impl.parser.state.Schema.leaveElement(String,String ,String) |
| minimalErasedCandidates(TypeBinding[],Map) | 95 | 48 | org.eclipse.jdt.internal.compiler.lookup.Scope.minimalErasedCandidates (TypeBinding[],Map) |
| resolveType(BlockScope) | 94 | 48 | org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType (BlockScope) |
| scanNumber(boolean) | 94 | 29 | org.eclipse.jdt.internal.compiler.parser.Scanner.scanNumber(boolean) |
| resolve() | 92 | 55 | org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve() |
| enterAttribute(String,String,String) | 92 | 52 | com.sun.xml.xsom.impl.parser.state.particle.enterAttribute(String ,String,String) |
| resolveTypeForQualifiedAllocationExpression(BlockScope) | 90 | 41 | org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression .resolveTypeForQualifiedAllocationExpression(BlockScope) |
| update() | 90 | 11 | org.h2.command.dml.Set.update() |
| processOptions(String) | 89 | 74 | org.eclipse.jdt.internal.compiler.apt.util.Options.processOptions (String) |
| complainOnDeferredNullChecks(BlockScope,FlowInfo) | 89 | 42 | org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext .complainOnDeferredNullChecks(BlockScope,FlowInfo) |
| findMethod(ReferenceBinding,char[],TypeBinding[],InvocationSite ,boolean) | 86 | 40 | org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod (ReferenceBinding,char[],TypeBinding[],InvocationSite,boolean) |
| methods() | 84 | 42 | org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods() |
| checkCastTypesCompatibility(Scope,TypeBinding,TypeBinding,Expression) | 84 | 33 | org.eclipse.jdt.internal.compiler.ast.Expression .checkCastTypesCompatibility(Scope,TypeBinding,TypeBinding,Expression) |
| enterAttribute(String,String,String) | 84 | 23 | com.sun.xml.xsom.impl.parser.state.elementDeclBody.enterAttribute (String,String,String) |
| decode(ChannelHandlerContext,ByteBuf,List) | 83 | 21 | io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.decode (ChannelHandlerContext,ByteBuf,List) |
| main(String[]) | 83 | 11 | org.jboss.modules.Main.main(String[]) |
| hasStructuralChanges(byte[],boolean,boolean) | 81 | 27 | org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader .hasStructuralChanges(byte[],boolean,boolean) |
| handleHttpVersion(ByteBuffer,ResponseParseState,HttpResponseBuilder) | 80 | 59 | io.undertow.client.http.HttpResponseParser$$generated .handleHttpVersion(ByteBuffer,ResponseParseState,HttpResponseBuilder) |
| handleHttpVersion(ByteBuffer,ParseState,HttpServerExchange) | 80 | 59 | io.undertow.server.protocol.http.HttpRequestParser$$generated .handleHttpVersion(ByteBuffer,ParseState,HttpServerExchange) |
| getImplicitMethod(char[],TypeBinding[],InvocationSite) | 80 | 52 | org.eclipse.jdt.internal.compiler.lookup.Scope.getImplicitMethod (char[],TypeBinding[],InvocationSite) |
| processWrite(int,ByteBuffer) | 80 | 41 | io.undertow.client.http.HttpRequestConduit.processWrite(int,ByteBuffer ) |
| readTerm() | 80 | 16 | org.h2.command.Parser.readTerm() |
| d() | 79 | 19 | org.objectweb.asm.MethodWriter.d() |
| recordPositionsFrom(int,int,boolean) | 78 | 59 | org.eclipse.jdt.internal.compiler.codegen.CodeStream .recordPositionsFrom(int,int,boolean) |
| validateOptions(boolean) | 77 | 60 | org.eclipse.jdt.internal.compiler.batch.Main.validateOptions(boolean) |
| checkAndSetModifiers() | 77 | 46 | org.eclipse.jdt.internal.compiler.lookup.ClassScope .checkAndSetModifiers() |
| parseParam() | 74 | 15 | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser .parseParam() |
| addProperty(PropertySeed,Annotation[],boolean) | 73 | 11 | com.sun.xml.bind.v2.model.impl.ClassInfoImpl.addProperty(PropertySeed ,Annotation[],boolean) |
| parseAttribute() | 72 | 36 | org.jboss.modules.xml.MXParser.parseAttribute() |
| run() | 71 | 6 | io.netty.util.concurrent.SingleThreadEventExecutor$2.run() |
| leaveAttribute(String,String,String) | 70 | 7 | com.sun.xml.xsom.impl.parser.state.Schema.leaveAttribute(String,String ,String) |
| resolveType(BlockScope) | 69 | 39 | org.eclipse.jdt.internal.compiler.ast.ConditionalExpression .resolveType(BlockScope) |
| parseReference() | 69 | 16 | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser .parseReference() |
| mostSpecificMethodBinding(MethodBinding[],int,TypeBinding[] ,InvocationSite,ReferenceBinding) | 68 | 38 | org.eclipse.jdt.internal.compiler.lookup.Scope .mostSpecificMethodBinding(MethodBinding[],int,TypeBinding[] ,InvocationSite,ReferenceBinding) |
| checkXmlAttributes(Node$CustomTag,Node$JspAttribute[],Hashtable) | 67 | 41 | org.apache.jasper.compiler.Validator$ValidateVisitor .checkXmlAttributes(Node$CustomTag,Node$JspAttribute[],Hashtable) |
| addExportedPaths(Dependency[],Map,FastCopyHashSet,FastCopyHashSet ,FastCopyHashSet,Set) | 67 | 35 | org.jboss.modules.Module.addExportedPaths(Dependency[],Map ,FastCopyHashSet,FastCopyHashSet,FastCopyHashSet,Set) |
| leaveAttribute(String,String,String) | 67 | 10 | com.sun.xml.xsom.impl.parser.state.elementDeclBody.leaveAttribute (String,String,String) |
| leaveElement(String,String,String) | 67 | 6 | com.sun.xml.xsom.impl.parser.state.elementDeclBody.leaveElement(String ,String,String) |
| autoComplete(Sentence) | 66 | 28 | org.h2.bnf.RuleFixed.autoComplete(Sentence) |
| getopt() | 66 | 27 | gnu.getopt.Getopt.getopt() |
| isTypeArgumentContainedBy(TypeBinding) | 66 | 16 | org.eclipse.jdt.internal.compiler.lookup.TypeBinding .isTypeArgumentContainedBy(TypeBinding) |
| generateCode(BlockScope,CodeStream) | 65 | 16 | org.eclipse.jdt.internal.compiler.ast.TryStatement.generateCode (BlockScope,CodeStream) |
| readEncodingFromStream(InputStream) | 64 | 28 | nu.xom.xinclude.EncodingHeuristics.readEncodingFromStream(InputStream) |
| reportPrimaryError(int,int,int,int) | 64 | 26 | org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser .reportPrimaryError(int,int,int,int) |
| recordUsingNullReference(Scope,LocalVariableBinding,ASTNode,int ,FlowInfo) | 64 | 20 | org.eclipse.jdt.internal.compiler.flow.FinallyFlowContext .recordUsingNullReference(Scope,LocalVariableBinding,ASTNode,int ,FlowInfo) |
| leaveElement(String,String,String) | 63 | 46 | com.sun.xml.xsom.impl.parser.state.facet.leaveElement(String,String ,String) |
| resolve(BlockScope) | 63 | 30 | org.eclipse.jdt.internal.compiler.ast.ExplicitConstructorCall.resolve (BlockScope) |
| resolveTypeExpecting(BlockScope,TypeBinding) | 63 | 29 | org.eclipse.jdt.internal.compiler.ast.MemberValuePair .resolveTypeExpecting(BlockScope,TypeBinding) |
| query(int) | 63 | 8 | org.h2.command.dml.ScriptCommand.query(int) |
| readChunk(ByteBuffer) | 62 | 38 | io.undertow.conduits.ChunkReader.readChunk(ByteBuffer) |
| checkMethods() | 62 | 38 | org.eclipse.jdt.internal.compiler.lookup.MethodVerifier15.checkMethods () |
| resolveTypesFor(MethodBinding) | 62 | 26 | org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding .resolveTypesFor(MethodBinding) |
| nextImpl() | 62 | 23 | org.jboss.modules.xml.MXParser.nextImpl() |
| leaveElement(String,String,String) | 62 | 16 | com.sun.xml.xsom.impl.parser.state.attributeUses.leaveElement(String ,String,String) |
| text(String) | 62 | 6 | com.sun.xml.xsom.impl.parser.state.particle.text(String) |
| ClassFileReader(byte[],char[],boolean) | 61 | 24 | org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader .ClassFileReader(byte[],char[],boolean) |
| decodeType(String,int,int,int) | 61 | 17 | org.eclipse.jdt.internal.compiler.parser.TypeConverter.decodeType (String,int,int,int) |
| collectSubstitutes(Scope,TypeBinding,InferenceContext,int) | 61 | 8 | org.eclipse.jdt.internal.compiler.lookup.WildcardBinding .collectSubstitutes(Scope,TypeBinding,InferenceContext,int) |
| enterElement(String,String,String,Attributes) | 60 | 11 | com.sun.xml.xsom.impl.parser.state.attributeUses.enterElement(String ,String,String,Attributes) |
| runTool(String[]) | 60 | 9 | org.h2.tools.Console.runTool(String[]) |
| computeSeverity(int) | 60 | 8 | org.eclipse.jdt.internal.compiler.problem.ProblemReporter .computeSeverity(int) |
| getResult(Connection,int,String,boolean,boolean) | 60 | 6 | org.h2.server.web.WebApp.getResult(Connection,int,String,boolean ,boolean) |
| autoComplete(Sentence) | 59 | 35 | org.h2.server.web.DbContextRule.autoComplete(Sentence) |
Statistics
| Stat | ByteCode Cyclomatic Complexity (BCCC) | ByteCode Nesting Depth |
|---|---|---|
| Sum: | 15 989 | 6 205 |
| Average: | 84.6 | 32.83 |
| Minimum: | 41 | 6 |
| Maximum: | 438 | 339 |
| Standard deviation: | 70.66 | 40.41 |
| Variance: | 4 992 | 1 632 |
| Critical Rule warning: Methods with too many parameters - critical |
warnif count > 0 from m in JustMyCode.Methods where
m.NbParameters > 8
orderby m.NbParameters descending
select new { m, m.NbParameters }
// Methods with more than 8 parameters might be painful to call
// and might degrade performance. You should prefer using
// additional properties/fields to the declaring type to
// handle numerous states. Another alternative is to provide
// a class or structure dedicated to handle arguments passing
// (for example see the class System.Diagnostics.ProcessStartInfo
// and the method System.Diagnostics.Process.Start(ProcessStartInfo))
// See the definition of the NbParameters metric here
// http://www.jarchitect.com/Metrics#NbParameters
83 methods matched
| methods | # Parameters | Full Name |
|---|---|---|
| ElementDecl(PatcherManager,SchemaDocumentImpl,AnnotationImpl,Locator ,ForeignAttributesImpl,String,String,boolean,XmlString,XmlString ,boolean,boolean,Boolean,Ref$Type,Ref$Element,int,int,List) | 18 | com.sun.xml.xsom.impl.ElementDecl.ElementDecl(PatcherManager ,SchemaDocumentImpl,AnnotationImpl,Locator,ForeignAttributesImpl ,String,String,boolean,XmlString,XmlString,boolean,boolean,Boolean ,Ref$Type,Ref$Element,int,int,List) |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object,Object,Object,Object[])<E> | 13 | com.google.common.collect.ImmutableList.of(Object,Object,Object,Object ,Object,Object,Object,Object,Object,Object,Object,Object,Object[])<E> |
| UndertowSession(WebSocketChannel,URI,Map,Map,EndpointSessionHandler ,Principal,InstanceHandle,EndpointConfig,String,Encoding,Set,String ,List) | 13 | io.undertow.websockets.jsr.UndertowSession.UndertowSession (WebSocketChannel,URI,Map,Map,EndpointSessionHandler,Principal ,InstanceHandle,EndpointConfig,String,Encoding,Set,String,List) |
| LocalCache$ManualSerializationProxy<K,V>(LocalCache$Strength ,LocalCache$Strength,Equivalence,Equivalence,long,long,long,Weigher ,int,RemovalListener,Ticker,CacheLoader) | 12 | com.google.common.cache.LocalCache$ManualSerializationProxy .LocalCache$ManualSerializationProxy<K,V>(LocalCache$Strength ,LocalCache$Strength,Equivalence,Equivalence,long,long,long,Weigher ,int,RemovalListener,Ticker,CacheLoader) |
| ComplexTypeImpl(SchemaDocumentImpl,AnnotationImpl,Locator ,ForeignAttributesImpl,String,boolean,boolean,int,Ref$Type,int,int ,boolean) | 12 | com.sun.xml.xsom.impl.ComplexTypeImpl.ComplexTypeImpl (SchemaDocumentImpl,AnnotationImpl,Locator,ForeignAttributesImpl ,String,boolean,boolean,int,Ref$Type,int,int,boolean) |
| JasperTagInfo(String,String,String,String,TagLibraryInfo,TagExtraInfo ,TagAttributeInfo[],String,String,String,TagVariableInfo[],String) | 12 | org.apache.jasper.compiler.JasperTagInfo.JasperTagInfo(String,String ,String,String,TagLibraryInfo,TagExtraInfo,TagAttributeInfo[],String ,String,String,TagVariableInfo[],String) |
| BaseSettings(ClassIntrospector,AnnotationIntrospector ,VisibilityChecker,PropertyNamingStrategy,TypeFactory ,TypeResolverBuilder,DateFormat,HandlerInstantiator,Locale,TimeZone ,Base64Variant) | 11 | com.fasterxml.jackson.databind.cfg.BaseSettings.BaseSettings (ClassIntrospector,AnnotationIntrospector,VisibilityChecker ,PropertyNamingStrategy,TypeFactory,TypeResolverBuilder,DateFormat ,HandlerInstantiator,Locale,TimeZone,Base64Variant) |
| ComputingConcurrentHashMap$ComputingSerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap ,Function) | 11 | com.google.common.collect .ComputingConcurrentHashMap$ComputingSerializationProxy .ComputingConcurrentHashMap$ComputingSerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap ,Function) |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object,Object)<E> | 11 | com.google.common.collect.ImmutableList.of(Object,Object,Object,Object ,Object,Object,Object,Object,Object,Object,Object)<E> |
| TableLink(Schema,int,String,String,String,String,String,String,String ,boolean,boolean) | 11 | org.h2.table.TableLink.TableLink(Schema,int,String,String,String ,String,String,String,String,boolean,boolean) |
| create(MVMap,long,int,Object[],Object[],long[],Page[],long[],long,int ,int) | 11 | org.h2.mvstore.Page.create(MVMap,long,int,Object[],Object[],long[] ,Page[],long[],long,int,int) |
| JspConfig$JspProperty(String,String,String,String,ArrayList,ArrayList ,String,String,String,String,String) | 11 | org.apache.jasper.compiler.JspConfig$JspProperty.JspConfig$JspProperty (String,String,String,String,ArrayList,ArrayList,String,String,String ,String,String) |
| Node$CustomTag(String,String,String,String,Attributes,Attributes ,Attributes,Mark,Node,TagInfo,Class) | 11 | org.apache.jasper.compiler.Node$CustomTag.Node$CustomTag(String,String ,String,String,Attributes,Attributes,Attributes,Mark,Node,TagInfo ,Class) |
| ConcreteModuleSpec(ModuleIdentifier,String,AssertionSetting ,ResourceLoaderSpec[],DependencySpec[],LocalLoader ,ModuleClassLoaderFactory,ClassFileTransformer,Map ,PermissionCollection) | 10 | org.jboss.modules.ConcreteModuleSpec.ConcreteModuleSpec (ModuleIdentifier,String,AssertionSetting,ResourceLoaderSpec[] ,DependencySpec[],LocalLoader,ModuleClassLoaderFactory ,ClassFileTransformer,Map,PermissionCollection) |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableBiMap.of(Object,Object,Object ,Object,Object,Object,Object,Object,Object,Object)<K,V> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<E> | 10 | com.google.common.collect.ImmutableList.of(Object,Object,Object,Object ,Object,Object,Object,Object,Object,Object)<E> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableListMultimap.of(Object,Object ,Object,Object,Object,Object,Object,Object,Object,Object)<K,V> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableMap.of(Object,Object,Object,Object ,Object,Object,Object,Object,Object,Object)<K,V> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableMultimap.of(Object,Object,Object ,Object,Object,Object,Object,Object,Object,Object)<K,V> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableSetMultimap.of(Object,Object,Object ,Object,Object,Object,Object,Object,Object,Object)<K,V> |
| of(Comparable,Object,Comparable,Object,Comparable,Object,Comparable ,Object,Comparable,Object)<K> | 10 | com.google.common.collect.ImmutableSortedMap.of(Comparable,Object ,Comparable,Object,Comparable,Object,Comparable,Object,Comparable ,Object)<K> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableSortedMapFauxverideShim.of(Object ,Object,Object,Object,Object,Object,Object,Object,Object,Object)<K,V> |
| MapMakerInternalMap$AbstractSerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap) | 10 | com.google.common.collect .MapMakerInternalMap$AbstractSerializationProxy .MapMakerInternalMap$AbstractSerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap) |
| MapMakerInternalMap$SerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap) | 10 | com.google.common.collect.MapMakerInternalMap$SerializationProxy .MapMakerInternalMap$SerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap) |
| createTableLink(int,String,String,String,String,String,String,String ,boolean,boolean) | 10 | org.h2.schema.Schema.createTableLink(int,String,String,String,String ,String,String,String,boolean,boolean) |
| newInstance(Class[],Collection,Map,String,boolean ,RuntimeAnnotationReader,boolean,boolean,boolean,boolean) | 10 | com.sun.xml.bind.api.JAXBRIContext.newInstance(Class[],Collection,Map ,String,boolean,RuntimeAnnotationReader,boolean,boolean,boolean ,boolean) |
| createContext(Class[],Collection,Map,String,boolean ,RuntimeAnnotationReader,boolean,boolean,boolean,boolean) | 10 | com.sun.xml.bind.v2.ContextFactory.createContext(Class[],Collection ,Map,String,boolean,RuntimeAnnotationReader,boolean,boolean,boolean ,boolean) |
| AttributeDeclImpl(SchemaDocumentImpl,String,String,AnnotationImpl ,Locator,ForeignAttributesImpl,boolean,XmlString,XmlString ,Ref$SimpleType) | 10 | com.sun.xml.xsom.impl.AttributeDeclImpl.AttributeDeclImpl (SchemaDocumentImpl,String,String,AnnotationImpl,Locator ,ForeignAttributesImpl,boolean,XmlString,XmlString,Ref$SimpleType) |
| CReferencePropertyInfo(String,boolean,boolean,boolean,XSComponent ,CCustomizations,Locator,boolean,boolean,boolean) | 10 | com.sun.tools.xjc.model.CReferencePropertyInfo.CReferencePropertyInfo (String,boolean,boolean,boolean,XSComponent,CCustomizations,Locator ,boolean,boolean,boolean) |
| createProblem(char[],int,String[],int,String[],int,int,int,int,int) | 10 | org.eclipse.jdt.internal.compiler.IProblemFactory.createProblem(char[] ,int,String[],int,String[],int,int,int,int,int) |
| createProblem(char[],int,String[],int,String[],int,int,int,int,int) | 10 | org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory .createProblem(char[],int,String[],int,String[],int,int,int,int,int) |
| createProblem(char[],int,String[],int,String[],int,int,int,int,int) | 10 | org.eclipse.jdt.internal.compiler.problem.ProblemHandler.createProblem (char[],int,String[],int,String[],int,int,int,int,int) |
| createProblem(char[],int,String[],int,String[],int,int,int,int,int) | 10 | org.eclipse.jdt.internal.compiler.tool.EclipseCompilerImpl$3 .createProblem(char[],int,String[],int,String[],int,int,int,int,int) |
| AptProblem(ReferenceContext,char[],String,int,String[],int,int,int,int ,int) | 10 | org.eclipse.jdt.internal.compiler.apt.dispatch.AptProblem.AptProblem (ReferenceContext,char[],String,int,String[],int,int,int,int,int) |
| Node$CustomTag(String,String,String,String,Attributes,Attributes ,Attributes,Mark,Node,TagFileInfo) | 10 | org.apache.jasper.compiler.Node$CustomTag.Node$CustomTag(String,String ,String,String,Attributes,Attributes,Attributes,Mark,Node,TagFileInfo) |
| parse(ParserController,JspReader,Node,boolean,boolean,URL,String ,String,boolean,boolean) | 10 | org.apache.jasper.compiler.Parser.parse(ParserController,JspReader ,Node,boolean,boolean,URL,String,String,boolean,boolean) |
| parse(ParserController,String,JarFile,Node,boolean,boolean,String ,String,boolean,boolean) | 10 | org.apache.jasper.compiler.JspDocumentParser.parse(ParserController ,String,JarFile,Node,boolean,boolean,String,String,boolean,boolean) |
| ModuleDependencySpec(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,ModuleLoader,ModuleIdentifier,boolean) | 9 | org.jboss.modules.ModuleDependencySpec.ModuleDependencySpec(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,ModuleLoader ,ModuleIdentifier,boolean) |
| ModuleDependency(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,ModuleLoader,ModuleIdentifier,boolean) | 9 | org.jboss.modules.ModuleDependency.ModuleDependency(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,ModuleLoader ,ModuleIdentifier,boolean) |
| createModuleDependencySpec(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,ModuleLoader,ModuleIdentifier,boolean) | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,ModuleLoader ,ModuleIdentifier,boolean) |
| UTF8StreamJsonParser(IOContext,int,InputStream,ObjectCodec ,BytesToNameCanonicalizer,byte[],int,int,boolean) | 9 | com.fasterxml.jackson.core.json.UTF8StreamJsonParser .UTF8StreamJsonParser(IOContext,int,InputStream,ObjectCodec ,BytesToNameCanonicalizer,byte[],int,int,boolean) |
| _handleSingleArgumentConstructor(DeserializationContext ,BeanDescription,VisibilityChecker,AnnotationIntrospector ,CreatorCollector,AnnotatedConstructor,boolean,boolean,PropertyName) | 9 | com.fasterxml.jackson.databind.deser.BasicDeserializerFactory ._handleSingleArgumentConstructor(DeserializationContext ,BeanDescription,VisibilityChecker,AnnotationIntrospector ,CreatorCollector,AnnotatedConstructor,boolean,boolean,PropertyName) |
| CreatorProperty(PropertyName,JavaType,PropertyName,TypeDeserializer ,Annotations,AnnotatedParameter,int,Object,PropertyMetadata) | 9 | com.fasterxml.jackson.databind.deser.CreatorProperty.CreatorProperty (PropertyName,JavaType,PropertyName,TypeDeserializer,Annotations ,AnnotatedParameter,int,Object,PropertyMetadata) |
| CreatorProperty(String,JavaType,PropertyName,TypeDeserializer ,Annotations,AnnotatedParameter,int,Object,boolean) | 9 | com.fasterxml.jackson.databind.deser.CreatorProperty.CreatorProperty (String,JavaType,PropertyName,TypeDeserializer,Annotations ,AnnotatedParameter,int,Object,boolean) |
| BeanPropertyWriter(BeanPropertyDefinition,AnnotatedMember,Annotations ,JavaType,JsonSerializer,TypeSerializer,JavaType,boolean,Object) | 9 | com.fasterxml.jackson.databind.ser.BeanPropertyWriter .BeanPropertyWriter(BeanPropertyDefinition,AnnotatedMember,Annotations ,JavaType,JsonSerializer,TypeSerializer,JavaType,boolean,Object) |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object)<E> | 9 | com.google.common.collect.ImmutableList.of(Object,Object,Object,Object ,Object,Object,Object,Object,Object)<E> |
| getTimeTry(boolean,TimeZone,int,int,int,int,int,int,int) | 9 | org.h2.util.DateTimeUtils.getTimeTry(boolean,TimeZone,int,int,int,int ,int,int,int) |
| ClientResourceInfo(ContractInfo,String,VersionInfo,String ,ResourceHelper,boolean,boolean,boolean,boolean) | 9 | com.sun.faces.application.resource.ClientResourceInfo .ClientResourceInfo(ContractInfo,String,VersionInfo,String ,ResourceHelper,boolean,boolean,boolean,boolean) |
| MutableNavigationCase(String,String,String,String,String,String,Map ,boolean,boolean) | 9 | com.sun.faces.flow.builder.MutableNavigationCase.MutableNavigationCase (String,String,String,String,String,String,Map,boolean,boolean) |
| renderHandler(FacesContext,UIComponent,Collection,String,Object,String ,String,boolean,boolean) | 9 | com.sun.faces.renderkit.RenderKitUtils.renderHandler(FacesContext ,UIComponent,Collection,String,Object,String,String,boolean,boolean) |
| renderOption(FacesContext,UIComponent,Converter,SelectItem,Object ,Object[],boolean,int,HtmlBasicRenderer$OptionComponentInfo) | 9 | com.sun.faces.renderkit.html_basic.RadioRenderer.renderOption (FacesContext,UIComponent,Converter,SelectItem,Object,Object[],boolean ,int,HtmlBasicRenderer$OptionComponentInfo) |
| renderOption(FacesContext,UIComponent,Converter,SelectItem,Object ,Object[],boolean,int,HtmlBasicRenderer$OptionComponentInfo) | 9 | com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer .renderOption(FacesContext,UIComponent,Converter,SelectItem,Object ,Object[],boolean,int,HtmlBasicRenderer$OptionComponentInfo) |
| createContext(Class[],Collection,Map,String,boolean ,RuntimeAnnotationReader,boolean,boolean,boolean) | 9 | com.sun.xml.bind.v2.ContextFactory.createContext(Class[],Collection ,Map,String,boolean,RuntimeAnnotationReader,boolean,boolean,boolean) |
| IdentityConstraintImpl(SchemaDocumentImpl,AnnotationImpl,Locator ,ForeignAttributesImpl,short,String,XPathImpl,List ,Ref$IdentityConstraint) | 9 | com.sun.xml.xsom.impl.IdentityConstraintImpl.IdentityConstraintImpl (SchemaDocumentImpl,AnnotationImpl,Locator,ForeignAttributesImpl,short ,String,XPathImpl,List,Ref$IdentityConstraint) |
| SimpleType_Union(NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int ,AnnotationImpl,Locator,ForeignAttributesImpl,String,Set) | 9 | com.sun.xml.xsom.impl.parser.state.SimpleType_Union.SimpleType_Union (NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int,AnnotationImpl,Locator ,ForeignAttributesImpl,String,Set) |
| SimpleType_List(NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int ,AnnotationImpl,Locator,ForeignAttributesImpl,String,Set) | 9 | com.sun.xml.xsom.impl.parser.state.SimpleType_List.SimpleType_List (NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int,AnnotationImpl,Locator ,ForeignAttributesImpl,String,Set) |
| SimpleType_Restriction(NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int ,AnnotationImpl,Locator,ForeignAttributesImpl,String,Set) | 9 | com.sun.xml.xsom.impl.parser.state.SimpleType_Restriction .SimpleType_Restriction(NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int ,AnnotationImpl,Locator,ForeignAttributesImpl,String,Set) |
| CEnumLeafInfo(Model,QName,CClassInfoParent,String,CNonElement ,Collection,XSComponent,CCustomizations,Locator) | 9 | com.sun.tools.xjc.model.CEnumLeafInfo.CEnumLeafInfo(Model,QName ,CClassInfoParent,String,CNonElement,Collection,XSComponent ,CCustomizations,Locator) |
| ConcurrentHashMapV8$MapReduceEntriesToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceEntriesToDoubleTask .ConcurrentHashMapV8$MapReduceEntriesToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) |
| ConcurrentHashMapV8$MapReduceEntriesToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceEntriesToIntTask .ConcurrentHashMapV8$MapReduceEntriesToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) |
| ConcurrentHashMapV8$MapReduceEntriesToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceEntriesToLongTask .ConcurrentHashMapV8$MapReduceEntriesToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) |
| ConcurrentHashMapV8$MapReduceKeysToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceKeysToDoubleTask .ConcurrentHashMapV8$MapReduceKeysToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) |
| ConcurrentHashMapV8$MapReduceKeysToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceKeysToIntTask .ConcurrentHashMapV8$MapReduceKeysToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) |
| ConcurrentHashMapV8$MapReduceKeysToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceKeysToLongTask .ConcurrentHashMapV8$MapReduceKeysToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) |
| ConcurrentHashMapV8$MapReduceMappingsToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToDoubleTask ,ConcurrentHashMapV8$ObjectByObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceMappingsToDoubleTask .ConcurrentHashMapV8$MapReduceMappingsToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToDoubleTask ,ConcurrentHashMapV8$ObjectByObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) |
| ConcurrentHashMapV8$MapReduceMappingsToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToIntTask ,ConcurrentHashMapV8$ObjectByObjectToInt,int ,ConcurrentHashMapV8$IntByIntToInt) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceMappingsToIntTask .ConcurrentHashMapV8$MapReduceMappingsToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToIntTask ,ConcurrentHashMapV8$ObjectByObjectToInt,int ,ConcurrentHashMapV8$IntByIntToInt) |
| ConcurrentHashMapV8$MapReduceMappingsToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToLongTask ,ConcurrentHashMapV8$ObjectByObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceMappingsToLongTask .ConcurrentHashMapV8$MapReduceMappingsToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToLongTask ,ConcurrentHashMapV8$ObjectByObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) |
| ConcurrentHashMapV8$MapReduceValuesToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceValuesToDoubleTask .ConcurrentHashMapV8$MapReduceValuesToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) |
| ConcurrentHashMapV8$MapReduceValuesToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceValuesToIntTask .ConcurrentHashMapV8$MapReduceValuesToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) |
| ConcurrentHashMapV8$MapReduceValuesToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceValuesToLongTask .ConcurrentHashMapV8$MapReduceValuesToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) |
| createProblem(char[],int,String[],String[],int,int,int,int,int) | 9 | org.eclipse.jdt.internal.compiler.IProblemFactory.createProblem(char[] ,int,String[],String[],int,int,int,int,int) |
| checkNeedForArgumentCasts(BlockScope,int,int,Expression,int,boolean ,Expression,int,boolean) | 9 | org.eclipse.jdt.internal.compiler.ast.CastExpression .checkNeedForArgumentCasts(BlockScope,int,int,Expression,int,boolean ,Expression,int,boolean) |
| DefaultProblem(char[],String,int,String[],int,int,int,int,int) | 9 | org.eclipse.jdt.internal.compiler.problem.DefaultProblem .DefaultProblem(char[],String,int,String[],int,int,int,int,int) |
| createProblem(char[],int,String[],String[],int,int,int,int,int) | 9 | org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory .createProblem(char[],int,String[],String[],int,int,int,int,int) |
| createProblem(char[],int,String[],String[],int,int,int,int,int) | 9 | org.eclipse.jdt.internal.compiler.problem.ProblemHandler.createProblem (char[],int,String[],String[],int,int,int,int,int) |
| handle(int,String[],int,String[],int,int,int,ReferenceContext ,CompilationResult) | 9 | org.eclipse.jdt.internal.compiler.problem.ProblemHandler.handle(int ,String[],int,String[],int,int,int,ReferenceContext,CompilationResult) |
| EclipseCompilerImpl$3$1(EclipseCompilerImpl$3,int,int,int,int,int ,String[],int,char[]) | 9 | org.eclipse.jdt.internal.compiler.tool.EclipseCompilerImpl$3$1 .EclipseCompilerImpl$3$1(EclipseCompilerImpl$3,int,int,int,int,int ,String[],int,char[]) |
| EclipseCompilerImpl$3$2(EclipseCompilerImpl$3,int,int,int,int,int ,String[],int,char[]) | 9 | org.eclipse.jdt.internal.compiler.tool.EclipseCompilerImpl$3$2 .EclipseCompilerImpl$3$2(EclipseCompilerImpl$3,int,int,int,int,int ,String[],int,char[]) |
| createProblem(char[],int,String[],String[],int,int,int,int,int) | 9 | org.eclipse.jdt.internal.compiler.tool.EclipseCompilerImpl$3 .createProblem(char[],int,String[],String[],int,int,int,int,int) |
| append(CharSequence,int,int) | 9 | io.undertow.servlet.spec.ServletPrintWriterDelegate.append (CharSequence,int,int) |
| JspFactoryImpl$PrivilegedGetPageContext(JspFactoryImpl,JspFactoryImpl ,Servlet,ServletRequest,ServletResponse,String,boolean,int,boolean) | 9 | org.apache.jasper.runtime.JspFactoryImpl$PrivilegedGetPageContext .JspFactoryImpl$PrivilegedGetPageContext(JspFactoryImpl,JspFactoryImpl ,Servlet,ServletRequest,ServletResponse,String,boolean,int,boolean) |
| Node$CustomTag(String,String,String,String,Attributes,Mark,Node ,TagInfo,Class) | 9 | org.apache.jasper.compiler.Node$CustomTag.Node$CustomTag(String,String ,String,String,Attributes,Mark,Node,TagInfo,Class) |
| Mark$IncludeState(Mark,int,int,int,int,String,String,String,char[]) | 9 | org.apache.jasper.compiler.Mark$IncludeState.Mark$IncludeState(Mark ,int,int,int,int,String,String,String,char[]) |
Statistics
| Stat | # Parameters |
|---|---|
| Sum: | 811 |
| Average: | 9.77 |
| Minimum: | 9 |
| Maximum: | 18 |
| Standard deviation: | 1.31 |
| Variance: | 1.72 |
| Rule warning: Quick summary of methods to refactor |
warnif count > 0 from m in JustMyCode.Methods where
// Code Metrics' definitions
m.NbLinesOfCode > 30 || // http://www.jarchitect.com/Metrics#NbLinesOfCode
m.NbBCInstructions > 200 || // http://www.jarchitect.com/Metrics#NbBCInstructions
m.CyclomaticComplexity > 20 || // http://www.jarchitect.com/Metrics#CC
m.BCCyclomaticComplexity > 50 || // http://www.jarchitect.com/Metrics#ILCC
m.BCNestingDepth > 5 || // http://www.jarchitect.com/Metrics#BCNestingDepth
m.NbParameters > 5 || // http://www.jarchitect.com/Metrics#NbParameters
m.NbVariables > 8 || // http://www.jarchitect.com/Metrics#NbVariables
m.NbOverloads > 6 // http://www.jarchitect.com/Metrics#NbOverloads
select new { m, m.NbLinesOfCode, m.NbBCInstructions, m.CyclomaticComplexity,
m.BCCyclomaticComplexity, m.BCNestingDepth,
m.NbParameters, m.NbVariables, m.NbOverloads }
5,191 methods matched
| methods | # lines of code (LOC) | # ByteCode instructions | Cyclomatic Complexity (CC) | ByteCode Cyclomatic Complexity (BCCC) | ByteCode Nesting Depth | # Parameters | # Variables | # Overloads | Full Name |
|---|---|---|---|---|---|---|---|---|---|
| __XPathFactory() | 21 | 73 | N/A | 8 | 1 | 0 | 10 | 2 | __redirected.__XPathFactory.__XPathFactory() |
| createXMLEventReader(Reader) | 1 | 5 | N/A | 1 | 0 | 1 | 0 | 7 | __redirected.__XMLInputFactory.createXMLEventReader(Reader) |
| createXMLEventReader(String,Reader) | 1 | 6 | N/A | 1 | 0 | 2 | 0 | 7 | __redirected.__XMLInputFactory.createXMLEventReader(String,Reader) |
| createXMLEventReader(XMLStreamReader) | 1 | 5 | N/A | 1 | 0 | 1 | 0 | 7 | __redirected.__XMLInputFactory.createXMLEventReader(XMLStreamReader) |
| createXMLEventReader(Source) | 1 | 5 | N/A | 1 | 0 | 1 | 0 | 7 | __redirected.__XMLInputFactory.createXMLEventReader(Source) |
| createXMLEventReader(InputStream) | 1 | 5 | N/A | 1 | 0 | 1 | 0 | 7 | __redirected.__XMLInputFactory.createXMLEventReader(InputStream) |
| createXMLEventReader(InputStream,String) | 1 | 6 | N/A | 1 | 0 | 2 | 0 | 7 | __redirected.__XMLInputFactory.createXMLEventReader(InputStream,String ) |
| createXMLEventReader(String,InputStream) | 1 | 6 | N/A | 1 | 0 | 2 | 0 | 7 | __redirected.__XMLInputFactory.createXMLEventReader(String,InputStream ) |
| newDuration(boolean,BigInteger,BigInteger,BigInteger,BigInteger ,BigInteger,BigDecimal) | 1 | 11 | N/A | 1 | 0 | 7 | 0 | 4 | __redirected.__DatatypeFactory.newDuration(boolean,BigInteger ,BigInteger,BigInteger,BigInteger,BigInteger,BigDecimal) |
| newDuration(boolean,int,int,int,int,int,int) | 1 | 11 | N/A | 1 | 0 | 7 | 0 | 4 | __redirected.__DatatypeFactory.newDuration(boolean,int,int,int,int,int ,int) |
| newXMLGregorianCalendar(BigInteger,int,int,int,int,int,BigDecimal,int) | 1 | 12 | N/A | 1 | 0 | 8 | 0 | 5 | __redirected.__DatatypeFactory.newXMLGregorianCalendar(BigInteger,int ,int,int,int,int,BigDecimal,int) |
| newXMLGregorianCalendar(int,int,int,int,int,int,int,int) | 1 | 12 | N/A | 1 | 0 | 8 | 0 | 5 | __redirected.__DatatypeFactory.newXMLGregorianCalendar(int,int,int,int ,int,int,int,int) |
| createStartElement(String,String,String,Iterator,Iterator ,NamespaceContext) | 1 | 10 | N/A | 1 | 0 | 6 | 0 | 4 | __redirected.__XMLEventFactory.createStartElement(String,String,String ,Iterator,Iterator,NamespaceContext) |
| __SchemaFactory() | 21 | 73 | N/A | 8 | 1 | 0 | 10 | 2 | __redirected.__SchemaFactory.__SchemaFactory() |
| addAll(Collection) | 17 | 82 | N/A | 9 | 0 | 1 | 9 | 1 | org.jboss.modules.IdentityHashSet.addAll(Collection) |
| doDumpModuleInformation(String,StringBuilder) | 34 | 199 | N/A | 10 | 2 | 2 | 14 | 1 | org.jboss.modules.ModuleLoader$MXBeanImpl.doDumpModuleInformation (String,StringBuilder) |
| doGetDependencies(Module) | 21 | 112 | N/A | 5 | 0 | 1 | 15 | 1 | org.jboss.modules.ModuleLoader$MXBeanImpl.doGetDependencies(Module) |
| getModulePathsInfo(String,boolean) | 21 | 105 | N/A | 6 | 0 | 2 | 12 | 1 | org.jboss.modules.ModuleLoader$MXBeanImpl.getModulePathsInfo(String ,boolean) |
| DependencySpec$3(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,LocalLoader,Set) | 1 | 15 | N/A | 1 | 0 | 8 | 6 | 1 | org.jboss.modules.DependencySpec$3.DependencySpec$3(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,LocalLoader ,Set) |
| loadModuleClass(String,boolean) | 19 | 74 | N/A | 8 | 1 | 2 | 12 | 1 | org.jboss.modules.Module.loadModuleClass(String,boolean) |
| getResource(String) | 21 | 98 | N/A | 8 | 2 | 1 | 17 | 1 | org.jboss.modules.Module.getResource(String) |
| getResourceAsStream(String) | 21 | 98 | N/A | 8 | 2 | 1 | 17 | 1 | org.jboss.modules.Module.getResourceAsStream(String) |
| getResources(String) | 26 | 118 | N/A | 10 | 2 | 1 | 19 | 1 | org.jboss.modules.Module.getResources(String) |
| addPaths(Dependency[],Map,FastCopyHashSet,FastCopyHashSet ,FastCopyHashSet,Set) | 95 | 435 | N/A | 42 | 20 | 6 | 54 | 1 | org.jboss.modules.Module.addPaths(Dependency[],Map,FastCopyHashSet ,FastCopyHashSet,FastCopyHashSet,Set) |
| addExportedPaths(Dependency[],Map,FastCopyHashSet,FastCopyHashSet ,FastCopyHashSet,Set) | 125 | 618 | N/A | 67 | 35 | 6 | 68 | 1 | org.jboss.modules.Module.addExportedPaths(Dependency[],Map ,FastCopyHashSet,FastCopyHashSet,FastCopyHashSet,Set) |
| getPaths() | 40 | 147 | N/A | 23 | 1 | 0 | 6 | 1 | org.jboss.modules.Module.getPaths() |
| Module() | 32 | 156 | N/A | 6 | 2 | 0 | 7 | 2 | org.jboss.modules.Module.Module() |
| getPaths() | 43 | 167 | N/A | 23 | 3 | 0 | 12 | 1 | org.jboss.modules.FileResourceLoader.getPaths() |
| NativeLibraryResourceLoader() | 72 | 301 | N/A | 41 | 9 | 0 | 39 | 2 | org.jboss.modules.NativeLibraryResourceLoader .NativeLibraryResourceLoader() |
| remove() | 35 | 140 | N/A | 13 | 7 | 0 | 9 | 1 | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator.remove() |
| definePackage(String,String,String,String,String,String,String,URL) | 10 | 54 | N/A | 6 | 0 | 8 | 3 | 1 | org.jboss.modules.ConcurrentClassLoader.definePackage(String,String ,String,String,String,String,String,URL) |
| setResourceLoaders(Paths,ResourceLoaderSpec[]) | 16 | 78 | N/A | 5 | 0 | 2 | 11 | 2 | org.jboss.modules.ModuleClassLoader.setResourceLoaders(Paths ,ResourceLoaderSpec[]) |
| loadClassLocal(String,boolean) | 45 | 162 | N/A | 16 | 1 | 2 | 17 | 2 | org.jboss.modules.ModuleClassLoader.loadClassLocal(String,boolean) |
| getProtectionDomain(CodeSource) | 35 | 137 | N/A | 14 | 9 | 1 | 8 | 1 | org.jboss.modules.ModuleClassLoader.getProtectionDomain(CodeSource) |
| defineClass(String,ClassSpec,ResourceLoader) | 46 | 205 | N/A | 15 | 2 | 3 | 17 | 1 | org.jboss.modules.ModuleClassLoader.defineClass(String,ClassSpec ,ResourceLoader) |
| definePackage(String,String,String,String,String,String,String,URL) | 1 | 11 | N/A | 1 | 0 | 8 | 0 | 2 | org.jboss.modules.ModuleClassLoader.definePackage(String,String,String ,String,String,String,String,URL) |
| usage() | 32 | 148 | N/A | 1 | 0 | 0 | 0 | 1 | org.jboss.modules.Main.usage() |
| main(String[]) | 260 | 760 | N/A | 83 | 11 | 1 | 40 | 1 | org.jboss.modules.Main.main(String[]) |
| Main() | 24 | 74 | N/A | 10 | 3 | 0 | 11 | 2 | org.jboss.modules.Main.Main() |
| LocalDependency(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,LocalLoader,Set) | 4 | 15 | N/A | 1 | 0 | 8 | 0 | 1 | org.jboss.modules.LocalDependency.LocalDependency(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,LocalLoader ,Set) |
| loadModuleLocal(ModuleIdentifier) | 42 | 161 | N/A | 14 | 0 | 1 | 11 | 1 | org.jboss.modules.ModuleLoader.loadModuleLocal(ModuleIdentifier) |
| ModuleDependencySpec(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,ModuleLoader,ModuleIdentifier,boolean) | 5 | 18 | N/A | 1 | 0 | 9 | 0 | 1 | org.jboss.modules.ModuleDependencySpec.ModuleDependencySpec(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,ModuleLoader ,ModuleIdentifier,boolean) |
| ModuleClassLoaderDependency(PathFilter,PathFilter,PathFilter ,PathFilter,ClassFilter,ClassFilter,ModuleClassLoader) | 3 | 12 | N/A | 1 | 0 | 7 | 0 | 2 | org.jboss.modules.ModuleClassLoaderDependency .ModuleClassLoaderDependency(PathFilter,PathFilter,PathFilter ,PathFilter,ClassFilter,ClassFilter,ModuleClassLoader) |
| ModularContentHandlerFactory() | 24 | 84 | N/A | 8 | 2 | 0 | 12 | 2 | org.jboss.modules.ModularContentHandlerFactory .ModularContentHandlerFactory() |
| parseModuleXml(ModuleXmlParser$ResourceRootFactory,String,InputStream ,String,ModuleLoader,ModuleIdentifier) | 8 | 45 | N/A | 4 | 0 | 6 | 2 | 2 | org.jboss.modules.ModuleXmlParser.parseModuleXml (ModuleXmlParser$ResourceRootFactory,String,InputStream,String ,ModuleLoader,ModuleIdentifier) |
| parseModuleAliasContents(XmlPullParser,ModuleIdentifier) | 25 | 138 | N/A | 18 | 4 | 2 | 9 | 1 | org.jboss.modules.ModuleXmlParser.parseModuleAliasContents (XmlPullParser,ModuleIdentifier) |
| parseModuleContents(XmlPullParser,ModuleXmlParser$ResourceRootFactory ,ModuleLoader,ModuleIdentifier,ModuleSpec$Builder,String) | 39 | 222 | N/A | 33 | 8 | 6 | 11 | 1 | org.jboss.modules.ModuleXmlParser.parseModuleContents(XmlPullParser ,ModuleXmlParser$ResourceRootFactory,ModuleLoader,ModuleIdentifier ,ModuleSpec$Builder,String) |
| parseModuleDependency(XmlPullParser,ModuleSpec$Builder) | 46 | 236 | N/A | 32 | 7 | 2 | 15 | 1 | org.jboss.modules.ModuleXmlParser.parseModuleDependency(XmlPullParser ,ModuleSpec$Builder) |
| parseResourceRoot(ModuleXmlParser$ResourceRootFactory,String ,XmlPullParser,ModuleSpec$Builder) | 33 | 166 | N/A | 18 | 2 | 4 | 12 | 1 | org.jboss.modules.ModuleXmlParser.parseResourceRoot (ModuleXmlParser$ResourceRootFactory,String,XmlPullParser ,ModuleSpec$Builder) |
| resolveJarArtifact(String) | 27 | 209 | N/A | 11 | 0 | 1 | 18 | 1 | org.jboss.modules.MavenArtifactUtil.resolveJarArtifact(String) |
| resolveLayeredModulePath(File[]) | 31 | 155 | N/A | 12 | 5 | 1 | 18 | 1 | org.jboss.modules.LayeredModulePathFactory.resolveLayeredModulePath (File[]) |
| run() | 18 | 70 | N/A | 9 | 0 | 0 | 9 | 1 | org.jboss.modules.DefaultBootModuleLoaderHolder$1.run() |
| print(PrintWriter,String,ModuleSpec,FastCopyHashSet,File[]) | 24 | 85 | N/A | 8 | 0 | 5 | 9 | 4 | org.jboss.modules.DependencyTreeViewer.print(PrintWriter,String ,ModuleSpec,FastCopyHashSet,File[]) |
| print(PrintWriter,String,DependencySpec,FastCopyHashSet,boolean,File[] ) | 17 | 69 | N/A | 7 | 0 | 6 | 3 | 4 | org.jboss.modules.DependencyTreeViewer.print(PrintWriter,String ,DependencySpec,FastCopyHashSet,boolean,File[]) |
| hasNext() | 23 | 97 | N/A | 13 | 6 | 0 | 2 | 1 | org.jboss.modules.ModuleClassLoader$3.hasNext() |
| Dependency(PathFilter,PathFilter,PathFilter,PathFilter,ClassFilter ,ClassFilter) | 20 | 63 | N/A | 7 | 0 | 6 | 0 | 2 | org.jboss.modules.Dependency.Dependency(PathFilter,PathFilter ,PathFilter,PathFilter,ClassFilter,ClassFilter) |
| ModularURLStreamHandlerFactory() | 25 | 88 | N/A | 8 | 2 | 0 | 12 | 2 | org.jboss.modules.ModularURLStreamHandlerFactory .ModularURLStreamHandlerFactory() |
| getClassSpec(String) | 31 | 128 | N/A | 10 | 0 | 1 | 11 | 1 | org.jboss.modules.JarFileResourceLoader.getClassSpec(String) |
| getPaths() | 23 | 95 | N/A | 11 | 5 | 0 | 10 | 1 | org.jboss.modules.JarFileResourceLoader.getPaths() |
| addInternalIndex(File,boolean) | 44 | 178 | N/A | 16 | 3 | 2 | 13 | 1 | org.jboss.modules.JarFileResourceLoader.addInternalIndex(File,boolean) |
| getPathSet(ClassLoader) | 30 | 88 | N/A | 11 | 3 | 1 | 14 | 1 | org.jboss.modules.PathUtils.getPathSet(ClassLoader) |
| canonicalize(String) | 46 | 177 | N/A | 23 | 2 | 1 | 10 | 1 | org.jboss.modules.PathUtils.canonicalize(String) |
| hasNext() | 23 | 97 | N/A | 13 | 6 | 0 | 2 | 1 | org.jboss.modules.Module$3.hasNext() |
| ConcreteModuleSpec(ModuleIdentifier,String,AssertionSetting ,ResourceLoaderSpec[],DependencySpec[],LocalLoader ,ModuleClassLoaderFactory,ClassFileTransformer,Map ,PermissionCollection) | 11 | 31 | N/A | 1 | 0 | 10 | 0 | 1 | org.jboss.modules.ConcreteModuleSpec.ConcreteModuleSpec (ModuleIdentifier,String,AssertionSetting,ResourceLoaderSpec[] ,DependencySpec[],LocalLoader,ModuleClassLoaderFactory ,ClassFileTransformer,Map,PermissionCollection) |
| findModule(ModuleIdentifier,ModuleLoader) | 69 | 325 | N/A | 24 | 5 | 2 | 35 | 1 | org.jboss.modules.JarModuleFinder.findModule(ModuleIdentifier ,ModuleLoader) |
| ModuleDependency(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,ModuleLoader,ModuleIdentifier,boolean) | 5 | 18 | N/A | 1 | 0 | 9 | 0 | 2 | org.jboss.modules.ModuleDependency.ModuleDependency(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,ModuleLoader ,ModuleIdentifier,boolean) |
| DependencySpec$2(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter) | 1 | 9 | N/A | 1 | 0 | 6 | 0 | 1 | org.jboss.modules.DependencySpec$2.DependencySpec$2(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter) |
| remove() | 35 | 141 | N/A | 13 | 7 | 0 | 9 | 1 | org.jboss.modules.FastCopyHashSet$KeyIterator.remove() |
| resize() | 27 | 112 | N/A | 8 | 3 | 0 | 14 | 1 | org.jboss.modules.UnlockedReadHashMap.resize() |
| addClassPath(ModuleSpec$Builder,String) | 20 | 100 | N/A | 8 | 0 | 2 | 9 | 1 | org.jboss.modules.ClassPathModuleLoader.addClassPath (ModuleSpec$Builder,String) |
| DependencySpec(PathFilter,PathFilter,PathFilter,PathFilter,ClassFilter ,ClassFilter) | 8 | 21 | N/A | 1 | 0 | 6 | 0 | 2 | org.jboss.modules.DependencySpec.DependencySpec(PathFilter,PathFilter ,PathFilter,PathFilter,ClassFilter,ClassFilter) |
| createLocalDependencySpec() | 1 | 4 | N/A | 1 | 0 | 0 | 0 | 7 | org.jboss.modules.DependencySpec.createLocalDependencySpec() |
| createLocalDependencySpec(PathFilter,PathFilter) | 5 | 20 | N/A | 3 | 0 | 2 | 0 | 7 | org.jboss.modules.DependencySpec.createLocalDependencySpec(PathFilter ,PathFilter) |
| createLocalDependencySpec(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter) | 13 | 52 | N/A | 7 | 0 | 6 | 0 | 7 | org.jboss.modules.DependencySpec.createLocalDependencySpec(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter) |
| createLocalDependencySpec(LocalLoader,Set) | 1 | 6 | N/A | 1 | 0 | 2 | 0 | 7 | org.jboss.modules.DependencySpec.createLocalDependencySpec(LocalLoader ,Set) |
| createLocalDependencySpec(LocalLoader,Set,boolean) | 1 | 10 | N/A | 2 | 0 | 3 | 0 | 7 | org.jboss.modules.DependencySpec.createLocalDependencySpec(LocalLoader ,Set,boolean) |
| createLocalDependencySpec(PathFilter,PathFilter,LocalLoader,Set) | 1 | 10 | N/A | 1 | 0 | 4 | 0 | 7 | org.jboss.modules.DependencySpec.createLocalDependencySpec(PathFilter ,PathFilter,LocalLoader,Set) |
| createLocalDependencySpec(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,LocalLoader,Set) | 17 | 68 | N/A | 9 | 0 | 8 | 0 | 7 | org.jboss.modules.DependencySpec.createLocalDependencySpec(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,LocalLoader ,Set) |
| createModuleDependencySpec(ModuleIdentifier) | 1 | 4 | N/A | 1 | 0 | 1 | 0 | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec (ModuleIdentifier) |
| createModuleDependencySpec(ModuleIdentifier,boolean) | 1 | 5 | N/A | 1 | 0 | 2 | 0 | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec (ModuleIdentifier,boolean) |
| createModuleDependencySpec(ModuleIdentifier,boolean,boolean) | 1 | 11 | N/A | 2 | 0 | 3 | 0 | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec (ModuleIdentifier,boolean,boolean) |
| createModuleDependencySpec(ModuleLoader,ModuleIdentifier,boolean) | 1 | 11 | N/A | 2 | 0 | 3 | 0 | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec (ModuleLoader,ModuleIdentifier,boolean) |
| createModuleDependencySpec(ModuleLoader,ModuleIdentifier,boolean ,boolean) | 1 | 11 | N/A | 2 | 0 | 4 | 0 | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec (ModuleLoader,ModuleIdentifier,boolean,boolean) |
| createModuleDependencySpec(PathFilter,ModuleIdentifier,boolean) | 1 | 7 | N/A | 1 | 0 | 3 | 0 | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec(PathFilter ,ModuleIdentifier,boolean) |
| createModuleDependencySpec(PathFilter,ModuleLoader,ModuleIdentifier ,boolean) | 1 | 7 | N/A | 1 | 0 | 4 | 0 | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec(PathFilter ,ModuleLoader,ModuleIdentifier,boolean) |
| createModuleDependencySpec(PathFilter,PathFilter,ModuleLoader ,ModuleIdentifier,boolean) | 1 | 11 | N/A | 1 | 0 | 5 | 0 | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec(PathFilter ,PathFilter,ModuleLoader,ModuleIdentifier,boolean) |
| createModuleDependencySpec(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,ModuleLoader,ModuleIdentifier,boolean) | 15 | 62 | N/A | 8 | 0 | 9 | 0 | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,ModuleLoader ,ModuleIdentifier,boolean) |
| trace(String) | 4 | 12 | N/A | 1 | 0 | 1 | 0 | 10 | org.jboss.modules.log.StreamModuleLogger.trace(String) |
| trace(String,Object) | 5 | 21 | N/A | 1 | 0 | 2 | 0 | 10 | org.jboss.modules.log.StreamModuleLogger.trace(String,Object) |
| trace(String,Object,Object) | 5 | 25 | N/A | 1 | 0 | 3 | 0 | 10 | org.jboss.modules.log.StreamModuleLogger.trace(String,Object,Object) |
| trace(String,Object,Object,Object) | 5 | 29 | N/A | 1 | 0 | 4 | 0 | 10 | org.jboss.modules.log.StreamModuleLogger.trace(String,Object,Object ,Object) |
| trace(String,Object[]) | 5 | 18 | N/A | 1 | 0 | 2 | 0 | 10 | org.jboss.modules.log.StreamModuleLogger.trace(String,Object[]) |
| trace(Throwable,String) | 6 | 20 | N/A | 1 | 0 | 2 | 0 | 10 | org.jboss.modules.log.StreamModuleLogger.trace(Throwable,String) |
| trace(Throwable,String,Object) | 6 | 26 | N/A | 1 | 0 | 3 | 0 | 10 | org.jboss.modules.log.StreamModuleLogger.trace(Throwable,String,Object ) |
| trace(Throwable,String,Object,Object) | 6 | 30 | N/A | 1 | 0 | 4 | 0 | 10 | org.jboss.modules.log.StreamModuleLogger.trace(Throwable,String,Object ,Object) |
| trace(Throwable,String,Object,Object,Object) | 6 | 34 | N/A | 1 | 0 | 5 | 0 | 10 | org.jboss.modules.log.StreamModuleLogger.trace(Throwable,String,Object ,Object,Object) |
| trace(Throwable,String,Object[]) | 6 | 22 | N/A | 1 | 0 | 3 | 0 | 10 | org.jboss.modules.log.StreamModuleLogger.trace(Throwable,String ,Object[]) |
| trace(String) | 0 | 0 | N/A | 1 | 0 | 1 | 0 | 10 | org.jboss.modules.log.ModuleLogger.trace(String) |
| trace(String,Object) | 0 | 0 | N/A | 1 | 0 | 2 | 0 | 10 | org.jboss.modules.log.ModuleLogger.trace(String,Object) |
| trace(String,Object,Object) | 0 | 0 | N/A | 1 | 0 | 3 | 0 | 10 | org.jboss.modules.log.ModuleLogger.trace(String,Object,Object) |
Statistics
| Stat | # lines of code (LOC) | # ByteCode instructions | Cyclomatic Complexity (CC) | ByteCode Cyclomatic Complexity (BCCC) | ByteCode Nesting Depth | # Parameters | # Variables | # Overloads |
|---|---|---|---|---|---|---|---|---|
| Sum: | 145 474 | 731 785 | 0 | 72 836 | 18 994 | 12 764 | 24 180 | 51 924 |
| Average: | 28.05 | 140.97 | 0 | 14.03 | 3.66 | 2.46 | 4.66 | 10 |
| Minimum: | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
| Maximum: | 915 | 6 987 | 0 | 2 048 | 339 | 18 | 127 | 121 |
| Standard deviation: | 43.42 | 270.92 | 0 | 40.09 | 10.38 | 2.17 | 7.43 | 25.21 |
| Variance: | 1 885 | 73 399 | 0 | 1 607 | 107.77 | 4.7 | 55.16 | 635.33 |
| Rule warning: Methods too big |
warnif count > 0 from m in JustMyCode.Methods where
m.NbLinesOfCode > 30 ||
m.NbBCInstructions > 200
orderby m.NbLinesOfCode descending,
m.NbBCInstructions descending
select new { m, m.NbLinesOfCode, m.NbBCInstructions }
// Methods where NbLinesOfCode > 30 or NbBCInstructions > 200
// are extremely complex and should be split in smaller methods.
// See the definition of the NbLinesOfCode metric here
// http://www.jarchitect.com/Metrics#NbLinesOfCode
2,070 methods matched
| methods | # lines of code (LOC) | # ByteCode instructions | Full Name |
|---|---|---|---|
| traverse(MethodBinding,int,byte[],int,int,Map,boolean) | 915 | 3 038 | org.eclipse.jdt.internal.compiler.ClassFile.traverse(MethodBinding,int ,byte[],int,int,Map,boolean) |
| configure(String[]) | 885 | 2 629 | org.eclipse.jdt.internal.compiler.batch.Main.configure(String[]) |
| consumeRule(int) | 871 | 1 449 | org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(int) |
| XMLChar() | 621 | 2 881 | com.sun.xml.fastinfoset.org.apache.xerces.util.XMLChar.XMLChar() |
| XMLChar() | 621 | 2 881 | org.apache.jasper.xmlparser.XMLChar.XMLChar() |
| handleErrorOrWarningToken(String,boolean,int) | 579 | 1 906 | org.eclipse.jdt.internal.compiler.batch.Main.handleErrorOrWarningToken (String,boolean,int) |
| jjMoveNfa_0(int,int) | 489 | 2 930 | com.sun.xml.xsom.impl.scd.SCDParserTokenManager.jjMoveNfa_0(int,int) |
| getNextToken() | 438 | 1 711 | org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken() |
| EncodingMap() | 421 | 2 099 | org.apache.jasper.xmlparser.EncodingMap.EncodingMap() |
| internalScanIdentifierOrKeyword(int,int,char[]) | 372 | 1 785 | org.eclipse.jdt.internal.compiler.parser.Scanner .internalScanIdentifierOrKeyword(int,int,char[]) |
| generateCode(BlockScope,CodeStream,boolean) | 347 | 1 184 | org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateCode (BlockScope,CodeStream,boolean) |
| generateRows(Session,SearchRow,SearchRow) | 339 | 3 651 | org.h2.table.MetaTable.generateRows(Session,SearchRow,SearchRow) |
| set(Map) | 339 | 1 871 | org.eclipse.jdt.internal.compiler.impl.CompilerOptions.set(Map) |
| getSimpleValue(Session,Value,Expression[],Value[]) | 297 | 1 043 | org.h2.expression.Function.getSimpleValue(Session,Value,Expression[] ,Value[]) |
| computeId() | 284 | 957 | org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.computeId() |
| jjStopStringLiteralDfa_0(int,long) | 278 | 965 | com.sun.xml.xsom.impl.scd.SCDParserTokenManager .jjStopStringLiteralDfa_0(int,long) |
| generateCode(BlockScope,CodeStream) | 267 | 989 | org.eclipse.jdt.internal.compiler.ast.TryStatement.generateCode (BlockScope,CodeStream) |
| main(String[]) | 260 | 760 | org.jboss.modules.Main.main(String[]) |
| enterElement(String,String,String,Attributes) | 248 | 2 140 | com.sun.xml.xsom.impl.parser.state.complexType.enterElement(String ,String,String,Attributes) |
| TypeConstants() | 248 | 1 764 | org.eclipse.jdt.internal.compiler.lookup.TypeConstants.TypeConstants() |
| processWrite(int,ByteBuffer) | 242 | 823 | io.undertow.client.http.HttpRequestConduit.processWrite(int,ByteBuffer ) |
| generateStackMapTableAttribute(MethodBinding,int,int,int,boolean) | 241 | 1 087 | org.eclipse.jdt.internal.compiler.ClassFile .generateStackMapTableAttribute(MethodBinding,int,int,int,boolean) |
| process() | 233 | 851 | org.h2.server.pg.PgServerThread.process() |
| jumpOverMethodBody() | 227 | 898 | org.eclipse.jdt.internal.compiler.parser.Scanner.jumpOverMethodBody() |
| getValueWithArgs(Session,Expression[]) | 226 | 1 080 | org.h2.expression.Function.getValueWithArgs(Session,Expression[]) |
| doTag(TagPluginContext) | 220 | 1 786 | org.apache.jasper.tagplugins.jstl.core.Import.doTag(TagPluginContext) |
| Function() | 219 | 1 119 | org.h2.expression.Function.Function() |
| writeValue(ByteBuffer,Value) | 218 | 861 | org.h2.mvstore.db.ValueDataType.writeValue(ByteBuffer,Value) |
| update() | 214 | 870 | org.h2.command.dml.Set.update() |
| writeValue(Value) | 210 | 769 | org.h2.store.Data.writeValue(Value) |
| getBinding(char[],int,InvocationSite,boolean) | 209 | 630 | org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding(char[],int ,InvocationSite,boolean) |
| consumeToken(int) | 203 | 691 | org.eclipse.jdt.internal.compiler.parser.Parser.consumeToken(int) |
| reportPrimaryError(int,int,int,int) | 203 | 566 | org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser .reportPrimaryError(int,int,int,int) |
| invalidMethod(MessageSend,MethodBinding) | 202 | 910 | org.eclipse.jdt.internal.compiler.problem.ProblemReporter .invalidMethod(MessageSend,MethodBinding) |
| ConstantPool() | 201 | 632 | org.eclipse.jdt.internal.compiler.codegen.ConstantPool.ConstantPool() |
| leaveElement(String,String,String) | 199 | 940 | com.sun.xml.xsom.impl.parser.state.complexType.leaveElement(String ,String,String) |
| readTerm() | 197 | 773 | org.h2.command.Parser.readTerm() |
| scanNumber(boolean) | 196 | 834 | org.eclipse.jdt.internal.compiler.parser.Scanner.scanNumber(boolean) |
| parseSet() | 195 | 725 | org.h2.command.Parser.parseSet() |
| commentParse() | 193 | 777 | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser .commentParse() |
| resolveTypeForQualifiedAllocationExpression(BlockScope) | 192 | 899 | org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression .resolveTypeForQualifiedAllocationExpression(BlockScope) |
| EmbeddedServletOptions(ServletConfig,ServletContext) | 189 | 659 | org.apache.jasper.EmbeddedServletOptions.EmbeddedServletOptions (ServletConfig,ServletContext) |
| getTypeOrPackage(char[],int,boolean) | 183 | 755 | org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(char[] ,int,boolean) |
| getopt() | 182 | 805 | gnu.getopt.Getopt.getopt() |
| analyseCode(BlockScope,FlowContext,FlowInfo) | 180 | 645 | org.eclipse.jdt.internal.compiler.ast.TryStatement.analyseCode (BlockScope,FlowContext,FlowInfo) |
| generateBoxingConversion(int) | 179 | 246 | org.eclipse.jdt.internal.compiler.codegen.CodeStream .generateBoxingConversion(int) |
| invalidConstructor(Statement,MethodBinding) | 178 | 761 | org.eclipse.jdt.internal.compiler.problem.ProblemReporter .invalidConstructor(Statement,MethodBinding) |
| findMethod(ReferenceBinding,char[],TypeBinding[],InvocationSite ,boolean) | 178 | 735 | org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod (ReferenceBinding,char[],TypeBinding[],InvocationSite,boolean) |
| minimalErasedCandidates(TypeBinding[],Map) | 177 | 684 | org.eclipse.jdt.internal.compiler.lookup.Scope.minimalErasedCandidates (TypeBinding[],Map) |
| ClassFileReader(byte[],char[],boolean) | 175 | 665 | org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader .ClassFileReader(byte[],char[],boolean) |
| mergedWith(UnconditionalFlowInfo) | 173 | 1 343 | org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo .mergedWith(UnconditionalFlowInfo) |
| recordPositionsFrom(int,int,boolean) | 173 | 1 156 | org.eclipse.jdt.internal.compiler.codegen.CodeStream .recordPositionsFrom(int,int,boolean) |
| javadocInvalidMethod(MessageSend,MethodBinding,int) | 173 | 783 | org.eclipse.jdt.internal.compiler.problem.ProblemReporter .javadocInvalidMethod(MessageSend,MethodBinding,int) |
| parseTag(int) | 173 | 759 | org.eclipse.jdt.internal.compiler.parser.JavadocParser.parseTag(int) |
| methods() | 171 | 701 | org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods() |
| JavadocTagConstants() | 171 | 685 | org.eclipse.jdt.internal.compiler.parser.JavadocTagConstants .JavadocTagConstants() |
| complainOnDeferredNullChecks(BlockScope,FlowInfo) | 170 | 783 | org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext .complainOnDeferredNullChecks(BlockScope,FlowInfo) |
| read(char[],int,int) | 169 | 731 | org.apache.jasper.xmlparser.UTF8Reader.read(char[],int,int) |
| enterElement(String,String,String,Attributes) | 167 | 1 108 | com.sun.xml.xsom.impl.parser.state.Schema.enterElement(String,String ,String,Attributes) |
| convertHexFloatingPointLiteralToBits(char[]) | 166 | 511 | org.eclipse.jdt.internal.compiler.util.FloatUtil .convertHexFloatingPointLiteralToBits(char[]) |
| addInfoFrom(FlowInfo,boolean) | 164 | 907 | org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo .addInfoFrom(FlowInfo,boolean) |
| resolveType(BlockScope) | 162 | 774 | org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType (BlockScope) |
| resolve() | 162 | 694 | org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve() |
| checkCastTypesCompatibility(Scope,TypeBinding,TypeBinding,Expression) | 159 | 675 | org.eclipse.jdt.internal.compiler.ast.Expression .checkCastTypesCompatibility(Scope,TypeBinding,TypeBinding,Expression) |
| getImplicitMethod(char[],TypeBinding[],InvocationSite) | 155 | 537 | org.eclipse.jdt.internal.compiler.lookup.Scope.getImplicitMethod (char[],TypeBinding[],InvocationSite) |
| query(int) | 154 | 663 | org.h2.command.dml.ScriptCommand.query(int) |
| process() | 153 | 641 | org.h2.server.TcpServerThread.process() |
| processStatefulWrite(int,ByteBuffer) | 153 | 563 | io.undertow.server.protocol.http.HttpResponseConduit .processStatefulWrite(int,ByteBuffer) |
| convertTo(int) | 151 | 908 | org.h2.value.Value.convertTo(int) |
| decodeType(String,int,int,int) | 151 | 771 | org.eclipse.jdt.internal.compiler.parser.TypeConverter.decodeType (String,int,int,int) |
| javadocInvalidConstructor(Statement,MethodBinding,int) | 149 | 654 | org.eclipse.jdt.internal.compiler.problem.ProblemReporter .javadocInvalidConstructor(Statement,MethodBinding,int) |
| decode(ChannelHandlerContext,ByteBuf,List) | 147 | 681 | io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.decode (ChannelHandlerContext,ByteBuf,List) |
| checkAndSetModifiers() | 147 | 548 | org.eclipse.jdt.internal.compiler.lookup.ClassScope .checkAndSetModifiers() |
| next() | 146 | 809 | com.sun.xml.fastinfoset.stax.StAXDocumentParser.next() |
| getValueLen(Value,DataHandler) | 145 | 603 | org.h2.store.Data.getValueLen(Value,DataHandler) |
| parse(ByteBuffer,AjpRequestParseState,HttpServerExchange) | 144 | 531 | io.undertow.server.protocol.ajp.AjpRequestParser.parse(ByteBuffer ,AjpRequestParseState,HttpServerExchange) |
| processOptions(String) | 144 | 524 | org.eclipse.jdt.internal.compiler.tool.Options.processOptions(String) |
| generateLocalVariableTableAttribute(int,boolean,boolean) | 143 | 777 | org.eclipse.jdt.internal.compiler.ClassFile .generateLocalVariableTableAttribute(int,boolean,boolean) |
| parseArgument(String[],int) | 143 | 724 | com.sun.tools.xjc.Options.parseArgument(String[],int) |
| secondaryPhase(int) | 143 | 693 | org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser .secondaryPhase(int) |
| generateNonBooleanEqual(BlockScope,CodeStream,boolean) | 143 | 424 | org.eclipse.jdt.internal.compiler.ast.EqualExpression .generateNonBooleanEqual(BlockScope,CodeStream,boolean) |
| nextImpl() | 142 | 632 | org.jboss.modules.xml.MXParser.nextImpl() |
| text(String) | 141 | 792 | com.sun.xml.xsom.impl.parser.state.particle.text(String) |
| analyseCode(BlockScope,FlowContext,FlowInfo) | 141 | 467 | org.eclipse.jdt.internal.compiler.ast.ForStatement.analyseCode (BlockScope,FlowContext,FlowInfo) |
| parseParam() | 140 | 546 | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser .parseParam() |
| runTool(String[]) | 137 | 478 | org.h2.tools.Console.runTool(String[]) |
| updatedTypeDeclaration(int,Set) | 136 | 732 | org.eclipse.jdt.internal.compiler.parser.RecoveredType .updatedTypeDeclaration(int,Set) |
| resolveType(BlockScope) | 134 | 617 | org.eclipse.jdt.internal.compiler.ast.ConditionalExpression .resolveType(BlockScope) |
| resolveType(BlockScope) | 133 | 572 | org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType (BlockScope) |
| pathMatch(char[],char[],boolean,char) | 133 | 383 | org.eclipse.jdt.core.compiler.CharOperation.pathMatch(char[],char[] ,boolean,char) |
| initialize(String) | 132 | 508 | org.h2.command.Parser.initialize(String) |
| resolveTypesFor(MethodBinding) | 131 | 576 | org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding .resolveTypesFor(MethodBinding) |
| mostSpecificMethodBinding(MethodBinding[],int,TypeBinding[] ,InvocationSite,ReferenceBinding) | 131 | 546 | org.eclipse.jdt.internal.compiler.lookup.Scope .mostSpecificMethodBinding(MethodBinding[],int,TypeBinding[] ,InvocationSite,ReferenceBinding) |
| writeValue(Value) | 131 | 537 | org.h2.value.Transfer.writeValue(Value) |
| compact(int) | 131 | 532 | org.h2.store.PageStore.compact(int) |
| diagnoseParse(boolean) | 130 | 615 | org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser .diagnoseParse(boolean) |
| internalResolveLeafType(Scope,boolean) | 130 | 503 | org.eclipse.jdt.internal.compiler.ast .ParameterizedQualifiedTypeReference.internalResolveLeafType(Scope ,boolean) |
| compile(ICompilationUnit[]) | 130 | 418 | org.eclipse.jdt.internal.compiler.Compiler.compile(ICompilationUnit[]) |
| run() | 129 | 812 | io.netty.util.concurrent.SingleThreadEventExecutor$2.run() |
| text(String) | 129 | 619 | com.sun.xml.xsom.impl.parser.state.elementDeclBody.text(String) |
Statistics
| Stat | # lines of code (LOC) | # ByteCode instructions |
|---|---|---|
| Sum: | 120 777 | 607 944 |
| Average: | 58.4 | 293.69 |
| Minimum: | 0 | 47 |
| Maximum: | 915 | 6 987 |
| Standard deviation: | 55.42 | 377.11 |
| Variance: | 3 071 | 142 209 |
| Rule warning: Methods too complex |
warnif count > 0 from m in JustMyCode.Methods where
m.CyclomaticComplexity > 20 ||
m.BCCyclomaticComplexity > 40 ||
m.BCNestingDepth > 5
orderby m.CyclomaticComplexity descending,
m.BCCyclomaticComplexity descending,
m.BCNestingDepth descending
select new { m, m.CyclomaticComplexity,
m.BCCyclomaticComplexity,
m.BCNestingDepth }
// Methods where CyclomaticComplexity > 20
// or BCCyclomaticComplexity > 40
// or BCNestingDepth > 4
// are hard to understand and maintain
// and should be split in smaller methods.
// See the definition of the complexity metrics here:
// http://www.jarchitect.com/Metrics#CC
// http://www.jarchitect.com/Metrics#ILCC
// http://www.jarchitect.com/Metrics#BCNestingDepth
1,326 methods matched
| methods | Cyclomatic Complexity (CC) | ByteCode Cyclomatic Complexity (BCCC) | ByteCode Nesting Depth | Full Name |
|---|---|---|---|---|
| decompose(int) | N/A | 2 048 | 1 | nu.xom.UnicodeUtil.decompose(int) |
| consumeRule(int) | N/A | 695 | 0 | org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(int) |
| handleHeader(ByteBuffer,ParseState,HttpServerExchange) | N/A | 438 | 339 | io.undertow.server.protocol.http.HttpRequestParser$$generated .handleHeader(ByteBuffer,ParseState,HttpServerExchange) |
| traverse(MethodBinding,int,byte[],int,int,Map,boolean) | N/A | 406 | 14 | org.eclipse.jdt.internal.compiler.ClassFile.traverse(MethodBinding,int ,byte[],int,int,Map,boolean) |
| HttpRequestParser$$generated() | N/A | 401 | 0 | io.undertow.server.protocol.http.HttpRequestParser$$generated .HttpRequestParser$$generated() |
| jjMoveNfa_0(int,int) | N/A | 395 | 150 | com.sun.xml.xsom.impl.scd.SCDParserTokenManager.jjMoveNfa_0(int,int) |
| enterElement(String,String,String,Attributes) | N/A | 362 | 233 | com.sun.xml.xsom.impl.parser.state.complexType.enterElement(String ,String,String,Attributes) |
| isXMLLetter(char) | N/A | 358 | 0 | nu.xom.jaxen.saxpath.base.Verifier.isXMLLetter(char) |
| internalScanIdentifierOrKeyword(int,int,char[]) | N/A | 343 | 199 | org.eclipse.jdt.internal.compiler.parser.Scanner .internalScanIdentifierOrKeyword(int,int,char[]) |
| getCombiningClass(int) | N/A | 324 | 0 | nu.xom.UnicodeUtil.getCombiningClass(int) |
| convertTo(int) | N/A | 288 | 8 | org.h2.value.Value.convertTo(int) |
| getSimpleValue(Session,Value,Expression[],Value[]) | N/A | 278 | 15 | org.h2.expression.Function.getSimpleValue(Session,Value,Expression[] ,Value[]) |
| enterElement(String,String,String,Attributes) | N/A | 272 | 225 | com.sun.xml.xsom.impl.parser.state.particle.enterElement(String,String ,String,Attributes) |
| needsEscaping(char) | N/A | 268 | 0 | nu.xom.Latin8Writer.needsEscaping(char) |
| HttpResponseParser$$generated() | N/A | 266 | 0 | io.undertow.client.http.HttpResponseParser$$generated .HttpResponseParser$$generated() |
| getNextToken() | N/A | 257 | 66 | org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken() |
| needsEscaping(char) | N/A | 247 | 0 | nu.xom.Latin2Writer.needsEscaping(char) |
| handleHeader(ByteBuffer,ResponseParseState,HttpResponseBuilder) | N/A | 246 | 193 | io.undertow.client.http.HttpResponseParser$$generated.handleHeader (ByteBuffer,ResponseParseState,HttpResponseBuilder) |
| needsEscaping(char) | N/A | 245 | 0 | nu.xom.Latin4Writer.needsEscaping(char) |
| configure(String[]) | N/A | 237 | 63 | org.eclipse.jdt.internal.compiler.batch.Main.configure(String[]) |
| accept(ClassVisitor,Attribute[],int) | N/A | 232 | 62 | org.objectweb.asm.ClassReader.accept(ClassVisitor,Attribute[],int) |
| needsEscaping(char) | N/A | 230 | 0 | nu.xom.Latin7Writer.needsEscaping(char) |
| a(int,int,ClassWriter,Item) | N/A | 226 | 8 | org.objectweb.asm.Frame.a(int,int,ClassWriter,Item) |
| needsEscaping(char) | N/A | 226 | 0 | nu.xom.Latin10Writer.needsEscaping(char) |
| needsEscaping(char) | N/A | 225 | 0 | nu.xom.Latin6Writer.needsEscaping(char) |
| set(Map) | N/A | 224 | 50 | org.eclipse.jdt.internal.compiler.impl.CompilerOptions.set(Map) |
| needsEscaping(char) | N/A | 224 | 0 | nu.xom.Latin3Writer.needsEscaping(char) |
| handleErrorOrWarningToken(String,boolean,int) | N/A | 221 | 59 | org.eclipse.jdt.internal.compiler.batch.Main.handleErrorOrWarningToken (String,boolean,int) |
| getIrritant(int) | N/A | 218 | 0 | org.eclipse.jdt.internal.compiler.problem.ProblemReporter.getIrritant (int) |
| computeId() | N/A | 200 | 9 | org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.computeId() |
| enterElement(String,String,String,Attributes) | N/A | 169 | 103 | com.sun.xml.xsom.impl.parser.state.elementDeclBody.enterElement(String ,String,String,Attributes) |
| nextToken() | N/A | 164 | 2 | nu.xom.jaxen.saxpath.base.XPathLexer.nextToken() |
| isXMLCombiningChar(char) | N/A | 162 | 0 | nu.xom.jaxen.saxpath.base.Verifier.isXMLCombiningChar(char) |
| generateRows(Session,SearchRow,SearchRow) | N/A | 156 | 35 | org.h2.table.MetaTable.generateRows(Session,SearchRow,SearchRow) |
| leaveElement(String,String,String) | N/A | 154 | 109 | com.sun.xml.xsom.impl.parser.state.particle.leaveElement(String,String ,String) |
| generateCode(BlockScope,CodeStream,boolean) | N/A | 154 | 68 | org.eclipse.jdt.internal.compiler.ast.BinaryExpression.generateCode (BlockScope,CodeStream,boolean) |
| readValue(ByteBuffer) | N/A | 154 | 5 | org.h2.mvstore.db.ValueDataType.readValue(ByteBuffer) |
| readValue() | N/A | 154 | 5 | org.h2.store.Data.readValue() |
| needsEscaping(char) | N/A | 146 | 0 | nu.xom.Latin5Writer.needsEscaping(char) |
| enterElement(String,String,String,Attributes) | N/A | 143 | 51 | com.sun.xml.xsom.impl.parser.state.Schema.enterElement(String,String ,String,Attributes) |
| next() | N/A | 139 | 0 | com.sun.xml.fastinfoset.stax.StAXDocumentParser.next() |
| needsEscaping(char) | N/A | 139 | 0 | nu.xom.Latin9Writer.needsEscaping(char) |
| jumpOverMethodBody() | N/A | 133 | 55 | org.eclipse.jdt.internal.compiler.parser.Scanner.jumpOverMethodBody() |
| initialize(String) | N/A | 133 | 21 | org.h2.command.Parser.initialize(String) |
| leaveElement(String,String,String) | N/A | 130 | 17 | com.sun.xml.xsom.impl.parser.state.complexType.leaveElement(String ,String,String) |
| computeConstantOperationEQUAL_EQUAL(Constant,int,Constant,int) | N/A | 129 | 2 | org.eclipse.jdt.internal.compiler.impl.Constant .computeConstantOperationEQUAL_EQUAL(Constant,int,Constant,int) |
| parsePrepared() | N/A | 127 | 19 | org.h2.command.Parser.parsePrepared() |
| parseTag(int) | N/A | 122 | 59 | org.eclipse.jdt.internal.compiler.parser.JavadocParser.parseTag(int) |
| consumeToken(int) | N/A | 122 | 10 | org.eclipse.jdt.internal.compiler.parser.Parser.consumeToken(int) |
| computeConstantOperationGREATER(Constant,int,Constant,int) | N/A | 122 | 0 | org.eclipse.jdt.internal.compiler.impl.Constant .computeConstantOperationGREATER(Constant,int,Constant,int) |
| computeConstantOperationGREATER_EQUAL(Constant,int,Constant,int) | N/A | 122 | 0 | org.eclipse.jdt.internal.compiler.impl.Constant .computeConstantOperationGREATER_EQUAL(Constant,int,Constant,int) |
| computeConstantOperationLESS(Constant,int,Constant,int) | N/A | 122 | 0 | org.eclipse.jdt.internal.compiler.impl.Constant .computeConstantOperationLESS(Constant,int,Constant,int) |
| computeConstantOperationLESS_EQUAL(Constant,int,Constant,int) | N/A | 122 | 0 | org.eclipse.jdt.internal.compiler.impl.Constant .computeConstantOperationLESS_EQUAL(Constant,int,Constant,int) |
| parseQualifiedName(boolean) | N/A | 120 | 1 | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser .parseQualifiedName(boolean) |
| isConstantValueRepresentable(Constant,int,int) | N/A | 116 | 0 | org.eclipse.jdt.internal.compiler.ast.Expression .isConstantValueRepresentable(Constant,int,int) |
| getValueWithArgs(Session,Expression[]) | N/A | 113 | 6 | org.h2.expression.Function.getValueWithArgs(Session,Expression[]) |
| jjStopStringLiteralDfa_0(int,long) | N/A | 112 | 0 | com.sun.xml.xsom.impl.scd.SCDParserTokenManager .jjStopStringLiteralDfa_0(int,long) |
| commentParse() | N/A | 110 | 50 | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser .commentParse() |
| processOptions(String) | N/A | 109 | 90 | org.eclipse.jdt.internal.compiler.tool.Options.processOptions(String) |
| convertHexFloatingPointLiteralToBits(char[]) | N/A | 109 | 8 | org.eclipse.jdt.internal.compiler.util.FloatUtil .convertHexFloatingPointLiteralToBits(char[]) |
| needsEscaping(char) | N/A | 108 | 0 | nu.xom.ISOGreekWriter.needsEscaping(char) |
| leaveAttribute(String,String,String) | N/A | 107 | 10 | com.sun.xml.xsom.impl.parser.state.complexType.leaveAttribute(String ,String,String) |
| getSpecialType(String) | N/A | 107 | 5 | org.h2.command.Parser.getSpecialType(String) |
| getBinding(char[],int,InvocationSite,boolean) | N/A | 106 | 38 | org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding(char[],int ,InvocationSite,boolean) |
| enterAttribute(String,String,String) | N/A | 106 | 10 | com.sun.xml.xsom.impl.parser.state.complexType.enterAttribute(String ,String,String) |
| getTypeOrPackage(char[],int,boolean) | N/A | 105 | 59 | org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(char[] ,int,boolean) |
| build(File) | N/A | 105 | 2 | nu.xom.Builder.build(File) |
| toStringAction(int) | N/A | 104 | 0 | org.eclipse.jdt.internal.compiler.parser.Scanner.toStringAction(int) |
| enterElement(String,String,String,Attributes) | N/A | 103 | 81 | com.sun.xml.xsom.impl.parser.state.SimpleType_Restriction.enterElement (String,String,String,Attributes) |
| generateStackMapTableAttribute(MethodBinding,int,int,int,boolean) | N/A | 103 | 8 | org.eclipse.jdt.internal.compiler.ClassFile .generateStackMapTableAttribute(MethodBinding,int,int,int,boolean) |
| needsEscaping(char) | N/A | 100 | 0 | nu.xom.ISOCyrillicWriter.needsEscaping(char) |
| text(String) | N/A | 98 | 3 | com.sun.xml.xsom.impl.parser.state.complexType.text(String) |
| onChildCompleted(Object,int,boolean) | N/A | 98 | 0 | com.sun.xml.xsom.impl.parser.state.complexType.onChildCompleted(Object ,int,boolean) |
| leaveElement(String,String,String) | N/A | 97 | 29 | com.sun.xml.xsom.impl.parser.state.Schema.leaveElement(String,String ,String) |
| toURI(String) | N/A | 97 | 0 | nu.xom.URIUtil.toURI(String) |
| minimalErasedCandidates(TypeBinding[],Map) | N/A | 95 | 48 | org.eclipse.jdt.internal.compiler.lookup.Scope.minimalErasedCandidates (TypeBinding[],Map) |
| isQueryCharacter(char) | N/A | 95 | 0 | nu.xom.Verifier.isQueryCharacter(char) |
| isRegNameCharacter(char) | N/A | 95 | 0 | nu.xom.Verifier.isRegNameCharacter(char) |
| isPathCharacter(char) | N/A | 95 | 0 | nu.xom.Verifier.isPathCharacter(char) |
| isUserInfoCharacter(char) | N/A | 95 | 0 | nu.xom.Verifier.isUserInfoCharacter(char) |
| isKeyword(int) | N/A | 95 | 0 | org.eclipse.jdt.internal.compiler.problem.ProblemReporter.isKeyword (int) |
| isKeyword(int) | N/A | 95 | 0 | org.eclipse.jdt.internal.compiler.parser.Scanner.isKeyword(int) |
| resolveType(BlockScope) | N/A | 94 | 48 | org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType (BlockScope) |
| scanNumber(boolean) | N/A | 94 | 29 | org.eclipse.jdt.internal.compiler.parser.Scanner.scanNumber(boolean) |
| computeConstantOperationPLUS(Constant,int,Constant,int) | N/A | 94 | 1 | org.eclipse.jdt.internal.compiler.impl.Constant .computeConstantOperationPLUS(Constant,int,Constant,int) |
| a(int,char[],String,AnnotationVisitor) | N/A | 93 | 0 | org.objectweb.asm.ClassReader.a(int,char[],String,AnnotationVisitor) |
| resolve() | N/A | 92 | 55 | org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve() |
| enterAttribute(String,String,String) | N/A | 92 | 52 | com.sun.xml.xsom.impl.parser.state.particle.enterAttribute(String ,String,String) |
| isXMLPublicIDCharacter(char) | N/A | 92 | 0 | nu.xom.DocType.isXMLPublicIDCharacter(char) |
| resolveTypeForQualifiedAllocationExpression(BlockScope) | N/A | 90 | 41 | org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression .resolveTypeForQualifiedAllocationExpression(BlockScope) |
| update() | N/A | 90 | 11 | org.h2.command.dml.Set.update() |
| processOptions(String) | N/A | 89 | 74 | org.eclipse.jdt.internal.compiler.apt.util.Options.processOptions (String) |
| complainOnDeferredNullChecks(BlockScope,FlowInfo) | N/A | 89 | 42 | org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext .complainOnDeferredNullChecks(BlockScope,FlowInfo) |
| needsEscaping(char) | N/A | 89 | 0 | nu.xom.ISOThaiWriter.needsEscaping(char) |
| calculatePrecisionAndDisplaySize() | N/A | 88 | 0 | org.h2.expression.Function.calculatePrecisionAndDisplaySize() |
| findMethod(ReferenceBinding,char[],TypeBinding[],InvocationSite ,boolean) | N/A | 86 | 40 | org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod (ReferenceBinding,char[],TypeBinding[],InvocationSite,boolean) |
| jjMoveStringLiteralDfa0_0() | N/A | 86 | 0 | com.sun.xml.xsom.impl.scd.SCDParserTokenManager .jjMoveStringLiteralDfa0_0() |
| methods() | N/A | 84 | 42 | org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods() |
| checkCastTypesCompatibility(Scope,TypeBinding,TypeBinding,Expression) | N/A | 84 | 33 | org.eclipse.jdt.internal.compiler.ast.Expression .checkCastTypesCompatibility(Scope,TypeBinding,TypeBinding,Expression) |
| enterAttribute(String,String,String) | N/A | 84 | 23 | com.sun.xml.xsom.impl.parser.state.elementDeclBody.enterAttribute (String,String,String) |
Statistics
| Stat | Cyclomatic Complexity (CC) | ByteCode Cyclomatic Complexity (BCCC) | ByteCode Nesting Depth |
|---|---|---|---|
| Sum: | 0 | 49 883 | 15 889 |
| Average: | 0 | 37.62 | 11.98 |
| Minimum: | 0 | 7 | 0 |
| Maximum: | 0 | 2 048 | 339 |
| Standard deviation: | 0 | 73.49 | 17.97 |
| Variance: | 0 | 5 400 | 322.93 |
| Rule warning: Methods with too many parameters |
warnif count > 0 from m in JustMyCode.Methods where
m.NbParameters > 5
orderby m.NbParameters descending
select new { m, m.NbParameters }
// Methods where NbParameters > 5 might be painful to call
// and might degrade performance. You should prefer using
// additional properties/fields to the declaring type to
// handle numerous states. Another alternative is to provide
// a class or structure dedicated to handle arguments passing
// (for example see the class System.Diagnostics.ProcessStartInfo
// and the method System.Diagnostics.Process.Start(ProcessStartInfo))
// See the definition of the NbParameters metric here
// http://www.jarchitect.com/Metrics#NbParameters
702 methods matched
| methods | # Parameters | Full Name |
|---|---|---|
| ElementDecl(PatcherManager,SchemaDocumentImpl,AnnotationImpl,Locator ,ForeignAttributesImpl,String,String,boolean,XmlString,XmlString ,boolean,boolean,Boolean,Ref$Type,Ref$Element,int,int,List) | 18 | com.sun.xml.xsom.impl.ElementDecl.ElementDecl(PatcherManager ,SchemaDocumentImpl,AnnotationImpl,Locator,ForeignAttributesImpl ,String,String,boolean,XmlString,XmlString,boolean,boolean,Boolean ,Ref$Type,Ref$Element,int,int,List) |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object,Object,Object,Object[])<E> | 13 | com.google.common.collect.ImmutableList.of(Object,Object,Object,Object ,Object,Object,Object,Object,Object,Object,Object,Object,Object[])<E> |
| UndertowSession(WebSocketChannel,URI,Map,Map,EndpointSessionHandler ,Principal,InstanceHandle,EndpointConfig,String,Encoding,Set,String ,List) | 13 | io.undertow.websockets.jsr.UndertowSession.UndertowSession (WebSocketChannel,URI,Map,Map,EndpointSessionHandler,Principal ,InstanceHandle,EndpointConfig,String,Encoding,Set,String,List) |
| LocalCache$ManualSerializationProxy<K,V>(LocalCache$Strength ,LocalCache$Strength,Equivalence,Equivalence,long,long,long,Weigher ,int,RemovalListener,Ticker,CacheLoader) | 12 | com.google.common.cache.LocalCache$ManualSerializationProxy .LocalCache$ManualSerializationProxy<K,V>(LocalCache$Strength ,LocalCache$Strength,Equivalence,Equivalence,long,long,long,Weigher ,int,RemovalListener,Ticker,CacheLoader) |
| ComplexTypeImpl(SchemaDocumentImpl,AnnotationImpl,Locator ,ForeignAttributesImpl,String,boolean,boolean,int,Ref$Type,int,int ,boolean) | 12 | com.sun.xml.xsom.impl.ComplexTypeImpl.ComplexTypeImpl (SchemaDocumentImpl,AnnotationImpl,Locator,ForeignAttributesImpl ,String,boolean,boolean,int,Ref$Type,int,int,boolean) |
| JasperTagInfo(String,String,String,String,TagLibraryInfo,TagExtraInfo ,TagAttributeInfo[],String,String,String,TagVariableInfo[],String) | 12 | org.apache.jasper.compiler.JasperTagInfo.JasperTagInfo(String,String ,String,String,TagLibraryInfo,TagExtraInfo,TagAttributeInfo[],String ,String,String,TagVariableInfo[],String) |
| BaseSettings(ClassIntrospector,AnnotationIntrospector ,VisibilityChecker,PropertyNamingStrategy,TypeFactory ,TypeResolverBuilder,DateFormat,HandlerInstantiator,Locale,TimeZone ,Base64Variant) | 11 | com.fasterxml.jackson.databind.cfg.BaseSettings.BaseSettings (ClassIntrospector,AnnotationIntrospector,VisibilityChecker ,PropertyNamingStrategy,TypeFactory,TypeResolverBuilder,DateFormat ,HandlerInstantiator,Locale,TimeZone,Base64Variant) |
| ComputingConcurrentHashMap$ComputingSerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap ,Function) | 11 | com.google.common.collect .ComputingConcurrentHashMap$ComputingSerializationProxy .ComputingConcurrentHashMap$ComputingSerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap ,Function) |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object,Object)<E> | 11 | com.google.common.collect.ImmutableList.of(Object,Object,Object,Object ,Object,Object,Object,Object,Object,Object,Object)<E> |
| TableLink(Schema,int,String,String,String,String,String,String,String ,boolean,boolean) | 11 | org.h2.table.TableLink.TableLink(Schema,int,String,String,String ,String,String,String,String,boolean,boolean) |
| create(MVMap,long,int,Object[],Object[],long[],Page[],long[],long,int ,int) | 11 | org.h2.mvstore.Page.create(MVMap,long,int,Object[],Object[],long[] ,Page[],long[],long,int,int) |
| JspConfig$JspProperty(String,String,String,String,ArrayList,ArrayList ,String,String,String,String,String) | 11 | org.apache.jasper.compiler.JspConfig$JspProperty.JspConfig$JspProperty (String,String,String,String,ArrayList,ArrayList,String,String,String ,String,String) |
| Node$CustomTag(String,String,String,String,Attributes,Attributes ,Attributes,Mark,Node,TagInfo,Class) | 11 | org.apache.jasper.compiler.Node$CustomTag.Node$CustomTag(String,String ,String,String,Attributes,Attributes,Attributes,Mark,Node,TagInfo ,Class) |
| ConcreteModuleSpec(ModuleIdentifier,String,AssertionSetting ,ResourceLoaderSpec[],DependencySpec[],LocalLoader ,ModuleClassLoaderFactory,ClassFileTransformer,Map ,PermissionCollection) | 10 | org.jboss.modules.ConcreteModuleSpec.ConcreteModuleSpec (ModuleIdentifier,String,AssertionSetting,ResourceLoaderSpec[] ,DependencySpec[],LocalLoader,ModuleClassLoaderFactory ,ClassFileTransformer,Map,PermissionCollection) |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableBiMap.of(Object,Object,Object ,Object,Object,Object,Object,Object,Object,Object)<K,V> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<E> | 10 | com.google.common.collect.ImmutableList.of(Object,Object,Object,Object ,Object,Object,Object,Object,Object,Object)<E> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableListMultimap.of(Object,Object ,Object,Object,Object,Object,Object,Object,Object,Object)<K,V> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableMap.of(Object,Object,Object,Object ,Object,Object,Object,Object,Object,Object)<K,V> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableMultimap.of(Object,Object,Object ,Object,Object,Object,Object,Object,Object,Object)<K,V> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableSetMultimap.of(Object,Object,Object ,Object,Object,Object,Object,Object,Object,Object)<K,V> |
| of(Comparable,Object,Comparable,Object,Comparable,Object,Comparable ,Object,Comparable,Object)<K> | 10 | com.google.common.collect.ImmutableSortedMap.of(Comparable,Object ,Comparable,Object,Comparable,Object,Comparable,Object,Comparable ,Object)<K> |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object ,Object)<K,V> | 10 | com.google.common.collect.ImmutableSortedMapFauxverideShim.of(Object ,Object,Object,Object,Object,Object,Object,Object,Object,Object)<K,V> |
| MapMakerInternalMap$AbstractSerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap) | 10 | com.google.common.collect .MapMakerInternalMap$AbstractSerializationProxy .MapMakerInternalMap$AbstractSerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap) |
| MapMakerInternalMap$SerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap) | 10 | com.google.common.collect.MapMakerInternalMap$SerializationProxy .MapMakerInternalMap$SerializationProxy<K,V> (MapMakerInternalMap$Strength,MapMakerInternalMap$Strength,Equivalence ,Equivalence,long,long,int,int,MapMaker$RemovalListener,ConcurrentMap) |
| createTableLink(int,String,String,String,String,String,String,String ,boolean,boolean) | 10 | org.h2.schema.Schema.createTableLink(int,String,String,String,String ,String,String,String,boolean,boolean) |
| newInstance(Class[],Collection,Map,String,boolean ,RuntimeAnnotationReader,boolean,boolean,boolean,boolean) | 10 | com.sun.xml.bind.api.JAXBRIContext.newInstance(Class[],Collection,Map ,String,boolean,RuntimeAnnotationReader,boolean,boolean,boolean ,boolean) |
| createContext(Class[],Collection,Map,String,boolean ,RuntimeAnnotationReader,boolean,boolean,boolean,boolean) | 10 | com.sun.xml.bind.v2.ContextFactory.createContext(Class[],Collection ,Map,String,boolean,RuntimeAnnotationReader,boolean,boolean,boolean ,boolean) |
| AttributeDeclImpl(SchemaDocumentImpl,String,String,AnnotationImpl ,Locator,ForeignAttributesImpl,boolean,XmlString,XmlString ,Ref$SimpleType) | 10 | com.sun.xml.xsom.impl.AttributeDeclImpl.AttributeDeclImpl (SchemaDocumentImpl,String,String,AnnotationImpl,Locator ,ForeignAttributesImpl,boolean,XmlString,XmlString,Ref$SimpleType) |
| CReferencePropertyInfo(String,boolean,boolean,boolean,XSComponent ,CCustomizations,Locator,boolean,boolean,boolean) | 10 | com.sun.tools.xjc.model.CReferencePropertyInfo.CReferencePropertyInfo (String,boolean,boolean,boolean,XSComponent,CCustomizations,Locator ,boolean,boolean,boolean) |
| createProblem(char[],int,String[],int,String[],int,int,int,int,int) | 10 | org.eclipse.jdt.internal.compiler.IProblemFactory.createProblem(char[] ,int,String[],int,String[],int,int,int,int,int) |
| createProblem(char[],int,String[],int,String[],int,int,int,int,int) | 10 | org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory .createProblem(char[],int,String[],int,String[],int,int,int,int,int) |
| createProblem(char[],int,String[],int,String[],int,int,int,int,int) | 10 | org.eclipse.jdt.internal.compiler.problem.ProblemHandler.createProblem (char[],int,String[],int,String[],int,int,int,int,int) |
| createProblem(char[],int,String[],int,String[],int,int,int,int,int) | 10 | org.eclipse.jdt.internal.compiler.tool.EclipseCompilerImpl$3 .createProblem(char[],int,String[],int,String[],int,int,int,int,int) |
| AptProblem(ReferenceContext,char[],String,int,String[],int,int,int,int ,int) | 10 | org.eclipse.jdt.internal.compiler.apt.dispatch.AptProblem.AptProblem (ReferenceContext,char[],String,int,String[],int,int,int,int,int) |
| Node$CustomTag(String,String,String,String,Attributes,Attributes ,Attributes,Mark,Node,TagFileInfo) | 10 | org.apache.jasper.compiler.Node$CustomTag.Node$CustomTag(String,String ,String,String,Attributes,Attributes,Attributes,Mark,Node,TagFileInfo) |
| parse(ParserController,JspReader,Node,boolean,boolean,URL,String ,String,boolean,boolean) | 10 | org.apache.jasper.compiler.Parser.parse(ParserController,JspReader ,Node,boolean,boolean,URL,String,String,boolean,boolean) |
| parse(ParserController,String,JarFile,Node,boolean,boolean,String ,String,boolean,boolean) | 10 | org.apache.jasper.compiler.JspDocumentParser.parse(ParserController ,String,JarFile,Node,boolean,boolean,String,String,boolean,boolean) |
| ModuleDependencySpec(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,ModuleLoader,ModuleIdentifier,boolean) | 9 | org.jboss.modules.ModuleDependencySpec.ModuleDependencySpec(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,ModuleLoader ,ModuleIdentifier,boolean) |
| ModuleDependency(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,ModuleLoader,ModuleIdentifier,boolean) | 9 | org.jboss.modules.ModuleDependency.ModuleDependency(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,ModuleLoader ,ModuleIdentifier,boolean) |
| createModuleDependencySpec(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,ModuleLoader,ModuleIdentifier,boolean) | 9 | org.jboss.modules.DependencySpec.createModuleDependencySpec(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,ModuleLoader ,ModuleIdentifier,boolean) |
| UTF8StreamJsonParser(IOContext,int,InputStream,ObjectCodec ,BytesToNameCanonicalizer,byte[],int,int,boolean) | 9 | com.fasterxml.jackson.core.json.UTF8StreamJsonParser .UTF8StreamJsonParser(IOContext,int,InputStream,ObjectCodec ,BytesToNameCanonicalizer,byte[],int,int,boolean) |
| _handleSingleArgumentConstructor(DeserializationContext ,BeanDescription,VisibilityChecker,AnnotationIntrospector ,CreatorCollector,AnnotatedConstructor,boolean,boolean,PropertyName) | 9 | com.fasterxml.jackson.databind.deser.BasicDeserializerFactory ._handleSingleArgumentConstructor(DeserializationContext ,BeanDescription,VisibilityChecker,AnnotationIntrospector ,CreatorCollector,AnnotatedConstructor,boolean,boolean,PropertyName) |
| CreatorProperty(PropertyName,JavaType,PropertyName,TypeDeserializer ,Annotations,AnnotatedParameter,int,Object,PropertyMetadata) | 9 | com.fasterxml.jackson.databind.deser.CreatorProperty.CreatorProperty (PropertyName,JavaType,PropertyName,TypeDeserializer,Annotations ,AnnotatedParameter,int,Object,PropertyMetadata) |
| CreatorProperty(String,JavaType,PropertyName,TypeDeserializer ,Annotations,AnnotatedParameter,int,Object,boolean) | 9 | com.fasterxml.jackson.databind.deser.CreatorProperty.CreatorProperty (String,JavaType,PropertyName,TypeDeserializer,Annotations ,AnnotatedParameter,int,Object,boolean) |
| BeanPropertyWriter(BeanPropertyDefinition,AnnotatedMember,Annotations ,JavaType,JsonSerializer,TypeSerializer,JavaType,boolean,Object) | 9 | com.fasterxml.jackson.databind.ser.BeanPropertyWriter .BeanPropertyWriter(BeanPropertyDefinition,AnnotatedMember,Annotations ,JavaType,JsonSerializer,TypeSerializer,JavaType,boolean,Object) |
| of(Object,Object,Object,Object,Object,Object,Object,Object,Object)<E> | 9 | com.google.common.collect.ImmutableList.of(Object,Object,Object,Object ,Object,Object,Object,Object,Object)<E> |
| getTimeTry(boolean,TimeZone,int,int,int,int,int,int,int) | 9 | org.h2.util.DateTimeUtils.getTimeTry(boolean,TimeZone,int,int,int,int ,int,int,int) |
| ClientResourceInfo(ContractInfo,String,VersionInfo,String ,ResourceHelper,boolean,boolean,boolean,boolean) | 9 | com.sun.faces.application.resource.ClientResourceInfo .ClientResourceInfo(ContractInfo,String,VersionInfo,String ,ResourceHelper,boolean,boolean,boolean,boolean) |
| MutableNavigationCase(String,String,String,String,String,String,Map ,boolean,boolean) | 9 | com.sun.faces.flow.builder.MutableNavigationCase.MutableNavigationCase (String,String,String,String,String,String,Map,boolean,boolean) |
| renderHandler(FacesContext,UIComponent,Collection,String,Object,String ,String,boolean,boolean) | 9 | com.sun.faces.renderkit.RenderKitUtils.renderHandler(FacesContext ,UIComponent,Collection,String,Object,String,String,boolean,boolean) |
| renderOption(FacesContext,UIComponent,Converter,SelectItem,Object ,Object[],boolean,int,HtmlBasicRenderer$OptionComponentInfo) | 9 | com.sun.faces.renderkit.html_basic.RadioRenderer.renderOption (FacesContext,UIComponent,Converter,SelectItem,Object,Object[],boolean ,int,HtmlBasicRenderer$OptionComponentInfo) |
| renderOption(FacesContext,UIComponent,Converter,SelectItem,Object ,Object[],boolean,int,HtmlBasicRenderer$OptionComponentInfo) | 9 | com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer .renderOption(FacesContext,UIComponent,Converter,SelectItem,Object ,Object[],boolean,int,HtmlBasicRenderer$OptionComponentInfo) |
| createContext(Class[],Collection,Map,String,boolean ,RuntimeAnnotationReader,boolean,boolean,boolean) | 9 | com.sun.xml.bind.v2.ContextFactory.createContext(Class[],Collection ,Map,String,boolean,RuntimeAnnotationReader,boolean,boolean,boolean) |
| IdentityConstraintImpl(SchemaDocumentImpl,AnnotationImpl,Locator ,ForeignAttributesImpl,short,String,XPathImpl,List ,Ref$IdentityConstraint) | 9 | com.sun.xml.xsom.impl.IdentityConstraintImpl.IdentityConstraintImpl (SchemaDocumentImpl,AnnotationImpl,Locator,ForeignAttributesImpl,short ,String,XPathImpl,List,Ref$IdentityConstraint) |
| SimpleType_Union(NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int ,AnnotationImpl,Locator,ForeignAttributesImpl,String,Set) | 9 | com.sun.xml.xsom.impl.parser.state.SimpleType_Union.SimpleType_Union (NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int,AnnotationImpl,Locator ,ForeignAttributesImpl,String,Set) |
| SimpleType_List(NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int ,AnnotationImpl,Locator,ForeignAttributesImpl,String,Set) | 9 | com.sun.xml.xsom.impl.parser.state.SimpleType_List.SimpleType_List (NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int,AnnotationImpl,Locator ,ForeignAttributesImpl,String,Set) |
| SimpleType_Restriction(NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int ,AnnotationImpl,Locator,ForeignAttributesImpl,String,Set) | 9 | com.sun.xml.xsom.impl.parser.state.SimpleType_Restriction .SimpleType_Restriction(NGCCHandler,NGCCEventSource,NGCCRuntimeEx,int ,AnnotationImpl,Locator,ForeignAttributesImpl,String,Set) |
| CEnumLeafInfo(Model,QName,CClassInfoParent,String,CNonElement ,Collection,XSComponent,CCustomizations,Locator) | 9 | com.sun.tools.xjc.model.CEnumLeafInfo.CEnumLeafInfo(Model,QName ,CClassInfoParent,String,CNonElement,Collection,XSComponent ,CCustomizations,Locator) |
| ConcurrentHashMapV8$MapReduceEntriesToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceEntriesToDoubleTask .ConcurrentHashMapV8$MapReduceEntriesToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) |
| ConcurrentHashMapV8$MapReduceEntriesToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceEntriesToIntTask .ConcurrentHashMapV8$MapReduceEntriesToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) |
| ConcurrentHashMapV8$MapReduceEntriesToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceEntriesToLongTask .ConcurrentHashMapV8$MapReduceEntriesToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceEntriesToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) |
| ConcurrentHashMapV8$MapReduceKeysToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceKeysToDoubleTask .ConcurrentHashMapV8$MapReduceKeysToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) |
| ConcurrentHashMapV8$MapReduceKeysToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceKeysToIntTask .ConcurrentHashMapV8$MapReduceKeysToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) |
| ConcurrentHashMapV8$MapReduceKeysToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceKeysToLongTask .ConcurrentHashMapV8$MapReduceKeysToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceKeysToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) |
| ConcurrentHashMapV8$MapReduceMappingsToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToDoubleTask ,ConcurrentHashMapV8$ObjectByObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceMappingsToDoubleTask .ConcurrentHashMapV8$MapReduceMappingsToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToDoubleTask ,ConcurrentHashMapV8$ObjectByObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) |
| ConcurrentHashMapV8$MapReduceMappingsToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToIntTask ,ConcurrentHashMapV8$ObjectByObjectToInt,int ,ConcurrentHashMapV8$IntByIntToInt) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceMappingsToIntTask .ConcurrentHashMapV8$MapReduceMappingsToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToIntTask ,ConcurrentHashMapV8$ObjectByObjectToInt,int ,ConcurrentHashMapV8$IntByIntToInt) |
| ConcurrentHashMapV8$MapReduceMappingsToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToLongTask ,ConcurrentHashMapV8$ObjectByObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceMappingsToLongTask .ConcurrentHashMapV8$MapReduceMappingsToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceMappingsToLongTask ,ConcurrentHashMapV8$ObjectByObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) |
| ConcurrentHashMapV8$MapReduceValuesToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceValuesToDoubleTask .ConcurrentHashMapV8$MapReduceValuesToDoubleTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToDoubleTask ,ConcurrentHashMapV8$ObjectToDouble,double ,ConcurrentHashMapV8$DoubleByDoubleToDouble) |
| ConcurrentHashMapV8$MapReduceValuesToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceValuesToIntTask .ConcurrentHashMapV8$MapReduceValuesToIntTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToIntTask ,ConcurrentHashMapV8$ObjectToInt,int,ConcurrentHashMapV8$IntByIntToInt ) |
| ConcurrentHashMapV8$MapReduceValuesToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) | 9 | io.netty.util.internal.chmv8 .ConcurrentHashMapV8$MapReduceValuesToLongTask .ConcurrentHashMapV8$MapReduceValuesToLongTask<K,V> (ConcurrentHashMapV8$BulkTask,int,int,int,ConcurrentHashMapV8$Node[] ,ConcurrentHashMapV8$MapReduceValuesToLongTask ,ConcurrentHashMapV8$ObjectToLong,long ,ConcurrentHashMapV8$LongByLongToLong) |
| createProblem(char[],int,String[],String[],int,int,int,int,int) | 9 | org.eclipse.jdt.internal.compiler.IProblemFactory.createProblem(char[] ,int,String[],String[],int,int,int,int,int) |
| checkNeedForArgumentCasts(BlockScope,int,int,Expression,int,boolean ,Expression,int,boolean) | 9 | org.eclipse.jdt.internal.compiler.ast.CastExpression .checkNeedForArgumentCasts(BlockScope,int,int,Expression,int,boolean ,Expression,int,boolean) |
| DefaultProblem(char[],String,int,String[],int,int,int,int,int) | 9 | org.eclipse.jdt.internal.compiler.problem.DefaultProblem .DefaultProblem(char[],String,int,String[],int,int,int,int,int) |
| createProblem(char[],int,String[],String[],int,int,int,int,int) | 9 | org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory .createProblem(char[],int,String[],String[],int,int,int,int,int) |
| createProblem(char[],int,String[],String[],int,int,int,int,int) | 9 | org.eclipse.jdt.internal.compiler.problem.ProblemHandler.createProblem (char[],int,String[],String[],int,int,int,int,int) |
| handle(int,String[],int,String[],int,int,int,ReferenceContext ,CompilationResult) | 9 | org.eclipse.jdt.internal.compiler.problem.ProblemHandler.handle(int ,String[],int,String[],int,int,int,ReferenceContext,CompilationResult) |
| EclipseCompilerImpl$3$1(EclipseCompilerImpl$3,int,int,int,int,int ,String[],int,char[]) | 9 | org.eclipse.jdt.internal.compiler.tool.EclipseCompilerImpl$3$1 .EclipseCompilerImpl$3$1(EclipseCompilerImpl$3,int,int,int,int,int ,String[],int,char[]) |
| EclipseCompilerImpl$3$2(EclipseCompilerImpl$3,int,int,int,int,int ,String[],int,char[]) | 9 | org.eclipse.jdt.internal.compiler.tool.EclipseCompilerImpl$3$2 .EclipseCompilerImpl$3$2(EclipseCompilerImpl$3,int,int,int,int,int ,String[],int,char[]) |
| createProblem(char[],int,String[],String[],int,int,int,int,int) | 9 | org.eclipse.jdt.internal.compiler.tool.EclipseCompilerImpl$3 .createProblem(char[],int,String[],String[],int,int,int,int,int) |
| append(CharSequence,int,int) | 9 | io.undertow.servlet.spec.ServletPrintWriterDelegate.append (CharSequence,int,int) |
| JspFactoryImpl$PrivilegedGetPageContext(JspFactoryImpl,JspFactoryImpl ,Servlet,ServletRequest,ServletResponse,String,boolean,int,boolean) | 9 | org.apache.jasper.runtime.JspFactoryImpl$PrivilegedGetPageContext .JspFactoryImpl$PrivilegedGetPageContext(JspFactoryImpl,JspFactoryImpl ,Servlet,ServletRequest,ServletResponse,String,boolean,int,boolean) |
| Node$CustomTag(String,String,String,String,Attributes,Mark,Node ,TagInfo,Class) | 9 | org.apache.jasper.compiler.Node$CustomTag.Node$CustomTag(String,String ,String,String,Attributes,Mark,Node,TagInfo,Class) |
| Mark$IncludeState(Mark,int,int,int,int,String,String,String,char[]) | 9 | org.apache.jasper.compiler.Mark$IncludeState.Mark$IncludeState(Mark ,int,int,int,int,String,String,String,char[]) |
| newXMLGregorianCalendar(BigInteger,int,int,int,int,int,BigDecimal,int) | 8 | __redirected.__DatatypeFactory.newXMLGregorianCalendar(BigInteger,int ,int,int,int,int,BigDecimal,int) |
| newXMLGregorianCalendar(int,int,int,int,int,int,int,int) | 8 | __redirected.__DatatypeFactory.newXMLGregorianCalendar(int,int,int,int ,int,int,int,int) |
| DependencySpec$3(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,LocalLoader,Set) | 8 | org.jboss.modules.DependencySpec$3.DependencySpec$3(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,LocalLoader ,Set) |
| definePackage(String,String,String,String,String,String,String,URL) | 8 | org.jboss.modules.ConcurrentClassLoader.definePackage(String,String ,String,String,String,String,String,URL) |
| definePackage(String,String,String,String,String,String,String,URL) | 8 | org.jboss.modules.ModuleClassLoader.definePackage(String,String,String ,String,String,String,String,URL) |
| LocalDependency(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,LocalLoader,Set) | 8 | org.jboss.modules.LocalDependency.LocalDependency(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,LocalLoader ,Set) |
| createLocalDependencySpec(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,LocalLoader,Set) | 8 | org.jboss.modules.DependencySpec.createLocalDependencySpec(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,LocalLoader ,Set) |
| DependencyInfo(String,String,String,ModuleLoaderMXBean,String,boolean ,String,List) | 8 | org.jboss.modules.management.DependencyInfo.DependencyInfo(String ,String,String,ModuleLoaderMXBean,String,boolean,String,List) |
| MethodWriter(ClassWriter,int,String,String,String,String[],boolean ,boolean) | 8 | org.objectweb.asm.MethodWriter.MethodWriter(ClassWriter,int,String ,String,String,String[],boolean,boolean) |
| BytesToNameCanonicalizer$TableInfo(int,int,int[],Name[] ,BytesToNameCanonicalizer$Bucket[],int,int,int) | 8 | com.fasterxml.jackson.core.sym.BytesToNameCanonicalizer$TableInfo .BytesToNameCanonicalizer$TableInfo(int,int,int[],Name[] ,BytesToNameCanonicalizer$Bucket[],int,int,int) |
| CharsToNameCanonicalizer(CharsToNameCanonicalizer,boolean,boolean ,String[],CharsToNameCanonicalizer$Bucket[],int,int,int) | 8 | com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer .CharsToNameCanonicalizer(CharsToNameCanonicalizer,boolean,boolean ,String[],CharsToNameCanonicalizer$Bucket[],int,int,int) |
| ObjectReader(ObjectReader,DeserializationConfig,JavaType ,JsonDeserializer,Object,FormatSchema,InjectableValues ,DataFormatReaders) | 8 | com.fasterxml.jackson.databind.ObjectReader.ObjectReader(ObjectReader ,DeserializationConfig,JavaType,JsonDeserializer,Object,FormatSchema ,InjectableValues,DataFormatReaders) |
| buildWriter(SerializerProvider,BeanPropertyDefinition,JavaType ,JsonSerializer,TypeSerializer,TypeSerializer,AnnotatedMember,boolean) | 8 | com.fasterxml.jackson.databind.ser.PropertyBuilder.buildWriter (SerializerProvider,BeanPropertyDefinition,JavaType,JsonSerializer ,TypeSerializer,TypeSerializer,AnnotatedMember,boolean) |
| subSet(Object,boolean,Object,boolean) | 8 | com.google.common.collect.ContiguousSet.subSet(Object,boolean,Object ,boolean) |
| of(Object,Object,Object,Object,Object,Object,Object,Object)<K,V> | 8 | com.google.common.collect.ImmutableBiMap.of(Object,Object,Object ,Object,Object,Object,Object,Object)<K,V> |
| of(Object,Object,Object,Object,Object,Object,Object,Object)<E> | 8 | com.google.common.collect.ImmutableList.of(Object,Object,Object,Object ,Object,Object,Object,Object)<E> |
| of(Object,Object,Object,Object,Object,Object,Object,Object)<K,V> | 8 | com.google.common.collect.ImmutableListMultimap.of(Object,Object ,Object,Object,Object,Object,Object,Object)<K,V> |
Statistics
| Stat | # Parameters |
|---|---|
| Sum: | 4 872 |
| Average: | 6.94 |
| Minimum: | 6 |
| Maximum: | 18 |
| Standard deviation: | 1.34 |
| Variance: | 1.78 |
| Rule warning: Methods with too many local variables |
warnif count > 0 from m in JustMyCode.Methods where
m.NbVariables > 15
orderby m.NbVariables descending
select new { m, m.NbVariables }
// Methods where NbVariables > 8 are hard to understand and maintain.
// Methods where NbVariables > 15 are extremely complex
// and should be split in smaller methods.
// See the definition of the Nbvariables metric here
// http://www.jarchitect.com/Metrics#Nbvariables
370 methods matched
| methods | # Variables | Full Name |
|---|---|---|
| traverse(MethodBinding,int,byte[],int,int,Map,boolean) | 127 | org.eclipse.jdt.internal.compiler.ClassFile.traverse(MethodBinding,int ,byte[],int,int,Map,boolean) |
| configure(String[]) | 87 | org.eclipse.jdt.internal.compiler.batch.Main.configure(String[]) |
| mergedWith(UnconditionalFlowInfo) | 72 | org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo .mergedWith(UnconditionalFlowInfo) |
| addExportedPaths(Dependency[],Map,FastCopyHashSet,FastCopyHashSet ,FastCopyHashSet,Set) | 68 | org.jboss.modules.Module.addExportedPaths(Dependency[],Map ,FastCopyHashSet,FastCopyHashSet,FastCopyHashSet,Set) |
| findMethod(ReferenceBinding,char[],TypeBinding[],InvocationSite ,boolean) | 60 | org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod (ReferenceBinding,char[],TypeBinding[],InvocationSite,boolean) |
| minimalErasedCandidates(TypeBinding[],Map) | 59 | org.eclipse.jdt.internal.compiler.lookup.Scope.minimalErasedCandidates (TypeBinding[],Map) |
| addPaths(Dependency[],Map,FastCopyHashSet,FastCopyHashSet ,FastCopyHashSet,Set) | 54 | org.jboss.modules.Module.addPaths(Dependency[],Map,FastCopyHashSet ,FastCopyHashSet,FastCopyHashSet,Set) |
| finalizeProblems() | 53 | org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration .finalizeProblems() |
| setupServletChains() | 51 | io.undertow.servlet.handlers.ServletPathMatches.setupServletChains() |
| JAXBContextImpl(JAXBContextImpl$JAXBContextBuilder) | 47 | com.sun.xml.bind.v2.runtime.JAXBContextImpl.JAXBContextImpl (JAXBContextImpl$JAXBContextBuilder) |
| methods() | 47 | org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods() |
| addInfoFrom(FlowInfo,boolean) | 46 | org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo .addInfoFrom(FlowInfo,boolean) |
| generateStackMapTableAttribute(MethodBinding,int,int,int,boolean) | 45 | org.eclipse.jdt.internal.compiler.ClassFile .generateStackMapTableAttribute(MethodBinding,int,int,int,boolean) |
| transfer(ConcurrentHashMapV8$Node[],ConcurrentHashMapV8$Node[]) | 44 | io.netty.util.internal.chmv8.ConcurrentHashMapV8.transfer (ConcurrentHashMapV8$Node[],ConcurrentHashMapV8$Node[]) |
| getStaticFactory(ReferenceBinding,ReferenceBinding,TypeBinding[] ,InvocationSite) | 44 | org.eclipse.jdt.internal.compiler.lookup.Scope.getStaticFactory (ReferenceBinding,ReferenceBinding,TypeBinding[],InvocationSite) |
| resolve() | 43 | org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve() |
| getTypeOrPackage(char[],int,boolean) | 42 | org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(char[] ,int,boolean) |
| getDocument() | 41 | com.sun.faces.config.ConfigManager$ParseTask.getDocument() |
| generateLocalVariableTableAttribute(int,boolean,boolean) | 41 | org.eclipse.jdt.internal.compiler.ClassFile .generateLocalVariableTableAttribute(int,boolean,boolean) |
| mostSpecificMethodBinding(MethodBinding[],int,TypeBinding[] ,InvocationSite,ReferenceBinding) | 41 | org.eclipse.jdt.internal.compiler.lookup.Scope .mostSpecificMethodBinding(MethodBinding[],int,TypeBinding[] ,InvocationSite,ReferenceBinding) |
| main(String[]) | 40 | org.jboss.modules.Main.main(String[]) |
| generateRuntimeAnnotationsForParameters(Argument[]) | 40 | org.eclipse.jdt.internal.compiler.ClassFile .generateRuntimeAnnotationsForParameters(Argument[]) |
| NativeLibraryResourceLoader() | 39 | org.jboss.modules.NativeLibraryResourceLoader .NativeLibraryResourceLoader() |
| addPotentialNullInfoFrom(UnconditionalFlowInfo) | 39 | org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo .addPotentialNullInfoFrom(UnconditionalFlowInfo) |
| decodeType(char[],int,int,int,boolean) | 39 | org.eclipse.jdt.internal.compiler.parser.TypeConverter.decodeType (char[],int,int,int,boolean) |
| buildTargetNodeMap(Element,Node,SCDBasedBindingSet$Target,Map ,SCDBasedBindingSet) | 38 | com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap (Element,Node,SCDBasedBindingSet$Target,Map,SCDBasedBindingSet) |
| signature(ClassFile) | 37 | org.eclipse.jdt.internal.compiler.lookup.MethodBinding.signature (ClassFile) |
| createProblem(Diagnostic$Kind,CharSequence,Element,AnnotationMirror ,AnnotationValue) | 37 | org.eclipse.jdt.internal.compiler.apt.dispatch.BaseMessagerImpl .createProblem(Diagnostic$Kind,CharSequence,Element,AnnotationMirror ,AnnotationValue) |
| createTypedArray(String,Object,Method,String[],Class,Class) | 37 | org.apache.jasper.runtime.JspRuntimeLibrary.createTypedArray(String ,Object,Method,String[],Class,Class) |
| checkMethods() | 36 | org.eclipse.jdt.internal.compiler.lookup.MethodVerifier15.checkMethods () |
| convertEliminatingTypeVariables(TypeBinding,ReferenceBinding,int,Set) | 36 | org.eclipse.jdt.internal.compiler.lookup.Scope .convertEliminatingTypeVariables(TypeBinding,ReferenceBinding,int,Set) |
| getNextToken() | 36 | org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken() |
| findModule(ModuleIdentifier,ModuleLoader) | 35 | org.jboss.modules.JarModuleFinder.findModule(ModuleIdentifier ,ModuleLoader) |
| generateCode(BlockScope,CodeStream) | 35 | org.eclipse.jdt.internal.compiler.ast.TryStatement.generateCode (BlockScope,CodeStream) |
| updatedTypeDeclaration(int,Set) | 35 | org.eclipse.jdt.internal.compiler.parser.RecoveredType .updatedTypeDeclaration(int,Set) |
| initializeTable() | 35 | org.eclipse.jdt.internal.compiler.parser.ScannerHelper.initializeTable () |
| initializeTable17() | 35 | org.eclipse.jdt.internal.compiler.parser.ScannerHelper .initializeTable17() |
| enhanceOrderingData(DocumentOrderingWrapper[]) | 34 | com.sun.faces.config.DocumentOrderingWrapper.enhanceOrderingData (DocumentOrderingWrapper[]) |
| resolveType(BlockScope) | 34 | org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType (BlockScope) |
| internalResolveLeafType(Scope,boolean) | 34 | org.eclipse.jdt.internal.compiler.ast .ParameterizedQualifiedTypeReference.internalResolveLeafType(Scope ,boolean) |
| analyseCode(BlockScope,FlowContext,FlowInfo) | 34 | org.eclipse.jdt.internal.compiler.ast.TryStatement.analyseCode (BlockScope,FlowContext,FlowInfo) |
| convertHexFloatingPointLiteralToBits(char[]) | 34 | org.eclipse.jdt.internal.compiler.util.FloatUtil .convertHexFloatingPointLiteralToBits(char[]) |
| run(Outline,Options,ErrorHandler) | 33 | com.sun.tools.xjc.addon.episode.PluginImpl.run(Outline,Options ,ErrorHandler) |
| decode(ChannelHandlerContext,SpdyFrame,List) | 33 | io.netty.handler.codec.spdy.SpdyHttpDecoder.decode (ChannelHandlerContext,SpdyFrame,List) |
| getBinding(char[],int,InvocationSite,boolean) | 33 | org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding(char[],int ,InvocationSite,boolean) |
| generateCode(ClassScope,ClassFile,int) | 33 | org.eclipse.jdt.internal.compiler.ast.Clinit.generateCode(ClassScope ,ClassFile,int) |
| resolveTypeForQualifiedAllocationExpression(BlockScope) | 33 | org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression .resolveTypeForQualifiedAllocationExpression(BlockScope) |
| addProperty(PropertySeed,Annotation[],boolean) | 32 | com.sun.xml.bind.v2.model.impl.ClassInfoImpl.addProperty(PropertySeed ,Annotation[],boolean) |
| getImplicitMethod(char[],TypeBinding[],InvocationSite) | 32 | org.eclipse.jdt.internal.compiler.lookup.Scope.getImplicitMethod (char[],TypeBinding[],InvocationSite) |
| resolveTypeExpecting(BlockScope,TypeBinding) | 32 | org.eclipse.jdt.internal.compiler.ast.MemberValuePair .resolveTypeExpecting(BlockScope,TypeBinding) |
| createFactory(ClassIntrospecter,List,List) | 32 | io.undertow.websockets.jsr.EncodingFactory.createFactory (ClassIntrospecter,List,List) |
| text(String) | 31 | com.sun.xml.xsom.impl.parser.state.particle.text(String) |
| run(String[],XJCListener) | 31 | com.sun.tools.xjc.Driver.run(String[],XJCListener) |
| resolveTypesFor(MethodBinding) | 31 | org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding .resolveTypesFor(MethodBinding) |
| resolveAnnotations(BlockScope,Annotation[],Binding) | 31 | org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations (BlockScope,Annotation[],Binding) |
| decodeType(String,int,int,int) | 31 | org.eclipse.jdt.internal.compiler.parser.TypeConverter.decodeType (String,int,int,int) |
| calcTypes(boolean) | 30 | com.sun.xml.bind.v2.model.impl.ReferencePropertyInfoImpl.calcTypes (boolean) |
| bind() | 30 | com.sun.tools.xjc.reader.dtd.Element.bind() |
| encode(ChannelHandlerContext,SpdyFrame,ByteBuf) | 30 | io.netty.handler.codec.spdy.SpdyFrameEncoder.encode (ChannelHandlerContext,SpdyFrame,ByteBuf) |
| createMethod(IBinaryMethod,long,char[][][]) | 30 | org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding .createMethod(IBinaryMethod,long,char[][][]) |
| generateReadSequence(BlockScope,CodeStream) | 30 | org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference .generateReadSequence(BlockScope,CodeStream) |
| EmbeddedServletOptions(ServletConfig,ServletContext) | 30 | org.apache.jasper.EmbeddedServletOptions.EmbeddedServletOptions (ServletConfig,ServletContext) |
| getCommonBaseType(JCodeModel,JType[]) | 29 | com.sun.tools.xjc.reader.TypeUtil.getCommonBaseType(JCodeModel,JType[] ) |
| post(SOAPMessage,URL) | 29 | com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post (SOAPMessage,URL) |
| findMultipartDisposition() | 29 | io.netty.handler.codec.http.multipart.HttpPostRequestDecoder .findMultipartDisposition() |
| processWrite(int,ByteBuffer) | 29 | io.undertow.client.http.HttpRequestConduit.processWrite(int,ByteBuffer ) |
| computeInheritedMethods(ReferenceBinding,ReferenceBinding[]) | 29 | org.eclipse.jdt.internal.compiler.lookup.MethodVerifier .computeInheritedMethods(ReferenceBinding,ReferenceBinding[]) |
| resolveType(BlockScope) | 29 | org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType (BlockScope) |
| checkExceptionHandlers(TypeBinding[],ASTNode,FlowInfo,BlockScope) | 29 | org.eclipse.jdt.internal.compiler.flow.FlowContext .checkExceptionHandlers(TypeBinding[],ASTNode,FlowInfo,BlockScope) |
| diagnoseParse(boolean) | 29 | org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser .diagnoseParse(boolean) |
| createEncoding(EndpointConfig) | 29 | io.undertow.websockets.jsr.EncodingFactory.createEncoding (EndpointConfig) |
| initialize(ServletContext) | 28 | com.sun.faces.config.ConfigManager.initialize(ServletContext) |
| discoverResourceLibraryContracts() | 28 | com.sun.faces.config.WebConfiguration.discoverResourceLibraryContracts () |
| processNavigationRules(XPath,Node,FlowBuilder) | 28 | com.sun.faces.config.processor.FacesFlowDefinitionConfigProcessor .processNavigationRules(XPath,Node,FlowBuilder) |
| decode(String) | 28 | io.netty.handler.codec.http.CookieDecoder.decode(String) |
| generateStackMapAttribute(MethodBinding,int,int,int,boolean) | 28 | org.eclipse.jdt.internal.compiler.ClassFile.generateStackMapAttribute (MethodBinding,int,int,int,boolean) |
| checkForRedundantSuperinterfaces(ReferenceBinding,ReferenceBinding[]) | 28 | org.eclipse.jdt.internal.compiler.lookup.MethodVerifier .checkForRedundantSuperinterfaces(ReferenceBinding,ReferenceBinding[]) |
| findJspProperty(String) | 28 | org.apache.jasper.compiler.JspConfig.findJspProperty(String) |
| doTag(TagPluginContext) | 28 | org.apache.jasper.tagplugins.jstl.core.Import.doTag(TagPluginContext) |
| findImplicitMatch(FacesContext,String,String,String,String) | 27 | com.sun.faces.application.NavigationHandlerImpl.findImplicitMatch (FacesContext,String,String,String,String) |
| channelRead(ChannelHandlerContext,Object) | 27 | io.netty.handler.codec.spdy.SpdySessionHandler.channelRead (ChannelHandlerContext,Object) |
| isRoot0() | 27 | io.netty.util.internal.PlatformDependent.isRoot0() |
| processWrite() | 27 | io.undertow.client.ajp.AjpClientRequestConduit.processWrite() |
| completeCodeAttributeForSyntheticMethod(boolean,SyntheticMethodBinding ,int,int[]) | 27 | org.eclipse.jdt.internal.compiler.ClassFile .completeCodeAttributeForSyntheticMethod(boolean ,SyntheticMethodBinding,int,int[]) |
| isTypeArgumentContainedBy(TypeBinding) | 27 | org.eclipse.jdt.internal.compiler.lookup.TypeBinding .isTypeArgumentContainedBy(TypeBinding) |
| resolve(BlockScope) | 27 | org.eclipse.jdt.internal.compiler.ast.ExplicitConstructorCall.resolve (BlockScope) |
| resolveThrowsTags(MethodScope,boolean) | 27 | org.eclipse.jdt.internal.compiler.ast.Javadoc.resolveThrowsTags (MethodScope,boolean) |
| invokeJavaLangReflectFieldGetter(int) | 27 | org.eclipse.jdt.internal.compiler.codegen.CodeStream .invokeJavaLangReflectFieldGetter(int) |
| invokeJavaLangReflectFieldSetter(int) | 27 | org.eclipse.jdt.internal.compiler.codegen.CodeStream .invokeJavaLangReflectFieldSetter(int) |
| checkXmlAttributes(Node$CustomTag,Node$JspAttribute[],Hashtable) | 27 | org.apache.jasper.compiler.Validator$ValidateVisitor .checkXmlAttributes(Node$CustomTag,Node$JspAttribute[],Hashtable) |
| _createComponent(FacesContext,String,String,Map) | 26 | com.sun.faces.facelets.impl.DefaultFaceletFactory._createComponent (FacesContext,String,String,Map) |
| findServices(Class,ClassLoader)<T> | 26 | com.sun.tools.xjc.Options.findServices(Class,ClassLoader)<T> |
| checkForNameClash(MethodBinding,MethodBinding) | 26 | org.eclipse.jdt.internal.compiler.lookup.MethodVerifier15 .checkForNameClash(MethodBinding,MethodBinding) |
| findField(TypeBinding,char[],InvocationSite,boolean,boolean) | 26 | org.eclipse.jdt.internal.compiler.lookup.Scope.findField(TypeBinding ,char[],InvocationSite,boolean,boolean) |
| collectSubstitutes(Scope,TypeBinding,InferenceContext,int) | 26 | org.eclipse.jdt.internal.compiler.lookup.WildcardBinding .collectSubstitutes(Scope,TypeBinding,InferenceContext,int) |
| analyseCode(BlockScope,FlowContext,FlowInfo) | 26 | org.eclipse.jdt.internal.compiler.ast.ForStatement.analyseCode (BlockScope,FlowContext,FlowInfo) |
| resolveTypeParameterTags(Scope,boolean) | 26 | org.eclipse.jdt.internal.compiler.ast.Javadoc.resolveTypeParameterTags (Scope,boolean) |
| checkTaskTag(int,int) | 26 | org.eclipse.jdt.internal.compiler.parser.Scanner.checkTaskTag(int,int) |
| write(byte[],int,int) | 26 | io.undertow.servlet.spec.ServletOutputStreamImpl.write(byte[],int,int) |
| processMethodCalls(FacesContext,XPath,Node,FlowBuilder) | 25 | com.sun.faces.config.processor.FacesFlowDefinitionConfigProcessor .processMethodCalls(FacesContext,XPath,Node,FlowBuilder) |
Statistics
| Stat | # Variables |
|---|---|
| Sum: | 8 728 |
| Average: | 23.59 |
| Minimum: | 16 |
| Maximum: | 127 |
| Standard deviation: | 10.62 |
| Variance: | 112.84 |
| Rule warning: Methods with too many overloads |
warnif count > 0 from m in JustMyCode.Methods where
m.NbOverloads > 6
orderby m.NbOverloads descending
select new { m, m.NbOverloads }
// Methods where NbOverloads > 6 might
// be a problem to maintain and provoke higher coupling
// than necessary.
// This might also reveal a potential misused of the
// C# and VB.NET language that since C#3 and VB9 support
// object initialization. This feature helps reducing the number
// of constructors of a class.
// See the definition of the NbOverloads metric here
// http://www.jarchitect.com/Metrics#NbOverloads
1,791 methods matched
| methods | # Overloads | Full Name |
|---|---|---|
| endVisit(AllocationExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (AllocationExpression,BlockScope) |
| endVisit(AND_AND_Expression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (AND_AND_Expression,BlockScope) |
| endVisit(AnnotationMethodDeclaration,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (AnnotationMethodDeclaration,ClassScope) |
| endVisit(Argument,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(Argument ,BlockScope) |
| endVisit(Argument,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(Argument ,ClassScope) |
| endVisit(ArrayAllocationExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ArrayAllocationExpression,BlockScope) |
| endVisit(ArrayInitializer,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(ArrayInitializer ,BlockScope) |
| endVisit(ArrayQualifiedTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ArrayQualifiedTypeReference,BlockScope) |
| endVisit(ArrayQualifiedTypeReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ArrayQualifiedTypeReference,ClassScope) |
| endVisit(ArrayReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(ArrayReference ,BlockScope) |
| endVisit(ArrayTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ArrayTypeReference,BlockScope) |
| endVisit(ArrayTypeReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ArrayTypeReference,ClassScope) |
| endVisit(AssertStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(AssertStatement ,BlockScope) |
| endVisit(Assignment,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(Assignment ,BlockScope) |
| endVisit(BinaryExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(BinaryExpression ,BlockScope) |
| endVisit(Block,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(Block,BlockScope ) |
| endVisit(BreakStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(BreakStatement ,BlockScope) |
| endVisit(CaseStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(CaseStatement ,BlockScope) |
| endVisit(CastExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(CastExpression ,BlockScope) |
| endVisit(CharLiteral,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(CharLiteral ,BlockScope) |
| endVisit(ClassLiteralAccess,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ClassLiteralAccess,BlockScope) |
| endVisit(Clinit,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(Clinit ,ClassScope) |
| endVisit(CompilationUnitDeclaration,CompilationUnitScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (CompilationUnitDeclaration,CompilationUnitScope) |
| endVisit(CompoundAssignment,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (CompoundAssignment,BlockScope) |
| endVisit(ConditionalExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ConditionalExpression,BlockScope) |
| endVisit(ConstructorDeclaration,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ConstructorDeclaration,ClassScope) |
| endVisit(ContinueStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ContinueStatement,BlockScope) |
| endVisit(DoStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(DoStatement ,BlockScope) |
| endVisit(DoubleLiteral,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(DoubleLiteral ,BlockScope) |
| endVisit(EmptyStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(EmptyStatement ,BlockScope) |
| endVisit(EqualExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(EqualExpression ,BlockScope) |
| endVisit(ExplicitConstructorCall,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ExplicitConstructorCall,BlockScope) |
| endVisit(ExtendedStringLiteral,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ExtendedStringLiteral,BlockScope) |
| endVisit(FalseLiteral,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(FalseLiteral ,BlockScope) |
| endVisit(FieldDeclaration,MethodScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(FieldDeclaration ,MethodScope) |
| endVisit(FieldReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(FieldReference ,BlockScope) |
| endVisit(FieldReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(FieldReference ,ClassScope) |
| endVisit(FloatLiteral,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(FloatLiteral ,BlockScope) |
| endVisit(ForeachStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(ForeachStatement ,BlockScope) |
| endVisit(ForStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(ForStatement ,BlockScope) |
| endVisit(IfStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(IfStatement ,BlockScope) |
| endVisit(ImportReference,CompilationUnitScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(ImportReference ,CompilationUnitScope) |
| endVisit(Initializer,MethodScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(Initializer ,MethodScope) |
| endVisit(InstanceOfExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (InstanceOfExpression,BlockScope) |
| endVisit(IntLiteral,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(IntLiteral ,BlockScope) |
| endVisit(Javadoc,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(Javadoc ,BlockScope) |
| endVisit(Javadoc,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(Javadoc ,ClassScope) |
| endVisit(JavadocAllocationExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocAllocationExpression,BlockScope) |
| endVisit(JavadocAllocationExpression,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocAllocationExpression,ClassScope) |
| endVisit(JavadocArgumentExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocArgumentExpression,BlockScope) |
| endVisit(JavadocArgumentExpression,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocArgumentExpression,ClassScope) |
| endVisit(JavadocArrayQualifiedTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocArrayQualifiedTypeReference,BlockScope) |
| endVisit(JavadocArrayQualifiedTypeReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocArrayQualifiedTypeReference,ClassScope) |
| endVisit(JavadocArraySingleTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocArraySingleTypeReference,BlockScope) |
| endVisit(JavadocArraySingleTypeReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocArraySingleTypeReference,ClassScope) |
| endVisit(JavadocFieldReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocFieldReference,BlockScope) |
| endVisit(JavadocFieldReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocFieldReference,ClassScope) |
| endVisit(JavadocImplicitTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocImplicitTypeReference,BlockScope) |
| endVisit(JavadocImplicitTypeReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocImplicitTypeReference,ClassScope) |
| endVisit(JavadocMessageSend,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocMessageSend,BlockScope) |
| endVisit(JavadocMessageSend,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocMessageSend,ClassScope) |
| endVisit(JavadocQualifiedTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocQualifiedTypeReference,BlockScope) |
| endVisit(JavadocQualifiedTypeReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocQualifiedTypeReference,ClassScope) |
| endVisit(JavadocReturnStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocReturnStatement,BlockScope) |
| endVisit(JavadocReturnStatement,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocReturnStatement,ClassScope) |
| endVisit(JavadocSingleNameReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocSingleNameReference,BlockScope) |
| endVisit(JavadocSingleNameReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocSingleNameReference,ClassScope) |
| endVisit(JavadocSingleTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocSingleTypeReference,BlockScope) |
| endVisit(JavadocSingleTypeReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (JavadocSingleTypeReference,ClassScope) |
| endVisit(LabeledStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(LabeledStatement ,BlockScope) |
| endVisit(LocalDeclaration,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(LocalDeclaration ,BlockScope) |
| endVisit(LongLiteral,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(LongLiteral ,BlockScope) |
| endVisit(MarkerAnnotation,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(MarkerAnnotation ,BlockScope) |
| endVisit(MemberValuePair,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(MemberValuePair ,BlockScope) |
| endVisit(MessageSend,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(MessageSend ,BlockScope) |
| endVisit(MethodDeclaration,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (MethodDeclaration,ClassScope) |
| endVisit(StringLiteralConcatenation,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (StringLiteralConcatenation,BlockScope) |
| endVisit(NormalAnnotation,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(NormalAnnotation ,BlockScope) |
| endVisit(NullLiteral,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(NullLiteral ,BlockScope) |
| endVisit(OR_OR_Expression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(OR_OR_Expression ,BlockScope) |
| endVisit(ParameterizedQualifiedTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ParameterizedQualifiedTypeReference,BlockScope) |
| endVisit(ParameterizedQualifiedTypeReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ParameterizedQualifiedTypeReference,ClassScope) |
| endVisit(ParameterizedSingleTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ParameterizedSingleTypeReference,BlockScope) |
| endVisit(ParameterizedSingleTypeReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (ParameterizedSingleTypeReference,ClassScope) |
| endVisit(PostfixExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (PostfixExpression,BlockScope) |
| endVisit(PrefixExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(PrefixExpression ,BlockScope) |
| endVisit(QualifiedAllocationExpression,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (QualifiedAllocationExpression,BlockScope) |
| endVisit(QualifiedNameReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (QualifiedNameReference,BlockScope) |
| endVisit(QualifiedNameReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (QualifiedNameReference,ClassScope) |
| endVisit(QualifiedSuperReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (QualifiedSuperReference,BlockScope) |
| endVisit(QualifiedSuperReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (QualifiedSuperReference,ClassScope) |
| endVisit(QualifiedThisReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (QualifiedThisReference,BlockScope) |
| endVisit(QualifiedThisReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (QualifiedThisReference,ClassScope) |
| endVisit(QualifiedTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (QualifiedTypeReference,BlockScope) |
| endVisit(QualifiedTypeReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (QualifiedTypeReference,ClassScope) |
| endVisit(ReturnStatement,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit(ReturnStatement ,BlockScope) |
| endVisit(SingleMemberAnnotation,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (SingleMemberAnnotation,BlockScope) |
| endVisit(SingleNameReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (SingleNameReference,BlockScope) |
| endVisit(SingleNameReference,ClassScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (SingleNameReference,ClassScope) |
| endVisit(SingleTypeReference,BlockScope) | 121 | org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit (SingleTypeReference,BlockScope) |
Statistics
| Stat | # Overloads |
|---|---|
| Sum: | 47 331 |
| Average: | 26.43 |
| Minimum: | 7 |
| Maximum: | 121 |
| Standard deviation: | 37.79 |
| Variance: | 1 428 |
| Rule warning: Types with too many methods |
warnif count > 0 from t in JustMyCode.Types where
t.Methods.Count() > 20
orderby t.Methods.Count() descending
select new { t, t.InstanceMethods, t.StaticMethods }
// Types where Methods.Count() > 20 might be hard to
// understand and maintain
// but there might be cases where it is relevant
// to have a high number of methods.
// For example, the System.Windows.Forms.DataGridView
// standard class has more than 1000 methods.
800 types matched
| types | InstanceMethods | StaticMethods | Full Name |
|---|---|---|---|
| JasperMessages_$bundle | 499 methods | 0 method | org.apache.jasper.JasperMessages_$bundle |
| ProblemReporter | 490 methods | 3 methods | org.eclipse.jdt.internal.compiler.problem.ProblemReporter |
| Parser | 405 methods | 27 methods | org.eclipse.jdt.internal.compiler.parser.Parser |
| CodeStream | 323 methods | 5 methods | org.eclipse.jdt.internal.compiler.codegen.CodeStream |
| JasperMessages | 249 methods | 0 method | org.apache.jasper.JasperMessages |
| ASTVisitor | 243 methods | 0 method | org.eclipse.jdt.internal.compiler.ASTVisitor |
| SimpleResultSet | 219 methods | 3 methods | org.h2.tools.SimpleResultSet |
| JdbcResultSet | 205 methods | 1 method | org.h2.jdbc.JdbcResultSet |
| JdbcDatabaseMetaData | 178 methods | 3 methods | org.h2.jdbc.JdbcDatabaseMetaData |
| ObjectMapper | 173 methods | 2 methods | com.fasterxml.jackson.databind.ObjectMapper |
| Database | 164 methods | 2 methods | org.h2.engine.Database |
| UndertowMessages_$bundle | 161 methods | 0 method | io.undertow.UndertowMessages_$bundle |
| Parser | 150 methods | 6 methods | org.h2.command.Parser |
| ReplayingDecoderBuffer | 150 methods | 1 method | io.netty.handler.codec.ReplayingDecoderBuffer |
| EmptyByteBuf | 149 methods | 0 method | io.netty.buffer.EmptyByteBuf |
| DeploymentInfo | 149 methods | 0 method | io.undertow.servlet.api.DeploymentInfo |
| ByteBuf | 146 methods | 0 method | io.netty.buffer.ByteBuf |
| SwappedByteBuf | 146 methods | 0 method | io.netty.buffer.SwappedByteBuf |
| WrappedByteBuf | 146 methods | 0 method | io.netty.buffer.WrappedByteBuf |
| AbstractByteBuf | 137 methods | 0 method | io.netty.buffer.AbstractByteBuf |
| CompositeByteBuf | 124 methods | 0 method | io.netty.buffer.CompositeByteBuf |
| JdbcCallableStatement | 118 methods | 0 method | org.h2.jdbc.JdbcCallableStatement |
| Encoder | 108 methods | 10 methods | com.sun.xml.fastinfoset.Encoder |
| AdvancedLeakAwareByteBuf | 112 methods | 0 method | io.netty.buffer.AdvancedLeakAwareByteBuf |
| Session | 110 methods | 0 method | org.h2.engine.Session |
| UndertowServletMessages_$bundle | 105 methods | 0 method | io.undertow.servlet.UndertowServletMessages_$bundle |
| SOAPPartImpl | 104 methods | 0 method | com.sun.xml.messaging.saaj.soap.SOAPPartImpl |
| HttpServerExchange | 99 methods | 5 methods | io.undertow.server.HttpServerExchange |
| StAXDocumentParser | 97 methods | 4 methods | com.sun.xml.fastinfoset.stax.StAXDocumentParser |
| ApNavigator | 100 methods | 1 method | com.sun.tools.jxc.model.nav.ApNavigator |
| NavigatorImpl | 97 methods | 4 methods | com.sun.tools.xjc.model.nav.NavigatorImpl |
| ReflectionNavigator | 98 methods | 1 method | com.sun.xml.bind.v2.model.nav.ReflectionNavigator |
| Scope | 87 methods | 9 methods | org.eclipse.jdt.internal.compiler.lookup.Scope |
| Maps | 0 method | 95 methods | com.google.common.collect.Maps |
| ElementImpl | 84 methods | 9 methods | com.sun.xml.messaging.saaj.soap.impl.ElementImpl |
| ObjectReader | 91 methods | 1 method | com.fasterxml.jackson.databind.ObjectReader |
| PageStore | 91 methods | 1 method | org.h2.store.PageStore |
| ReferenceBinding | 85 methods | 5 methods | org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding |
| JsonGenerator | 87 methods | 0 method | com.fasterxml.jackson.core.JsonGenerator |
| HttpHeaders | 25 methods | 62 methods | io.netty.handler.codec.http.HttpHeaders |
| ConcurrentHashMapV8<K,V> | 75 methods | 12 methods | io.netty.util.internal.chmv8.ConcurrentHashMapV8 |
| ClassFile | 85 methods | 2 methods | org.eclipse.jdt.internal.compiler.ClassFile |
| DefaultChannelHandlerContext | 64 methods | 22 methods | io.netty.channel.DefaultChannelHandlerContext |
| JdbcConnection | 74 methods | 11 methods | org.h2.jdbc.JdbcConnection |
| Table | 83 methods | 2 methods | org.h2.table.Table |
| ApplicationImpl | 84 methods | 1 method | com.sun.faces.application.ApplicationImpl |
| WebSocketMessages_$bundle | 85 methods | 0 method | io.undertow.websockets.core.WebSocketMessages_$bundle |
| HttpServletRequestImpl | 85 methods | 0 method | io.undertow.servlet.spec.HttpServletRequestImpl |
| PageInfo | 85 methods | 0 method | org.apache.jasper.compiler.PageInfo |
| DefaultChannelPipeline | 79 methods | 5 methods | io.netty.channel.DefaultChannelPipeline |
| Decoder | 82 methods | 1 method | com.sun.xml.fastinfoset.Decoder |
| UTF8StreamJsonParser | 80 methods | 1 method | com.fasterxml.jackson.core.json.UTF8StreamJsonParser |
| UndertowMessages | 80 methods | 0 method | io.undertow.UndertowMessages |
| JsonParser | 79 methods | 0 method | com.fasterxml.jackson.core.JsonParser |
| JsonParserDelegate | 77 methods | 0 method | com.fasterxml.jackson.core.util.JsonParserDelegate |
| ExternalContextImpl | 77 methods | 0 method | com.sun.faces.context.ExternalContextImpl |
| MXParser | 72 methods | 4 methods | org.jboss.modules.xml.MXParser |
| JsonNode | 75 methods | 0 method | com.fasterxml.jackson.databind.JsonNode |
| MVStore | 74 methods | 1 method | org.h2.mvstore.MVStore |
| UIRepeat | 71 methods | 3 methods | com.sun.faces.facelets.component.UIRepeat |
| JdbcPreparedStatement | 73 methods | 0 method | org.h2.jdbc.JdbcPreparedStatement |
| SOAPDocumentImpl | 72 methods | 0 method | com.sun.xml.messaging.saaj.soap.SOAPDocumentImpl |
| MVMap<K,V> | 71 methods | 0 method | org.h2.mvstore.MVMap |
| ForkJoinPool | 56 methods | 14 methods | io.netty.util.internal.chmv8.ForkJoinPool |
| CharOperation | 0 method | 70 methods | org.eclipse.jdt.core.compiler.CharOperation |
| JasperLogger_$logger | 70 methods | 0 method | org.apache.jasper.JasperLogger_$logger |
| JsonFactory | 69 methods | 0 method | com.fasterxml.jackson.core.JsonFactory |
| UTF8JsonGenerator | 69 methods | 0 method | com.fasterxml.jackson.core.json.UTF8JsonGenerator |
| JsonGeneratorDelegate | 68 methods | 0 method | com.fasterxml.jackson.core.util.JsonGeneratorDelegate |
| ApplicationAssociate | 59 methods | 9 methods | com.sun.faces.application.ApplicationAssociate |
| AnnotationIntrospector | 65 methods | 2 methods | com.fasterxml.jackson.databind.AnnotationIntrospector |
| JacksonAnnotationIntrospector | 67 methods | 0 method | com.fasterxml.jackson.databind.introspect .JacksonAnnotationIntrospector |
| TokenBuffer | 67 methods | 0 method | com.fasterxml.jackson.databind.util.TokenBuffer |
| AnnotationIntrospectorPair | 65 methods | 1 method | com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair |
| MessageImpl | 53 methods | 13 methods | com.sun.xml.messaging.saaj.soap.MessageImpl |
| JaxbAnnotationIntrospector | 63 methods | 2 methods | com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector |
| ServletContextImpl | 65 methods | 0 method | io.undertow.servlet.spec.ServletContextImpl |
| Node$CustomTag | 65 methods | 0 method | org.apache.jasper.compiler.Node$CustomTag |
| WriterBasedJsonGenerator | 64 methods | 0 method | com.fasterxml.jackson.core.json.WriterBasedJsonGenerator |
| ArrayNode | 64 methods | 0 method | com.fasterxml.jackson.databind.node.ArrayNode |
| MethodBinding | 64 methods | 0 method | org.eclipse.jdt.internal.compiler.lookup.MethodBinding |
| Module | 42 methods | 21 methods | org.jboss.modules.Module |
| LocalCache<K,V> | 55 methods | 8 methods | com.google.common.cache.LocalCache |
| JDefinedClass | 63 methods | 0 method | com.sun.codemodel.JDefinedClass |
| StAXDocumentSerializer | 63 methods | 0 method | com.sun.xml.fastinfoset.stax.StAXDocumentSerializer |
| AbstractChannel | 55 methods | 8 methods | io.netty.channel.AbstractChannel |
| SourceTypeBinding | 63 methods | 0 method | org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding |
| JsrWebSocketMessages_$bundle | 63 methods | 0 method | io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle |
| Element | 52 methods | 10 methods | nu.xom.Element |
| FastConcurrentDirectDeque<E> | 57 methods | 5 methods | io.undertow.util.FastConcurrentDirectDeque |
| Scanner | 59 methods | 3 methods | org.eclipse.jdt.internal.compiler.parser.Scanner |
| ClassInfoImpl<T,C,F,M> | 51 methods | 10 methods | com.sun.xml.bind.v2.model.impl.ClassInfoImpl |
| JaxenHandler | 61 methods | 0 method | nu.xom.jaxen.JaxenHandler |
| TypeBinding | 60 methods | 1 method | org.eclipse.jdt.internal.compiler.lookup.TypeBinding |
| Value | 51 methods | 9 methods | org.h2.value.Value |
| UnmarshallingContext | 54 methods | 6 methods | com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext |
| ForkJoinTask<V> | 39 methods | 21 methods | io.netty.util.internal.chmv8.ForkJoinTask |
| ObjectNode | 59 methods | 0 method | com.fasterxml.jackson.databind.node.ObjectNode |
| LocalCache$Segment<K,V> | 59 methods | 0 method | com.google.common.cache.LocalCache$Segment |
| Function | 27 methods | 32 methods | org.h2.expression.Function |
Statistics
| Stat | InstanceMethods | StaticMethods |
|---|---|---|
| Sum: | 0 | 0 |
| Average: | 0 | 0 |
| Minimum: | 0 | 0 |
| Maximum: | 0 | 0 |
| Standard deviation: | 0 | 0 |
| Variance: | 0 | 0 |
| Rule warning: Types with too many fields |
warnif count > 0 from t in JustMyCode.Types where
t.Fields.Count() > 20 &&
!t.IsEnumeration
orderby t.Fields.Count() descending
select new { t, t.InstanceFields, t.StaticFields, t.SizeOfInst }
// Types where Fields.Count() > 20 and not IsEnumeration
// might be hard to understand and maintain
// but there might be cases where it is relevant
// to have a high number of fields.
// For example, the System.Windows.Forms.Control
// standard class has more than 200 fields.
197 types matched
| types | InstanceFields | StaticFields | Size of instance | Full Name |
|---|---|---|---|---|
| HttpRequestParser$$generated | 0 field | 746 fields | 20 | io.undertow.server.protocol.http.HttpRequestParser$$generated |
| IProblem | 0 field | 643 fields | N/A | org.eclipse.jdt.core.compiler.IProblem |
| HttpResponseParser$$generated | 0 field | 500 fields | 0 | io.undertow.client.http.HttpResponseParser$$generated |
| CompilerOptions | 62 fields | 230 fields | 248 | org.eclipse.jdt.internal.compiler.impl.CompilerOptions |
| JasperMessages_$bundle | 0 field | 251 fields | 0 | org.apache.jasper.JasperMessages_$bundle |
| ConstantPool | 14 fields | 212 fields | 56 | org.eclipse.jdt.internal.compiler.codegen.ConstantPool |
| Opcodes | 0 field | 205 fields | N/A | org.objectweb.asm.Opcodes |
| Opcodes | 0 field | 201 fields | N/A | org.eclipse.jdt.internal.compiler.codegen.Opcodes |
| TypeConstants | 0 field | 184 fields | N/A | org.eclipse.jdt.internal.compiler.lookup.TypeConstants |
| Headers | 0 field | 175 fields | 0 | io.undertow.util.Headers |
| Function | 8 fields | 157 fields | 36 | org.h2.expression.Function |
| ErrorCode | 0 field | 163 fields | 0 | org.h2.constant.ErrorCode |
| TypeIds | 0 field | 155 fields | N/A | org.eclipse.jdt.internal.compiler.lookup.TypeIds |
| ASTNode | 3 fields | 142 fields | 12 | org.eclipse.jdt.internal.compiler.ast.ASTNode |
| EncodingConstants | 0 field | 144 fields | 0 | com.sun.xml.fastinfoset.EncodingConstants |
| MessageUtils | 0 field | 142 fields | 0 | com.sun.faces.util.MessageUtils |
| Parser | 83 fields | 49 fields | 332 | org.eclipse.jdt.internal.compiler.parser.Parser |
| TerminalTokens | 0 field | 114 fields | N/A | org.eclipse.jdt.internal.compiler.parser.TerminalTokens |
| Scanner | 48 fields | 64 fields | 192 | org.eclipse.jdt.internal.compiler.parser.Scanner |
| MediaType | 3 fields | 86 fields | 12 | com.google.common.net.MediaType |
| Database | 87 fields | 2 fields | 348 | org.h2.engine.Database |
| Constants | 0 field | 86 fields | 0 | org.h2.engine.Constants |
| CommandInterface | 0 field | 85 fields | N/A | org.h2.command.CommandInterface |
| ClassFileConstants | 0 field | 85 fields | N/A | org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants |
| MXParser | 65 fields | 19 fields | 256 | org.jboss.modules.xml.MXParser |
| JavadocTagConstants | 0 field | 84 fields | N/A | org.eclipse.jdt.internal.compiler.parser.JavadocTagConstants |
| UndertowMessages_$bundle | 0 field | 82 fields | 0 | io.undertow.UndertowMessages_$bundle |
| StatusCodes | 0 field | 82 fields | 0 | io.undertow.util.StatusCodes |
| HttpHeaders | 0 field | 80 fields | 0 | com.google.common.net.HttpHeaders |
| ForkJoinPool | 29 fields | 51 fields | 116 | io.netty.util.internal.chmv8.ForkJoinPool |
| DecoderStateTables | 0 field | 79 fields | 0 | com.sun.xml.fastinfoset.DecoderStateTables |
| TagBits | 0 field | 75 fields | N/A | org.eclipse.jdt.internal.compiler.lookup.TagBits |
| HttpHeaders$Names | 0 field | 73 fields | 0 | io.netty.handler.codec.http.HttpHeaders$Names |
| Main$Logger | 6 fields | 63 fields | 24 | org.eclipse.jdt.internal.compiler.batch.Main$Logger |
| UnicodeUtil | 0 field | 62 fields | 0 | nu.xom.UnicodeUtil |
| AbstractCommentParser | 47 fields | 15 fields | 184 | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser |
| DeploymentInfo | 60 fields | 0 field | 240 | io.undertow.servlet.api.DeploymentInfo |
| PageStore | 44 fields | 15 fields | 176 | org.h2.store.PageStore |
| HttpResponseStatus | 3 fields | 54 fields | 12 | io.netty.handler.codec.http.HttpResponseStatus |
| TagConstants | 0 field | 57 fields | N/A | org.apache.jasper.compiler.TagConstants |
| Methods | 0 field | 56 fields | 0 | io.undertow.util.Methods |
| Parser | 22 fields | 33 fields | 88 | org.h2.command.Parser |
| SCDParserTokenManager | 11 fields | 44 fields | 44 | com.sun.xml.xsom.impl.scd.SCDParserTokenManager |
| UndertowServletMessages_$bundle | 0 field | 54 fields | 0 | io.undertow.servlet.UndertowServletMessages_$bundle |
| ParserBase | 27 fields | 25 fields | 120 | com.fasterxml.jackson.core.base.ParserBase |
| Main | 45 fields | 7 fields | 180 | org.eclipse.jdt.internal.compiler.batch.Main |
| Session | 48 fields | 3 fields | 204 | org.h2.engine.Session |
| SysProperties | 0 field | 50 fields | 0 | org.h2.constant.SysProperties |
| JavadocParser | 49 fields | 0 field | 212 | org.eclipse.jdt.internal.compiler.parser.JavadocParser |
| Messages | 0 field | 48 fields | 0 | com.sun.tools.xjc.Messages |
| HttpServerExchange | 34 fields | 14 fields | 140 | io.undertow.server.HttpServerExchange |
| LookupEnvironment | 42 fields | 6 fields | 128 | org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment |
| PageInfo | 47 fields | 0 field | 188 | org.apache.jasper.compiler.PageInfo |
| Decoder | 35 fields | 11 fields | 140 | com.sun.xml.fastinfoset.Decoder |
| MethodWriter | 45 fields | 0 field | 180 | org.objectweb.asm.MethodWriter |
| ObjectDataType | 1 field | 44 fields | 4 | org.h2.mvstore.type.ObjectDataType |
| DiagnoseParser | 28 fields | 17 fields | 112 | org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser |
| SessionRemote | 21 fields | 23 fields | 96 | org.h2.engine.SessionRemote |
| HtmlResponseWriter | 30 fields | 14 fields | 120 | com.sun.faces.renderkit.html_basic.HtmlResponseWriter |
| RtspHeaders$Names | 0 field | 44 fields | 0 | io.netty.handler.codec.rtsp.RtspHeaders$Names |
| RtspResponseStatuses | 0 field | 44 fields | 0 | io.netty.handler.codec.rtsp.RtspResponseStatuses |
| WebSocketMessages_$bundle | 0 field | 44 fields | 0 | io.undertow.websockets.core.WebSocketMessages_$bundle |
| MVStore | 39 fields | 4 fields | 156 | org.h2.mvstore.MVStore |
| ForkJoinPool$WorkQueue | 36 fields | 7 fields | 144 | io.netty.util.internal.chmv8.ForkJoinPool$WorkQueue |
| SelectManyCheckboxTag | 42 fields | 0 field | 168 | com.sun.faces.taglib.html_basic.SelectManyCheckboxTag |
| RtspHeaders$Values | 0 field | 42 fields | 0 | io.netty.handler.codec.rtsp.RtspHeaders$Values |
| CodeStream | 30 fields | 12 fields | 120 | org.eclipse.jdt.internal.compiler.codegen.CodeStream |
| ModuleXmlParser | 0 field | 41 fields | 0 | org.jboss.modules.ModuleXmlParser |
| Ascii | 0 field | 40 fields | 0 | com.google.common.base.Ascii |
| DbSettings | 39 fields | 1 field | 160 | org.h2.constant.DbSettings |
| Messages | 0 field | 40 fields | 0 | com.sun.tools.xjc.reader.xmlschema.Messages |
| Messages | 0 field | 40 fields | 0 | org.eclipse.jdt.internal.compiler.util.Messages |
| SetTypes | 0 field | 39 fields | 0 | org.h2.command.dml.SetTypes |
| InputSecretTag | 39 fields | 0 field | 156 | com.sun.faces.taglib.html_basic.InputSecretTag |
| SelectManyListboxTag | 39 fields | 0 field | 156 | com.sun.faces.taglib.html_basic.SelectManyListboxTag |
| SelectOneRadioTag | 39 fields | 0 field | 156 | com.sun.faces.taglib.html_basic.SelectOneRadioTag |
| Options | 35 fields | 4 fields | 140 | com.sun.tools.xjc.Options |
| ConcurrentHashMapV8<K,V> | 11 fields | 28 fields | 44 | io.netty.util.internal.chmv8.ConcurrentHashMapV8 |
| ApplicationAssociate | 34 fields | 4 fields | 136 | com.sun.faces.application.ApplicationAssociate |
| InputFileTag | 38 fields | 0 field | 152 | com.sun.faces.taglib.html_basic.InputFileTag |
| InputTextTag | 38 fields | 0 field | 152 | com.sun.faces.taglib.html_basic.InputTextTag |
| SelectManyMenuTag | 38 fields | 0 field | 152 | com.sun.faces.taglib.html_basic.SelectManyMenuTag |
| SelectOneListboxTag | 38 fields | 0 field | 152 | com.sun.faces.taglib.html_basic.SelectOneListboxTag |
| TryStatement | 28 fields | 10 fields | 128 | org.eclipse.jdt.internal.compiler.ast.TryStatement |
| ClassWriter | 34 fields | 3 fields | 136 | org.objectweb.asm.ClassWriter |
| SelectOneMenuTag | 37 fields | 0 field | 148 | com.sun.faces.taglib.html_basic.SelectOneMenuTag |
| StAXDocumentParser | 30 fields | 7 fields | 260 | com.sun.xml.fastinfoset.stax.StAXDocumentParser |
| Util | 4 fields | 33 fields | 0 | org.eclipse.jdt.internal.compiler.util.Util |
| JasperLogger_$logger | 0 field | 37 fields | 0 | org.apache.jasper.JasperLogger_$logger |
| RIConstants | 0 field | 36 fields | 0 | com.sun.faces.RIConstants |
| ApplicationImpl | 30 fields | 6 fields | 120 | com.sun.faces.application.ApplicationImpl |
| InputTextareaTag | 36 fields | 0 field | 144 | com.sun.faces.taglib.html_basic.InputTextareaTag |
| DataTableTag | 35 fields | 0 field | 140 | com.sun.faces.taglib.html_basic.DataTableTag |
| MetaTable | 3 fields | 31 fields | 100 | org.h2.table.MetaTable |
| SelectBooleanCheckboxTag | 34 fields | 0 field | 136 | com.sun.faces.taglib.html_basic.SelectBooleanCheckboxTag |
| TokenTypes | 0 field | 34 fields | 0 | nu.xom.jaxen.saxpath.base.TokenTypes |
| ClassFormatException | 4 fields | 30 fields | 16 | org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException |
| XTEA | 32 fields | 1 field | 128 | org.h2.security.XTEA |
| PgServer | 14 fields | 19 fields | 56 | org.h2.server.pg.PgServer |
| PageLog | 19 fields | 14 fields | 76 | org.h2.store.PageLog |
Statistics
| Stat | InstanceFields | StaticFields | Size of instance |
|---|---|---|---|
| Sum: | 0 | 0 | 14 204 |
| Average: | 0 | 0 | 77.62 |
| Minimum: | 0 | 0 | 0 |
| Maximum: | 0 | 0 | 348 |
| Standard deviation: | 0 | 0 | 69.79 |
| Variance: | 0 | 0 | 4 870 |
| Rule warning: Types with poor cohesion |
warnif count > 0 from t in JustMyCode.Types where
(t.LCOM > 0.8 || t.LCOMHS > 0.95) &&
t.NbFields > 10 &&
t.NbMethods >10
orderby t.LCOM descending, t.LCOMHS descending
select new { t, t.LCOM, t.LCOMHS,
t.NbMethods, t.NbFields }
// Types where LCOM > 0.8 and NbFields > 10
// and NbMethods >10 might be problematic.
// However, it is very hard to avoid such
// non-cohesive types. The LCOMHS metric
// is often considered as more efficient to
// detect non-cohesive types.
// See the definition of the LCOM metric here
// http://www.jarchitect.com/Metrics#LCOM
301 types matched
| types | Lack of Cohesion Of Methods (LCOM) | LCOM Henderson-Sellers (LCOMHS) | # Methods | # Fields | Full Name |
|---|---|---|---|---|---|
| Page | 1 | 1.1 | 11 | 12 | org.h2.store.Page |
| DeploymentInfo | 0.98 | 0.98 | 150 | 60 | io.undertow.servlet.api.DeploymentInfo |
| Database | 0.97 | 0.98 | 167 | 89 | org.h2.engine.Database |
| ThreadLocalRandom | 0.97 | 1.05 | 13 | 18 | io.netty.util.internal.ThreadLocalRandom |
| PageInfo | 0.97 | 0.98 | 86 | 47 | org.apache.jasper.compiler.PageInfo |
| LocalCache<K,V> | 0.96 | 0.98 | 65 | 31 | com.google.common.cache.LocalCache |
| Session | 0.96 | 0.97 | 111 | 51 | org.h2.engine.Session |
| HttpServerExchange | 0.96 | 0.97 | 107 | 48 | io.undertow.server.HttpServerExchange |
| ApplicationAssociate | 0.96 | 0.98 | 70 | 38 | com.sun.faces.application.ApplicationAssociate |
| JdbcResultSet | 0.96 | 0.97 | 208 | 13 | org.h2.jdbc.JdbcResultSet |
| ForkJoinPool | 0.96 | 0.97 | 75 | 80 | io.netty.util.internal.chmv8.ForkJoinPool |
| Query | 0.96 | 0.98 | 37 | 11 | org.h2.command.dml.Query |
| Main | 0.96 | 0.97 | 60 | 52 | org.eclipse.jdt.internal.compiler.batch.Main |
| ModuleLoader | 0.96 | 0.99 | 47 | 25 | org.jboss.modules.ModuleLoader |
| ApplicationImpl | 0.96 | 0.97 | 87 | 36 | com.sun.faces.application.ApplicationImpl |
| DefaultChannelHandlerContext | 0.95 | 0.97 | 87 | 15 | io.netty.channel.DefaultChannelHandlerContext |
| JdbcConnection | 0.95 | 0.96 | 89 | 19 | org.h2.jdbc.JdbcConnection |
| LookupEnvironment | 0.95 | 0.97 | 56 | 48 | org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment |
| TypeFactory | 0.95 | 0.97 | 53 | 12 | com.fasterxml.jackson.databind.type.TypeFactory |
| JAXBContextImpl | 0.95 | 0.97 | 55 | 29 | com.sun.xml.bind.v2.runtime.JAXBContextImpl |
| AbstractVariableDeclaration | 0.95 | 1.04 | 12 | 16 | org.eclipse.jdt.internal.compiler.ast.AbstractVariableDeclaration |
| Util | 0.95 | 0.97 | 40 | 37 | org.eclipse.jdt.internal.compiler.util.Util |
| ReferenceBinding | 0.95 | 0.96 | 91 | 12 | org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding |
| Table | 0.95 | 0.96 | 86 | 21 | org.h2.table.Table |
| Model | 0.95 | 0.98 | 39 | 23 | com.sun.tools.xjc.model.Model |
| MapMakerInternalMap<K,V> | 0.95 | 0.97 | 48 | 28 | com.google.common.collect.MapMakerInternalMap |
| JspCompilationContext | 0.95 | 0.96 | 55 | 31 | org.apache.jasper.JspCompilationContext |
| Parser | 0.95 | 0.95 | 434 | 132 | org.eclipse.jdt.internal.compiler.parser.Parser |
| JCodeModel | 0.95 | 0.98 | 26 | 16 | com.sun.codemodel.JCodeModel |
| AbstractChannel | 0.95 | 0.96 | 65 | 18 | io.netty.channel.AbstractChannel |
| Encoder | 0.95 | 0.95 | 121 | 33 | com.sun.xml.fastinfoset.Encoder |
| ClassFileReader | 0.94 | 0.96 | 47 | 25 | org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader |
| FlowInfo | 0.94 | 0.96 | 53 | 13 | org.eclipse.jdt.internal.compiler.flow.FlowInfo |
| Node$CustomTag | 0.94 | 0.96 | 69 | 26 | org.apache.jasper.compiler.Node$CustomTag |
| SchemaImpl | 0.94 | 0.96 | 50 | 24 | com.sun.xml.xsom.impl.SchemaImpl |
| FaceletViewHandlingStrategy | 0.94 | 0.97 | 39 | 16 | com.sun.faces.application.view.FaceletViewHandlingStrategy |
| UIRepeat | 0.94 | 0.96 | 76 | 20 | com.sun.faces.facelets.component.UIRepeat |
| MethodInfo | 0.94 | 0.97 | 33 | 12 | org.eclipse.jdt.internal.compiler.classfmt.MethodInfo |
| JavadocParser | 0.94 | 0.98 | 23 | 49 | org.eclipse.jdt.internal.compiler.parser.JavadocParser |
| SelectManyCheckboxTag | 0.94 | 0.96 | 51 | 42 | com.sun.faces.taglib.html_basic.SelectManyCheckboxTag |
| JDefinedClass | 0.94 | 0.96 | 67 | 18 | com.sun.codemodel.JDefinedClass |
| ClassInfoImpl<T,C,F,M> | 0.94 | 0.96 | 63 | 15 | com.sun.xml.bind.v2.model.impl.ClassInfoImpl |
| StAXDocumentParser | 0.94 | 0.95 | 105 | 37 | com.sun.xml.fastinfoset.stax.StAXDocumentParser |
| MetaTable | 0.94 | 0.96 | 38 | 34 | org.h2.table.MetaTable |
| InputSecretTag | 0.94 | 0.96 | 48 | 39 | com.sun.faces.taglib.html_basic.InputSecretTag |
| SelectManyListboxTag | 0.94 | 0.96 | 48 | 39 | com.sun.faces.taglib.html_basic.SelectManyListboxTag |
| SelectOneRadioTag | 0.94 | 0.96 | 48 | 39 | com.sun.faces.taglib.html_basic.SelectOneRadioTag |
| EmbeddedServletOptions | 0.94 | 0.97 | 33 | 28 | org.apache.jasper.EmbeddedServletOptions |
| ELFlash | 0.94 | 0.96 | 51 | 12 | com.sun.faces.context.flash.ELFlash |
| InputFileTag | 0.94 | 0.96 | 47 | 38 | com.sun.faces.taglib.html_basic.InputFileTag |
| InputTextTag | 0.94 | 0.96 | 47 | 38 | com.sun.faces.taglib.html_basic.InputTextTag |
| SelectManyMenuTag | 0.94 | 0.96 | 47 | 38 | com.sun.faces.taglib.html_basic.SelectManyMenuTag |
| SelectOneListboxTag | 0.94 | 0.96 | 47 | 38 | com.sun.faces.taglib.html_basic.SelectOneListboxTag |
| SelectOneMenuTag | 0.93 | 0.96 | 46 | 37 | com.sun.faces.taglib.html_basic.SelectOneMenuTag |
| DeploymentImpl | 0.93 | 0.96 | 33 | 19 | io.undertow.servlet.core.DeploymentImpl |
| Options | 0.93 | 0.96 | 36 | 39 | com.sun.tools.xjc.Options |
| InputTextareaTag | 0.93 | 0.95 | 45 | 36 | com.sun.faces.taglib.html_basic.InputTextareaTag |
| TableView | 0.93 | 0.95 | 49 | 15 | org.h2.table.TableView |
| Decoder | 0.93 | 0.94 | 85 | 46 | com.sun.xml.fastinfoset.Decoder |
| MVStore | 0.93 | 0.94 | 76 | 43 | org.h2.mvstore.MVStore |
| DataTableTag | 0.93 | 0.95 | 44 | 35 | com.sun.faces.taglib.html_basic.DataTableTag |
| PageStore | 0.93 | 0.94 | 93 | 59 | org.h2.store.PageStore |
| SelectBooleanCheckboxTag | 0.93 | 0.95 | 43 | 34 | com.sun.faces.taglib.html_basic.SelectBooleanCheckboxTag |
| SessionRemote | 0.93 | 0.95 | 47 | 44 | org.h2.engine.SessionRemote |
| PgServerThread | 0.93 | 0.95 | 48 | 21 | org.h2.server.pg.PgServerThread |
| ClassWriter | 0.93 | 0.96 | 37 | 37 | org.objectweb.asm.ClassWriter |
| CommandLinkTag | 0.93 | 0.95 | 42 | 33 | com.sun.faces.taglib.html_basic.CommandLinkTag |
| ElementDecl | 0.93 | 0.96 | 30 | 12 | com.sun.xml.xsom.impl.ElementDecl |
| ComplexTypeImpl | 0.93 | 0.96 | 33 | 12 | com.sun.xml.xsom.impl.ComplexTypeImpl |
| CPropertyInfo | 0.93 | 0.97 | 25 | 13 | com.sun.tools.xjc.model.CPropertyInfo |
| CommandButtonTag | 0.93 | 0.95 | 41 | 32 | com.sun.faces.taglib.html_basic.CommandButtonTag |
| PanelGridTag | 0.93 | 0.95 | 41 | 32 | com.sun.faces.taglib.html_basic.PanelGridTag |
| WebServer | 0.93 | 0.95 | 45 | 25 | org.h2.server.web.WebServer |
| OutputLinkTag | 0.93 | 0.95 | 40 | 31 | com.sun.faces.taglib.html_basic.OutputLinkTag |
| TableLink | 0.92 | 0.95 | 43 | 21 | org.h2.table.TableLink |
| XMLSerializer | 0.92 | 0.94 | 60 | 24 | com.sun.xml.bind.v2.runtime.XMLSerializer |
| MXParser | 0.92 | 0.93 | 78 | 84 | org.jboss.modules.xml.MXParser |
| TagLibraryInfo | 0.92 | 0.95 | 30 | 14 | org.apache.jasper.deploy.TagLibraryInfo |
| ObjectMapper | 0.92 | 0.93 | 180 | 19 | com.fasterxml.jackson.databind.ObjectMapper |
| CClassInfo | 0.92 | 0.95 | 54 | 18 | com.sun.tools.xjc.model.CClassInfo |
| ForkJoinPool$WorkQueue | 0.92 | 0.97 | 20 | 43 | io.netty.util.internal.chmv8.ForkJoinPool$WorkQueue |
| Csv | 0.92 | 0.94 | 51 | 22 | org.h2.tools.Csv |
| DefaultCookie | 0.92 | 0.95 | 31 | 13 | io.netty.handler.codec.http.DefaultCookie |
| ServletRequestContext | 0.92 | 0.95 | 30 | 17 | io.undertow.servlet.handlers.ServletRequestContext |
| UnmarshallingContext | 0.92 | 0.94 | 62 | 27 | com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext |
| ParserBase | 0.92 | 0.94 | 52 | 52 | com.fasterxml.jackson.core.base.ParserBase |
| PgServer | 0.92 | 0.94 | 36 | 33 | org.h2.server.pg.PgServer |
| SslHandler | 0.92 | 0.94 | 54 | 21 | io.netty.handler.ssl.SslHandler |
| ServletInfo | 0.92 | 0.94 | 36 | 16 | io.undertow.servlet.api.ServletInfo |
| Parser | 0.92 | 0.92 | 157 | 55 | org.h2.command.Parser |
| Module | 0.92 | 0.93 | 65 | 21 | org.jboss.modules.Module |
| AbstractCommentParser | 0.92 | 0.94 | 45 | 62 | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser |
| ConcurrentHashMapV8<K,V> | 0.92 | 0.93 | 93 | 39 | io.netty.util.internal.chmv8.ConcurrentHashMapV8 |
| Recover | 0.92 | 0.93 | 51 | 17 | org.h2.tools.Recover |
| ExternalContextImpl | 0.91 | 0.93 | 79 | 17 | com.sun.faces.context.ExternalContextImpl |
| GraphicImageTag | 0.91 | 0.94 | 35 | 26 | com.sun.faces.taglib.html_basic.GraphicImageTag |
| TokenBuffer | 0.91 | 0.93 | 71 | 14 | com.fasterxml.jackson.databind.util.TokenBuffer |
| UndertowSession | 0.91 | 0.94 | 33 | 19 | io.undertow.websockets.jsr.UndertowSession |
| FacesContextImpl | 0.91 | 0.94 | 39 | 24 | com.sun.faces.context.FacesContextImpl |
| JdbcStatement | 0.91 | 0.93 | 54 | 14 | org.h2.jdbc.JdbcStatement |
Statistics
| Stat | Lack of Cohesion Of Methods (LCOM) | LCOM Henderson-Sellers (LCOMHS) | # Methods | # Fields |
|---|---|---|---|---|
| Sum: | 266.65 | 276.19 | 13 091 | 7 214 |
| Average: | 0.89 | 0.92 | 43.49 | 23.97 |
| Minimum: | 0.8 | 0.82 | 11 | 11 |
| Maximum: | 1 | 1.1 | 434 | 292 |
| Standard deviation: | 0.046 | 0.041 | 38.81 | 24.05 |
| Variance: | 0.0021 | 0.0017 | 1 506 | 578.5 |
| Object Oriented Design | 060 |
|
| Rule warning: Base class should not use derivatives |
warnif count > 0
from baseClass in JustMyCode.Types
where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization!
let derivedClassesUsed = baseClass.DerivedTypes.UsedBy(baseClass)
where derivedClassesUsed.Count() > 0
select new { baseClass, derivedClassesUsed }
143 types matched
| types | derivedClassesUsed | Full Name |
|---|---|---|
| DependencySpec | 4 types | org.jboss.modules.DependencySpec |
| AnnotationIntrospector | 2 types | com.fasterxml.jackson.databind.AnnotationIntrospector |
| JsonNode | 1 type | com.fasterxml.jackson.databind.JsonNode |
| PropertyNamingStrategy | 2 types | com.fasterxml.jackson.databind.PropertyNamingStrategy |
| ContextAttributes | 1 type | com.fasterxml.jackson.databind.cfg.ContextAttributes |
| NopAnnotationIntrospector | 1 type | com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector |
| BaseJsonNode | 1 type | com.fasterxml.jackson.databind.node.BaseJsonNode |
| ContainerNode<T> | 2 types | com.fasterxml.jackson.databind.node.ContainerNode |
| NodeCursor | 2 types | com.fasterxml.jackson.databind.node.NodeCursor |
| ValueNode | 1 type | com.fasterxml.jackson.databind.node.ValueNode |
| NameTransformer | 5 types | com.fasterxml.jackson.databind.util.NameTransformer |
| ViewMatcher | 3 types | com.fasterxml.jackson.databind.util.ViewMatcher |
| PrimitiveArrayDeserializers<T> | 8 types | com.fasterxml.jackson.databind.deser.std.PrimitiveArrayDeserializers |
| StdDeserializer<T> | 1 type | com.fasterxml.jackson.databind.deser.std.StdDeserializer |
| BeanPropertyWriter | 1 type | com.fasterxml.jackson.databind.ser.BeanPropertyWriter |
| PropertySerializerMap | 1 type | com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap |
| SimpleBeanPropertyFilter | 2 types | com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter |
| StdSerializer<T> | 1 type | com.fasterxml.jackson.databind.ser.std.StdSerializer |
| CacheLoader<K,V> | 2 types | com.google.common.cache.CacheLoader |
| AbstractBiMap<K,V> | 1 type | com.google.common.collect.AbstractBiMap |
| ComparisonChain | 2 types | com.google.common.collect.ComparisonChain |
| ContiguousSet<C> | 2 types | com.google.common.collect.ContiguousSet |
| Cut<C> | 4 types | com.google.common.collect.Cut |
| DiscreteDomain<C> | 3 types | com.google.common.collect.DiscreteDomain |
| FluentIterable<E> | 1 type | com.google.common.collect.FluentIterable |
| ImmutableBiMap<K,V> | 3 types | com.google.common.collect.ImmutableBiMap |
| ImmutableCollection<E> | 2 types | com.google.common.collect.ImmutableCollection |
| ImmutableList<E> | 4 types | com.google.common.collect.ImmutableList |
| ImmutableListMultimap<K,V> | 1 type | com.google.common.collect.ImmutableListMultimap |
| ImmutableMap<K,V> | 4 types | com.google.common.collect.ImmutableMap |
| ImmutableMultimap$Itr<T> | 1 type | com.google.common.collect.ImmutableMultimap$Itr |
| ImmutableMultimap<K,V> | 1 type | com.google.common.collect.ImmutableMultimap |
| ImmutableMultiset<E> | 1 type | com.google.common.collect.ImmutableMultiset |
| ImmutableRangeMap<K> | 1 type | com.google.common.collect.ImmutableRangeMap |
| ImmutableSet<E> | 4 types | com.google.common.collect.ImmutableSet |
| ImmutableSetMultimap<K,V> | 1 type | com.google.common.collect.ImmutableSetMultimap |
| ImmutableSortedMap<K,V> | 2 types | com.google.common.collect.ImmutableSortedMap |
| ImmutableSortedMapFauxverideShim<K,V> | 1 type | com.google.common.collect.ImmutableSortedMapFauxverideShim |
| ImmutableSortedMultiset<E> | 3 types | com.google.common.collect.ImmutableSortedMultiset |
| ImmutableSortedMultisetFauxverideShim<E> | 1 type | com.google.common.collect.ImmutableSortedMultisetFauxverideShim |
| ImmutableSortedSet<E> | 3 types | com.google.common.collect.ImmutableSortedSet |
| ImmutableSortedSetFauxverideShim<E> | 1 type | com.google.common.collect.ImmutableSortedSetFauxverideShim |
| ImmutableTable<R,C,V> | 3 types | com.google.common.collect.ImmutableTable |
| Ordering<T> | 11 types | com.google.common.collect.Ordering |
| RegularImmutableTable<R,C,V> | 2 types | com.google.common.collect.RegularImmutableTable |
| Sets$SetView<E> | 1 type | com.google.common.collect.Sets$SetView |
| TreeRangeSet<C> | 2 types | com.google.common.collect.TreeRangeSet |
| HashCode | 3 types | com.google.common.hash.HashCode |
| BaseEncoding | 1 type | com.google.common.io.BaseEncoding |
| ByteSource | 4 types | com.google.common.io.ByteSource |
| CharSource | 3 types | com.google.common.io.CharSource |
| ClassPath$ResourceInfo | 1 type | com.google.common.reflect.ClassPath$ResourceInfo |
| Invokable<T,R> | 2 types | com.google.common.reflect.Invokable |
| TypeResolver$TypeTable | 1 type | com.google.common.reflect.TypeResolver$TypeTable |
| TypeToken$TypeCollector<K> | 3 types | com.google.common.reflect.TypeToken$TypeCollector |
| TypeToken$TypeSet | 2 types | com.google.common.reflect.TypeToken$TypeSet |
| TypeToken<T> | 1 type | com.google.common.reflect.TypeToken |
| CharMatcher | 22 types | com.google.common.base.CharMatcher |
| Converter<A,B> | 3 types | com.google.common.base.Converter |
| Equivalence<T> | 4 types | com.google.common.base.Equivalence |
| Joiner | 2 types | com.google.common.base.Joiner |
| Optional<T> | 2 types | com.google.common.base.Optional |
| Ticker | 1 type | com.google.common.base.Ticker |
| AbstractScheduledService$Scheduler | 2 types | com.google.common.util.concurrent.AbstractScheduledService$Scheduler |
| CycleDetectingLockFactory | 1 type | com.google.common.util.concurrent.CycleDetectingLockFactory |
| RateLimiter$SleepingTicker | 1 type | com.google.common.util.concurrent.RateLimiter$SleepingTicker |
| RateLimiter | 2 types | com.google.common.util.concurrent.RateLimiter |
| Striped<L> | 2 types | com.google.common.util.concurrent.Striped |
| RightOwner | 1 type | org.h2.engine.RightOwner |
| AggregateData | 6 types | org.h2.expression.AggregateData |
| Expression | 1 type | org.h2.expression.Expression |
| Function | 1 type | org.h2.expression.Function |
| PageBtree | 1 type | org.h2.index.PageBtree |
| PageData | 1 type | org.h2.index.PageData |
| Table | 1 type | org.h2.table.Table |
| CompareMode | 2 types | org.h2.value.CompareMode |
| Value | 21 types | org.h2.value.Value |
| ValueJavaObject | 1 type | org.h2.value.ValueJavaObject |
| FileStore | 1 type | org.h2.store.FileStore |
| JType | 2 types | com.sun.codemodel.JType |
| JExpressionImpl | 4 types | com.sun.codemodel.JExpressionImpl |
| JClass | 4 types | com.sun.codemodel.JClass |
| ELText | 2 types | com.sun.faces.facelets.el.ELText |
| BuiltinLeafInfoImpl<TypeT,ClassDeclT> | 1 type | com.sun.xml.bind.v2.model.impl.BuiltinLeafInfoImpl |
| RuntimeBuiltinLeafInfoImpl<T> | 28 types | com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl |
| Loader | 1 type | com.sun.xml.bind.v2.runtime.unmarshaller.Loader |
| Accessor<BeanT,ValueT> | 3 types | com.sun.xml.bind.v2.runtime.reflect.Accessor |
| Lister<BeanT,PropT,ItemT,PackT> | 13 types | com.sun.xml.bind.v2.runtime.reflect.Lister |
| TransducedAccessor<BeanT> | 4 types | com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor |
| Tree | 3 types | com.sun.xml.bind.v2.schemagen.Tree |
| SCD | 1 type | com.sun.xml.xsom.SCD |
| TypeSet | 2 types | com.sun.xml.xsom.util.TypeSet |
| WildcardImpl | 3 types | com.sun.xml.xsom.impl.WildcardImpl |
| WhitespaceNormalizer | 3 types | com.sun.tools.xjc.generator.util.WhitespaceNormalizer |
| CBuiltinLeafInfo | 13 types | com.sun.tools.xjc.model.CBuiltinLeafInfo |
| CDefaultValue | 1 type | com.sun.tools.xjc.model.CDefaultValue |
| Expression | 1 type | com.sun.tools.xjc.reader.gbind.Expression |
| DOMForest$HandlerImpl | 1 type | com.sun.tools.xjc.reader.internalizer.DOMForest$HandlerImpl |
| Term | 1 type | com.sun.tools.xjc.reader.dtd.Term |
| BindingComponent | 2 types | com.sun.tools.xjc.reader.xmlschema.BindingComponent |
Statistics
| Stat | derivedClassesUsed |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Rule warning: Class shouldn't be too deep in inheritance tree |
warnif count > 0 from t in JustMyCode.Types
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()
// Warn for classes with 3 or more base classes.
// Notice that we don't count third-party classes
// because this rule concerns your code design,
// not third-party libraries consumed design.
where baseClasses.Count() >= 3
select new { t, baseClasses,
// The metric value DepthOfInheritance takes account
// of third-party base classes
t.DepthOfInheritance }
// Branches too long in the derivation should be avoided.
// See the definition of the DepthOfInheritance metric here
// http://www.jarchitect.com/Metrics#DIT
759 types matched
| types | baseClasses | Depth of inheritance | Full Name |
|---|---|---|---|
| ReaderBasedJsonParser | 3 types | 4 | com.fasterxml.jackson.core.json.ReaderBasedJsonParser |
| UTF8JsonGenerator | 3 types | 4 | com.fasterxml.jackson.core.json.UTF8JsonGenerator |
| UTF8StreamJsonParser | 3 types | 4 | com.fasterxml.jackson.core.json.UTF8StreamJsonParser |
| WriterBasedJsonGenerator | 3 types | 4 | com.fasterxml.jackson.core.json.WriterBasedJsonGenerator |
| IgnoredPropertyException | 3 types | 7 | com.fasterxml.jackson.databind.exc.IgnoredPropertyException |
| UnrecognizedPropertyException | 3 types | 7 | com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException |
| CoreXMLDeserializers$DurationDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$DurationDeserializer |
| CoreXMLDeserializers$GregorianCalendarDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$GregorianCalendarDeserializer |
| CoreXMLDeserializers$QNameDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$QNameDeserializer |
| DOMDeserializer$DocumentDeserializer | 5 types | 6 | com.fasterxml.jackson.databind.ext .DOMDeserializer$DocumentDeserializer |
| DOMDeserializer$NodeDeserializer | 5 types | 6 | com.fasterxml.jackson.databind.ext.DOMDeserializer$NodeDeserializer |
| DOMDeserializer<T> | 4 types | 5 | com.fasterxml.jackson.databind.ext.DOMDeserializer |
| AnnotatedConstructor | 3 types | 4 | com.fasterxml.jackson.databind.introspect.AnnotatedConstructor |
| AnnotatedMethod | 3 types | 4 | com.fasterxml.jackson.databind.introspect.AnnotatedMethod |
| ArrayNode | 3 types | 4 | com.fasterxml.jackson.databind.node.ArrayNode |
| BigIntegerNode | 4 types | 5 | com.fasterxml.jackson.databind.node.BigIntegerNode |
| BinaryNode | 3 types | 4 | com.fasterxml.jackson.databind.node.BinaryNode |
| BooleanNode | 3 types | 4 | com.fasterxml.jackson.databind.node.BooleanNode |
| DecimalNode | 4 types | 5 | com.fasterxml.jackson.databind.node.DecimalNode |
| DoubleNode | 4 types | 5 | com.fasterxml.jackson.databind.node.DoubleNode |
| FloatNode | 4 types | 5 | com.fasterxml.jackson.databind.node.FloatNode |
| IntNode | 4 types | 5 | com.fasterxml.jackson.databind.node.IntNode |
| LongNode | 4 types | 5 | com.fasterxml.jackson.databind.node.LongNode |
| MissingNode | 3 types | 4 | com.fasterxml.jackson.databind.node.MissingNode |
| NullNode | 3 types | 4 | com.fasterxml.jackson.databind.node.NullNode |
| NumericNode | 3 types | 4 | com.fasterxml.jackson.databind.node.NumericNode |
| ObjectNode | 3 types | 4 | com.fasterxml.jackson.databind.node.ObjectNode |
| POJONode | 3 types | 4 | com.fasterxml.jackson.databind.node.POJONode |
| ShortNode | 4 types | 5 | com.fasterxml.jackson.databind.node.ShortNode |
| TextNode | 3 types | 4 | com.fasterxml.jackson.databind.node.TextNode |
| ArrayType | 3 types | 4 | com.fasterxml.jackson.databind.type.ArrayType |
| CollectionLikeType | 3 types | 4 | com.fasterxml.jackson.databind.type.CollectionLikeType |
| CollectionType | 4 types | 5 | com.fasterxml.jackson.databind.type.CollectionType |
| MapLikeType | 3 types | 4 | com.fasterxml.jackson.databind.type.MapLikeType |
| MapType | 4 types | 5 | com.fasterxml.jackson.databind.type.MapType |
| SimpleType | 3 types | 4 | com.fasterxml.jackson.databind.type.SimpleType |
| BeanDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.BeanDeserializer |
| BuilderBasedDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer |
| DefaultDeserializationContext$Impl | 3 types | 4 | com.fasterxml.jackson.databind.deser .DefaultDeserializationContext$Impl |
| BeanAsArrayBuilderDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.impl .BeanAsArrayBuilderDeserializer |
| BeanAsArrayDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.impl.BeanAsArrayDeserializer |
| PropertyBasedObjectIdGenerator | 3 types | 4 | com.fasterxml.jackson.databind.deser.impl .PropertyBasedObjectIdGenerator |
| ArrayBlockingQueueDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .ArrayBlockingQueueDeserializer |
| AtomicBooleanDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.AtomicBooleanDeserializer |
| ByteBufferDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.ByteBufferDeserializer |
| CharsetDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std.CharsetDeserializer |
| ClassDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.ClassDeserializer |
| CollectionDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.CollectionDeserializer |
| DateDeserializers$CalendarDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$CalendarDeserializer |
| DateDeserializers$DateBasedDeserializer<T> | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$DateBasedDeserializer |
| DateDeserializers$DateDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$DateDeserializer |
| DateDeserializers$SqlDateDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$SqlDateDeserializer |
| DateDeserializers$TimeZoneDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimeZoneDeserializer |
| DateDeserializers$TimestampDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimestampDeserializer |
| EnumDeserializer$FactoryBasedDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .EnumDeserializer$FactoryBasedDeserializer |
| EnumDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.EnumDeserializer |
| FromStringDeserializer<T> | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.FromStringDeserializer |
| InetAddressDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std.InetAddressDeserializer |
| InetSocketAddressDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std.InetSocketAddressDeserializer |
| JavaTypeDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.JavaTypeDeserializer |
| JdkDeserializers$CurrencyDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$CurrencyDeserializer |
| JdkDeserializers$FileDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$FileDeserializer |
| JdkDeserializers$LocaleDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$LocaleDeserializer |
| JdkDeserializers$PatternDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$PatternDeserializer |
| JdkDeserializers$URIDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$URIDeserializer |
| JdkDeserializers$URLDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$URLDeserializer |
| JsonNodeDeserializer$ArrayDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .JsonNodeDeserializer$ArrayDeserializer |
| JsonNodeDeserializer$ObjectDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .JsonNodeDeserializer$ObjectDeserializer |
| JsonNodeDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer |
| MapDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.MapDeserializer |
| NumberDeserializers$BigDecimalDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BigDecimalDeserializer |
| NumberDeserializers$BigIntegerDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BigIntegerDeserializer |
| NumberDeserializers$BooleanDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BooleanDeserializer |
| NumberDeserializers$ByteDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$ByteDeserializer |
| NumberDeserializers$CharacterDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$CharacterDeserializer |
| NumberDeserializers$DoubleDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$DoubleDeserializer |
| NumberDeserializers$FloatDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$FloatDeserializer |
| NumberDeserializers$IntegerDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$IntegerDeserializer |
| NumberDeserializers$LongDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$LongDeserializer |
| NumberDeserializers$NumberDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$NumberDeserializer |
| NumberDeserializers$PrimitiveOrWrapperDeserializer<T> | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$PrimitiveOrWrapperDeserializer |
| NumberDeserializers$ShortDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$ShortDeserializer |
| ObjectArrayDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer |
| PrimitiveArrayDeserializers$BooleanDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$BooleanDeser |
| PrimitiveArrayDeserializers$ByteDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$ByteDeser |
| PrimitiveArrayDeserializers$CharDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$CharDeser |
| PrimitiveArrayDeserializers$DoubleDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$DoubleDeser |
| PrimitiveArrayDeserializers$FloatDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$FloatDeser |
| PrimitiveArrayDeserializers$IntDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$IntDeser |
| PrimitiveArrayDeserializers$LongDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$LongDeser |
| PrimitiveArrayDeserializers$ShortDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$ShortDeser |
| StackTraceElementDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.StackTraceElementDeserializer |
| StringCollectionDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer |
| StringDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.StringDeserializer |
| ThrowableDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer |
| TokenBufferDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.TokenBufferDeserializer |
| UUIDDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std.UUIDDeserializer |
| AsExternalTypeDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.jsontype.impl .AsExternalTypeDeserializer |
| AsPropertyTypeDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.jsontype.impl .AsPropertyTypeDeserializer |
| AsPropertyTypeSerializer | 3 types | 4 | com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeSerializer |
Statistics
| Stat | baseClasses | Depth of inheritance |
|---|---|---|
| Sum: | 0 | 3 494 |
| Average: | 0 | 4.6 |
| Minimum: | 0 | 4 |
| Maximum: | 0 | 8 |
| Standard deviation: | 0 | 0.8 |
| Variance: | 0 | 0.64 |
| Rule warning: Class with no descendant should be final if possible |
warnif count > 0 from t in JustMyCode.Types where
t.IsClass &&
t.NbChildren ==0 &&
!t.IsFinal &&
!t.IsStatic
// && !t.IsPublic <-- You might want to add this condition
// if you are developping a framework
// with classes that are intended to be
// sub-classed by your clients.
orderby t.NbLinesOfCode descending
select new { t, t.NbLinesOfCode }
4,803 types matched
| types | # lines of code (LOC) | Full Name |
|---|---|---|
| ProblemReporter | 7 142 | org.eclipse.jdt.internal.compiler.problem.ProblemReporter |
| Parser | 6 534 | org.eclipse.jdt.internal.compiler.parser.Parser |
| Parser | 3 705 | org.h2.command.Parser |
| ClassFile | 3 673 | org.eclipse.jdt.internal.compiler.ClassFile |
| UTF8StreamJsonParser | 1 536 | com.fasterxml.jackson.core.json.UTF8StreamJsonParser |
| DiagnoseParser | 1 468 | org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser |
| MXParser | 1 430 | org.jboss.modules.xml.MXParser |
| UnconditionalFlowInfo | 1 401 | org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo |
| Generator$GenerateVisitor | 1 350 | org.apache.jasper.compiler.Generator$GenerateVisitor |
| SCDParserTokenManager | 1 325 | com.sun.xml.xsom.impl.scd.SCDParserTokenManager |
| JdbcResultSet | 1 140 | org.h2.jdbc.JdbcResultSet |
| Database | 1 128 | org.h2.engine.Database |
| PageStore | 1 025 | org.h2.store.PageStore |
| CompilerOptions | 998 | org.eclipse.jdt.internal.compiler.impl.CompilerOptions |
| HttpPostRequestDecoder | 995 | io.netty.handler.codec.http.multipart.HttpPostRequestDecoder |
| ConcurrentHashMapV8<K,V> | 987 | io.netty.util.internal.chmv8.ConcurrentHashMapV8 |
| complexType | 919 | com.sun.xml.xsom.impl.parser.state.complexType |
| UTF8JsonGenerator | 886 | com.fasterxml.jackson.core.json.UTF8JsonGenerator |
| SAXDocumentParser | 852 | com.sun.xml.fastinfoset.sax.SAXDocumentParser |
| LookupEnvironment | 848 | org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment |
| TypeDeclaration | 848 | org.eclipse.jdt.internal.compiler.ast.TypeDeclaration |
| Parser | 841 | org.apache.jasper.compiler.Parser |
| ClassScope | 835 | org.eclipse.jdt.internal.compiler.lookup.ClassScope |
| Recover | 834 | org.h2.tools.Recover |
| MVStore | 825 | org.h2.mvstore.MVStore |
| JasperMessages_$bundle | 823 | org.apache.jasper.JasperMessages_$bundle |
| ForkJoinPool | 804 | io.netty.util.internal.chmv8.ForkJoinPool |
| TryStatement | 790 | org.eclipse.jdt.internal.compiler.ast.TryStatement |
| ApplicationImpl | 789 | com.sun.faces.application.ApplicationImpl |
| StAXDocumentParser | 788 | com.sun.xml.fastinfoset.stax.StAXDocumentParser |
| LocalCache$Segment<K,V> | 786 | com.google.common.cache.LocalCache$Segment |
| Main$Logger | 764 | org.eclipse.jdt.internal.compiler.batch.Main$Logger |
| Select | 756 | org.h2.command.dml.Select |
| CompositeByteBuf | 745 | io.netty.buffer.CompositeByteBuf |
| QualifiedNameReference | 691 | org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference |
| XMLChar | 690 | com.sun.xml.fastinfoset.org.apache.xerces.util.XMLChar |
| XMLChar | 690 | org.apache.jasper.xmlparser.XMLChar |
| Data | 661 | org.h2.store.Data |
| MethodVerifier15 | 659 | org.eclipse.jdt.internal.compiler.lookup.MethodVerifier15 |
| Util | 645 | org.eclipse.jdt.internal.compiler.util.Util |
| EclipseFileManager | 644 | org.eclipse.jdt.internal.compiler.apt.util.EclipseFileManager |
| Schema | 640 | com.sun.xml.xsom.impl.parser.state.Schema |
| ConstantPool | 626 | org.eclipse.jdt.internal.compiler.codegen.ConstantPool |
| EclipseFileManager | 626 | org.eclipse.jdt.internal.compiler.tool.EclipseFileManager |
| PgServerThread | 624 | org.h2.server.pg.PgServerThread |
| RenderKitUtils | 607 | com.sun.faces.renderkit.RenderKitUtils |
| ClassFileReader | 607 | org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader |
| JdbcDatabaseMetaData | 602 | org.h2.jdbc.JdbcDatabaseMetaData |
| NavigationHandlerImpl | 595 | com.sun.faces.application.NavigationHandlerImpl |
| FaceletViewHandlingStrategy | 583 | com.sun.faces.application.view.FaceletViewHandlingStrategy |
| Generator | 573 | org.apache.jasper.compiler.Generator |
| EqualExpression | 570 | org.eclipse.jdt.internal.compiler.ast.EqualExpression |
| XMLEncodingDetector | 569 | org.apache.jasper.xmlparser.XMLEncodingDetector |
| Javadoc | 564 | org.eclipse.jdt.internal.compiler.ast.Javadoc |
| CompilationUnitScope | 559 | org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope |
| JavadocParser | 558 | org.eclipse.jdt.internal.compiler.parser.JavadocParser |
| Session | 551 | org.h2.engine.Session |
| MetaTable | 546 | org.h2.table.MetaTable |
| ObjectMapper | 542 | com.fasterxml.jackson.databind.ObjectMapper |
| Validator$ValidateVisitor | 536 | org.apache.jasper.compiler.Validator$ValidateVisitor |
| elementDeclBody | 533 | com.sun.xml.xsom.impl.parser.state.elementDeclBody |
| SourceElementNotifier | 514 | org.eclipse.jdt.internal.compiler.SourceElementNotifier |
| MimeUtility | 501 | com.sun.xml.messaging.saaj.packaging.mime.internet.MimeUtility |
| particle | 489 | com.sun.xml.xsom.impl.parser.state.particle |
| JspRuntimeLibrary | 489 | org.apache.jasper.runtime.JspRuntimeLibrary |
| HtmlResponseWriter | 487 | com.sun.faces.renderkit.html_basic.HtmlResponseWriter |
| UIRepeat | 479 | com.sun.faces.facelets.component.UIRepeat |
| DOMDocumentParser | 477 | com.sun.xml.fastinfoset.dom.DOMDocumentParser |
| Compiler | 472 | org.eclipse.jdt.internal.compiler.Compiler |
| JspDocumentParser | 470 | org.apache.jasper.compiler.JspDocumentParser |
| RecoveredType | 468 | org.eclipse.jdt.internal.compiler.parser.RecoveredType |
| JaxmURI | 459 | com.sun.xml.messaging.saaj.util.JaxmURI |
| Base64 | 457 | io.undertow.websockets.core.protocol.version07.Base64 |
| JspUtil | 447 | org.apache.jasper.compiler.JspUtil |
| SslHandler | 446 | io.netty.handler.ssl.SslHandler |
| FakedTrackingVariable | 439 | org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable |
| DataType | 438 | org.h2.value.DataType |
| attributeUses | 436 | com.sun.xml.xsom.impl.parser.state.attributeUses |
| CompilationUnitDeclaration | 430 | org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration |
| EncodingMap | 430 | org.apache.jasper.xmlparser.EncodingMap |
| LoopingFlowContext | 424 | org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext |
| JaxbAnnotationIntrospector | 422 | com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector |
| Page | 421 | org.h2.mvstore.Page |
| StringUtils | 420 | org.h2.util.StringUtils |
| SimpleResultSet | 413 | org.h2.tools.SimpleResultSet |
| Util | 410 | com.sun.faces.util.Util |
| ServletOutputStreamImpl | 410 | io.undertow.servlet.spec.ServletOutputStreamImpl |
| ValueDataType | 408 | org.h2.mvstore.db.ValueDataType |
| FacesFlowDefinitionConfigProcessor | 407 | com.sun.faces.config.processor.FacesFlowDefinitionConfigProcessor |
| RegularTable | 399 | org.h2.table.RegularTable |
| PageLog | 397 | org.h2.store.PageLog |
| StAXDocumentSerializer | 397 | com.sun.xml.fastinfoset.stax.StAXDocumentSerializer |
| UndertowMessages_$bundle | 396 | io.undertow.UndertowMessages_$bundle |
| DeploymentInfo | 395 | io.undertow.servlet.api.DeploymentInfo |
| HttpPostRequestEncoder | 394 | io.netty.handler.codec.http.multipart.HttpPostRequestEncoder |
| TableFilter | 390 | org.h2.table.TableFilter |
| Csv | 384 | org.h2.tools.Csv |
| ValueLob | 383 | org.h2.value.ValueLob |
| HtmlUtils | 381 | com.sun.faces.util.HtmlUtils |
| SwitchStatement | 378 | org.eclipse.jdt.internal.compiler.ast.SwitchStatement |
Statistics
| Stat | # lines of code (LOC) |
|---|---|
| Sum: | 250 232 |
| Average: | 52.1 |
| Minimum: | 0 |
| Maximum: | 7 142 |
| Standard deviation: | 192.35 |
| Variance: | 36 996 |
| Rule warning: Avoid the Singleton pattern |
warnif count > 0
from t in Application.Types
where !t.IsStatic && !t.IsAbstract && t.IsClass
// All ctors of a singleton are private
where t.Constructors.Where(ctor => !ctor.IsPrivate).Count() == 0
// A singleton contains one static field of its parent type, to reference the unique instance
let staticFieldInstances = t.StaticFields.WithFieldType(t)
where staticFieldInstances.Count() == 1
select new { t, staticFieldInstance = staticFieldInstances.First() }
// The Singleton pattern consists in syntactically enforcing that a class
// has just one unique instance.
// At first glance, this pattern looks appealing and it is widely used.
// However, we discourage you from using singleton classes because experience
// shows that singletons often result in less testable and less maintainable code.
// More details available in these discussions:
// http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members/
// http://adamschepis.com/blog/2011/05/02/im-adam-and-im-a-recovering-singleton-addict/
57 types matched
| types | staticFieldInstance | Full Name |
|---|---|---|
| ModularURLStreamHandlerFactory | INSTANCE | org.jboss.modules.ModularURLStreamHandlerFactory |
| ModuleIdentifier | CLASSPATH | org.jboss.modules.ModuleIdentifier |
| UninitializedPermission | INSTANCE | org.jboss.modules.security.UninitializedPermission |
| TypeBindings | EMPTY | com.fasterxml.classmate.TypeBindings |
| CharsToNameCanonicalizer | sBootstrapSymbolTable | com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer |
| InternCache | instance | com.fasterxml.jackson.core.util.InternCache |
| MissingNode | instance | com.fasterxml.jackson.databind.node.MissingNode |
| NullNode | instance | com.fasterxml.jackson.databind.node.NullNode |
| ClassUtil$EnumTypeLocator | instance | com.fasterxml.jackson.databind.util.ClassUtil$EnumTypeLocator |
| EmptyIterator<T> | instance | com.fasterxml.jackson.databind.util.EmptyIterator |
| ViewMatcher$Empty | instance | com.fasterxml.jackson.databind.util.ViewMatcher$Empty |
| PropertySerializerMap$Empty | instance | com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap$Empty |
| NullSerializer | instance | com.fasterxml.jackson.databind.ser.std.NullSerializer |
| Cut$AboveAll | INSTANCE | com.google.common.collect.Cut$AboveAll |
| Cut$BelowAll | INSTANCE | com.google.common.collect.Cut$BelowAll |
| DiscreteDomain$BigIntegerDomain | INSTANCE | com.google.common.collect.DiscreteDomain$BigIntegerDomain |
| DiscreteDomain$IntegerDomain | INSTANCE | com.google.common.collect.DiscreteDomain$IntegerDomain |
| DiscreteDomain$LongDomain | INSTANCE | com.google.common.collect.DiscreteDomain$LongDomain |
| EmptyImmutableBiMap | INSTANCE | com.google.common.collect.EmptyImmutableBiMap |
| EmptyImmutableListMultimap | INSTANCE | com.google.common.collect.EmptyImmutableListMultimap |
| EmptyImmutableSet | INSTANCE | com.google.common.collect.EmptyImmutableSet |
| EmptyImmutableSetMultimap | INSTANCE | com.google.common.collect.EmptyImmutableSetMultimap |
| NaturalOrdering | INSTANCE | com.google.common.collect.NaturalOrdering |
| Range<C> | ALL | com.google.common.collect.Range |
| ReverseNaturalOrdering | INSTANCE | com.google.common.collect.ReverseNaturalOrdering |
| UsingToStringOrdering | INSTANCE | com.google.common.collect.UsingToStringOrdering |
| ByteSource$EmptyByteSource | INSTANCE | com.google.common.io.ByteSource$EmptyByteSource |
| CharSource$EmptyCharSource | INSTANCE | com.google.common.io.CharSource$EmptyCharSource |
| CharStreams$NullWriter | INSTANCE | com.google.common.io.CharStreams$NullWriter |
| Doubles$DoubleConverter | INSTANCE | com.google.common.primitives.Doubles$DoubleConverter |
| Floats$FloatConverter | INSTANCE | com.google.common.primitives.Floats$FloatConverter |
| Ints$IntConverter | INSTANCE | com.google.common.primitives.Ints$IntConverter |
| Longs$LongConverter | INSTANCE | com.google.common.primitives.Longs$LongConverter |
| Shorts$ShortConverter | INSTANCE | com.google.common.primitives.Shorts$ShortConverter |
| Absent<T> | INSTANCE | com.google.common.base.Absent |
| Converter$IdentityConverter<T> | INSTANCE | com.google.common.base.Converter$IdentityConverter |
| DbSettings | defaultSettings | org.h2.constant.DbSettings |
| ValueLong | STATIC_CACHE | org.h2.value.ValueLong |
| CompositeComponentTagHandler$CompositeComponentRule | Instance | com.sun.faces.facelets.tag.jsf .CompositeComponentTagHandler$CompositeComponentRule |
| EmptyIterator | instance | com.sun.xml.fastinfoset.stax.events.EmptyIterator |
| AccessorFactoryImpl | instance | com.sun.xml.bind.AccessorFactoryImpl |
| InlineAnnotationReaderImpl | theInstance | com.sun.tools.jxc.ap.InlineAnnotationReaderImpl |
| CWildcardTypeInfo | INSTANCE | com.sun.tools.xjc.model.CWildcardTypeInfo |
| NavigatorImpl | theInstance | com.sun.tools.xjc.model.nav.NavigatorImpl |
| MultiplicityCounter | theInstance | com.sun.tools.xjc.reader.xmlschema.MultiplicityCounter |
| ChannelInputShutdownEvent | INSTANCE | io.netty.channel.socket.ChannelInputShutdownEvent |
| ReadTimeoutException | INSTANCE | io.netty.handler.timeout.ReadTimeoutException |
| WriteTimeoutException | INSTANCE | io.netty.handler.timeout.WriteTimeoutException |
| CaseIgnoringComparator | INSTANCE | io.netty.handler.codec.http.multipart.CaseIgnoringComparator |
| GlobalEventExecutor | INSTANCE | io.netty.util.concurrent.GlobalEventExecutor |
| ImmediateEventExecutor | INSTANCE | io.netty.util.concurrent.ImmediateEventExecutor |
| ImmediateExecutor | INSTANCE | io.netty.util.concurrent.ImmediateExecutor |
| UndertowClient | INSTANCE | io.undertow.client.UndertowClient |
| ExternalCredential | INSTANCE | io.undertow.security.idm.ExternalCredential |
| DefaultAuthorizationManager | INSTANCE | io.undertow.servlet.core.DefaultAuthorizationManager |
| DefaultClassIntrospector | INSTANCE | io.undertow.servlet.util.DefaultClassIntrospector |
| EmptyEndpointConfig | INSTANCE | io.undertow.websockets.jsr.annotated.EmptyEndpointConfig |
Statistics
| Stat | staticFieldInstance |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Rule warning: Don't assign static fields from instance methods |
// Assigning static fields from instance methods leads to
// poorly maintainable and non thread-safe code.
// It is advised to assign static fields inline or from class constructor.
warnif count > 0
from f in Application.Fields where
f.IsStatic &&
!f.IsLiteral &&
!f.IsInitOnly &&
!f.IsGeneratedByCompiler &&
// Contract API define such a insideContractEvaluation static field
f.Name != "insideContractEvaluation"
let assignedBy = f.MethodsAssigningMe.Where(m => !m.IsStatic)
where assignedBy .Count() > 0
select new { f, assignedBy }
14 fields matched
| fields | assignedBy | Full Name |
|---|---|---|
| sessionFactory | 1 method | org.h2.engine.SessionRemote.sessionFactory |
| keepOpenStackTrace | 1 method | org.h2.jdbc.JdbcConnection.keepOpenStackTrace |
| seeded | 1 method | org.h2.util.MathUtils.seeded |
| ticker | 1 method | org.h2.server.web.WebServer.ticker |
| CONVERTER_ID_EXPR | 1 method | com.sun.faces.taglib.jsf_core.ConvertDateTimeTag.CONVERTER_ID_EXPR |
| CONVERTER_ID_EXPR | 1 method | com.sun.faces.taglib.jsf_core.ConvertNumberTag.CONVERTER_ID_EXPR |
| is2_2 | 1 method | com.sun.xml.bind.v2.model.impl.ReferencePropertyInfoImpl.is2_2 |
| reportedEnumMemberSizeWarnings | 1 method | com.sun.tools.xjc.reader.xmlschema.SimpleTypeBuilder .reportedEnumMemberSizeWarnings |
| noExceptionHandlers | 1 method | org.eclipse.jdt.internal.compiler.codegen.CodeStream .noExceptionHandlers |
| noLabels | 1 method | org.eclipse.jdt.internal.compiler.codegen.CodeStream.noLabels |
| noLocals | 1 method | org.eclipse.jdt.internal.compiler.codegen.CodeStream.noLocals |
| noVisibleLocals | 1 method | org.eclipse.jdt.internal.compiler.codegen.CodeStream.noVisibleLocals |
| DEFAULT_LOCALE_TEMPLATES | 1 method | org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory .DEFAULT_LOCALE_TEMPLATES |
| defaultContainer | 1 method | io.undertow.websockets.jsr.UndertowContainerProvider.defaultContainer |
Statistics
| Stat | assignedBy |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Rule warning: Avoid empty interfaces |
warnif count > 0 from t in JustMyCode.Types where
t.IsInterface &&
t.NbMethods == 0
select new { t, t.TypesThatImplementMe }
// Interfaces define members that provide a behavior
// or usage contract. The functionality described by
// the interface can be adopted by any type,
// regardless of where the type appears in the
// inheritance hierarchy. A type implements an
// interface by providing implementations for the
// interface's members. An empty interface does not
// define any members, and as such, does not define
// a contract that can be implemented.
// If your design includes empty interfaces that
// types are expected to implement, you are probably
// using an interface as a marker, or a way of
// identifying a group of types. If this identification
// will occur at runtime, the correct way to accomplish
// this is to use a custom attribute. Use the presence
// or absence of the attribute, or the attribute's
// properties, to identify the target types. If the
// identification must occurs at compile time, then using
// an empty interface is acceptable.
91 types matched
| types | TypesThatImplementMe | Full Name |
|---|---|---|
| JsonTokenId | 0 type | com.fasterxml.jackson.core.JsonTokenId |
| JsonAnyFormatVisitor | 1 type | com.fasterxml.jackson.databind.jsonFormatVisitors.JsonAnyFormatVisitor |
| JsonBooleanFormatVisitor | 1 type | com.fasterxml.jackson.databind.jsonFormatVisitors .JsonBooleanFormatVisitor |
| JsonNullFormatVisitor | 1 type | com.fasterxml.jackson.databind.jsonFormatVisitors .JsonNullFormatVisitor |
| package-info | 0 type | com.google.common.cache.package-info |
| package-info | 0 type | com.google.common.collect.package-info |
| package-info | 0 type | com.google.common.escape.package-info |
| package-info | 0 type | com.google.common.hash.package-info |
| package-info | 0 type | com.google.common.html.package-info |
| package-info | 0 type | com.google.common.io.package-info |
| package-info | 0 type | com.google.common.math.package-info |
| package-info | 0 type | com.google.common.net.package-info |
| package-info | 0 type | com.google.common.primitives.package-info |
| package-info | 0 type | com.google.common.reflect.package-info |
| package-info | 0 type | com.google.common.xml.package-info |
| Suppliers$SupplierFunction<T> | 1 type | com.google.common.base.Suppliers$SupplierFunction |
| package-info | 0 type | com.google.common.base.package-info |
| ListenableScheduledFuture<V> | 1 type | com.google.common.util.concurrent.ListenableScheduledFuture |
| package-info | 0 type | com.google.common.util.concurrent.package-info |
| Value$ValueBlob | 1 type | org.h2.value.Value$ValueBlob |
| Value$ValueClob | 1 type | org.h2.value.Value$ValueClob |
| ELConstants | 1 type | com.sun.faces.el.ELConstants |
| FaceletConfigResourceProvider | 0 type | com.sun.faces.spi.FaceletConfigResourceProvider |
| FacesConfigResourceProvider | 0 type | com.sun.faces.spi.FacesConfigResourceProvider |
| FastInfosetWriter | 1 type | org.jvnet.fastinfoset.sax.FastInfosetWriter |
| package-info | 0 type | com.sun.xml.bind.api.package-info |
| package-info | 0 type | com.sun.xml.bind.v2.package-info |
| LeafInfo<T,C> | 11 types | com.sun.xml.bind.v2.model.core.LeafInfo |
| WildcardTypeInfo<T,C> | 1 type | com.sun.xml.bind.v2.model.core.WildcardTypeInfo |
| package-info | 0 type | com.sun.xml.bind.v2.model.core.package-info |
| package-info | 0 type | com.sun.xml.bind.v2.model.runtime.package-info |
| package-info | 0 type | com.sun.xml.bind.v2.runtime.output.package-info |
| package-info | 0 type | com.sun.xml.bind.v2.schemagen.package-info |
| package-info | 0 type | com.sun.xml.bind.v2.schemagen.episode.package-info |
| Particle | 0 type | com.sun.xml.bind.v2.schemagen.xmlschema.Particle |
| Redefinable | 2 types | com.sun.xml.bind.v2.schemagen.xmlschema.Redefinable |
| SimpleRestriction | 0 type | com.sun.xml.bind.v2.schemagen.xmlschema.SimpleRestriction |
| package-info | 0 type | com.sun.xml.bind.v2.schemagen.xmlschema.package-info |
| XSWildcard$Any | 1 type | com.sun.xml.xsom.XSWildcard$Any |
| ContentTypeImpl | 3 types | com.sun.xml.xsom.impl.ContentTypeImpl |
| package-info | 0 type | com.sun.tools.xjc.package-info |
| package-info | 0 type | com.sun.tools.xjc.addon.episode.package-info |
| package-info | 0 type | com.sun.tools.xjc.generator.package-info |
| XmlLocationWriter | 0 type | com.sun.tools.xjc.generator.annotation.ri.XmlLocationWriter |
| XmlAnyAttributeWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlAnyAttributeWriter |
| XmlAttachmentRefWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlAttachmentRefWriter |
| XmlIDREFWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlIDREFWriter |
| XmlIDWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlIDWriter |
| XmlInlineBinaryDataWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlInlineBinaryDataWriter |
| XmlListWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlListWriter |
| XmlMixedWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlMixedWriter |
| XmlRegistryWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlRegistryWriter |
| XmlTransientWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlTransientWriter |
| XmlValueWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlValueWriter |
| CClass | 2 types | com.sun.tools.xjc.model.CClass |
| package-info | 0 type | com.sun.tools.xjc.model.package-info |
| package-info | 0 type | com.sun.tools.xjc.reader.xmlschema.bindinfo.package-info |
| AdditiveExpr | 1 type | nu.xom.jaxen.expr.AdditiveExpr |
| AllNodeStep | 1 type | nu.xom.jaxen.expr.AllNodeStep |
| CommentNodeStep | 1 type | nu.xom.jaxen.expr.CommentNodeStep |
| EqualityExpr | 1 type | nu.xom.jaxen.expr.EqualityExpr |
| LogicalExpr | 1 type | nu.xom.jaxen.expr.LogicalExpr |
| MultiplicativeExpr | 1 type | nu.xom.jaxen.expr.MultiplicativeExpr |
| RelationalExpr | 1 type | nu.xom.jaxen.expr.RelationalExpr |
| TextNodeStep | 1 type | nu.xom.jaxen.expr.TextNodeStep |
| UnionExpr | 1 type | nu.xom.jaxen.expr.UnionExpr |
| Operator | 0 type | nu.xom.jaxen.saxpath.Operator |
| LogDomainConstants | 0 type | com.sun.xml.messaging.saaj.util.LogDomainConstants |
| ChannelProgressiveFutureListener | 0 type | io.netty.channel.ChannelProgressiveFutureListener |
| ServerChannel | 9 types | io.netty.channel.ServerChannel |
| ChannelGroupFutureListener | 0 type | io.netty.channel.group.ChannelGroupFutureListener |
| UdtServerChannel | 1 type | io.netty.channel.udt.UdtServerChannel |
| SpdyFrame | 20 types | io.netty.handler.codec.spdy.SpdyFrame |
| WebSocketFrameDecoder | 2 types | io.netty.handler.codec.http.websocketx.WebSocketFrameDecoder |
| WebSocketFrameEncoder | 2 types | io.netty.handler.codec.http.websocketx.WebSocketFrameEncoder |
| Recycler$Handle | 1 type | io.netty.util.Recycler$Handle |
| FutureListener<V> | 2 types | io.netty.util.concurrent.FutureListener |
| Credential | 6 types | io.undertow.security.idm.Credential |
| ProxyClient$ProxyTarget | 2 types | io.undertow.server.handlers.proxy.ProxyClient$ProxyTarget |
| SendChannel | 0 type | io.undertow.websockets.core.SendChannel |
| ExtraCompilerModifiers | 0 type | org.eclipse.jdt.internal.compiler.lookup.ExtraCompilerModifiers |
| ProblemReasons | 1 type | org.eclipse.jdt.internal.compiler.lookup.ProblemReasons |
| TagBits | 0 type | org.eclipse.jdt.internal.compiler.lookup.TagBits |
| TypeIds | 6 types | org.eclipse.jdt.internal.compiler.lookup.TypeIds |
| OperatorIds | 5 types | org.eclipse.jdt.internal.compiler.ast.OperatorIds |
| ClassFileConstants | 1 type | org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants |
| Opcodes | 0 type | org.eclipse.jdt.internal.compiler.codegen.Opcodes |
| ProblemSeverities | 5 types | org.eclipse.jdt.internal.compiler.problem.ProblemSeverities |
| ParserBasicInformation | 2 types | org.eclipse.jdt.internal.compiler.parser.ParserBasicInformation |
| TerminalTokens | 8 types | org.eclipse.jdt.internal.compiler.parser.TerminalTokens |
| TagConstants | 8 types | org.apache.jasper.compiler.TagConstants |
Statistics
| Stat | TypesThatImplementMe |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Design | 040 |
|
| Rule warning: Avoid packages with few types |
warnif count > 0 from n in JustMyCode.Packages
let types = n.ChildTypes.Where(t => !t.IsGeneratedByCompiler)
where
types.Count() < 5
orderby types.Count() ascending
select new { n, types }
// Make sure that there is a logical organization
// to each of your packages, and that there is a
// valid reason for putting types in a sparsely
// populated package. Packages should contain
// types that are used together in most scenarios.
// When their applications are mutually exclusive,
// types should be located in separate packages
97 packages matched
| packages | types | Full Name |
|---|---|---|
| org.jboss.modules._private | 1 type | org.jboss.modules._private |
| com.fasterxml.jackson.jaxrs.annotation | 1 type | com.fasterxml.jackson.jaxrs.annotation |
| com.google.common.base.internal | 1 type | com.google.common.base.internal |
| org.h2 | 1 type | org.h2 |
| org.h2.upgrade | 1 type | org.h2.upgrade |
| com.sun.istack.logging | 1 type | com.sun.istack.logging |
| com.sun.faces | 1 type | com.sun.faces |
| com.sun.faces.ext.component | 1 type | com.sun.faces.ext.component |
| com.sun.faces.ext.render | 1 type | com.sun.faces.ext.render |
| com.sun.faces.facelets.tag.jstl.fn | 1 type | com.sun.faces.facelets.tag.jstl.fn |
| com.sun.xml.fastinfoset.alphabet | 1 type | com.sun.xml.fastinfoset.alphabet |
| com.sun.xml.fastinfoset.org.apache.xerces.util | 1 type | com.sun.xml.fastinfoset.org.apache.xerces.util |
| com.sun.tools.xjc.addon.accessors | 1 type | com.sun.tools.xjc.addon.accessors |
| com.sun.tools.xjc.addon.at_generated | 1 type | com.sun.tools.xjc.addon.at_generated |
| com.sun.tools.xjc.addon.locator | 1 type | com.sun.tools.xjc.addon.locator |
| com.sun.tools.xjc.addon.sync | 1 type | com.sun.tools.xjc.addon.sync |
| com.sun.tools.xjc.generator | 1 type | com.sun.tools.xjc.generator |
| nu.xom.tests | 1 type | nu.xom.tests |
| nu.xom.jaxen.function.xslt | 1 type | nu.xom.jaxen.function.xslt |
| org.w3c.dom | 1 type | org.w3c.dom |
| com.sun.xml.messaging.saaj | 1 type | com.sun.xml.messaging.saaj |
| com.sun.xml.messaging.saaj.util.transform | 1 type | com.sun.xml.messaging.saaj.util.transform |
| 1 type | ||
| org.eclipse.jdt.internal.antadapter | 1 type | org.eclipse.jdt.internal.antadapter |
| org.eclipse.jdt.core.compiler.batch | 1 type | org.eclipse.jdt.core.compiler.batch |
| org.apache.jasper.util | 1 type | org.apache.jasper.util |
| io.undertow.websockets.jsr.util | 1 type | io.undertow.websockets.jsr.util |
| com.fasterxml.jackson.core.type | 2 types | com.fasterxml.jackson.core.type |
| com.fasterxml.jackson.module.jaxb.ser | 2 types | com.fasterxml.jackson.module.jaxb.ser |
| com.google.common.html | 2 types | com.google.common.html |
| com.google.common.xml | 2 types | com.google.common.xml |
| com.sun.faces.vendor | 2 types | com.sun.faces.vendor |
| com.sun.faces.component.behavior | 2 types | com.sun.faces.component.behavior |
| com.sun.faces.component.validator | 2 types | com.sun.faces.component.validator |
| com.sun.faces.ext.taglib | 2 types | com.sun.faces.ext.taglib |
| org.jvnet.fastinfoset.stax | 2 types | org.jvnet.fastinfoset.stax |
| org.jvnet.fastinfoset.sax.helpers | 2 types | org.jvnet.fastinfoset.sax.helpers |
| com.sun.xml.fastinfoset.dom | 2 types | com.sun.xml.fastinfoset.dom |
| com.sun.xml.fastinfoset.stax.util | 2 types | com.sun.xml.fastinfoset.stax.util |
| com.sun.tools.xjc.writer | 2 types | com.sun.tools.xjc.writer |
| com.sun.tools.xjc.addon.code_injector | 2 types | com.sun.tools.xjc.addon.code_injector |
| nu.xom.converters | 2 types | nu.xom.converters |
| nu.xom.jaxen.saxpath.helpers | 2 types | nu.xom.jaxen.saxpath.helpers |
| com.sun.xml.messaging.saaj.soap.dynamic | 2 types | com.sun.xml.messaging.saaj.soap.dynamic |
| com.sun.xml.messaging.saaj.client.p2p | 2 types | com.sun.xml.messaging.saaj.client.p2p |
| gnu.getopt | 2 types | gnu.getopt |
| io.netty.handler.logging | 2 types | io.netty.handler.logging |
| io.netty.handler.codec.bytes | 2 types | io.netty.handler.codec.bytes |
| io.netty.handler.codec.string | 2 types | io.netty.handler.codec.string |
| io.undertow.websockets.core.protocol | 2 types | io.undertow.websockets.core.protocol |
| io.undertow.websockets.core.protocol.version08 | 2 types | io.undertow.websockets.core.protocol.version08 |
| io.undertow.websockets.core.protocol.version13 | 2 types | io.undertow.websockets.core.protocol.version13 |
| io.undertow.servlet.predicate | 2 types | io.undertow.servlet.predicate |
| org.apache.tomcat | 2 types | org.apache.tomcat |
| org.apache.jasper.security | 2 types | org.apache.jasper.security |
| org.apache.jasper.compiler.tagplugin | 2 types | org.apache.jasper.compiler.tagplugin |
| org.jboss.modules.xml | 3 types | org.jboss.modules.xml |
| org.objectweb.asm.signature | 3 types | org.objectweb.asm.signature |
| com.fasterxml.jackson.core.base | 3 types | com.fasterxml.jackson.core.base |
| com.fasterxml.jackson.databind.jsonschema | 3 types | com.fasterxml.jackson.databind.jsonschema |
| com.fasterxml.jackson.jaxrs.base | 3 types | com.fasterxml.jackson.jaxrs.base |
| com.fasterxml.jackson.jaxrs.util | 3 types | com.fasterxml.jackson.jaxrs.util |
| com.fasterxml.jackson.jaxrs.json.annotation | 3 types | com.fasterxml.jackson.jaxrs.json.annotation |
| com.fasterxml.jackson.module.jaxb.deser | 3 types | com.fasterxml.jackson.module.jaxb.deser |
| com.google.thirdparty.publicsuffix | 3 types | com.google.thirdparty.publicsuffix |
| org.h2.constant | 3 types | org.h2.constant |
| org.h2.jmx | 3 types | org.h2.jmx |
| com.sun.faces.io | 3 types | com.sun.faces.io |
| com.sun.faces.ext.validator | 3 types | com.sun.faces.ext.validator |
| com.sun.faces.taglib | 3 types | com.sun.faces.taglib |
| com.sun.xml.fastinfoset.vocab | 3 types | com.sun.xml.fastinfoset.vocab |
| com.sun.xml.fastinfoset.stax.factory | 3 types | com.sun.xml.fastinfoset.stax.factory |
| com.sun.xml.bind.annotation | 3 types | com.sun.xml.bind.annotation |
| com.sun.tools.xjc.runtime | 3 types | com.sun.tools.xjc.runtime |
| com.sun.tools.xjc.api.impl.j2s | 3 types | com.sun.tools.xjc.api.impl.j2s |
| com.sun.tools.xjc.generator.annotation.ri | 3 types | com.sun.tools.xjc.generator.annotation.ri |
| com.sun.xml.messaging.saaj.packaging.mime | 3 types | com.sun.xml.messaging.saaj.packaging.mime |
| org.apache.jasper.servlet | 3 types | org.apache.jasper.servlet |
| org.apache.jasper.tagplugins.jstl | 3 types | org.apache.jasper.tagplugins.jstl |
| ch.qos.cal10n.verifier.processor | 4 types | ch.qos.cal10n.verifier.processor |
| com.fasterxml.jackson.databind.exc | 4 types | com.fasterxml.jackson.databind.exc |
| com.google.common.annotations | 4 types | com.google.common.annotations |
| org.h2.constraint | 4 types | org.h2.constraint |
| org.h2.server.pg | 4 types | org.h2.server.pg |
| com.sun.istack.localization | 4 types | com.sun.istack.localization |
| com.sun.faces.scripting | 4 types | com.sun.faces.scripting |
| com.sun.xml.bind.unmarshaller | 4 types | com.sun.xml.bind.unmarshaller |
| com.sun.tools.jxc.model.nav | 4 types | com.sun.tools.jxc.model.nav |
| com.sun.tools.xjc.api.util | 4 types | com.sun.tools.xjc.api.util |
| io.netty.handler.codec.base64 | 4 types | io.netty.handler.codec.base64 |
| io.netty.handler.codec.protobuf | 4 types | io.netty.handler.codec.protobuf |
| io.netty.handler.codec.sctp | 4 types | io.netty.handler.codec.sctp |
| io.netty.handler.codec.http.cors | 4 types | io.netty.handler.codec.http.cors |
| org.eclipse.jdt.core | 4 types | org.eclipse.jdt.core |
| io.undertow.servlet.attribute | 4 types | io.undertow.servlet.attribute |
| io.undertow.jsp | 4 types | io.undertow.jsp |
| net.jcip.annotations | 4 types | net.jcip.annotations |
Statistics
| Stat | types |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Rule warning: Nested types should not be visible |
warnif count > 0 from t in JustMyCode.Types where
t.IsNested &&
!t.IsGeneratedByCompiler &&
!t.IsPrivate
select new { t, t.NbLinesOfCode, t.Visibility }
// A nested type is a type declared within the
// scope of another type. Nested types are useful
// for encapsulating private implementation details
// of the containing type. Used for this purpose,
// nested types should not be externally visible.
// Do not use externally visible nested types for
// logical grouping or to avoid name collisions;
// instead, use packages.
678 types matched
| types | # lines of code (LOC) | Visibility | Full Name |
|---|---|---|---|
| Module$Visited | 10 | Internal | org.jboss.modules.Module$Visited |
| Linkage$State | N/A | Internal | org.jboss.modules.Linkage$State |
| ConcurrentClassLoader$LoaderThread | 30 | Internal | org.jboss.modules.ConcurrentClassLoader$LoaderThread |
| Module$2 | 2 | Internal | org.jboss.modules.Module$2 |
| FileResourceLoader$2 | 2 | Internal | org.jboss.modules.FileResourceLoader$2 |
| ModuleClassLoader$Configuration | 10 | Public | org.jboss.modules.ModuleClassLoader$Configuration |
| ModuleLoader$4 | 3 | Internal | org.jboss.modules.ModuleLoader$4 |
| UnlockedReadHashMap$1 | 0 | Internal | org.jboss.modules.UnlockedReadHashMap$1 |
| Module$1 | 9 | Internal | org.jboss.modules.Module$1 |
| ModuleClassLoader$3 | 29 | Internal | org.jboss.modules.ModuleClassLoader$3 |
| ModuleXmlParser$1 | 6 | Internal | org.jboss.modules.ModuleXmlParser$1 |
| ModuleClassLoader$1 | 8 | Internal | org.jboss.modules.ModuleClassLoader$1 |
| IdentityHashSet$1 | 0 | Internal | org.jboss.modules.IdentityHashSet$1 |
| ModularURLStreamHandlerFactory$2 | 2 | Internal | org.jboss.modules.ModularURLStreamHandlerFactory$2 |
| ModuleLoader$1 | 10 | Internal | org.jboss.modules.ModuleLoader$1 |
| ModuleSpec$2 | 4 | Internal | org.jboss.modules.ModuleSpec$2 |
| Module$3 | 29 | Internal | org.jboss.modules.Module$3 |
| ModuleSpec$Builder | N/A | Public | org.jboss.modules.ModuleSpec$Builder |
| ModuleXmlParser$ResourceRootFactory | N/A | Internal | org.jboss.modules.ModuleXmlParser$ResourceRootFactory |
| FileResourceLoader$1 | 4 | Internal | org.jboss.modules.FileResourceLoader$1 |
| SecurityActions$2 | 3 | Internal | org.jboss.modules.SecurityActions$2 |
| ConcurrentClassLoader$LoadRequest | 12 | Internal | org.jboss.modules.ConcurrentClassLoader$LoadRequest |
| ConcurrentClassLoader$LoaderThreadHolder | 9 | Internal | org.jboss.modules.ConcurrentClassLoader$LoaderThreadHolder |
| ModuleSpec$AliasBuilder | N/A | Public | org.jboss.modules.ModuleSpec$AliasBuilder |
| ClassLoaderLocalLoader$1 | 9 | Internal | org.jboss.modules.ClassLoaderLocalLoader$1 |
| FileResourceLoader$Itr | 38 | Internal | org.jboss.modules.FileResourceLoader$Itr |
| PathFilters$1 | 12 | Internal | org.jboss.modules.filter.PathFilters$1 |
| References$2 | 1 | Internal | org.jboss.modules.ref.References$2 |
| ObjectProperties$Property | 10 | Public | org.jboss.modules.management.ObjectProperties$Property |
| Token$TokenType | N/A | Internal | ch.qos.cal10n.util.Token$TokenType |
| TokenStream$State | N/A | Internal | ch.qos.cal10n.util.TokenStream$State |
| Cal10nError$ErrorType | N/A | Internal | ch.qos.cal10n.verifier.Cal10nError$ErrorType |
| AnnotationOverrides$StdImpl | 4 | Public | com.fasterxml.classmate.AnnotationOverrides$StdImpl |
| ResolvedTypeCache$Key | 27 | Public | com.fasterxml.classmate.util.ResolvedTypeCache$Key |
| JsonAutoDetect$Visibility | N/A | Public | com.fasterxml.jackson.annotation.JsonAutoDetect$Visibility |
| JsonGenerator$Feature | N/A | Public | com.fasterxml.jackson.core.JsonGenerator$Feature |
| JsonParser$Feature | N/A | Public | com.fasterxml.jackson.core.JsonParser$Feature |
| JsonParser$NumberType | N/A | Public | com.fasterxml.jackson.core.JsonParser$NumberType |
| InputAccessor$Std | 39 | Public | com.fasterxml.jackson.core.format.InputAccessor$Std |
| BufferRecycler$ByteBufferType | N/A | Public | com.fasterxml.jackson.core.util.BufferRecycler$ByteBufferType |
| BufferRecycler$CharBufferType | N/A | Public | com.fasterxml.jackson.core.util.BufferRecycler$CharBufferType |
| DefaultPrettyPrinter$NopIndenter | 4 | Public | com.fasterxml.jackson.core.util.DefaultPrettyPrinter$NopIndenter |
| AnnotationIntrospector$ReferenceProperty | 10 | Public | com.fasterxml.jackson.databind .AnnotationIntrospector$ReferenceProperty |
| ObjectMapper$DefaultTyping | N/A | Public | com.fasterxml.jackson.databind.ObjectMapper$DefaultTyping |
| PropertyNamingStrategy$PropertyNamingStrategyBase | 5 | Public | com.fasterxml.jackson.databind .PropertyNamingStrategy$PropertyNamingStrategyBase |
| JsonPOJOBuilder$Value | 4 | Public | com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder$Value |
| JsonSerialize$Typing | N/A | Public | com.fasterxml.jackson.databind.annotation.JsonSerialize$Typing |
| ClassIntrospector$MixInResolver | N/A | Public | com.fasterxml.jackson.databind.introspect .ClassIntrospector$MixInResolver |
| VisibilityChecker$Std | 74 | Public | com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std |
| JsonValueFormatVisitor$Base | 3 | Public | com.fasterxml.jackson.databind.jsonFormatVisitors .JsonValueFormatVisitor$Base |
| ArrayBuilders$BooleanBuilder | 2 | Public | com.fasterxml.jackson.databind.util.ArrayBuilders$BooleanBuilder |
| ArrayBuilders$ByteBuilder | 2 | Public | com.fasterxml.jackson.databind.util.ArrayBuilders$ByteBuilder |
| ArrayBuilders$DoubleBuilder | 2 | Public | com.fasterxml.jackson.databind.util.ArrayBuilders$DoubleBuilder |
| ArrayBuilders$FloatBuilder | 2 | Public | com.fasterxml.jackson.databind.util.ArrayBuilders$FloatBuilder |
| ArrayBuilders$IntBuilder | 2 | Public | com.fasterxml.jackson.databind.util.ArrayBuilders$IntBuilder |
| ArrayBuilders$LongBuilder | 2 | Public | com.fasterxml.jackson.databind.util.ArrayBuilders$LongBuilder |
| ArrayBuilders$ShortBuilder | 2 | Public | com.fasterxml.jackson.databind.util.ArrayBuilders$ShortBuilder |
| Converter$None | 1 | Public | com.fasterxml.jackson.databind.util.Converter$None |
| TokenBuffer$Segment | 104 | Public | com.fasterxml.jackson.databind.util.TokenBuffer$Segment |
| DataFormatReaders$Match | 21 | Public | com.fasterxml.jackson.databind.deser.DataFormatReaders$Match |
| DefaultDeserializationContext$Impl | 8 | Public | com.fasterxml.jackson.databind.deser .DefaultDeserializationContext$Impl |
| ExternalTypeHandler$Builder | 9 | Public | com.fasterxml.jackson.databind.deser.impl.ExternalTypeHandler$Builder |
| DateDeserializers$DateBasedDeserializer<T> | 40 | Public | com.fasterxml.jackson.databind.deser.std .DateDeserializers$DateBasedDeserializer |
| NumberDeserializers$PrimitiveOrWrapperDeserializer<T> | 4 | Public | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$PrimitiveOrWrapperDeserializer |
| DefaultSerializerProvider$Impl | 4 | Public | com.fasterxml.jackson.databind.ser.DefaultSerializerProvider$Impl |
| Serializers$Base | 7 | Public | com.fasterxml.jackson.databind.ser.Serializers$Base |
| PropertySerializerMap$SerializerAndMapResult | 4 | Public | com.fasterxml.jackson.databind.ser.impl .PropertySerializerMap$SerializerAndMapResult |
| NumberSerializers$NumberSerializer | 24 | Public | com.fasterxml.jackson.databind.ser.std .NumberSerializers$NumberSerializer |
| StdArraySerializers$TypedPrimitiveArraySerializer<T> | 6 | Public | com.fasterxml.jackson.databind.ser.std .StdArraySerializers$TypedPrimitiveArraySerializer |
| JSONP$Def | 13 | Public | com.fasterxml.jackson.jaxrs.json.annotation.JSONP$Def |
| JaxbAnnotationModule$Priority | N/A | Public | com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule$Priority |
| AbstractCache$StatsCounter | N/A | Public | com.google.common.cache.AbstractCache$StatsCounter |
| CacheBuilderSpec$DurationParser | 19 | Internal | com.google.common.cache.CacheBuilderSpec$DurationParser |
| CacheBuilderSpec$IntegerParser | 7 | Internal | com.google.common.cache.CacheBuilderSpec$IntegerParser |
| LocalCache$AccessQueue<K,V> | 38 | Internal | com.google.common.cache.LocalCache$AccessQueue |
| LocalCache$EntryFactory | N/A | Internal | com.google.common.cache.LocalCache$EntryFactory |
| LocalCache$HashIterator<T> | 48 | Internal | com.google.common.cache.LocalCache$HashIterator |
| LocalCache$LoadingValueReference<K,V> | 36 | Internal | com.google.common.cache.LocalCache$LoadingValueReference |
| LocalCache$LocalLoadingCache<K,V> | 11 | Internal | com.google.common.cache.LocalCache$LocalLoadingCache |
| LocalCache$LocalManualCache<K,V> | 32 | Internal | com.google.common.cache.LocalCache$LocalManualCache |
| LocalCache$ManualSerializationProxy<K,V> | 37 | Internal | com.google.common.cache.LocalCache$ManualSerializationProxy |
| LocalCache$ReferenceEntry<K,V> | N/A | Internal | com.google.common.cache.LocalCache$ReferenceEntry |
| LocalCache$Segment<K,V> | 786 | Internal | com.google.common.cache.LocalCache$Segment |
| LocalCache$Strength | N/A | Internal | com.google.common.cache.LocalCache$Strength |
| LocalCache$StrongAccessEntry<K,V> | 14 | Internal | com.google.common.cache.LocalCache$StrongAccessEntry |
| LocalCache$StrongAccessWriteEntry<K,V> | 26 | Internal | com.google.common.cache.LocalCache$StrongAccessWriteEntry |
| LocalCache$StrongEntry<K,V> | 12 | Internal | com.google.common.cache.LocalCache$StrongEntry |
| LocalCache$StrongValueReference<K,V> | 11 | Internal | com.google.common.cache.LocalCache$StrongValueReference |
| LocalCache$StrongWriteEntry<K,V> | 14 | Internal | com.google.common.cache.LocalCache$StrongWriteEntry |
| LocalCache$ValueReference<K,V> | N/A | Internal | com.google.common.cache.LocalCache$ValueReference |
| LocalCache$WeakAccessEntry<K,V> | 14 | Internal | com.google.common.cache.LocalCache$WeakAccessEntry |
| LocalCache$WeakAccessWriteEntry<K,V> | 26 | Internal | com.google.common.cache.LocalCache$WeakAccessWriteEntry |
| LocalCache$WeakEntry<K,V> | 23 | Internal | com.google.common.cache.LocalCache$WeakEntry |
| LocalCache$WeakValueReference<K,V> | 10 | Internal | com.google.common.cache.LocalCache$WeakValueReference |
| LocalCache$WeakWriteEntry<K,V> | 14 | Internal | com.google.common.cache.LocalCache$WeakWriteEntry |
| LocalCache$WeightedSoftValueReference<K,V> | 5 | Internal | com.google.common.cache.LocalCache$WeightedSoftValueReference |
| LocalCache$WeightedStrongValueReference<K,V> | 4 | Internal | com.google.common.cache.LocalCache$WeightedStrongValueReference |
| LocalCache$WeightedWeakValueReference<K,V> | 5 | Internal | com.google.common.cache.LocalCache$WeightedWeakValueReference |
| LocalCache$WriteQueue<K,V> | 38 | Internal | com.google.common.cache.LocalCache$WriteQueue |
| LocalCache$WriteThroughEntry | 13 | Internal | com.google.common.cache.LocalCache$WriteThroughEntry |
Statistics
| Stat | # lines of code (LOC) | Visibility |
|---|---|---|
| Sum: | 12 829 | 0 |
| Average: | 23.98 | 0 |
| Minimum: | 0 | 0 |
| Maximum: | 1 350 | 0 |
| Standard deviation: | 84.81 | 0 |
| Variance: | 7 191 | 0 |
| Rule warning: Instances size shouldn't be too big |
warnif count > 0 from t in JustMyCode.Types where
t.SizeOfInst > 64
orderby t.SizeOfInst descending
select new { t, t.SizeOfInst, t.InstanceFields }
// Types where SizeOfInst > 64 might degrade performance
// (depending on the number of instances created at runtime)
// and might be hard to maintain. However it is not a rule
// since sometime there is no alternative (the size of
// instances of the System.Net.NetworkInformation.SystemIcmpV6Statistics
// standard class is 2064 bytes).
// Notice that a class with a large SizeOfInst value
// doesn't necessarily have a lot of instance fields.
// It might derive from a class with a large SizeOfInst value.
// See the definition of the SizeOfInst metric here
// http://www.jarchitect.com/Metrics#SizeOfInst
306 types matched
| types | Size of instance | InstanceFields | Full Name |
|---|---|---|---|
| Database | 348 | 87 fields | org.h2.engine.Database |
| Parser | 332 | 83 fields | org.eclipse.jdt.internal.compiler.parser.Parser |
| StAXDocumentParser | 260 | 30 fields | com.sun.xml.fastinfoset.stax.StAXDocumentParser |
| MXParser | 256 | 65 fields | org.jboss.modules.xml.MXParser |
| CompilerOptions | 248 | 62 fields | org.eclipse.jdt.internal.compiler.impl.CompilerOptions |
| DeploymentInfo | 240 | 60 fields | io.undertow.servlet.api.DeploymentInfo |
| RecoveryScanner | 224 | 8 fields | org.eclipse.jdt.internal.compiler.parser.RecoveryScanner |
| JavadocParser | 212 | 49 fields | org.eclipse.jdt.internal.compiler.parser.JavadocParser |
| Session | 204 | 48 fields | org.h2.engine.Session |
| EclipseCompilerImpl | 200 | 5 fields | org.eclipse.jdt.internal.compiler.tool.EclipseCompilerImpl |
| SAXDocumentParser | 196 | 14 fields | com.sun.xml.fastinfoset.sax.SAXDocumentParser |
| Select | 192 | 27 fields | org.h2.command.dml.Select |
| Scanner | 192 | 48 fields | org.eclipse.jdt.internal.compiler.parser.Scanner |
| PageInfo | 188 | 47 fields | org.apache.jasper.compiler.PageInfo |
| AbstractCommentParser | 184 | 47 fields | org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser |
| MethodWriter | 180 | 45 fields | org.objectweb.asm.MethodWriter |
| Main | 180 | 45 fields | org.eclipse.jdt.internal.compiler.batch.Main |
| PageStore | 176 | 44 fields | org.h2.store.PageStore |
| StAXDocumentSerializer | 172 | 14 fields | com.sun.xml.fastinfoset.stax.StAXDocumentSerializer |
| SelectManyCheckboxTag | 168 | 42 fields | com.sun.faces.taglib.html_basic.SelectManyCheckboxTag |
| DOMDocumentParser | 168 | 7 fields | com.sun.xml.fastinfoset.dom.DOMDocumentParser |
| TableLink | 164 | 19 fields | org.h2.table.TableLink |
| DbSettings | 160 | 39 fields | org.h2.constant.DbSettings |
| Node$CustomTag | 160 | 26 fields | org.apache.jasper.compiler.Node$CustomTag |
| MVStore | 156 | 39 fields | org.h2.mvstore.MVStore |
| InputSecretTag | 156 | 39 fields | com.sun.faces.taglib.html_basic.InputSecretTag |
| SelectManyListboxTag | 156 | 39 fields | com.sun.faces.taglib.html_basic.SelectManyListboxTag |
| SelectOneRadioTag | 156 | 39 fields | com.sun.faces.taglib.html_basic.SelectOneRadioTag |
| UTF8StreamJsonParser | 152 | 8 fields | com.fasterxml.jackson.core.json.UTF8StreamJsonParser |
| RegularTable | 152 | 13 fields | org.h2.table.RegularTable |
| MVTable | 152 | 13 fields | org.h2.mvstore.db.MVTable |
| InputFileTag | 152 | 38 fields | com.sun.faces.taglib.html_basic.InputFileTag |
| InputTextTag | 152 | 38 fields | com.sun.faces.taglib.html_basic.InputTextTag |
| SelectManyMenuTag | 152 | 38 fields | com.sun.faces.taglib.html_basic.SelectManyMenuTag |
| SelectOneListboxTag | 152 | 38 fields | com.sun.faces.taglib.html_basic.SelectOneListboxTag |
| SelectOneMenuTag | 148 | 37 fields | com.sun.faces.taglib.html_basic.SelectOneMenuTag |
| Driver$OptionsEx | 148 | 2 fields | com.sun.tools.xjc.Driver$OptionsEx |
| ReaderBasedJsonParser | 144 | 6 fields | com.fasterxml.jackson.core.json.ReaderBasedJsonParser |
| TableView | 144 | 14 fields | org.h2.table.TableView |
| InputTextareaTag | 144 | 36 fields | com.sun.faces.taglib.html_basic.InputTextareaTag |
| SAXDocumentSerializerWithPrefixMapping | 144 | 5 fields | com.sun.xml.fastinfoset.sax.SAXDocumentSerializerWithPrefixMapping |
| ForkJoinPool$WorkQueue | 144 | 36 fields | io.netty.util.internal.chmv8.ForkJoinPool$WorkQueue |
| StackMapFrameCodeStream | 144 | 6 fields | org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream |
| DataTableTag | 140 | 35 fields | com.sun.faces.taglib.html_basic.DataTableTag |
| Decoder | 140 | 35 fields | com.sun.xml.fastinfoset.Decoder |
| Options | 140 | 35 fields | com.sun.tools.xjc.Options |
| HttpServerExchange | 140 | 34 fields | io.undertow.server.HttpServerExchange |
| ClassWriter | 136 | 34 fields | org.objectweb.asm.ClassWriter |
| ApplicationAssociate | 136 | 34 fields | com.sun.faces.application.ApplicationAssociate |
| SelectBooleanCheckboxTag | 136 | 34 fields | com.sun.faces.taglib.html_basic.SelectBooleanCheckboxTag |
| ScriptCommand | 132 | 15 fields | org.h2.command.dml.ScriptCommand |
| CommandLinkTag | 132 | 33 fields | com.sun.faces.taglib.html_basic.CommandLinkTag |
| LocalTypeBinding | 132 | 5 fields | org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding |
| XTEA | 128 | 32 fields | org.h2.security.XTEA |
| CommandButtonTag | 128 | 32 fields | com.sun.faces.taglib.html_basic.CommandButtonTag |
| PanelGridTag | 128 | 32 fields | com.sun.faces.taglib.html_basic.PanelGridTag |
| LookupEnvironment | 128 | 42 fields | org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment |
| TryStatement | 128 | 28 fields | org.eclipse.jdt.internal.compiler.ast.TryStatement |
| SelectUnion | 124 | 10 fields | org.h2.command.dml.SelectUnion |
| OutputLinkTag | 124 | 31 fields | com.sun.faces.taglib.html_basic.OutputLinkTag |
| SAXDocumentSerializer | 124 | 2 fields | com.sun.xml.fastinfoset.sax.SAXDocumentSerializer |
| DOMDocumentSerializer | 124 | 2 fields | com.sun.xml.fastinfoset.dom.DOMDocumentSerializer |
| ParserBase | 120 | 27 fields | com.fasterxml.jackson.core.base.ParserBase |
| ApplicationImpl | 120 | 30 fields | com.sun.faces.application.ApplicationImpl |
| HtmlResponseWriter | 120 | 30 fields | com.sun.faces.renderkit.html_basic.HtmlResponseWriter |
| BIGlobalBinding | 120 | 27 fields | com.sun.tools.xjc.reader.xmlschema.bindinfo.BIGlobalBinding |
| TypeDeclaration | 120 | 27 fields | org.eclipse.jdt.internal.compiler.ast.TypeDeclaration |
| CodeStream | 120 | 30 fields | org.eclipse.jdt.internal.compiler.codegen.CodeStream |
| JspCompilationContext | 120 | 30 fields | org.apache.jasper.JspCompilationContext |
| AlterTableAddConstraint | 116 | 17 fields | org.h2.command.ddl.AlterTableAddConstraint |
| Encoder | 116 | 29 fields | com.sun.xml.fastinfoset.Encoder |
| ForkJoinPool | 116 | 29 fields | io.netty.util.internal.chmv8.ForkJoinPool |
| PageDataIndex | 112 | 12 fields | org.h2.index.PageDataIndex |
| ConvertNumberTag | 112 | 26 fields | com.sun.faces.taglib.jsf_core.ConvertNumberTag |
| XMLSerializer | 112 | 24 fields | com.sun.xml.bind.v2.runtime.XMLSerializer |
| WebSocket07Channel | 112 | 3 fields | io.undertow.websockets.core.protocol.version07.WebSocket07Channel |
| WebSocket08Channel | 112 | 0 field | io.undertow.websockets.core.protocol.version08.WebSocket08Channel |
| WebSocket13Channel | 112 | 0 field | io.undertow.websockets.core.protocol.version13.WebSocket13Channel |
| MemberTypeBinding | 112 | 0 field | org.eclipse.jdt.internal.compiler.lookup.MemberTypeBinding |
| NestedTypeBinding | 112 | 5 fields | org.eclipse.jdt.internal.compiler.lookup.NestedTypeBinding |
| ClassFileReader | 112 | 25 fields | org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader |
| DiagnoseParser | 112 | 28 fields | org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser |
| EmbeddedServletOptions | 112 | 28 fields | org.apache.jasper.EmbeddedServletOptions |
| FunctionTable | 108 | 5 fields | org.h2.table.FunctionTable |
| UnmarshallingContext | 108 | 23 fields | com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext |
| elementDeclBody | 108 | 24 fields | com.sun.xml.xsom.impl.parser.state.elementDeclBody |
| Schema | 108 | 24 fields | com.sun.xml.xsom.impl.parser.state.Schema |
| LoopingFlowContext | 108 | 17 fields | org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext |
| CreateLinkedTable | 104 | 14 fields | org.h2.command.ddl.CreateLinkedTable |
| GraphicImageTag | 104 | 26 fields | com.sun.faces.taglib.html_basic.GraphicImageTag |
| LocalChannel | 104 | 10 fields | io.netty.channel.local.LocalChannel |
| RxtxChannel | 104 | 4 fields | io.netty.channel.rxtx.RxtxChannel |
| NioSctpChannel | 104 | 3 fields | io.netty.channel.sctp.nio.NioSctpChannel |
| OioSctpChannel | 104 | 7 fields | io.netty.channel.sctp.oio.OioSctpChannel |
| NioDatagramChannel | 104 | 3 fields | io.netty.channel.socket.nio.NioDatagramChannel |
| MethodScope | 104 | 13 fields | org.eclipse.jdt.internal.compiler.lookup.MethodScope |
| MetaTable | 100 | 3 fields | org.h2.table.MetaTable |
| RangeTable | 100 | 3 fields | org.h2.table.RangeTable |
| TableBase | 100 | 3 fields | org.h2.table.TableBase |
| JAXBContextImpl | 100 | 25 fields | com.sun.xml.bind.v2.runtime.JAXBContextImpl |
Statistics
| Stat | Size of instance | InstanceFields |
|---|---|---|
| Sum: | 31 188 | 0 |
| Average: | 101.92 | 0 |
| Minimum: | 68 | 0 |
| Maximum: | 348 | 0 |
| Standard deviation: | 40.71 | 0 |
| Variance: | 1 657 | 0 |
| Rule warning: Don't use obsolete types, methods or fields |
warnif count > 0
let obsoleteTypes = Types.Where(t => t.IsObsolete)
let obsoleteMethods = Methods.Where(m2 => m2.IsObsolete).ToHashSet()
let obsoleteFields = Fields.Where(f => f.IsObsolete)
from m in JustMyCode.Methods.UsingAny(obsoleteTypes).Union(
JustMyCode.Methods.UsingAny(obsoleteMethods)).Union(
JustMyCode.Methods.UsingAny(obsoleteFields))
let obsoleteTypesUsed = obsoleteTypes.UsedBy(m)
// Optimization: MethodsCalled + Intersect() is faster than using obsoleteMethods.UsedBy()
let obsoleteMethodsUsed = m.MethodsCalled.Intersect(obsoleteMethods)
let obsoleteFieldsUsed = obsoleteFields.UsedBy(m)
select new { m, obsoleteTypesUsed, obsoleteMethodsUsed, obsoleteFieldsUsed }
145 methods matched
| methods | obsoleteTypesUsed | obsoleteMethodsUsed | obsoleteFieldsUsed | Full Name |
|---|---|---|---|---|
| getFactory() | 0 type | 1 method | 0 field | com.fasterxml.jackson.core.ObjectCodec.getFactory() |
| findNameForSerialization(Annotated) | 0 type | 2 methods | 0 field | com.fasterxml.jackson.databind.AnnotationIntrospector .findNameForSerialization(Annotated) |
| findNameForDeserialization(Annotated) | 0 type | 3 methods | 0 field | com.fasterxml.jackson.databind.AnnotationIntrospector .findNameForDeserialization(Annotated) |
| findFilterId(AnnotatedClass) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair .findFilterId(AnnotatedClass) |
| findDeserializationName(AnnotatedMethod) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair .findDeserializationName(AnnotatedMethod) |
| findDeserializationName(AnnotatedField) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair .findDeserializationName(AnnotatedField) |
| findDeserializationName(AnnotatedParameter) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair .findDeserializationName(AnnotatedParameter) |
| findSerializationName(AnnotatedMethod) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair .findSerializationName(AnnotatedMethod) |
| findSerializationName(AnnotatedField) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair .findSerializationName(AnnotatedField) |
| findSerializationInclusion(Annotated,JsonInclude$Include) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.introspect .JacksonAnnotationIntrospector.findSerializationInclusion(Annotated ,JsonInclude$Include) |
| findNameForSerialization(Annotated) | 0 type | 2 methods | 0 field | com.fasterxml.jackson.databind.introspect .JacksonAnnotationIntrospector.findNameForSerialization(Annotated) |
| findNameForDeserialization(Annotated) | 0 type | 3 methods | 0 field | com.fasterxml.jackson.databind.introspect .JacksonAnnotationIntrospector.findNameForDeserialization(Annotated) |
| deserializeFromNumber(JsonParser,DeserializationContext) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.deser.BeanDeserializerBase .deserializeFromNumber(JsonParser,DeserializationContext) |
| deserializeFromDouble(JsonParser,DeserializationContext) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.deser.BeanDeserializerBase .deserializeFromDouble(JsonParser,DeserializationContext) |
| deserializeFromArray(JsonParser,DeserializationContext) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.deser.BeanDeserializerBase .deserializeFromArray(JsonParser,DeserializationContext) |
| hasProperty(String) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder .hasProperty(String) |
| ObjectIdValueProperty(ObjectIdValueProperty,String) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.deser.impl.ObjectIdValueProperty .ObjectIdValueProperty(ObjectIdValueProperty,String) |
| withName(PropertyName) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.deser.impl.ObjectIdValueProperty .withName(PropertyName) |
| _handleDuplicateField(JsonParser,DeserializationContext ,JsonNodeFactory,String,ObjectNode,JsonNode,JsonNode) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer ._handleDuplicateField(JsonParser,DeserializationContext ,JsonNodeFactory,String,ObjectNode,JsonNode,JsonNode) |
| typeFromId(DatabindContext,String) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase .typeFromId(DatabindContext,String) |
| findPropertyFilter(Object,Object) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.ser.FilterProvider.findPropertyFilter (Object,Object) |
| construct(JavaType,PropertyName,ObjectIdGenerator,boolean) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.ser.impl.ObjectIdWriter.construct (JavaType,PropertyName,ObjectIdGenerator,boolean) |
| depositSchemaProperty(PropertyWriter,ObjectNode,SerializerProvider) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter$1 .depositSchemaProperty(PropertyWriter,ObjectNode,SerializerProvider) |
| depositSchemaProperty(BeanPropertyWriter,ObjectNode,SerializerProvider ) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter .depositSchemaProperty(BeanPropertyWriter,ObjectNode ,SerializerProvider) |
| depositSchemaProperty(PropertyWriter,ObjectNode,SerializerProvider) | 0 type | 1 method | 0 field | com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter .depositSchemaProperty(PropertyWriter,ObjectNode,SerializerProvider) |
| getSchema(SerializerProvider,Type) | 0 type | 2 methods | 0 field | com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.getSchema (SerializerProvider,Type) |
| getSchema(SerializerProvider,Type) | 0 type | 2 methods | 0 field | com.fasterxml.jackson.databind.ser.std.SerializableSerializer .getSchema(SerializerProvider,Type) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.cache.ForwardingLoadingCache.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.cache.LocalCache$LoadingSerializationProxy.apply (Object) |
| readObject(ObjectInputStream) | 0 type | 1 method | 0 field | com.google.common.collect .ComputingConcurrentHashMap$ComputingSerializationProxy.readObject (ObjectInputStream) |
| readMapMaker(ObjectInputStream) | 0 type | 4 methods | 0 field | com.google.common.collect .MapMakerInternalMap$AbstractSerializationProxy.readMapMaker (ObjectInputStream) |
| Ordering$ArbitraryOrdering() | 0 type | 1 method | 0 field | com.google.common.collect.Ordering$ArbitraryOrdering .Ordering$ArbitraryOrdering() |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.collect.Range.apply(Object) |
| getInput() | 0 type | 1 method | 0 field | com.google.common.io.ByteSource$ByteArrayByteSource.getInput() |
| getInput() | 0 type | 1 method | 0 field | com.google.common.io.ByteSource$ConcatenatedByteSource.getInput() |
| getInput() | 0 type | 1 method | 0 field | com.google.common.io.ByteSource$SlicedByteSource.getInput() |
| apply(InputSupplier) | 0 type | 1 method | 0 field | com.google.common.io.ByteStreams$2.apply(InputSupplier) |
| write(byte[],OutputSupplier) | 0 type | 1 method | 0 field | com.google.common.io.ByteStreams.write(byte[],OutputSupplier) |
| copy(InputSupplier,OutputSupplier) | 0 type | 2 methods | 0 field | com.google.common.io.ByteStreams.copy(InputSupplier,OutputSupplier) |
| copy(InputSupplier,OutputStream) | 0 type | 1 method | 0 field | com.google.common.io.ByteStreams.copy(InputSupplier,OutputStream) |
| copy(InputStream,OutputSupplier) | 0 type | 1 method | 0 field | com.google.common.io.ByteStreams.copy(InputStream,OutputSupplier) |
| toByteArray(InputSupplier) | 0 type | 1 method | 0 field | com.google.common.io.ByteStreams.toByteArray(InputSupplier) |
| length(InputSupplier) | 0 type | 1 method | 0 field | com.google.common.io.ByteStreams.length(InputSupplier) |
| equal(InputSupplier,InputSupplier) | 0 type | 1 method | 0 field | com.google.common.io.ByteStreams.equal(InputSupplier,InputSupplier) |
| hash(InputSupplier,HashFunction) | 0 type | 1 method | 0 field | com.google.common.io.ByteStreams.hash(InputSupplier,HashFunction) |
| slice(InputSupplier,long,long) | 0 type | 1 method | 0 field | com.google.common.io.ByteStreams.slice(InputSupplier,long,long) |
| join(InputSupplier[]) | 0 type | 1 method | 0 field | com.google.common.io.ByteStreams.join(InputSupplier[]) |
| getInput() | 0 type | 1 method | 0 field | com.google.common.io.CharSource$CharSequenceCharSource.getInput() |
| getInput() | 0 type | 1 method | 0 field | com.google.common.io.CharSource$ConcatenatedCharSource.getInput() |
| apply(InputSupplier) | 0 type | 1 method | 0 field | com.google.common.io.CharStreams$1.apply(InputSupplier) |
| newReaderSupplier(InputSupplier,Charset) | 0 type | 1 method | 0 field | com.google.common.io.CharStreams.newReaderSupplier(InputSupplier ,Charset) |
| newWriterSupplier(OutputSupplier,Charset) | 0 type | 1 method | 0 field | com.google.common.io.CharStreams.newWriterSupplier(OutputSupplier ,Charset) |
| write(CharSequence,OutputSupplier)<W> | 0 type | 1 method | 0 field | com.google.common.io.CharStreams.write(CharSequence,OutputSupplier)<W> |
| copy(InputSupplier,OutputSupplier)<R,W> | 0 type | 2 methods | 0 field | com.google.common.io.CharStreams.copy(InputSupplier,OutputSupplier)<R ,W> |
| copy(InputSupplier,Appendable)<R> | 0 type | 1 method | 0 field | com.google.common.io.CharStreams.copy(InputSupplier,Appendable)<R> |
| toString(InputSupplier)<R> | 0 type | 1 method | 0 field | com.google.common.io.CharStreams.toString(InputSupplier)<R> |
| readFirstLine(InputSupplier)<R> | 0 type | 1 method | 0 field | com.google.common.io.CharStreams.readFirstLine(InputSupplier)<R> |
| join(InputSupplier[]) | 0 type | 1 method | 0 field | com.google.common.io.CharStreams.join(InputSupplier[]) |
| newOutputStreamSupplier(File) | 0 type | 1 method | 0 field | com.google.common.io.Files.newOutputStreamSupplier(File) |
| newWriterSupplier(File,Charset) | 0 type | 1 method | 0 field | com.google.common.io.Files.newWriterSupplier(File,Charset) |
| copy(InputSupplier,File) | 0 type | 1 method | 0 field | com.google.common.io.Files.copy(InputSupplier,File) |
| copy(File,OutputSupplier) | 0 type | 1 method | 0 field | com.google.common.io.Files.copy(File,OutputSupplier) |
| copy(InputSupplier,File,Charset)<R> | 0 type | 1 method | 0 field | com.google.common.io.Files.copy(InputSupplier,File,Charset)<R> |
| copy(File,Charset,OutputSupplier)<W> | 0 type | 1 method | 0 field | com.google.common.io.Files.copy(File,Charset,OutputSupplier)<W> |
| readLines(File,Charset,LineProcessor)<T> | 0 type | 2 methods | 0 field | com.google.common.io.Files.readLines(File,Charset,LineProcessor)<T> |
| readBytes(File,ByteProcessor)<T> | 0 type | 2 methods | 0 field | com.google.common.io.Files.readBytes(File,ByteProcessor)<T> |
| readLines(URL,Charset,LineProcessor)<T> | 0 type | 2 methods | 0 field | com.google.common.io.Resources.readLines(URL,Charset,LineProcessor)<T> |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$1.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$11.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$2.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$3.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$4.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$5.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$6.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$And.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$FastMatcher.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$NegatedMatcher.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$Or.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher$RangesMatcher.apply(Object) |
| apply(Object) | 0 type | 1 method | 0 field | com.google.common.base.CharMatcher.apply(Object) |
| createUnstarted() | 0 type | 1 method | 0 field | com.google.common.base.Stopwatch.createUnstarted() |
| createUnstarted(Ticker) | 0 type | 1 method | 0 field | com.google.common.base.Stopwatch.createUnstarted(Ticker) |
| createStarted() | 0 type | 1 method | 0 field | com.google.common.base.Stopwatch.createStarted() |
| createStarted(Ticker) | 0 type | 1 method | 0 field | com.google.common.base.Stopwatch.createStarted(Ticker) |
| Stopwatch() | 0 type | 1 method | 0 field | com.google.common.base.Stopwatch.Stopwatch() |
| start() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractExecutionThreadService.start () |
| startAndWait() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractExecutionThreadService .startAndWait() |
| stop() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractExecutionThreadService.stop( ) |
| stopAndWait() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractExecutionThreadService .stopAndWait() |
| start() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractIdleService.start() |
| startAndWait() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractIdleService.startAndWait() |
| stop() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractIdleService.stop() |
| stopAndWait() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractIdleService.stopAndWait() |
| start() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractScheduledService.start() |
| startAndWait() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractScheduledService .startAndWait() |
| stop() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractScheduledService.stop() |
| stopAndWait() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractScheduledService.stopAndWait () |
| stopAsync() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractService.stopAsync() |
| startAndWait() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractService.startAndWait() |
| stopAndWait() | 0 type | 1 method | 0 field | com.google.common.util.concurrent.AbstractService.stopAndWait() |
Statistics
| Stat | obsoleteTypesUsed | obsoleteMethodsUsed | obsoleteFieldsUsed |
|---|---|---|---|
| Sum: | 0 | 0 | 0 |
| Average: | 0 | 0 | 0 |
| Minimum: | 0 | 0 | 0 |
| Maximum: | 0 | 0 | 0 |
| Standard deviation: | 0 | 0 | 0 |
| Variance: | 0 | 0 | 0 |
| Architecture and Layering | 230 |
|
| Rule warning: Avoid packages mutually dependent |
warnif count > 0
// Foreach pair of package mutually dependent, this rule lists pairs.
// The pair { first, second } is formatted to show that first package shouldn't use the second package.
// The first/second order is inferred from the number of types used by each other.
// The first package is using less types of the second.
// It means that the first package is certainly at a lower level in the architecture, than the second.
//
// To explore the coupling between two packages mutually dependent:
// 1) export the first package to the vertical header of the dependency matrix
// 2) export the second package to the horizontal header of the dependency matrix
// 3) double-click the black cell
// 4) in the matrix command bar, click the button: Remove empty Row(s) en Column(s)
// At this point, the dependency matrix shows types involved into the coupling.
//
// Following this rule is useful to avoid packages dependency cycles.
// More on this in our white books relative to partitionning code.
// http://www.jarchitect.com/WhiteBooks
// Optimization: restreint application projects set
// If some packages are mutually dependent
// - They must be declared in the same project
// - The parent project must ContainsPackageDependencyCycle
from project in Application.Projects.Where(a => a.ContainsPackageDependencyCycle != null && a.ContainsPackageDependencyCycle.Value)
// hashset is used to avoid reporting both A <-> B and B <-> A
let hashset = new HashSet<IPackage>()
// Optimization: restreint packages set
// If a package doesn't have a Level value, it must be in a dependency cycle
// or it must be using directly or indirectly a dependency cycle.
let packagesSuspect = project.ChildPackages.Where(n => n.Level == null)
from nA in packagesSuspect
// Select PACKAGES mutually dependent with nA
let unused = hashset.Add(nA) // Populate hashset
let packagesMutuallyDependentWith_nA = nA.PackagesUsed.Using(nA)
.Except(hashset) // <-- avoid reporting both A <-> B and B <-> A
where packagesMutuallyDependentWith_nA.Count() > 0
from nB in packagesMutuallyDependentWith_nA
// nA and nB are mutually dependent
// Select first the one that shouldn't use the other.
// The first package is inferred from the fact that it is using less types of the second.
let typesOfBUsedByA = nB.ChildTypes.UsedBy(nA)
let typesOfAUsedByB = nA.ChildTypes.UsedBy(nB)
let first = (typesOfBUsedByA.Count() > typesOfAUsedByB.Count()) ? nB : nA
let second = (first == nA) ? nB : nA
let typesOfFirstUsedBySecond = (first == nA) ? typesOfAUsedByB : typesOfBUsedByA
let typesOfSecondUsedByFirst = (first == nA) ? typesOfBUsedByA : typesOfAUsedByB
select new { first, shouldntUse = second, typesOfFirstUsedBySecond, typesOfSecondUsedByFirst }
315 packages matched
| packages | shouldntUse | typesOfFirstUsedBySecond | typesOfSecondUsedByFirst | Full Name |
|---|---|---|---|---|
| org.jboss.modules | __redirected | 3 types | 1 type | org.jboss.modules |
| org.jboss.modules.filter | org.jboss.modules | 5 types | 1 type | org.jboss.modules.filter |
| org.jboss.modules | org.jboss.modules._private | 2 types | 1 type | org.jboss.modules |
| org.jboss.modules | org.jboss.modules.log | 4 types | 3 types | org.jboss.modules |
| org.jboss.modules | org.jboss.modules.security | 5 types | 3 types | org.jboss.modules |
| ch.qos.cal10n.util | ch.qos.cal10n | 5 types | 4 types | ch.qos.cal10n.util |
| com.fasterxml.classmate.util | com.fasterxml.classmate | 2 types | 1 type | com.fasterxml.classmate.util |
| com.fasterxml.classmate.members | com.fasterxml.classmate | 9 types | 2 types | com.fasterxml.classmate.members |
| com.fasterxml.classmate.types | com.fasterxml.classmate | 6 types | 2 types | com.fasterxml.classmate.types |
| com.fasterxml.jackson.core | com.fasterxml.jackson.core.util | 19 types | 4 types | com.fasterxml.jackson.core |
| com.fasterxml.jackson.core | com.fasterxml.jackson.core.format | 2 types | 2 types | com.fasterxml.jackson.core |
| com.fasterxml.jackson.core | com.fasterxml.jackson.core.json | 17 types | 6 types | com.fasterxml.jackson.core |
| com.fasterxml.jackson.core.io | com.fasterxml.jackson.core | 7 types | 2 types | com.fasterxml.jackson.core.io |
| com.fasterxml.jackson.core.json | com.fasterxml.jackson.core.base | 4 types | 3 types | com.fasterxml.jackson.core.json |
| com.fasterxml.jackson.core.util | com.fasterxml.jackson.core.io | 6 types | 3 types | com.fasterxml.jackson.core.util |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.jsontype | 6 types | 5 types | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind.introspect | com.fasterxml.jackson.databind | 16 types | 13 types | com.fasterxml.jackson.databind.introspect |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.cfg | 11 types | 7 types | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind.util | com.fasterxml.jackson.databind | 12 types | 9 types | com.fasterxml.jackson.databind.util |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.annotation | 4 types | 2 types | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind.type | com.fasterxml.jackson.databind | 5 types | 3 types | com.fasterxml.jackson.databind.type |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.jsonFormatVisitors | 4 types | 3 types | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.deser | 20 types | 15 types | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind.node | com.fasterxml.jackson.databind | 5 types | 4 types | com.fasterxml.jackson.databind.node |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.deser.impl | 10 types | 3 types | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind.exc | com.fasterxml.jackson.databind | 2 types | 1 type | com.fasterxml.jackson.databind.exc |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.ser | 16 types | 10 types | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.jsontype.impl | 10 types | 2 types | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.jsonschema | 3 types | 1 type | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.ser.std | 16 types | 1 type | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind | com.fasterxml.jackson.databind.ser.impl | 11 types | 5 types | com.fasterxml.jackson.databind |
| com.fasterxml.jackson.databind.annotation | com.fasterxml.jackson.databind.deser | 1 type | 1 type | com.fasterxml.jackson.databind.annotation |
| com.fasterxml.jackson.databind.introspect | com.fasterxml.jackson.databind.cfg | 5 types | 3 types | com.fasterxml.jackson.databind.introspect |
| com.fasterxml.jackson.databind.jsontype | com.fasterxml.jackson.databind.cfg | 3 types | 1 type | com.fasterxml.jackson.databind.jsontype |
| com.fasterxml.jackson.databind.util | com.fasterxml.jackson.databind.cfg | 4 types | 2 types | com.fasterxml.jackson.databind.util |
| com.fasterxml.jackson.databind.deser | com.fasterxml.jackson.databind.cfg | 5 types | 4 types | com.fasterxml.jackson.databind.deser |
| com.fasterxml.jackson.databind.cfg | com.fasterxml.jackson.databind.deser.std | 1 type | 1 type | com.fasterxml.jackson.databind.cfg |
| com.fasterxml.jackson.databind.cfg | com.fasterxml.jackson.databind.ser | 4 types | 2 types | com.fasterxml.jackson.databind.cfg |
| com.fasterxml.jackson.databind.deser | com.fasterxml.jackson.databind.ext | 2 types | 1 type | com.fasterxml.jackson.databind.deser |
| com.fasterxml.jackson.databind.ser | com.fasterxml.jackson.databind.ext | 2 types | 1 type | com.fasterxml.jackson.databind.ser |
| com.fasterxml.jackson.databind.introspect | com.fasterxml.jackson.databind.util | 6 types | 6 types | com.fasterxml.jackson.databind.introspect |
| com.fasterxml.jackson.databind.jsontype | com.fasterxml.jackson.databind.introspect | 3 types | 2 types | com.fasterxml.jackson.databind.jsontype |
| com.fasterxml.jackson.databind.introspect | com.fasterxml.jackson.databind.ser.std | 2 types | 1 type | com.fasterxml.jackson.databind.introspect |
| com.fasterxml.jackson.databind.introspect | com.fasterxml.jackson.databind.jsontype.impl | 3 types | 1 type | com.fasterxml.jackson.databind.introspect |
| com.fasterxml.jackson.databind.util | com.fasterxml.jackson.databind.type | 3 types | 2 types | com.fasterxml.jackson.databind.util |
| com.fasterxml.jackson.databind.deser.impl | com.fasterxml.jackson.databind.deser | 21 types | 5 types | com.fasterxml.jackson.databind.deser.impl |
| com.fasterxml.jackson.databind.deser.std | com.fasterxml.jackson.databind.deser | 24 types | 10 types | com.fasterxml.jackson.databind.deser.std |
| com.fasterxml.jackson.databind.deser.impl | com.fasterxml.jackson.databind.deser.std | 4 types | 2 types | com.fasterxml.jackson.databind.deser.impl |
| com.fasterxml.jackson.databind.ser.std | com.fasterxml.jackson.databind.ser | 24 types | 9 types | com.fasterxml.jackson.databind.ser.std |
| com.fasterxml.jackson.databind.ser.impl | com.fasterxml.jackson.databind.ser | 14 types | 8 types | com.fasterxml.jackson.databind.ser.impl |
| com.fasterxml.jackson.databind.ser.impl | com.fasterxml.jackson.databind.ser.std | 7 types | 5 types | com.fasterxml.jackson.databind.ser.impl |
| org.h2.bnf | org.h2.server.web | 5 types | 3 types | org.h2.bnf |
| org.h2.compress | org.h2.mvstore | 2 types | 1 type | org.h2.compress |
| org.h2.constant | org.h2.engine | 2 types | 1 type | org.h2.constant |
| org.h2.util | org.h2.constant | 2 types | 1 type | org.h2.util |
| org.h2.constraint | org.h2.table | 4 types | 4 types | org.h2.constraint |
| org.h2.schema | org.h2.constraint | 2 types | 1 type | org.h2.schema |
| org.h2.engine | org.h2.constraint | 3 types | 1 type | org.h2.engine |
| org.h2.engine | org.h2.table | 16 types | 6 types | org.h2.engine |
| org.h2.util | org.h2.engine | 12 types | 1 type | org.h2.util |
| org.h2.store.fs | org.h2.engine | 2 types | 1 type | org.h2.store.fs |
| org.h2.engine | org.h2.command.dml | 13 types | 1 type | org.h2.engine |
| org.h2.store | org.h2.engine | 10 types | 5 types | org.h2.store |
| org.h2.engine | org.h2.schema | 6 types | 5 types | org.h2.engine |
| org.h2.value | org.h2.engine | 10 types | 2 types | org.h2.value |
| org.h2.mvstore.db | org.h2.engine | 6 types | 3 types | org.h2.mvstore.db |
| org.h2.engine | org.h2.mvstore | 1 type | 1 type | org.h2.engine |
| org.h2.engine | org.h2.command.ddl | 13 types | 1 type | org.h2.engine |
| org.h2.engine | org.h2.index | 5 types | 3 types | org.h2.engine |
| org.h2.engine | org.h2.tools | 3 types | 2 types | org.h2.engine |
| org.h2.engine | org.h2.result | 3 types | 3 types | org.h2.engine |
| org.h2.engine | org.h2.jdbc | 4 types | 2 types | org.h2.engine |
| org.h2.engine | org.h2.command | 9 types | 5 types | org.h2.engine |
| org.h2.engine | org.h2.expression | 10 types | 1 type | org.h2.engine |
| org.h2.result | org.h2.expression | 4 types | 1 type | org.h2.result |
| org.h2.expression | org.h2.command.dml | 8 types | 3 types | org.h2.expression |
| org.h2.expression | org.h2.table | 9 types | 6 types | org.h2.expression |
| org.h2.expression | org.h2.index | 4 types | 3 types | org.h2.expression |
| org.h2.expression | org.h2.message | 1 type | 1 type | org.h2.expression |
| org.h2.expression | org.h2.command | 27 types | 3 types | org.h2.expression |
| org.h2.schema | org.h2.expression | 4 types | 1 type | org.h2.schema |
| org.h2.schema | org.h2.index | 3 types | 1 type | org.h2.schema |
| org.h2.index | org.h2.table | 19 types | 10 types | org.h2.index |
| org.h2.result | org.h2.index | 5 types | 4 types | org.h2.result |
| org.h2.index | org.h2.command.dml | 3 types | 2 types | org.h2.index |
| org.h2.index | org.h2.command | 1 type | 1 type | org.h2.index |
| org.h2.index | org.h2.store | 13 types | 4 types | org.h2.index |
| org.h2.value | org.h2.jdbc | 17 types | 3 types | org.h2.value |
| org.h2.message | org.h2.jdbc | 3 types | 1 type | org.h2.message |
| org.h2.jdbc | org.h2.tools | 1 type | 1 type | org.h2.jdbc |
| org.h2.result | org.h2.jdbc | 2 types | 1 type | org.h2.result |
| org.h2.store | org.h2.jdbc | 2 types | 1 type | org.h2.store |
| org.h2.util | org.h2.jdbcx | 3 types | 1 type | org.h2.util |
| org.h2.util | org.h2.message | 6 types | 3 types | org.h2.util |
| org.h2.message | org.h2.value | 2 types | 1 type | org.h2.message |
| org.h2.message | org.h2.store.fs | 1 type | 1 type | org.h2.message |
| org.h2.store | org.h2.result | 2 types | 1 type | org.h2.store |
| org.h2.result | org.h2.table | 8 types | 3 types | org.h2.result |
| org.h2.result | org.h2.command.ddl | 1 type | 1 type | org.h2.result |
| org.h2.result | org.h2.schema | 1 type | 1 type | org.h2.result |
Statistics
| Stat | shouldntUse | typesOfFirstUsedBySecond | typesOfSecondUsedByFirst |
|---|---|---|---|
| Sum: | 0 | 0 | 0 |
| Average: | 0 | 0 | 0 |
| Minimum: | 0 | 0 | 0 |
| Maximum: | 0 | 0 | 0 |
| Standard deviation: | 0 | 0 | 0 |
| Variance: | 0 | 0 | 0 |
| Rule warning: Avoid packages dependency cycles |
warnif count > 0
// This query lists all application packages dependency cyles.
// Each row shows a different cycle, prefixed with a package entangled in the cycle.
//
// To browse a cycle on the dependency graph or the dependency matrix, just right click
// a cycle cell and export packages matched to the dependency graph or matrix!
//
// In the matrix, dependency cycles are represented with red squares and black cells.
// To browse easily dependency cycles, the Matrix comes with the option:
// --> Display Direct and Indirect Dependencies
//
// Read our white books relative to partitionning code,
// to know more about packages dependency cycles, and why avoiding them
// is a simple but efficient solution to architecture well your code base.
// http://www.jarchitect.com/WhiteBooks
// Optimization: restreint application projects set
// If some packages are mutually dependent
// - They must be declared in the same project
// - The parent project must ContainsPackageDependencyCycle
from project in Application.Projects
.Where(a => a.ContainsPackageDependencyCycle != null &&
a.ContainsPackageDependencyCycle.Value)
// Optimization: restreint packages set
// A package involved in a cycle necessarily have a null Level.
let packagesSuspect = project.ChildPackages.Where(n => n.Level == null)
// hashset is used to avoid iterating again on packages already caught in a cycle.
let hashset = new HashSet<IPackage>()
from suspect in packagesSuspect
// By commenting this line, the query matches all packages involved in a cycle.
where !hashset.Contains(suspect)
// Define 2 code metrics
// - Packages depth of is using indirectly the suspect package.
// - Packages depth of is used by the suspect package indirectly.
// Note: for direct usage the depth is equal to 1.
let packagesUserDepth = packagesSuspect.DepthOfIsUsing(suspect)
let packagesUsedDepth = packagesSuspect.DepthOfIsUsedBy(suspect)
// Select PACKAGES that are both using and used by packageSuspect
let usersAndUsed = from n in packagesSuspect where
packagesUserDepth[n] > 0 &&
packagesUsedDepth[n] > 0
select n
where usersAndUsed.Count() > 0
// Here we've found package(s) both using and used by the suspect package.
// A cycle involving the suspect package is found!
let cycle = usersAndUsed.Append(suspect)
// Fill hashset with packages in the cycle.
// .ToArray() is needed to force the iterating process.
let unused1 = (from n in cycle let unused2 = hashset.Add(n) select n).ToArray()
select new { suspect, cycle }
22 packages matched
| packages | cycle | Full Name |
|---|---|---|
| __redirected | 6 packages | __redirected |
| ch.qos.cal10n | 2 packages | ch.qos.cal10n |
| com.fasterxml.classmate | 4 packages | com.fasterxml.classmate |
| com.fasterxml.jackson.core | 7 packages | com.fasterxml.jackson.core |
| com.fasterxml.jackson.databind | 19 packages | com.fasterxml.jackson.databind |
| org.h2 | 32 packages | org.h2 |
| com.sun.codemodel | 3 packages | com.sun.codemodel |
| com.sun.faces.el | 34 packages | com.sun.faces.el |
| com.sun.xml.txw2 | 2 packages | com.sun.xml.txw2 |
| org.jvnet.fastinfoset | 7 packages | org.jvnet.fastinfoset |
| com.sun.xml.bind | 20 packages | com.sun.xml.bind |
| com.sun.xml.xsom | 9 packages | com.sun.xml.xsom |
| com.sun.tools.jxc | 23 packages | com.sun.tools.jxc |
| nu.xom.jaxen | 9 packages | nu.xom.jaxen |
| com.sun.xml.messaging.saaj.soap | 7 packages | com.sun.xml.messaging.saaj.soap |
| io.netty.util | 5 packages | io.netty.util |
| io.undertow | 30 packages | io.undertow |
| org.eclipse.jdt.internal.compiler | 14 packages | org.eclipse.jdt.internal.compiler |
| org.eclipse.jdt.internal.compiler.apt.dispatch | 2 packages | org.eclipse.jdt.internal.compiler.apt.dispatch |
| io.undertow.servlet | 8 packages | io.undertow.servlet |
| org.apache.jasper | 7 packages | org.apache.jasper |
| io.undertow.websockets.jsr | 4 packages | io.undertow.websockets.jsr |
Statistics
| Stat | cycle |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Rule warning: Projects with poor cohesion (RelationalCohesion) |
warnif count > 0 from a in Application.Projects where
a.NbTypes > 20 && // Relational Cohesion metrics is relevant only if there are several types
(a.RelationalCohesion < 1.5 ||
a.RelationalCohesion > 4.0)
select new { a, a.NbTypes, a.RelationalCohesion }
// As classes inside an project should be strongly related,
// the cohesion should be high. On the other hand, a value
// which is too high may indicate over-coupling. A good range
// for RelationalCohesion is 1.5 to 4.0.
// See the definition of the RelationalCohesion metric here
// http://www.jarchitect.com/Metrics#RelationalCohesion
11 projects matched
| projects | # Types | Relational cohesion | Full Name |
|---|---|---|---|
| jackson-annotations-2.3.2 | 49 | 1.08 | jackson-annotations-2.3.2 |
| jackson-core-2.3.2 | 88 | 4.15 | jackson-core-2.3.2 |
| jackson-databind-2.3.2 | 565 | 6.2 | jackson-databind-2.3.2 |
| guava-16.0.1 | 1 678 | 4.17 | guava-16.0.1 |
| h2-1.3.173 | 585 | 7.93 | h2-1.3.173 |
| codemodel-2.6 | 127 | 4.4 | codemodel-2.6 |
| jaxb-impl-2.2.5.jboss-1 | 623 | 4.63 | jaxb-impl-2.2.5.jboss-1 |
| xsom-20110809 | 264 | 6.43 | xsom-20110809 |
| netty-all-4.0.15.Final | 972 | 4.78 | netty-all-4.0.15.Final |
| ecj-4.3.1 | 474 | 9.74 | ecj-4.3.1 |
| jastow-1.0.0.Final | 257 | 5.16 | jastow-1.0.0.Final |
Statistics
| Stat | # Types | Relational cohesion |
|---|---|---|
| Sum: | 5 682 | 58.68 |
| Average: | 516.55 | 5.33 |
| Minimum: | 49 | 1.08 |
| Maximum: | 1 678 | 9.74 |
| Standard deviation: | 453.44 | 2.15 |
| Variance: | 205 611 | 4.61 |
| Best Practices | 190 |
|
| Critical Rule warning: Avoid finalizers |
warnif count > 0 from m in Methods where m.Name =="finalize()"
select m
//Don’t use finalizers except as a safety net or to terminate noncritical native resources.
//In those rare instances where you do use a finalizer,remember to invoke super.finalize.
6 methods matched
| methods | Full Name |
|---|---|
| finalize() | java.lang.Object.finalize() |
| finalize() | org.jboss.modules.ModuleClassLoader.finalize() |
| finalize() | com.google.common.io.FileBackedOutputStream$1.finalize() |
| finalize() | org.h2.result.ResultDiskBuffer.finalize() |
| finalize() | org.h2.store.FileStoreInputStream.finalize() |
| finalize() | com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.finalize() |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Critical Rule warning: Prefer primitive types to boxed primitives |
warnif count > 0
let BoxedTypes = ThirdParty.Types.WithFullNameIn(
"java.lang.Integer",
"java.lang.Double",
"java.lang.Boolean")
from m in Application.Methods.UsingAny(BoxedTypes)
select m
//Use primitives in preference to boxed primitives whenever you
//have the choice. Primitive types are simpler and faster. If you must use boxed
//primitives, be careful! Autoboxing reduces the verbosity, but not the danger, of
//using boxed primitives. When your program compares two boxed primitives
//with the == operator, it does an identity comparison, which is almost certainly not
//what you want.
1,604 methods matched
| methods | Full Name |
|---|---|
| toString() | org.jboss.modules.LocalModuleLoader.toString() |
| toString() | org.jboss.modules.ClassifyingModuleLoader.toString() |
| getPackage(String) | org.jboss.modules.ConcurrentClassLoader.getPackage(String) |
| definePackage(String,String,String,String,String,String,String,URL) | org.jboss.modules.ConcurrentClassLoader.definePackage(String,String ,String,String,String,String,String,URL) |
| ConcurrentClassLoader() | org.jboss.modules.ConcurrentClassLoader.ConcurrentClassLoader() |
| ModuleClassLoader() | org.jboss.modules.ModuleClassLoader.ModuleClassLoader() |
| ResourceLoaders() | org.jboss.modules.ResourceLoaders.ResourceLoaders() |
| toString() | org.jboss.modules.ModuleLoader.toString() |
| parseModuleDependency(XmlPullParser,ModuleSpec$Builder) | org.jboss.modules.ModuleXmlParser.parseModuleDependency(XmlPullParser ,ModuleSpec$Builder) |
| parseSystemDependency(XmlPullParser,ModuleSpec$Builder) | org.jboss.modules.ModuleXmlParser.parseSystemDependency(XmlPullParser ,ModuleSpec$Builder) |
| downloadFile(String,String,File) | org.jboss.modules.MavenArtifactUtil.downloadFile(String,String,File) |
| Metrics() | org.jboss.modules.Metrics.Metrics() |
| run() | org.jboss.modules.ModuleLoader$1.run() |
| getPackageSpec(String,Manifest,URL) | org.jboss.modules.AbstractResourceLoader.getPackageSpec(String ,Manifest,URL) |
| toString() | org.jboss.modules.LocalModuleFinder.toString() |
| parseXmlDeclWithVersion(int,int) | org.jboss.modules.xml.MXParser.parseXmlDeclWithVersion(int,int) |
| printable(char) | org.jboss.modules.xml.MXParser.printable(char) |
| hashCode() | org.jboss.modules.filter.BooleanPathFilter.hashCode() |
| AggregatePathFilter(boolean,PathFilter[]) | org.jboss.modules.filter.AggregatePathFilter.AggregatePathFilter (boolean,PathFilter[]) |
| MultiplePathFilter(PathFilter[],boolean[],boolean) | org.jboss.modules.filter.MultiplePathFilter.MultiplePathFilter (PathFilter[],boolean[],boolean) |
| hashCode() | org.jboss.modules.filter.BooleanClassFilter.hashCode() |
| addFilter(PathFilter,boolean) | org.jboss.modules.filter.MultiplePathFilterBuilder.addFilter (PathFilter,boolean) |
| create() | org.jboss.modules.filter.MultiplePathFilterBuilder.create() |
| visit(String,Object) | org.objectweb.asm.AnnotationWriter.visit(String,Object) |
| a(ClassWriter) | org.objectweb.asm.ClassReader.a(ClassWriter) |
| a(int,char[],String,AnnotationVisitor) | org.objectweb.asm.ClassReader.a(int,char[],String,AnnotationVisitor) |
| readConst(int,char[]) | org.objectweb.asm.ClassReader.readConst(int,char[]) |
| a(Object) | org.objectweb.asm.ClassWriter.a(Object) |
| a(double) | org.objectweb.asm.Item.a(double) |
| visitFrame(int,int,Object[],int,Object[]) | org.objectweb.asm.MethodWriter.visitFrame(int,int,Object[],int ,Object[]) |
| a(Object) | org.objectweb.asm.MethodWriter.a(Object) |
| Opcodes() | org.objectweb.asm.Opcodes.Opcodes() |
| getType(Class) | org.objectweb.asm.Type.getType(Class) |
| a(StringBuffer,Class) | org.objectweb.asm.Type.a(StringBuffer,Class) |
| all() | com.fasterxml.classmate.types.ResolvedPrimitiveType.all() |
| generateId(Object) | com.fasterxml.jackson.annotation .ObjectIdGenerators$IntSequenceGenerator.generateId(Object) |
| _reportInvalidBase64(char,int,String) | com.fasterxml.jackson.core.Base64Variant._reportInvalidBase64(char,int ,String) |
| _writeSimpleObject(Object) | com.fasterxml.jackson.core.JsonGenerator._writeSimpleObject(Object) |
| nextBooleanValue() | com.fasterxml.jackson.core.JsonParser.nextBooleanValue() |
| getNumberValue() | com.fasterxml.jackson.core.base.ParserBase.getNumberValue() |
| reportInvalidBase64Char(Base64Variant,int,int,String) | com.fasterxml.jackson.core.base.ParserBase.reportInvalidBase64Char (Base64Variant,int,int,String) |
| getValueAsBoolean(boolean) | com.fasterxml.jackson.core.base.ParserMinimalBase.getValueAsBoolean (boolean) |
| _reportInvalidBase64(Base64Variant,char,int,String) | com.fasterxml.jackson.core.base.ParserMinimalBase._reportInvalidBase64 (Base64Variant,char,int,String) |
| _getCharDesc(int) | com.fasterxml.jackson.core.base.ParserMinimalBase._getCharDesc(int) |
| _convertSurrogate(int,int) | com.fasterxml.jackson.core.io.JsonStringEncoder._convertSurrogate(int ,int) |
| parseInt(String) | com.fasterxml.jackson.core.io.NumberInput.parseInt(String) |
| parseAsInt(String,int) | com.fasterxml.jackson.core.io.NumberInput.parseAsInt(String,int) |
| parseDouble(String) | com.fasterxml.jackson.core.io.NumberInput.parseDouble(String) |
| toString(int) | com.fasterxml.jackson.core.io.NumberOutput.toString(int) |
| toString(double) | com.fasterxml.jackson.core.io.NumberOutput.toString(double) |
| read(char[],int,int) | com.fasterxml.jackson.core.io.UTF32Reader.read(char[],int,int) |
| reportInvalid(int,int,String) | com.fasterxml.jackson.core.io.UTF32Reader.reportInvalid(int,int,String ) |
| convertSurrogate(int) | com.fasterxml.jackson.core.io.UTF8Writer.convertSurrogate(int) |
| illegalSurrogateDesc(int) | com.fasterxml.jackson.core.io.UTF8Writer.illegalSurrogateDesc(int) |
| nextBooleanValue() | com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextBooleanValue () |
| writeNumber(double) | com.fasterxml.jackson.core.json.UTF8JsonGenerator.writeNumber(double) |
| _writeCustomStringSegment2(char[],int,int) | com.fasterxml.jackson.core.json.UTF8JsonGenerator ._writeCustomStringSegment2(char[],int,int) |
| _decodeSurrogate(int,int) | com.fasterxml.jackson.core.json.UTF8JsonGenerator._decodeSurrogate(int ,int) |
| nextBooleanValue() | com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextBooleanValue( ) |
| _reportInvalidInitial(int) | com.fasterxml.jackson.core.json.UTF8StreamJsonParser ._reportInvalidInitial(int) |
| _reportInvalidOther(int) | com.fasterxml.jackson.core.json.UTF8StreamJsonParser ._reportInvalidOther(int) |
| writeNumber(double) | com.fasterxml.jackson.core.json.WriterBasedJsonGenerator.writeNumber (double) |
| readResolve() | com.fasterxml.jackson.databind.PropertyMetadata.readResolve() |
| withRequired(Boolean) | com.fasterxml.jackson.databind.PropertyMetadata.withRequired(Boolean) |
| isRequired() | com.fasterxml.jackson.databind.PropertyMetadata.isRequired() |
| PropertyMetadata() | com.fasterxml.jackson.databind.PropertyMetadata.PropertyMetadata() |
| toString() | com.fasterxml.jackson.databind.SerializationConfig.toString() |
| _findCachedDesc(JavaType) | com.fasterxml.jackson.databind.introspect.BasicClassIntrospector ._findCachedDesc(JavaType) |
| BasicClassIntrospector() | com.fasterxml.jackson.databind.introspect.BasicClassIntrospector .BasicClassIntrospector() |
| findIgnoreUnknownProperties(AnnotatedClass) | com.fasterxml.jackson.databind.introspect .JacksonAnnotationIntrospector.findIgnoreUnknownProperties (AnnotatedClass) |
| isIgnorableType(AnnotatedClass) | com.fasterxml.jackson.databind.introspect .JacksonAnnotationIntrospector.isIgnorableType(AnnotatedClass) |
| hasRequiredMarker(AnnotatedMember) | com.fasterxml.jackson.databind.introspect .JacksonAnnotationIntrospector.hasRequiredMarker(AnnotatedMember) |
| isTypeId(AnnotatedMember) | com.fasterxml.jackson.databind.introspect .JacksonAnnotationIntrospector.isTypeId(AnnotatedMember) |
| findSerializationSortAlphabetically(AnnotatedClass) | com.fasterxml.jackson.databind.introspect .JacksonAnnotationIntrospector.findSerializationSortAlphabetically (AnnotatedClass) |
| _sortProperties() | com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector ._sortProperties() |
| isTypeId() | com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.isTypeId () |
| getMetadata() | com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder .getMetadata() |
| add(Integer) | com.fasterxml.jackson.databind.node.ArrayNode.add(Integer) |
| add(Double) | com.fasterxml.jackson.databind.node.ArrayNode.add(Double) |
| add(Boolean) | com.fasterxml.jackson.databind.node.ArrayNode.add(Boolean) |
| insert(int,Integer) | com.fasterxml.jackson.databind.node.ArrayNode.insert(int,Integer) |
| insert(int,Double) | com.fasterxml.jackson.databind.node.ArrayNode.insert(int,Double) |
| insert(int,Boolean) | com.fasterxml.jackson.databind.node.ArrayNode.insert(int,Boolean) |
| numberValue() | com.fasterxml.jackson.databind.node.DoubleNode.numberValue() |
| equals(Object) | com.fasterxml.jackson.databind.node.DoubleNode.equals(Object) |
| hashCode() | com.fasterxml.jackson.databind.node.DoubleNode.hashCode() |
| numberValue() | com.fasterxml.jackson.databind.node.IntNode.numberValue() |
| numberNode(Integer) | com.fasterxml.jackson.databind.node.JsonNodeFactory.numberNode(Integer ) |
| numberNode(Double) | com.fasterxml.jackson.databind.node.JsonNodeFactory.numberNode(Double) |
| put(String,Integer) | com.fasterxml.jackson.databind.node.ObjectNode.put(String,Integer) |
| put(String,Double) | com.fasterxml.jackson.databind.node.ObjectNode.put(String,Double) |
| put(String,Boolean) | com.fasterxml.jackson.databind.node.ObjectNode.put(String,Boolean) |
| asBoolean(boolean) | com.fasterxml.jackson.databind.node.POJONode.asBoolean(boolean) |
| _reportInvalidBase64(Base64Variant,char,int,String) | com.fasterxml.jackson.databind.node.TextNode._reportInvalidBase64 (Base64Variant,char,int,String) |
| _classSignature(Class,StringBuilder,boolean) | com.fasterxml.jackson.databind.type.TypeBase._classSignature(Class ,StringBuilder,boolean) |
| _fromClass(Class,TypeBindings) | com.fasterxml.jackson.databind.type.TypeFactory._fromClass(Class ,TypeBindings) |
| TypeFactory() | com.fasterxml.jackson.databind.type.TypeFactory.TypeFactory() |
| okNameForIsGetter(AnnotatedMethod,String) | com.fasterxml.jackson.databind.util.BeanUtil.okNameForIsGetter (AnnotatedMethod,String) |
| findClass(String) | com.fasterxml.jackson.databind.util.ClassUtil.findClass(String) |
| defaultValue(Class) | com.fasterxml.jackson.databind.util.ClassUtil.defaultValue(Class) |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Critical Rule warning: Always override hashcode when you override equals |
warnif count > 0
from t in Types where !t.IsThirdParty && t.Methods.Where(a=>a.Name=="equals(Object)").Count()>0
&& t.Methods.Where(a=>a.Name=="hashCode()").Count()==0
select t
31 types matched
| types | Full Name |
|---|---|
| JsonNode | com.fasterxml.jackson.databind.JsonNode |
| BooleanNode | com.fasterxml.jackson.databind.node.BooleanNode |
| MissingNode | com.fasterxml.jackson.databind.node.MissingNode |
| NullNode | com.fasterxml.jackson.databind.node.NullNode |
| ArrayType | com.fasterxml.jackson.databind.type.ArrayType |
| CollectionLikeType | com.fasterxml.jackson.databind.type.CollectionLikeType |
| MapLikeType | com.fasterxml.jackson.databind.type.MapLikeType |
| SimpleType | com.fasterxml.jackson.databind.type.SimpleType |
| ArrayBuilders$1 | com.fasterxml.jackson.databind.util.ArrayBuilders$1 |
| AbstractListMultimap<K,V> | com.google.common.collect.AbstractListMultimap |
| AbstractSetMultimap<K,V> | com.google.common.collect.AbstractSetMultimap |
| Cut<C> | com.google.common.collect.Cut |
| EmptyImmutableSortedMultiset<E> | com.google.common.collect.EmptyImmutableSortedMultiset |
| ImmutableRangeSet<C> | com.google.common.collect.ImmutableRangeSet |
| ListMultimap<K,V> | com.google.common.collect.ListMultimap |
| RegularImmutableSortedSet<E> | com.google.common.collect.RegularImmutableSortedSet |
| SetMultimap<K,V> | com.google.common.collect.SetMultimap |
| StandardTable$Row$RowEntrySet$1$1 | com.google.common.collect.StandardTable$Row$RowEntrySet$1$1 |
| Synchronized$SynchronizedAsMapEntries<K,V> | com.google.common.collect.Synchronized$SynchronizedAsMapEntries |
| TreeRangeSet<C> | com.google.common.collect.TreeRangeSet |
| Converter<A,B> | com.google.common.base.Converter |
| Function<F,T> | com.google.common.base.Function |
| Predicate<T> | com.google.common.base.Predicate |
| DefaultFaceletContext$TemplateManager | com.sun.faces.facelets.impl.DefaultFaceletContext$TemplateManager |
| TypeAndAnnotation | com.sun.tools.xjc.api.TypeAndAnnotation |
| JaxmURI | com.sun.xml.messaging.saaj.util.JaxmURI |
| AttachmentPartImpl | com.sun.xml.messaging.saaj.soap.AttachmentPartImpl |
| NameImpl | com.sun.xml.messaging.saaj.soap.name.NameImpl |
| ArchiveFileObject | org.eclipse.jdt.internal.compiler.tool.ArchiveFileObject |
| ArchiveFileObject | org.eclipse.jdt.internal.compiler.apt.util.ArchiveFileObject |
| Mark | org.apache.jasper.compiler.Mark |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Critical Rule warning: Always override toString |
warnif count > 0
from t in Types where !t.IsThirdParty && t.IsClass && t.Methods.Where(a=>a.Name=="toString()").Count()==0
select t
//While java.lang.Object provides an implementation of the toString method,
//the string that it returns is generally not what the user of your class wants to see. I
7,392 types matched
| types | Full Name |
|---|---|
| __JAXPRedirected | __redirected.__JAXPRedirected |
| __XMLReaderFactory | __redirected.__XMLReaderFactory |
| __DocumentBuilderFactory | __redirected.__DocumentBuilderFactory |
| __XPathFactory | __redirected.__XPathFactory |
| __XMLInputFactory | __redirected.__XMLInputFactory |
| __RedirectedUtils$1 | __redirected.__RedirectedUtils$1 |
| __RedirectedUtils | __redirected.__RedirectedUtils |
| __XMLOutputFactory | __redirected.__XMLOutputFactory |
| __SAXParserFactory | __redirected.__SAXParserFactory |
| __XMLEventFactory | __redirected.__XMLEventFactory |
| __SchemaFactory | __redirected.__SchemaFactory |
| FileResourceLoader$4 | org.jboss.modules.FileResourceLoader$4 |
| IdentityHashSet<E> | org.jboss.modules.IdentityHashSet |
| PropertyReadAction | org.jboss.modules.PropertyReadAction |
| FastCopyHashSet$1 | org.jboss.modules.FastCopyHashSet$1 |
| ModuleClassLoader$2 | org.jboss.modules.ModuleClassLoader$2 |
| ModulesPolicy | org.jboss.modules.ModulesPolicy |
| ModuleLoader$MXBeanImpl | org.jboss.modules.ModuleLoader$MXBeanImpl |
| CallerContext$1 | org.jboss.modules.CallerContext$1 |
| SecurityActions$1 | org.jboss.modules.SecurityActions$1 |
| StartTimeHolder | org.jboss.modules.StartTimeHolder |
| FileResourceLoader$3 | org.jboss.modules.FileResourceLoader$3 |
| AliasModuleSpec | org.jboss.modules.AliasModuleSpec |
| ModuleLoader$2 | org.jboss.modules.ModuleLoader$2 |
| ModuleIdentifier$1 | org.jboss.modules.ModuleIdentifier$1 |
| UnlockedReadHashMap$Item<K,V> | org.jboss.modules.UnlockedReadHashMap$Item |
| FileResourceLoader | org.jboss.modules.FileResourceLoader |
| NativeLibraryResourceLoader | org.jboss.modules.NativeLibraryResourceLoader |
| Module$Visited | org.jboss.modules.Module$Visited |
| IdentityHashSet$IdentityHashSetIterator | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator |
| ConcurrentClassLoader | org.jboss.modules.ConcurrentClassLoader |
| ModuleLoader$3 | org.jboss.modules.ModuleLoader$3 |
| ConcurrentClassLoader$LoaderThread$1 | org.jboss.modules.ConcurrentClassLoader$LoaderThread$1 |
| Main | org.jboss.modules.Main |
| LocalModuleFinder$1 | org.jboss.modules.LocalModuleFinder$1 |
| FilteredIterableResourceLoader | org.jboss.modules.FilteredIterableResourceLoader |
| ResourceLoaders | org.jboss.modules.ResourceLoaders |
| ModularURLStreamHandlerFactory$1 | org.jboss.modules.ModularURLStreamHandlerFactory$1 |
| CallerContext$Hack | org.jboss.modules.CallerContext$Hack |
| StreamUtil | org.jboss.modules.StreamUtil |
| LocalLoaders | org.jboss.modules.LocalLoaders |
| ConcurrentClassLoader$LoaderThread | org.jboss.modules.ConcurrentClassLoader$LoaderThread |
| Module$2 | org.jboss.modules.Module$2 |
| ModuleXmlUtil | org.jboss.modules.ModuleXmlUtil |
| CallerContext | org.jboss.modules.CallerContext |
| ConcurrentClassLoader$UnsafeHolder | org.jboss.modules.ConcurrentClassLoader$UnsafeHolder |
| PackageSpec | org.jboss.modules.PackageSpec |
| FileResourceLoader$2 | org.jboss.modules.FileResourceLoader$2 |
| JarEntryResource | org.jboss.modules.JarEntryResource |
| ModuleClassLoader$Configuration | org.jboss.modules.ModuleClassLoader$Configuration |
| ModuleLoader$4 | org.jboss.modules.ModuleLoader$4 |
| FileEntryResource$2 | org.jboss.modules.FileEntryResource$2 |
| ClassSpec | org.jboss.modules.ClassSpec |
| ModularContentHandlerFactory | org.jboss.modules.ModularContentHandlerFactory |
| ModuleXmlParser | org.jboss.modules.ModuleXmlParser |
| UnlockedReadHashMap$1 | org.jboss.modules.UnlockedReadHashMap$1 |
| FileEntryResource$1 | org.jboss.modules.FileEntryResource$1 |
| SecurityActions | org.jboss.modules.SecurityActions |
| MavenArtifactUtil | org.jboss.modules.MavenArtifactUtil |
| LayeredModulePathFactory$1 | org.jboss.modules.LayeredModulePathFactory$1 |
| LayeredModulePathFactory | org.jboss.modules.LayeredModulePathFactory |
| ModuleLoader$RealMBeanReg$1 | org.jboss.modules.ModuleLoader$RealMBeanReg$1 |
| ModuleSpec$1 | org.jboss.modules.ModuleSpec$1 |
| LayeredModulePathFactory$LayersConfig | org.jboss.modules.LayeredModulePathFactory$LayersConfig |
| DefaultBootModuleLoaderHolder$1 | org.jboss.modules.DefaultBootModuleLoaderHolder$1 |
| JDKPaths | org.jboss.modules.JDKPaths |
| DependencyTreeViewer | org.jboss.modules.DependencyTreeViewer |
| FilteredLocalLoader | org.jboss.modules.FilteredLocalLoader |
| Module$1 | org.jboss.modules.Module$1 |
| ClassLoaderLocalLoader | org.jboss.modules.ClassLoaderLocalLoader |
| ModuleLoader$TempMBeanReg | org.jboss.modules.ModuleLoader$TempMBeanReg |
| ModuleClassLoader$3 | org.jboss.modules.ModuleClassLoader$3 |
| ResourceLoaderSpec | org.jboss.modules.ResourceLoaderSpec |
| ModuleSpec | org.jboss.modules.ModuleSpec |
| ModuleXmlParser$1 | org.jboss.modules.ModuleXmlParser$1 |
| Dependency | org.jboss.modules.Dependency |
| ModuleLoadException | org.jboss.modules.ModuleLoadException |
| FileEntryResource | org.jboss.modules.FileEntryResource |
| ModuleLoader$RealMBeanReg | org.jboss.modules.ModuleLoader$RealMBeanReg |
| JarModuleFinder$1 | org.jboss.modules.JarModuleFinder$1 |
| FilteredIterableLocalLoader | org.jboss.modules.FilteredIterableLocalLoader |
| ModularURLStreamHandlerFactory | org.jboss.modules.ModularURLStreamHandlerFactory |
| IdentityHashSet$1 | org.jboss.modules.IdentityHashSet$1 |
| Metrics | org.jboss.modules.Metrics |
| JarFileResourceLoader$1 | org.jboss.modules.JarFileResourceLoader$1 |
| URLResource | org.jboss.modules.URLResource |
| UnlockedReadHashMap$EntryIterator | org.jboss.modules.UnlockedReadHashMap$EntryIterator |
| ModularURLStreamHandlerFactory$2 | org.jboss.modules.ModularURLStreamHandlerFactory$2 |
| Paths<T,A> | org.jboss.modules.Paths |
| JarFileResourceLoader | org.jboss.modules.JarFileResourceLoader |
| ModuleLoader$1 | org.jboss.modules.ModuleLoader$1 |
| DefaultBootModuleLoaderHolder | org.jboss.modules.DefaultBootModuleLoaderHolder |
| ModuleLoader$FutureModule | org.jboss.modules.ModuleLoader$FutureModule |
| UnlockedReadHashMap$EntrySet | org.jboss.modules.UnlockedReadHashMap$EntrySet |
| PathUtils | org.jboss.modules.PathUtils |
| ModuleSpec$2 | org.jboss.modules.ModuleSpec$2 |
| Module$3 | org.jboss.modules.Module$3 |
| ConcreteModuleSpec | org.jboss.modules.ConcreteModuleSpec |
| JarModuleFinder | org.jboss.modules.JarModuleFinder |
| ModuleNotFoundException | org.jboss.modules.ModuleNotFoundException |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Critical Rule warning: Prefer interfaces to abstract classes |
warnif count > 0
from t in Types where !t.IsThirdParty && t.IsAbstract
select t
714 types matched
| types | Full Name |
|---|---|
| ConcurrentClassLoader | org.jboss.modules.ConcurrentClassLoader |
| ModuleSpec | org.jboss.modules.ModuleSpec |
| Dependency | org.jboss.modules.Dependency |
| AbstractResourceLoader | org.jboss.modules.AbstractResourceLoader |
| AbstractLocalLoader | org.jboss.modules.AbstractLocalLoader |
| DependencySpec | org.jboss.modules.DependencySpec |
| AbstractAnnotationExtractor | ch.qos.cal10n.util.AbstractAnnotationExtractor |
| AbstractCAL10NBundleFinder | ch.qos.cal10n.util.AbstractCAL10NBundleFinder |
| AbstractMessageKeyVerifier | ch.qos.cal10n.verifier.AbstractMessageKeyVerifier |
| AnnotationConfiguration | com.fasterxml.classmate.AnnotationConfiguration |
| AnnotationOverrides | com.fasterxml.classmate.AnnotationOverrides |
| GenericType<T> | com.fasterxml.classmate.GenericType |
| ResolvedType | com.fasterxml.classmate.ResolvedType |
| RawMember | com.fasterxml.classmate.members.RawMember |
| ResolvedMember | com.fasterxml.classmate.members.ResolvedMember |
| JsonTypeInfo$None | com.fasterxml.jackson.annotation.JsonTypeInfo$None |
| ObjectIdGenerator<T> | com.fasterxml.jackson.annotation.ObjectIdGenerator |
| ObjectIdGenerators$Base<T> | com.fasterxml.jackson.annotation.ObjectIdGenerators$Base |
| ObjectIdGenerators$None | com.fasterxml.jackson.annotation.ObjectIdGenerators$None |
| ObjectIdGenerators$PropertyGenerator | com.fasterxml.jackson.annotation.ObjectIdGenerators$PropertyGenerator |
| JsonGenerator | com.fasterxml.jackson.core.JsonGenerator |
| JsonParser | com.fasterxml.jackson.core.JsonParser |
| JsonStreamContext | com.fasterxml.jackson.core.JsonStreamContext |
| ObjectCodec | com.fasterxml.jackson.core.ObjectCodec |
| TreeCodec | com.fasterxml.jackson.core.TreeCodec |
| GeneratorBase | com.fasterxml.jackson.core.base.GeneratorBase |
| ParserBase | com.fasterxml.jackson.core.base.ParserBase |
| ParserMinimalBase | com.fasterxml.jackson.core.base.ParserMinimalBase |
| BaseReader | com.fasterxml.jackson.core.io.BaseReader |
| CharacterEscapes | com.fasterxml.jackson.core.io.CharacterEscapes |
| InputDecorator | com.fasterxml.jackson.core.io.InputDecorator |
| OutputDecorator | com.fasterxml.jackson.core.io.OutputDecorator |
| JsonGeneratorImpl | com.fasterxml.jackson.core.json.JsonGeneratorImpl |
| Name | com.fasterxml.jackson.core.sym.Name |
| ResolvedType | com.fasterxml.jackson.core.type.ResolvedType |
| TypeReference<T> | com.fasterxml.jackson.core.type.TypeReference |
| AbstractTypeResolver | com.fasterxml.jackson.databind.AbstractTypeResolver |
| AnnotationIntrospector | com.fasterxml.jackson.databind.AnnotationIntrospector |
| BeanDescription | com.fasterxml.jackson.databind.BeanDescription |
| DatabindContext | com.fasterxml.jackson.databind.DatabindContext |
| DeserializationContext | com.fasterxml.jackson.databind.DeserializationContext |
| InjectableValues | com.fasterxml.jackson.databind.InjectableValues |
| JavaType | com.fasterxml.jackson.databind.JavaType |
| JsonDeserializer$None | com.fasterxml.jackson.databind.JsonDeserializer$None |
| JsonDeserializer<T> | com.fasterxml.jackson.databind.JsonDeserializer |
| JsonNode | com.fasterxml.jackson.databind.JsonNode |
| JsonSerializer$None | com.fasterxml.jackson.databind.JsonSerializer$None |
| JsonSerializer<T> | com.fasterxml.jackson.databind.JsonSerializer |
| KeyDeserializer$None | com.fasterxml.jackson.databind.KeyDeserializer$None |
| KeyDeserializer | com.fasterxml.jackson.databind.KeyDeserializer |
| Module | com.fasterxml.jackson.databind.Module |
| PropertyNamingStrategy$PropertyNamingStrategyBase | com.fasterxml.jackson.databind .PropertyNamingStrategy$PropertyNamingStrategyBase |
| PropertyNamingStrategy | com.fasterxml.jackson.databind.PropertyNamingStrategy |
| SerializerProvider | com.fasterxml.jackson.databind.SerializerProvider |
| ContextAttributes | com.fasterxml.jackson.databind.cfg.ContextAttributes |
| HandlerInstantiator | com.fasterxml.jackson.databind.cfg.HandlerInstantiator |
| MapperConfig<T> | com.fasterxml.jackson.databind.cfg.MapperConfig |
| MapperConfigBase<CFG,T> | com.fasterxml.jackson.databind.cfg.MapperConfigBase |
| PropertyBindingException | com.fasterxml.jackson.databind.exc.PropertyBindingException |
| DOMDeserializer<T> | com.fasterxml.jackson.databind.ext.DOMDeserializer |
| Annotated | com.fasterxml.jackson.databind.introspect.Annotated |
| AnnotatedMember | com.fasterxml.jackson.databind.introspect.AnnotatedMember |
| AnnotatedWithParams | com.fasterxml.jackson.databind.introspect.AnnotatedWithParams |
| BeanPropertyDefinition | com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition |
| ClassIntrospector | com.fasterxml.jackson.databind.introspect.ClassIntrospector |
| NopAnnotationIntrospector | com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector |
| BaseJsonNode | com.fasterxml.jackson.databind.node.BaseJsonNode |
| ContainerNode<T> | com.fasterxml.jackson.databind.node.ContainerNode |
| NodeCursor | com.fasterxml.jackson.databind.node.NodeCursor |
| NumericNode | com.fasterxml.jackson.databind.node.NumericNode |
| ValueNode | com.fasterxml.jackson.databind.node.ValueNode |
| TypeBase | com.fasterxml.jackson.databind.type.TypeBase |
| TypeModifier | com.fasterxml.jackson.databind.type.TypeModifier |
| Converter$None | com.fasterxml.jackson.databind.util.Converter$None |
| NameTransformer | com.fasterxml.jackson.databind.util.NameTransformer |
| PrimitiveArrayBuilder<T> | com.fasterxml.jackson.databind.util.PrimitiveArrayBuilder |
| StdConverter<IN,OUT> | com.fasterxml.jackson.databind.util.StdConverter |
| ViewMatcher | com.fasterxml.jackson.databind.util.ViewMatcher |
| BasicDeserializerFactory | com.fasterxml.jackson.databind.deser.BasicDeserializerFactory |
| BeanDeserializerBase | com.fasterxml.jackson.databind.deser.BeanDeserializerBase |
| BeanDeserializerModifier | com.fasterxml.jackson.databind.deser.BeanDeserializerModifier |
| DefaultDeserializationContext | com.fasterxml.jackson.databind.deser.DefaultDeserializationContext |
| DeserializationProblemHandler | com.fasterxml.jackson.databind.deser.DeserializationProblemHandler |
| DeserializerFactory | com.fasterxml.jackson.databind.deser.DeserializerFactory |
| SettableBeanProperty | com.fasterxml.jackson.databind.deser.SettableBeanProperty |
| ValueInstantiator | com.fasterxml.jackson.databind.deser.ValueInstantiator |
| PropertyValue | com.fasterxml.jackson.databind.deser.impl.PropertyValue |
| BaseNodeDeserializer<T> | com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer |
| ContainerDeserializerBase<T> | com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase |
| DateDeserializers$DateBasedDeserializer<T> | com.fasterxml.jackson.databind.deser.std .DateDeserializers$DateBasedDeserializer |
| DelegatingDeserializer | com.fasterxml.jackson.databind.deser.std.DelegatingDeserializer |
| FromStringDeserializer<T> | com.fasterxml.jackson.databind.deser.std.FromStringDeserializer |
| NumberDeserializers$PrimitiveOrWrapperDeserializer<T> | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$PrimitiveOrWrapperDeserializer |
| PrimitiveArrayDeserializers<T> | com.fasterxml.jackson.databind.deser.std.PrimitiveArrayDeserializers |
| StdDeserializer<T> | com.fasterxml.jackson.databind.deser.std.StdDeserializer |
| StdKeyDeserializer | com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer |
| StdScalarDeserializer<T> | com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer |
| SubtypeResolver | com.fasterxml.jackson.databind.jsontype.SubtypeResolver |
| TypeDeserializer | com.fasterxml.jackson.databind.jsontype.TypeDeserializer |
| TypeSerializer | com.fasterxml.jackson.databind.jsontype.TypeSerializer |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Critical Rule warning: Use interfaces only to define types |
warnif count > 0
from t in Types where !t.IsThirdParty && t.IsInterface && t.NbMethods==0
select t
91 types matched
| types | Full Name |
|---|---|
| JsonTokenId | com.fasterxml.jackson.core.JsonTokenId |
| JsonAnyFormatVisitor | com.fasterxml.jackson.databind.jsonFormatVisitors.JsonAnyFormatVisitor |
| JsonBooleanFormatVisitor | com.fasterxml.jackson.databind.jsonFormatVisitors .JsonBooleanFormatVisitor |
| JsonNullFormatVisitor | com.fasterxml.jackson.databind.jsonFormatVisitors .JsonNullFormatVisitor |
| package-info | com.google.common.cache.package-info |
| package-info | com.google.common.collect.package-info |
| package-info | com.google.common.escape.package-info |
| package-info | com.google.common.hash.package-info |
| package-info | com.google.common.html.package-info |
| package-info | com.google.common.io.package-info |
| package-info | com.google.common.math.package-info |
| package-info | com.google.common.net.package-info |
| package-info | com.google.common.primitives.package-info |
| package-info | com.google.common.reflect.package-info |
| package-info | com.google.common.xml.package-info |
| Suppliers$SupplierFunction<T> | com.google.common.base.Suppliers$SupplierFunction |
| package-info | com.google.common.base.package-info |
| ListenableScheduledFuture<V> | com.google.common.util.concurrent.ListenableScheduledFuture |
| package-info | com.google.common.util.concurrent.package-info |
| Value$ValueBlob | org.h2.value.Value$ValueBlob |
| Value$ValueClob | org.h2.value.Value$ValueClob |
| ELConstants | com.sun.faces.el.ELConstants |
| FaceletConfigResourceProvider | com.sun.faces.spi.FaceletConfigResourceProvider |
| FacesConfigResourceProvider | com.sun.faces.spi.FacesConfigResourceProvider |
| FastInfosetWriter | org.jvnet.fastinfoset.sax.FastInfosetWriter |
| package-info | com.sun.xml.bind.api.package-info |
| package-info | com.sun.xml.bind.v2.package-info |
| LeafInfo<T,C> | com.sun.xml.bind.v2.model.core.LeafInfo |
| WildcardTypeInfo<T,C> | com.sun.xml.bind.v2.model.core.WildcardTypeInfo |
| package-info | com.sun.xml.bind.v2.model.core.package-info |
| package-info | com.sun.xml.bind.v2.model.runtime.package-info |
| package-info | com.sun.xml.bind.v2.runtime.output.package-info |
| package-info | com.sun.xml.bind.v2.schemagen.package-info |
| package-info | com.sun.xml.bind.v2.schemagen.episode.package-info |
| Particle | com.sun.xml.bind.v2.schemagen.xmlschema.Particle |
| Redefinable | com.sun.xml.bind.v2.schemagen.xmlschema.Redefinable |
| SimpleRestriction | com.sun.xml.bind.v2.schemagen.xmlschema.SimpleRestriction |
| package-info | com.sun.xml.bind.v2.schemagen.xmlschema.package-info |
| XSWildcard$Any | com.sun.xml.xsom.XSWildcard$Any |
| ContentTypeImpl | com.sun.xml.xsom.impl.ContentTypeImpl |
| package-info | com.sun.tools.xjc.package-info |
| package-info | com.sun.tools.xjc.addon.episode.package-info |
| package-info | com.sun.tools.xjc.generator.package-info |
| XmlLocationWriter | com.sun.tools.xjc.generator.annotation.ri.XmlLocationWriter |
| XmlAnyAttributeWriter | com.sun.tools.xjc.generator.annotation.spec.XmlAnyAttributeWriter |
| XmlAttachmentRefWriter | com.sun.tools.xjc.generator.annotation.spec.XmlAttachmentRefWriter |
| XmlIDREFWriter | com.sun.tools.xjc.generator.annotation.spec.XmlIDREFWriter |
| XmlIDWriter | com.sun.tools.xjc.generator.annotation.spec.XmlIDWriter |
| XmlInlineBinaryDataWriter | com.sun.tools.xjc.generator.annotation.spec.XmlInlineBinaryDataWriter |
| XmlListWriter | com.sun.tools.xjc.generator.annotation.spec.XmlListWriter |
| XmlMixedWriter | com.sun.tools.xjc.generator.annotation.spec.XmlMixedWriter |
| XmlRegistryWriter | com.sun.tools.xjc.generator.annotation.spec.XmlRegistryWriter |
| XmlTransientWriter | com.sun.tools.xjc.generator.annotation.spec.XmlTransientWriter |
| XmlValueWriter | com.sun.tools.xjc.generator.annotation.spec.XmlValueWriter |
| CClass | com.sun.tools.xjc.model.CClass |
| package-info | com.sun.tools.xjc.model.package-info |
| package-info | com.sun.tools.xjc.reader.xmlschema.bindinfo.package-info |
| AdditiveExpr | nu.xom.jaxen.expr.AdditiveExpr |
| AllNodeStep | nu.xom.jaxen.expr.AllNodeStep |
| CommentNodeStep | nu.xom.jaxen.expr.CommentNodeStep |
| EqualityExpr | nu.xom.jaxen.expr.EqualityExpr |
| LogicalExpr | nu.xom.jaxen.expr.LogicalExpr |
| MultiplicativeExpr | nu.xom.jaxen.expr.MultiplicativeExpr |
| RelationalExpr | nu.xom.jaxen.expr.RelationalExpr |
| TextNodeStep | nu.xom.jaxen.expr.TextNodeStep |
| UnionExpr | nu.xom.jaxen.expr.UnionExpr |
| Operator | nu.xom.jaxen.saxpath.Operator |
| LogDomainConstants | com.sun.xml.messaging.saaj.util.LogDomainConstants |
| ChannelProgressiveFutureListener | io.netty.channel.ChannelProgressiveFutureListener |
| ServerChannel | io.netty.channel.ServerChannel |
| ChannelGroupFutureListener | io.netty.channel.group.ChannelGroupFutureListener |
| UdtServerChannel | io.netty.channel.udt.UdtServerChannel |
| SpdyFrame | io.netty.handler.codec.spdy.SpdyFrame |
| WebSocketFrameDecoder | io.netty.handler.codec.http.websocketx.WebSocketFrameDecoder |
| WebSocketFrameEncoder | io.netty.handler.codec.http.websocketx.WebSocketFrameEncoder |
| Recycler$Handle | io.netty.util.Recycler$Handle |
| FutureListener<V> | io.netty.util.concurrent.FutureListener |
| Credential | io.undertow.security.idm.Credential |
| ProxyClient$ProxyTarget | io.undertow.server.handlers.proxy.ProxyClient$ProxyTarget |
| SendChannel | io.undertow.websockets.core.SendChannel |
| ExtraCompilerModifiers | org.eclipse.jdt.internal.compiler.lookup.ExtraCompilerModifiers |
| ProblemReasons | org.eclipse.jdt.internal.compiler.lookup.ProblemReasons |
| TagBits | org.eclipse.jdt.internal.compiler.lookup.TagBits |
| TypeIds | org.eclipse.jdt.internal.compiler.lookup.TypeIds |
| OperatorIds | org.eclipse.jdt.internal.compiler.ast.OperatorIds |
| ClassFileConstants | org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants |
| Opcodes | org.eclipse.jdt.internal.compiler.codegen.Opcodes |
| ProblemSeverities | org.eclipse.jdt.internal.compiler.problem.ProblemSeverities |
| ParserBasicInformation | org.eclipse.jdt.internal.compiler.parser.ParserBasicInformation |
| TerminalTokens | org.eclipse.jdt.internal.compiler.parser.TerminalTokens |
| TagConstants | org.apache.jasper.compiler.TagConstants |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Critical Rule warning: Avoid using raw types |
warnif count > 0
let rawTypes = ThirdParty.Types.WithFullNameIn(
"java.util.Collection")
from m in Application.Methods.UsingAny(rawTypes)
select m
560 methods matched
| methods | Full Name |
|---|---|
| addAll(Collection) | org.jboss.modules.IdentityHashSet.addAll(Collection) |
| setResourceLoaders(Paths,ResourceLoaderSpec[]) | org.jboss.modules.ModuleClassLoader.setResourceLoaders(Paths ,ResourceLoaderSpec[]) |
| setAndRefreshResourceLoaders(Module,Collection) | org.jboss.modules.ModuleLoader.setAndRefreshResourceLoaders(Module ,Collection) |
| getPaths() | org.jboss.modules.JarFileResourceLoader.getPaths() |
| extractJarPaths(JarFile,String,Collection) | org.jboss.modules.JarFileResourceLoader.extractJarPaths(JarFile,String ,Collection) |
| writeExternalIndex(File,Collection) | org.jboss.modules.JarFileResourceLoader.writeExternalIndex(File ,Collection) |
| readIndex(InputStream,Collection,String) | org.jboss.modules.JarFileResourceLoader.readIndex(InputStream ,Collection,String) |
| addInternalIndex(File,boolean) | org.jboss.modules.JarFileResourceLoader.addInternalIndex(File,boolean) |
| filterPaths(Iterable,PathFilter,Collection)<T> | org.jboss.modules.PathUtils.filterPaths(Iterable,PathFilter,Collection )<T> |
| addAll(Collection) | org.jboss.modules.FastCopyHashSet.addAll(Collection) |
| containsAll(Collection) | org.jboss.modules.FastCopyHashSet.containsAll(Collection) |
| all(Collection) | org.jboss.modules.filter.PathFilters.all(Collection) |
| any(Collection) | org.jboss.modules.filter.PathFilters.any(Collection) |
| addAll(Annotations) | com.fasterxml.classmate.Annotations.addAll(Annotations) |
| resolveConstructors() | com.fasterxml.classmate.ResolvedTypeWithMembers.resolveConstructors() |
| resolveMemberFields() | com.fasterxml.classmate.ResolvedTypeWithMembers.resolveMemberFields() |
| resolveStaticMethods() | com.fasterxml.classmate.ResolvedTypeWithMembers.resolveStaticMethods() |
| resolveMemberMethods() | com.fasterxml.classmate.ResolvedTypeWithMembers.resolveMemberMethods() |
| DataFormatDetector(Collection) | com.fasterxml.jackson.core.format.DataFormatDetector .DataFormatDetector(Collection) |
| allIntrospectors(Collection) | com.fasterxml.jackson.databind.AnnotationIntrospector.allIntrospectors (Collection) |
| getMessageSuffix() | com.fasterxml.jackson.databind.exc.PropertyBindingException .getMessageSuffix() |
| iterator() | com.fasterxml.jackson.databind.introspect.AnnotatedMethodMap.iterator( ) |
| merge(AnnotationMap,AnnotationMap) | com.fasterxml.jackson.databind.introspect.AnnotationMap.merge (AnnotationMap,AnnotationMap) |
| _findPropertyFields(Collection,boolean) | com.fasterxml.jackson.databind.introspect.BasicBeanDescription ._findPropertyFields(Collection,boolean) |
| collect() | com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector .collect() |
| _sortProperties() | com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector ._sortProperties() |
| _renameUsing(PropertyNamingStrategy) | com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector ._renameUsing(PropertyNamingStrategy) |
| elements() | com.fasterxml.jackson.databind.node.ObjectNode.elements() |
| typesAsArray() | com.fasterxml.jackson.databind.type.TypeBindings.typesAsArray() |
| _addSuperTypes(Class,Class,Collection,boolean) | com.fasterxml.jackson.databind.util.ClassUtil._addSuperTypes(Class ,Class,Collection,boolean) |
| resolve(DeserializationContext) | com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve (DeserializationContext) |
| creatorProperties() | com.fasterxml.jackson.databind.deser.BeanDeserializerBase .creatorProperties() |
| getProperties() | com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder .getProperties() |
| build() | com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder.build() |
| buildBuilderBased(JavaType,String) | com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder .buildBuilderBased(JavaType,String) |
| addBeanProps(DeserializationContext,BeanDescription ,BeanDeserializerBuilder) | com.fasterxml.jackson.databind.deser.BeanDeserializerFactory .addBeanProps(DeserializationContext,BeanDescription ,BeanDeserializerBuilder) |
| DataFormatReaders(Collection) | com.fasterxml.jackson.databind.deser.DataFormatReaders .DataFormatReaders(Collection) |
| BeanPropertyMap(Collection) | com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap .BeanPropertyMap(Collection) |
| setAndReturn(Object,Object) | com.fasterxml.jackson.databind.deser.impl.ManagedReferenceProperty .setAndReturn(Object,Object) |
| findCreatorProperty(int) | com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator .findCreatorProperty(int) |
| deserialize(JsonParser,DeserializationContext,Collection) | com.fasterxml.jackson.databind.deser.std .ArrayBlockingQueueDeserializer.deserialize(JsonParser ,DeserializationContext,Collection) |
| deserialize(JsonParser,DeserializationContext,Collection) | com.fasterxml.jackson.databind.deser.std.CollectionDeserializer .deserialize(JsonParser,DeserializationContext,Collection) |
| handleNonArray(JsonParser,DeserializationContext,Collection) | com.fasterxml.jackson.databind.deser.std.CollectionDeserializer .handleNonArray(JsonParser,DeserializationContext,Collection) |
| deserialize(JsonParser,DeserializationContext,Collection) | com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer .deserialize(JsonParser,DeserializationContext,Collection) |
| deserializeUsingCustom(JsonParser,DeserializationContext,Collection ,JsonDeserializer) | com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer .deserializeUsingCustom(JsonParser,DeserializationContext,Collection ,JsonDeserializer) |
| handleNonArray(JsonParser,DeserializationContext,Collection) | com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer .handleNonArray(JsonParser,DeserializationContext,Collection) |
| collectAndResolveSubtypes(AnnotatedMember,MapperConfig ,AnnotationIntrospector,JavaType) | com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver .collectAndResolveSubtypes(AnnotatedMember,MapperConfig ,AnnotationIntrospector,JavaType) |
| _collectAndResolve(AnnotatedClass,NamedType,MapperConfig ,AnnotationIntrospector,HashMap) | com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver ._collectAndResolve(AnnotatedClass,NamedType,MapperConfig ,AnnotationIntrospector,HashMap) |
| construct(MapperConfig,JavaType,Collection,boolean,boolean) | com.fasterxml.jackson.databind.jsontype.impl.TypeNameIdResolver .construct(MapperConfig,JavaType,Collection,boolean,boolean) |
| BasicSerializerFactory() | com.fasterxml.jackson.databind.ser.BasicSerializerFactory .BasicSerializerFactory() |
| SimpleFilterProvider(Map) | com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider .SimpleFilterProvider(Map) |
| serialize(Collection,JsonGenerator,SerializerProvider) | com.fasterxml.jackson.databind.ser.impl.StringCollectionSerializer .serialize(Collection,JsonGenerator,SerializerProvider) |
| serializeContents(Collection,JsonGenerator,SerializerProvider) | com.fasterxml.jackson.databind.ser.impl.StringCollectionSerializer .serializeContents(Collection,JsonGenerator,SerializerProvider) |
| serializeUsingCustom(Collection,JsonGenerator,SerializerProvider) | com.fasterxml.jackson.databind.ser.impl.StringCollectionSerializer .serializeUsingCustom(Collection,JsonGenerator,SerializerProvider) |
| isEmpty(Collection) | com.fasterxml.jackson.databind.ser.std.CollectionSerializer.isEmpty (Collection) |
| hasSingleElement(Collection) | com.fasterxml.jackson.databind.ser.std.CollectionSerializer .hasSingleElement(Collection) |
| serializeContents(Collection,JsonGenerator,SerializerProvider) | com.fasterxml.jackson.databind.ser.std.CollectionSerializer .serializeContents(Collection,JsonGenerator,SerializerProvider) |
| serializeContentsUsing(Collection,JsonGenerator,SerializerProvider ,JsonSerializer) | com.fasterxml.jackson.databind.ser.std.CollectionSerializer .serializeContentsUsing(Collection,JsonGenerator,SerializerProvider ,JsonSerializer) |
| getSchema(SerializerProvider,Type) | com.fasterxml.jackson.databind.ser.std.EnumSerializer.getSchema (SerializerProvider,Type) |
| acceptJsonFormatVisitor(JsonFormatVisitorWrapper,JavaType) | com.fasterxml.jackson.databind.ser.std.EnumSerializer .acceptJsonFormatVisitor(JsonFormatVisitorWrapper,JavaType) |
| isEmpty(Collection) | com.fasterxml.jackson.databind.ser.std.StaticListSerializerBase .isEmpty(Collection) |
| _addSuperTypes(Class,Class,Collection,boolean) | com.fasterxml.jackson.jaxrs.base.ProviderBase._addSuperTypes(Class ,Class,Collection,boolean) |
| remove() | com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator .remove() |
| remove(Object) | com.google.common.collect.AbstractMapBasedMultimap$AsMap.remove(Object ) |
| next() | com.google.common.collect.AbstractMapBasedMultimap$Itr.next() |
| remove() | com.google.common.collect.AbstractMapBasedMultimap$Itr.remove() |
| remove() | com.google.common.collect.AbstractMapBasedMultimap$KeySet$1.remove() |
| remove(Object) | com.google.common.collect.AbstractMapBasedMultimap$KeySet.remove (Object) |
| pollAsMapEntry(Iterator) | com.google.common.collect.AbstractMapBasedMultimap$NavigableAsMap .pollAsMapEntry(Iterator) |
| refreshIfEmpty() | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .refreshIfEmpty() |
| removeIfEmpty() | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .removeIfEmpty() |
| size() | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .size() |
| equals(Object) | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .equals(Object) |
| hashCode() | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .hashCode() |
| add(Object) | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .add(Object) |
| addAll(Collection) | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .addAll(Collection) |
| contains(Object) | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .contains(Object) |
| containsAll(Collection) | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .containsAll(Collection) |
| clear() | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .clear() |
| remove(Object) | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .remove(Object) |
| removeAll(Collection) | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .removeAll(Collection) |
| retainAll(Collection) | com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection .retainAll(Collection) |
| addAll(int,Collection) | com.google.common.collect.AbstractMapBasedMultimap$WrappedList.addAll (int,Collection) |
| add(int,Object) | com.google.common.collect.AbstractMapBasedMultimap$WrappedList.add(int ,Object) |
| removeAll(Collection) | com.google.common.collect.AbstractMapBasedMultimap$WrappedSet .removeAll(Collection) |
| setMap(Map) | com.google.common.collect.AbstractMapBasedMultimap.setMap(Map) |
| put(Object,Object) | com.google.common.collect.AbstractMapBasedMultimap.put(Object,Object) |
| replaceValues(Object,Iterable) | com.google.common.collect.AbstractMapBasedMultimap.replaceValues (Object,Iterable) |
| removeAll(Object) | com.google.common.collect.AbstractMapBasedMultimap.removeAll(Object) |
| clear() | com.google.common.collect.AbstractMapBasedMultimap.clear() |
| iteratorOrListIterator(Collection) | com.google.common.collect.AbstractMapBasedMultimap .iteratorOrListIterator(Collection) |
| removeValuesForKey(Object) | com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey (Object) |
| clear() | com.google.common.collect.AbstractMapBasedMultiset.clear() |
| containsValue(Object) | com.google.common.collect.AbstractMultimap.containsValue(Object) |
| containsEntry(Object,Object) | com.google.common.collect.AbstractMultimap.containsEntry(Object,Object ) |
| remove(Object,Object) | com.google.common.collect.AbstractMultimap.remove(Object,Object) |
| put(Object,Object) | com.google.common.collect.AbstractMultimap.put(Object,Object) |
| putAll(Object,Iterable) | com.google.common.collect.AbstractMultimap.putAll(Object,Iterable) |
| putAll(Multimap) | com.google.common.collect.AbstractMultimap.putAll(Multimap) |
| valueIterator() | com.google.common.collect.AbstractMultimap.valueIterator() |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Critical Rule warning: Don't force gabrage collector |
warnif count > 0 from m in Methods where m.IsUsing ("java.lang.System.gc()".AllowNoMatch())
select new { m, m.NbBCInstructions }
6 methods matched
| methods | # ByteCode instructions | Full Name |
|---|---|---|
| doLock(Session,int,boolean) | 195 | org.h2.table.RegularTable.doLock(Session,int,boolean) |
| shutdown() | 102 | org.h2.tools.Console.shutdown() |
| doLock(Session,int,boolean) | 195 | org.h2.mvstore.db.MVTable.doLock(Session,int,boolean) |
| unMap() | 90 | org.h2.store.fs.FileNioMapped.unMap() |
| setFileLength(long) | 38 | org.h2.store.fs.FileNioMapped.setFileLength(long) |
| wait(int) | 16 | org.h2.store.fs.FilePathDisk.wait(int) |
Statistics
| Stat | # ByteCode instructions |
|---|---|
| Sum: | 636 |
| Average: | 106 |
| Minimum: | 16 |
| Maximum: | 195 |
| Standard deviation: | 69.33 |
| Variance: | 4 806 |
| Critical Rule warning: Do not raise generic exception |
warnif count > 0 from m in Methods
let depth0 = m.DepthOfCreateA("java.lang.Exception".AllowNoMatch())
where depth0 == 1
select new { m, depth0 }
85 methods matched
| methods | depth0 | Full Name |
|---|---|---|
| ModuleLoadException() | 1 | org.jboss.modules.ModuleLoadException.ModuleLoadException() |
| ModuleLoadException(String) | 1 | org.jboss.modules.ModuleLoadException.ModuleLoadException(String) |
| ModuleLoadException(Throwable) | 1 | org.jboss.modules.ModuleLoadException.ModuleLoadException(Throwable) |
| ModuleLoadException(String,Throwable) | 1 | org.jboss.modules.ModuleLoadException.ModuleLoadException(String ,Throwable) |
| XmlPullParserException(String) | 1 | org.jboss.modules.xml.XmlPullParserException.XmlPullParserException (String) |
| XmlPullParserException(String,XmlPullParser,Throwable) | 1 | org.jboss.modules.xml.XmlPullParserException.XmlPullParserException (String,XmlPullParser,Throwable) |
| DatatypeException(int,String) | 1 | org.relaxng.datatype.DatatypeException.DatatypeException(int,String) |
| failed(Service$State,Throwable) | 1 | com.google.common.util.concurrent.AbstractService$5.failed (Service$State,Throwable) |
| openBrowser(String) | 1 | org.h2.tools.Server.openBrowser(String) |
| register(Object,Closeable,boolean) | 1 | org.h2.util.CloseWatcher.register(Object,Closeable,boolean) |
| JClassAlreadyExistsException(JDefinedClass) | 1 | com.sun.codemodel.JClassAlreadyExistsException .JClassAlreadyExistsException(JDefinedClass) |
| InjectionProviderException(Throwable) | 1 | com.sun.faces.spi.InjectionProviderException .InjectionProviderException(Throwable) |
| InjectionProviderException(String,Throwable) | 1 | com.sun.faces.spi.InjectionProviderException .InjectionProviderException(String,Throwable) |
| DocumentOrderingWrapper$CircularDependencyException() | 1 | com.sun.faces.config .DocumentOrderingWrapper$CircularDependencyException .DocumentOrderingWrapper$CircularDependencyException() |
| DocumentOrderingWrapper$CircularDependencyException(String) | 1 | com.sun.faces.config .DocumentOrderingWrapper$CircularDependencyException .DocumentOrderingWrapper$CircularDependencyException(String) |
| DocumentOrderingWrapper$CircularDependencyException(String,Throwable) | 1 | com.sun.faces.config .DocumentOrderingWrapper$CircularDependencyException .DocumentOrderingWrapper$CircularDependencyException(String,Throwable) |
| DocumentOrderingWrapper$CircularDependencyException(Throwable) | 1 | com.sun.faces.config .DocumentOrderingWrapper$CircularDependencyException .DocumentOrderingWrapper$CircularDependencyException(Throwable) |
| createMethod(Class,String) | 1 | com.sun.faces.config.processor.FaceletTaglibConfigProcessor .createMethod(Class,String) |
| FastInfosetException(String) | 1 | org.jvnet.fastinfoset.FastInfosetException.FastInfosetException(String ) |
| FastInfosetException(String,Exception) | 1 | org.jvnet.fastinfoset.FastInfosetException.FastInfosetException(String ,Exception) |
| FastInfosetException(Exception) | 1 | org.jvnet.fastinfoset.FastInfosetException.FastInfosetException (Exception) |
| getClassLogger() | 1 | com.sun.xml.bind.Util.getClassLogger() |
| AccessorException() | 1 | com.sun.xml.bind.api.AccessorException.AccessorException() |
| AccessorException(String) | 1 | com.sun.xml.bind.api.AccessorException.AccessorException(String) |
| AccessorException(String,Throwable) | 1 | com.sun.xml.bind.api.AccessorException.AccessorException(String ,Throwable) |
| AccessorException(Throwable) | 1 | com.sun.xml.bind.api.AccessorException.AccessorException(Throwable) |
| ClassInfoImpl$ConflictException(List) | 1 | com.sun.xml.bind.v2.model.impl.ClassInfoImpl$ConflictException .ClassInfoImpl$ConflictException(List) |
| ClassInfoImpl$DuplicateException(Annotation,Annotation) | 1 | com.sun.xml.bind.v2.model.impl.ClassInfoImpl$DuplicateException .ClassInfoImpl$DuplicateException(Annotation,Annotation) |
| resetThreadAffinity() | 1 | com.sun.xml.bind.v2.runtime.Coordinator.resetThreadAffinity() |
| ParseException(Token,int[][],List) | 1 | com.sun.xml.xsom.impl.scd.ParseException.ParseException(Token,int[][] ,List) |
| ParseException() | 1 | com.sun.xml.xsom.impl.scd.ParseException.ParseException() |
| ParseException(String) | 1 | com.sun.xml.xsom.impl.scd.ParseException.ParseException(String) |
| BadCommandLineException(String) | 1 | com.sun.tools.xjc.BadCommandLineException.BadCommandLineException (String) |
| BadCommandLineException(String,Throwable) | 1 | com.sun.tools.xjc.BadCommandLineException.BadCommandLineException (String,Throwable) |
| ToolsJarNotFoundException(File) | 1 | com.sun.tools.xjc.api.util.ToolsJarNotFoundException .ToolsJarNotFoundException(File) |
| ParsingException(String,Throwable) | 1 | nu.xom.ParsingException.ParsingException(String,Throwable) |
| ParsingException(String,String,Throwable) | 1 | nu.xom.ParsingException.ParsingException(String,String,Throwable) |
| ParsingException(String,String,int,int,Throwable) | 1 | nu.xom.ParsingException.ParsingException(String,String,int,int ,Throwable) |
| ParsingException(String,int,int,Throwable) | 1 | nu.xom.ParsingException.ParsingException(String,int,int,Throwable) |
| ParsingException(String) | 1 | nu.xom.ParsingException.ParsingException(String) |
| XIncludeException(String) | 1 | nu.xom.xinclude.XIncludeException.XIncludeException(String) |
| XIncludeException(String,Throwable) | 1 | nu.xom.xinclude.XIncludeException.XIncludeException(String,Throwable) |
| XIncludeException(String,String) | 1 | nu.xom.xinclude.XIncludeException.XIncludeException(String,String) |
| XPointerException(String) | 1 | nu.xom.xinclude.XPointerException.XPointerException(String) |
| XPointerException(String,Throwable) | 1 | nu.xom.xinclude.XPointerException.XPointerException(String,Throwable) |
| XSLException(String,Throwable) | 1 | nu.xom.xslt.XSLException.XSLException(String,Throwable) |
| XSLException(String) | 1 | nu.xom.xslt.XSLException.XSLException(String) |
| SAXPathException(String) | 1 | nu.xom.jaxen.saxpath.SAXPathException.SAXPathException(String) |
| SAXPathException(Throwable) | 1 | nu.xom.jaxen.saxpath.SAXPathException.SAXPathException(Throwable) |
| SAXPathException(String,Throwable) | 1 | nu.xom.jaxen.saxpath.SAXPathException.SAXPathException(String ,Throwable) |
| MessagingException() | 1 | com.sun.xml.messaging.saaj.packaging.mime.MessagingException .MessagingException() |
| MessagingException(String) | 1 | com.sun.xml.messaging.saaj.packaging.mime.MessagingException .MessagingException(String) |
| MessagingException(String,Exception) | 1 | com.sun.xml.messaging.saaj.packaging.mime.MessagingException .MessagingException(String,Exception) |
| getNextPart(InputStream,byte[],SharedInputStream) | 1 | com.sun.xml.messaging.saaj.packaging.mime.internet.BMMimeMultipart .getNextPart(InputStream,byte[],SharedInputStream) |
| readHeaders(InputStream) | 1 | com.sun.xml.messaging.saaj.packaging.mime.internet.BMMimeMultipart .readHeaders(InputStream) |
| readBody(InputStream,byte[],long[],ByteOutputStream,SharedInputStream) | 1 | com.sun.xml.messaging.saaj.packaging.mime.internet.BMMimeMultipart .readBody(InputStream,byte[],long[],ByteOutputStream,SharedInputStream ) |
| skipPreamble(InputStream,byte[],SharedInputStream) | 1 | com.sun.xml.messaging.saaj.packaging.mime.internet.BMMimeMultipart .skipPreamble(InputStream,byte[],SharedInputStream) |
| find(InputStream,byte[],SharedInputStream) | 1 | com.sun.xml.messaging.saaj.packaging.mime.internet.BMMimeMultipart .find(InputStream,byte[],SharedInputStream) |
| find(InputStream,byte[],long[],ByteOutputStream,SharedInputStream) | 1 | com.sun.xml.messaging.saaj.packaging.mime.internet.BMMimeMultipart .find(InputStream,byte[],long[],ByteOutputStream,SharedInputStream) |
| skipLWSPAndCRLF(InputStream) | 1 | com.sun.xml.messaging.saaj.packaging.mime.internet.BMMimeMultipart .skipLWSPAndCRLF(InputStream) |
| SpdyProtocolException() | 1 | io.netty.handler.codec.spdy.SpdyProtocolException .SpdyProtocolException() |
| SpdyProtocolException(String,Throwable) | 1 | io.netty.handler.codec.spdy.SpdyProtocolException .SpdyProtocolException(String,Throwable) |
| SpdyProtocolException(String) | 1 | io.netty.handler.codec.spdy.SpdyProtocolException .SpdyProtocolException(String) |
| SpdyProtocolException(Throwable) | 1 | io.netty.handler.codec.spdy.SpdyProtocolException .SpdyProtocolException(Throwable) |
| HttpPostBodyUtil$SeekAheadNoBackArrayException() | 1 | io.netty.handler.codec.http.multipart .HttpPostBodyUtil$SeekAheadNoBackArrayException .HttpPostBodyUtil$SeekAheadNoBackArrayException() |
| HttpPostRequestEncoder$ErrorDataEncoderException() | 1 | io.netty.handler.codec.http.multipart .HttpPostRequestEncoder$ErrorDataEncoderException .HttpPostRequestEncoder$ErrorDataEncoderException() |
| HttpPostRequestEncoder$ErrorDataEncoderException(String) | 1 | io.netty.handler.codec.http.multipart .HttpPostRequestEncoder$ErrorDataEncoderException .HttpPostRequestEncoder$ErrorDataEncoderException(String) |
| HttpPostRequestEncoder$ErrorDataEncoderException(Throwable) | 1 | io.netty.handler.codec.http.multipart .HttpPostRequestEncoder$ErrorDataEncoderException .HttpPostRequestEncoder$ErrorDataEncoderException(Throwable) |
| HttpPostRequestEncoder$ErrorDataEncoderException(String,Throwable) | 1 | io.netty.handler.codec.http.multipart .HttpPostRequestEncoder$ErrorDataEncoderException .HttpPostRequestEncoder$ErrorDataEncoderException(String,Throwable) |
| ReadOnlyAttributeException() | 1 | io.undertow.attribute.ReadOnlyAttributeException .ReadOnlyAttributeException() |
| ReadOnlyAttributeException(String,String) | 1 | io.undertow.attribute.ReadOnlyAttributeException .ReadOnlyAttributeException(String,String) |
| DigestAuthenticationMechanism$AuthenticationException (DigestAuthenticationMechanism) | 1 | io.undertow.security.impl .DigestAuthenticationMechanism$AuthenticationException .DigestAuthenticationMechanism$AuthenticationException (DigestAuthenticationMechanism) |
| DigestAuthenticationMechanism$AuthenticationException (DigestAuthenticationMechanism,String,Throwable) | 1 | io.undertow.security.impl .DigestAuthenticationMechanism$AuthenticationException .DigestAuthenticationMechanism$AuthenticationException (DigestAuthenticationMechanism,String,Throwable) |
| DigestAuthenticationMechanism$AuthenticationException (DigestAuthenticationMechanism,String) | 1 | io.undertow.security.impl .DigestAuthenticationMechanism$AuthenticationException .DigestAuthenticationMechanism$AuthenticationException (DigestAuthenticationMechanism,String) |
| DigestAuthenticationMechanism$AuthenticationException (DigestAuthenticationMechanism,Throwable) | 1 | io.undertow.security.impl .DigestAuthenticationMechanism$AuthenticationException .DigestAuthenticationMechanism$AuthenticationException (DigestAuthenticationMechanism,Throwable) |
| RenegotiationRequiredException() | 1 | io.undertow.server.RenegotiationRequiredException .RenegotiationRequiredException() |
| RenegotiationRequiredException(String) | 1 | io.undertow.server.RenegotiationRequiredException .RenegotiationRequiredException(String) |
| RenegotiationRequiredException(String,Throwable) | 1 | io.undertow.server.RenegotiationRequiredException .RenegotiationRequiredException(String,Throwable) |
| RenegotiationRequiredException(Throwable) | 1 | io.undertow.server.RenegotiationRequiredException .RenegotiationRequiredException(Throwable) |
| ClassFormatException(RuntimeException,char[]) | 1 | org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException .ClassFormatException(RuntimeException,char[]) |
| ClassFormatException(int) | 1 | org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException .ClassFormatException(int) |
| ClassFormatException(int,int) | 1 | org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException .ClassFormatException(int,int) |
| InvalidInputException() | 1 | org.eclipse.jdt.core.compiler.InvalidInputException .InvalidInputException() |
| InvalidInputException(String) | 1 | org.eclipse.jdt.core.compiler.InvalidInputException .InvalidInputException(String) |
| visit(Node$UseBean) | 1 | org.apache.jasper.compiler.Generator$GenerateVisitor.visit (Node$UseBean) |
Statistics
| Stat | depth0 |
|---|---|
| Sum: | 85 |
| Average: | 1 |
| Minimum: | 1 |
| Maximum: | 1 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Dead Code | 030 |
|
| Rule warning: Potentially dead Types |
warnif count > 0
// Filter procedure for types that should'nt be considered as dead
let canTypeBeConsideredAsDeadProc = new Func<IType, bool>(
t2 => !t2.IsPublic && // Public types might be used by client applications of your projects.
t2.Name != "Program" &&
!t2.IsGeneratedByCompiler
)
// Select types unused
let typesUnused =
from t4 in JustMyCode.Types where
t4.NbTypesUsingMe == 0 && canTypeBeConsideredAsDeadProc(t4)
select t4
// Dead types = types used only by unused types (recursive)
let deadTypesMetric = typesUnused.FillIterative(
types => from t3 in codeBase.Application.Types.UsedByAny(types).Except(types)
where canTypeBeConsideredAsDeadProc(t3) &&
t3.TypesUsingMe.Intersect(types).Count() == t3.NbTypesUsingMe
select t3)
from t in deadTypesMetric.DefinitionDomain
select new { t, t.TypesUsingMe, depth = deadTypesMetric[t] }
82 types matched
| types | TypesUsingMe | depth | Full Name |
|---|---|---|---|
| ModuleXmlUtil | 0 type | 0 | org.jboss.modules.ModuleXmlUtil |
| package-info | 0 type | 0 | com.google.common.cache.package-info |
| FluentIterable$FromIterableFunction<E> | 0 type | 0 | com.google.common.collect.FluentIterable$FromIterableFunction |
| ForwardingImmutableCollection | 0 type | 0 | com.google.common.collect.ForwardingImmutableCollection |
| ForwardingImmutableList<E> | 0 type | 0 | com.google.common.collect.ForwardingImmutableList |
| ForwardingImmutableMap<K,V> | 0 type | 0 | com.google.common.collect.ForwardingImmutableMap |
| ForwardingImmutableSet<E> | 0 type | 0 | com.google.common.collect.ForwardingImmutableSet |
| MapMakerInternalMap$CleanupMapTask | 0 type | 0 | com.google.common.collect.MapMakerInternalMap$CleanupMapTask |
| MapMakerInternalMap$SoftEvictableEntry<K,V> | 0 type | 0 | com.google.common.collect.MapMakerInternalMap$SoftEvictableEntry |
| MapMakerInternalMap$SoftExpirableEntry<K,V> | 0 type | 0 | com.google.common.collect.MapMakerInternalMap$SoftExpirableEntry |
| MapMakerInternalMap$SoftExpirableEvictableEntry<K,V> | 0 type | 0 | com.google.common.collect .MapMakerInternalMap$SoftExpirableEvictableEntry |
| package-info | 0 type | 0 | com.google.common.collect.package-info |
| package-info | 0 type | 0 | com.google.common.escape.package-info |
| package-info | 0 type | 0 | com.google.common.hash.package-info |
| package-info | 0 type | 0 | com.google.common.html.package-info |
| package-info | 0 type | 0 | com.google.common.io.package-info |
| package-info | 0 type | 0 | com.google.common.math.package-info |
| package-info | 0 type | 0 | com.google.common.net.package-info |
| UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator | 0 type | 0 | com.google.common.primitives .UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator |
| package-info | 0 type | 0 | com.google.common.primitives.package-info |
| package-info | 0 type | 0 | com.google.common.reflect.package-info |
| package-info | 0 type | 0 | com.google.common.xml.package-info |
| package-info | 0 type | 0 | com.google.common.base.package-info |
| package-info | 0 type | 0 | com.google.common.util.concurrent.package-info |
| FilePathMemLZF | 0 type | 0 | org.h2.store.fs.FilePathMemLZF |
| FilePathNioMemLZF | 0 type | 0 | org.h2.store.fs.FilePathNioMemLZF |
| ApplicationImpl$ComponentResourceClassNotFound | 0 type | 0 | com.sun.faces.application .ApplicationImpl$ComponentResourceClassNotFound |
| DelegatedWebServiceRefScanner | 0 type | 0 | com.sun.faces.application.annotation.DelegatedWebServiceRefScanner |
| StateHolderSaver | 0 type | 0 | com.sun.faces.context.StateHolderSaver |
| StateWriter | 0 type | 0 | com.sun.faces.facelets.StateWriter |
| UILiteralTextHandler | 0 type | 0 | com.sun.faces.facelets.compiler.UILiteralTextHandler |
| UITextHandler | 0 type | 0 | com.sun.faces.facelets.compiler.UITextHandler |
| ComponentRule$ValueBindingMetadata | 0 type | 0 | com.sun.faces.facelets.tag.jsf.ComponentRule$ValueBindingMetadata |
| EditableValueHolderRule$ValidatorBindingMetadata | 0 type | 0 | com.sun.faces.facelets.tag.jsf .EditableValueHolderRule$ValidatorBindingMetadata |
| EditableValueHolderRule$ValueChangedBindingMetadata | 0 type | 0 | com.sun.faces.facelets.tag.jsf .EditableValueHolderRule$ValueChangedBindingMetadata |
| ValueHolderRule$DynamicConverterMetadata | 0 type | 0 | com.sun.faces.facelets.tag.jsf .ValueHolderRule$DynamicConverterMetadata |
| ValueHolderRule$DynamicValueBindingMetadata | 0 type | 0 | com.sun.faces.facelets.tag.jsf .ValueHolderRule$DynamicValueBindingMetadata |
| package-info | 0 type | 0 | com.sun.xml.bind.api.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.model.core.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.model.runtime.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.runtime.output.package-info |
| ArrayElementLeafProperty<BeanT,ListT,ItemT> | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.ArrayElementLeafProperty |
| ArrayElementNodeProperty<BeanT,ListT,ItemT> | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty |
| ArrayReferenceNodeProperty<BeanT,ListT,ItemT> | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.ArrayReferenceNodeProperty |
| Messages | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.Messages |
| SingleElementLeafProperty<BeanT> | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty |
| SingleElementNodeProperty<BeanT,ValueT> | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty |
| StAXExConnector | 0 type | 0 | com.sun.xml.bind.v2.runtime.unmarshaller.StAXExConnector |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.schemagen.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.schemagen.episode.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.schemagen.xmlschema.package-info |
| package-info | 0 type | 0 | com.sun.tools.xjc.package-info |
| package-info | 0 type | 0 | com.sun.tools.xjc.addon.episode.package-info |
| package-info | 0 type | 0 | com.sun.tools.xjc.generator.package-info |
| package-info | 0 type | 0 | com.sun.tools.xjc.model.package-info |
| BindStyle | 0 type | 0 | com.sun.tools.xjc.reader.relaxng.BindStyle |
| NameCalculator | 0 type | 0 | com.sun.tools.xjc.reader.relaxng.NameCalculator |
| TypePatternBinder | 0 type | 0 | com.sun.tools.xjc.reader.relaxng.TypePatternBinder |
| Messages | 0 type | 0 | com.sun.tools.xjc.reader.dtd.bindinfo.Messages |
| BindBlue | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.BindBlue |
| BIGlobalBinding$ClassNameAdapter | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.bindinfo .BIGlobalBinding$ClassNameAdapter |
| BIGlobalBinding$TypeSubstitutionElement | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.bindinfo .BIGlobalBinding$TypeSubstitutionElement |
| DomHandlerEx | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.bindinfo.DomHandlerEx |
| package-info | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.bindinfo.package-info |
| ChoiceContentComplexTypeBuilder | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.ct.ChoiceContentComplexTypeBuilder |
| Info | 0 type | 0 | nu.xom.Info |
| JDK15XML1_0Parser | 0 type | 0 | nu.xom.JDK15XML1_0Parser |
| CookieHeaderNames | 0 type | 0 | io.netty.handler.codec.http.CookieHeaderNames |
| DigestAuthenticationMechanism$AuthenticationException | 0 type | 0 | io.undertow.security.impl .DigestAuthenticationMechanism$AuthenticationException |
| SendChannel | 0 type | 0 | io.undertow.websockets.core.SendChannel |
| Dumper | 0 type | 0 | org.apache.jasper.compiler.Dumper |
| Bootstrap$WebSocketListener | 0 type | 0 | io.undertow.websockets.jsr.Bootstrap$WebSocketListener |
| JsrWebSocketProtocolHandshakeHandler | 0 type | 0 | io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler |
| MapMakerInternalMap$SoftEntry<K,V> | 3 types | 1 | com.google.common.collect.MapMakerInternalMap$SoftEntry |
| UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1 | 1 type | 1 | com.google.common.primitives .UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1 |
| WebServiceRefScanner | 1 type | 1 | com.sun.faces.application.annotation.WebServiceRefScanner |
| StateHolderSaver$StateHolderTupleIndices | 1 type | 1 | com.sun.faces.context.StateHolderSaver$StateHolderTupleIndices |
| ArrayElementProperty<BeanT,ListT,ItemT> | 2 types | 1 | com.sun.xml.bind.v2.runtime.property.ArrayElementProperty |
| ArrayReferenceNodeProperty$MixedTextLoader | 1 type | 1 | com.sun.xml.bind.v2.runtime.property .ArrayReferenceNodeProperty$MixedTextLoader |
| Dumper$DumpVisitor | 1 type | 1 | org.apache.jasper.compiler.Dumper$DumpVisitor |
| WebServiceRefHandler | 1 type | 2 | com.sun.faces.application.annotation.WebServiceRefHandler |
Statistics
| Stat | TypesUsingMe | depth |
|---|---|---|
| Sum: | 0 | 9 |
| Average: | 0 | 0.11 |
| Minimum: | 0 | 0 |
| Maximum: | 0 | 2 |
| Standard deviation: | 0 | 0.35 |
| Variance: | 0 | 0.12 |
| Rule warning: Potentially dead Methods |
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
m => !m.IsPubliclyVisible && // Public methods might be used by client applications of your projects.
!m.IsEntryPoint && // Main() method is not used by-design.
!m.IsClassConstructor && // The BC code never explicitely calls class constructors.
!(m.IsConstructor && // Don't take account of protected ctor that might be call by a derived ctors.
m.IsProtected) &&
!m.IsGeneratedByCompiler)
// Get methods unused
let methodsUnused =
from m2 in JustMyCode.Methods where
m2.NbMethodsCallingMe == 0 &&
canMethodBeConsideredAsDeadProc(m2)
select m2
// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
methods => // Unique loop, just to let a chance to build the hashset.
from o in (new object()).ToEnumerable()
// Use a hashet to make Intersect calls much faster!
let hashset = methods.ToHashSet()
from m3 in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
where canMethodBeConsideredAsDeadProc(m3) &&
// Select methods called only by methods already considered as dead
hashset.Intersect(m3.MethodsCallingMe).Count() == m3.NbMethodsCallingMe
select m3)
from m4 in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m4, m4.MethodsCallingMe, depth = deadMethodsMetric[m4] }
11,557 methods matched
| methods | MethodsCallingMe | depth | Full Name |
|---|---|---|---|
| FileResourceLoader$4(FileResourceLoader,File,String) | 1 method | 1 | org.jboss.modules.FileResourceLoader$4.FileResourceLoader$4 (FileResourceLoader,File,String) |
| IdentityHashSet<E>(int,float) | 1 method | 2 | org.jboss.modules.IdentityHashSet.IdentityHashSet<E>(int,float) |
| IdentityHashSet<E>(Set) | 0 method | 0 | org.jboss.modules.IdentityHashSet.IdentityHashSet<E>(Set) |
| IdentityHashSet<E>(int) | 1 method | 1 | org.jboss.modules.IdentityHashSet.IdentityHashSet<E>(int) |
| IdentityHashSet<E>() | 0 method | 0 | org.jboss.modules.IdentityHashSet.IdentityHashSet<E>() |
| size() | 0 method | 0 | org.jboss.modules.IdentityHashSet.size() |
| isEmpty() | 0 method | 0 | org.jboss.modules.IdentityHashSet.isEmpty() |
| contains(Object) | 0 method | 0 | org.jboss.modules.IdentityHashSet.contains(Object) |
| add(Object) | 1 method | 2 | org.jboss.modules.IdentityHashSet.add(Object) |
| addAll(Collection) | 1 method | 1 | org.jboss.modules.IdentityHashSet.addAll(Collection) |
| remove(Object) | 1 method | 1 | org.jboss.modules.IdentityHashSet.remove(Object) |
| relocate(int) | 1 method | 2 | org.jboss.modules.IdentityHashSet.relocate(int) |
| clear() | 0 method | 0 | org.jboss.modules.IdentityHashSet.clear() |
| toScatteredArray(Object[]) | 0 method | 0 | org.jboss.modules.IdentityHashSet.toScatteredArray(Object[]) |
| toArray(Object[],int,int) | 0 method | 0 | org.jboss.modules.IdentityHashSet.toArray(Object[],int,int) |
| printDebugStats() | 0 method | 0 | org.jboss.modules.IdentityHashSet.printDebugStats() |
| readObject(ObjectInputStream) | 0 method | 0 | org.jboss.modules.IdentityHashSet.readObject(ObjectInputStream) |
| putForCreate(Object) | 1 method | 1 | org.jboss.modules.IdentityHashSet.putForCreate(Object) |
| writeObject(ObjectOutputStream) | 0 method | 0 | org.jboss.modules.IdentityHashSet.writeObject(ObjectOutputStream) |
| iterator() | 0 method | 0 | org.jboss.modules.IdentityHashSet.iterator() |
| getProvider() | 0 method | 0 | org.jboss.modules.ModulesPolicy.getProvider() |
| getType() | 0 method | 0 | org.jboss.modules.ModulesPolicy.getType() |
| getParameters() | 0 method | 0 | org.jboss.modules.ModulesPolicy.getParameters() |
| getPermissions(CodeSource) | 0 method | 0 | org.jboss.modules.ModulesPolicy.getPermissions(CodeSource) |
| getPermissions(ProtectionDomain) | 0 method | 0 | org.jboss.modules.ModulesPolicy.getPermissions(ProtectionDomain) |
| implies(ProtectionDomain,Permission) | 0 method | 0 | org.jboss.modules.ModulesPolicy.implies(ProtectionDomain,Permission) |
| getDescription() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getDescription() |
| getLinkTime() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getLinkTime() |
| getLoadTime() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getLoadTime() |
| getClassDefineTime() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getClassDefineTime() |
| getScanCount() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getScanCount() |
| getLoadedModuleCount() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getLoadedModuleCount() |
| getRaceCount() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getRaceCount() |
| getClassCount() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getClassCount() |
| queryLoadedModuleNames() | 1 method | 1 | org.jboss.modules.ModuleLoader$MXBeanImpl.queryLoadedModuleNames() |
| dumpAllModuleInformation() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.dumpAllModuleInformation() |
| dumpModuleInformation(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.dumpModuleInformation(String ) |
| doDumpModuleInformation(String,StringBuilder) | 2 methods | 1 | org.jboss.modules.ModuleLoader$MXBeanImpl.doDumpModuleInformation (String,StringBuilder) |
| unloadModule(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.unloadModule(String) |
| refreshResourceLoaders(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.refreshResourceLoaders (String) |
| relink(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.relink(String) |
| getDependencies(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getDependencies(String) |
| getResourceLoaders(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getResourceLoaders(String) |
| getModuleDescription(String) | 1 method | 2 | org.jboss.modules.ModuleLoader$MXBeanImpl.getModuleDescription(String) |
| getModulePathsInfo(String,boolean) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getModulePathsInfo(String ,boolean) |
| getDependency(Module) | 0 method | 0 | org.jboss.modules.DependencySpec$3.getDependency(Module) |
| toString() | 0 method | 0 | org.jboss.modules.DependencySpec$3.toString() |
| StartTimeHolder() | 0 method | 0 | org.jboss.modules.StartTimeHolder.StartTimeHolder() |
| FileResourceLoader$3(FileResourceLoader,String) | 1 method | 1 | org.jboss.modules.FileResourceLoader$3.FileResourceLoader$3 (FileResourceLoader,String) |
| remove() | 0 method | 0 | org.jboss.modules.ModuleLoader$2.remove() |
| getDependency(Module) | 0 method | 0 | org.jboss.modules.DependencySpec$1.getDependency(Module) |
| toString() | 0 method | 0 | org.jboss.modules.DependencySpec$1.toString() |
| getKey() | 0 method | 0 | org.jboss.modules.UnlockedReadHashMap$Item.getKey() |
| getValue() | 0 method | 0 | org.jboss.modules.UnlockedReadHashMap$Item.getValue() |
| setValue(Object) | 0 method | 0 | org.jboss.modules.UnlockedReadHashMap$Item.setValue(Object) |
| equals(Object) | 0 method | 0 | org.jboss.modules.UnlockedReadHashMap$Item.equals(Object) |
| equals(UnlockedReadHashMap$Item) | 1 method | 1 | org.jboss.modules.UnlockedReadHashMap$Item.equals (UnlockedReadHashMap$Item) |
| getRootName() | 0 method | 0 | org.jboss.modules.FileResourceLoader.getRootName() |
| getClassSpec(String) | 0 method | 0 | org.jboss.modules.FileResourceLoader.getClassSpec(String) |
| getPackageSpec(String) | 0 method | 0 | org.jboss.modules.FileResourceLoader.getPackageSpec(String) |
| getResource(String) | 0 method | 0 | org.jboss.modules.FileResourceLoader.getResource(String) |
| iterateResources(String,boolean) | 0 method | 0 | org.jboss.modules.FileResourceLoader.iterateResources(String,boolean) |
| getPaths() | 0 method | 0 | org.jboss.modules.FileResourceLoader.getPaths() |
| buildIndex(List,File,String) | 1 method | 1 | org.jboss.modules.FileResourceLoader.buildIndex(List,File,String) |
| hashCode() | 0 method | 0 | org.jboss.modules.Module$Visited.hashCode() |
| equals(Object) | 0 method | 0 | org.jboss.modules.Module$Visited.equals(Object) |
| equals(Module$Visited) | 1 method | 1 | org.jboss.modules.Module$Visited.equals(Module$Visited) |
| hasNext() | 1 method | 1 | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator.hasNext() |
| next() | 0 method | 0 | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator.next() |
| remove() | 0 method | 0 | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator.remove() |
| ConcurrentClassLoader$LoaderThread$1 (ConcurrentClassLoader$LoaderThread,ConcurrentClassLoader ,ConcurrentClassLoader$LoadRequest) | 1 method | 1 | org.jboss.modules.ConcurrentClassLoader$LoaderThread$1 .ConcurrentClassLoader$LoaderThread$1 (ConcurrentClassLoader$LoaderThread,ConcurrentClassLoader ,ConcurrentClassLoader$LoadRequest) |
| values() | 0 method | 0 | org.jboss.modules.Linkage$State.values() |
| valueOf(String) | 0 method | 0 | org.jboss.modules.Linkage$State.valueOf(String) |
| Main() | 0 method | 0 | org.jboss.modules.Main.Main() |
| LocalDependency(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,LocalLoader,Set) | 1 method | 1 | org.jboss.modules.LocalDependency.LocalDependency(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,LocalLoader ,Set) |
| toString() | 0 method | 0 | org.jboss.modules.LocalDependency.toString() |
| getRootName() | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getRootName() |
| getClassSpec(String) | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getClassSpec(String) |
| getPackageSpec(String) | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getPackageSpec(String ) |
| getResource(String) | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getResource(String) |
| getLibrary(String) | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getLibrary(String) |
| getPaths() | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getPaths() |
| iterateResources(String,boolean) | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.iterateResources (String,boolean) |
| ResourceLoaders() | 0 method | 0 | org.jboss.modules.ResourceLoaders.ResourceLoaders() |
| StreamUtil() | 0 method | 0 | org.jboss.modules.StreamUtil.StreamUtil() |
| LocalLoaders() | 0 method | 0 | org.jboss.modules.LocalLoaders.LocalLoaders() |
| interrupt() | 0 method | 0 | org.jboss.modules.ConcurrentClassLoader$LoaderThread.interrupt() |
| run() | 0 method | 0 | org.jboss.modules.ConcurrentClassLoader$LoaderThread.run() |
| getClassLoaderOf(Module) | 0 method | 0 | org.jboss.modules.Module$2.getClassLoaderOf(Module) |
| ModuleXmlUtil() | 0 method | 0 | org.jboss.modules.ModuleXmlUtil.ModuleXmlUtil() |
| toFile(File,ModuleIdentifier) | 0 method | 0 | org.jboss.modules.ModuleXmlUtil.toFile(File,ModuleIdentifier) |
| toFile(File,String,ModuleIdentifier) | 1 method | 1 | org.jboss.modules.ModuleXmlUtil.toFile(File,String,ModuleIdentifier) |
| baseFilename(ModuleIdentifier) | 0 method | 0 | org.jboss.modules.ModuleXmlUtil.baseFilename(ModuleIdentifier) |
| baseFilename(String,String,ModuleIdentifier) | 0 method | 0 | org.jboss.modules.ModuleXmlUtil.baseFilename(String,String ,ModuleIdentifier) |
| CallerContext() | 0 method | 0 | org.jboss.modules.CallerContext.CallerContext() |
| ConcurrentClassLoader$UnsafeHolder() | 0 method | 0 | org.jboss.modules.ConcurrentClassLoader$UnsafeHolder .ConcurrentClassLoader$UnsafeHolder() |
| preloadModule(ModuleIdentifier) | 0 method | 0 | org.jboss.modules.JarModuleLoader.preloadModule(ModuleIdentifier) |
| toString() | 0 method | 0 | org.jboss.modules.JarModuleLoader.toString() |
| FileResourceLoader$2(FileResourceLoader,String) | 1 method | 1 | org.jboss.modules.FileResourceLoader$2.FileResourceLoader$2 (FileResourceLoader,String) |
| getName() | 0 method | 0 | org.jboss.modules.JarEntryResource.getName() |
Statistics
| Stat | MethodsCallingMe | depth |
|---|---|---|
| Sum: | 0 | 2 301 |
| Average: | 0 | 0.2 |
| Minimum: | 0 | 0 |
| Maximum: | 0 | 5 |
| Standard deviation: | 0 | 0.51 |
| Variance: | 0 | 0.26 |
| Rule warning: Potentially dead Fields |
warnif count > 0
from f in JustMyCode.Fields where
f.NbMethodsUsingMe == 0 &&
!f.IsPublic && // Although not recommended, public fields might be used by client applications of your projects.
!f.IsLiteral && // The BC code never explicitely uses literal fields.
!f.IsEnumValue && // The BC code never explicitely uses enumeration value.
f.Name!= "serialVersionUID" &&
!f.IsInitOnly
select f
18 fields matched
| fields | Full Name |
|---|---|
| _entityBuffer | com.fasterxml.jackson.core.json.UTF8JsonGenerator._entityBuffer |
| sc | com.sun.faces.config.ConfigManager$AnnotationScanTask.sc |
| hashCode | com.sun.faces.flow.builder.MutableNavigationCase.hashCode |
| renderKitId | com.sun.faces.renderkit.RenderKitFactoryImpl.renderKitId |
| className | com.sun.faces.renderkit.RenderKitFactoryImpl.className |
| _readOnlyVocabulary | com.sun.xml.fastinfoset.vocab.ParserVocabulary._readOnlyVocabulary |
| _systemId | com.sun.xml.fastinfoset.stax.events.StartDocumentEvent._systemId |
| base64Data | com.sun.xml.bind.v2.runtime.XMLSerializer.base64Data |
| pad0 | io.netty.util.internal.ThreadLocalRandom.pad0 |
| pad1 | io.netty.util.internal.ThreadLocalRandom.pad1 |
| pad2 | io.netty.util.internal.ThreadLocalRandom.pad2 |
| pad3 | io.netty.util.internal.ThreadLocalRandom.pad3 |
| pad4 | io.netty.util.internal.ThreadLocalRandom.pad4 |
| pad5 | io.netty.util.internal.ThreadLocalRandom.pad5 |
| pad6 | io.netty.util.internal.ThreadLocalRandom.pad6 |
| pad7 | io.netty.util.internal.ThreadLocalRandom.pad7 |
| requestState | io.undertow.server.protocol.http.HttpReadListener.requestState |
| className | org.apache.jasper.servlet.JasperLoader.className |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Visibility | 040 |
|
| Rule warning: Methods that could have a lower visibility |
warnif count > 0 from m in JustMyCode.Methods where
m.Visibility != m.OptimalVisibility &&
// Eliminate default constructor from the result.
// Whatever the visibility of the declaring class,
// default constructors are public and introduce noise
// in the current rule.
!( m.IsConstructor && m.IsPublic && m.NbParameters == 0) &&
// Don't decrease the visibility of Main() methods.
!m.IsEntryPoint
select new { m,
m.Visibility ,
CouldBeDeclared = m.OptimalVisibility,
m.MethodsCallingMe }
56,180 methods matched
| methods | Visibility | CouldBeDeclared | MethodsCallingMe | Full Name |
|---|---|---|---|---|
| changeAll(ModuleIdentifier,ModuleLoader) | Public | Internal | 1 method | __redirected.__JAXPRedirected.changeAll(ModuleIdentifier,ModuleLoader) |
| restorePlatformFactory() | Public | Private | 0 method | __redirected.__JAXPRedirected.restorePlatformFactory() |
| initAll() | Public | Internal | 1 method | __redirected.__JAXPRedirected.initAll() |
| changeDefaultFactory(ModuleIdentifier,ModuleLoader) | Public | Internal | 1 method | __redirected.__XMLReaderFactory.changeDefaultFactory(ModuleIdentifier ,ModuleLoader) |
| restorePlatformFactory() | Public | Internal | 1 method | __redirected.__XMLReaderFactory.restorePlatformFactory() |
| init() | Public | Internal | 1 method | __redirected.__XMLReaderFactory.init() |
| getFeature(String) | Public | Private | 0 method | __redirected.__XMLReaderFactory.getFeature(String) |
| setFeature(String,boolean) | Public | Private | 0 method | __redirected.__XMLReaderFactory.setFeature(String,boolean) |
| getProperty(String) | Public | Private | 0 method | __redirected.__XMLReaderFactory.getProperty(String) |
| setProperty(String,Object) | Public | Private | 0 method | __redirected.__XMLReaderFactory.setProperty(String,Object) |
| setEntityResolver(EntityResolver) | Public | Private | 0 method | __redirected.__XMLReaderFactory.setEntityResolver(EntityResolver) |
| getEntityResolver() | Public | Private | 0 method | __redirected.__XMLReaderFactory.getEntityResolver() |
| setDTDHandler(DTDHandler) | Public | Private | 0 method | __redirected.__XMLReaderFactory.setDTDHandler(DTDHandler) |
| getDTDHandler() | Public | Private | 0 method | __redirected.__XMLReaderFactory.getDTDHandler() |
| setContentHandler(ContentHandler) | Public | Private | 0 method | __redirected.__XMLReaderFactory.setContentHandler(ContentHandler) |
| getContentHandler() | Public | Private | 0 method | __redirected.__XMLReaderFactory.getContentHandler() |
| setErrorHandler(ErrorHandler) | Public | Private | 0 method | __redirected.__XMLReaderFactory.setErrorHandler(ErrorHandler) |
| getErrorHandler() | Public | Private | 0 method | __redirected.__XMLReaderFactory.getErrorHandler() |
| parse(InputSource) | Public | Private | 0 method | __redirected.__XMLReaderFactory.parse(InputSource) |
| parse(String) | Public | Private | 0 method | __redirected.__XMLReaderFactory.parse(String) |
| init() | Public | Internal | 1 method | __redirected.__DocumentBuilderFactory.init() |
| changeDefaultFactory(ModuleIdentifier,ModuleLoader) | Public | Internal | 1 method | __redirected.__DocumentBuilderFactory.changeDefaultFactory (ModuleIdentifier,ModuleLoader) |
| restorePlatformFactory() | Public | Internal | 1 method | __redirected.__DocumentBuilderFactory.restorePlatformFactory() |
| newDocumentBuilder() | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.newDocumentBuilder() |
| setNamespaceAware(boolean) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.setNamespaceAware(boolean) |
| setValidating(boolean) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.setValidating(boolean) |
| setIgnoringElementContentWhitespace(boolean) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory .setIgnoringElementContentWhitespace(boolean) |
| setExpandEntityReferences(boolean) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.setExpandEntityReferences (boolean) |
| setIgnoringComments(boolean) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.setIgnoringComments(boolean) |
| setCoalescing(boolean) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.setCoalescing(boolean) |
| isNamespaceAware() | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.isNamespaceAware() |
| isValidating() | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.isValidating() |
| isIgnoringElementContentWhitespace() | Public | Private | 0 method | __redirected.__DocumentBuilderFactory .isIgnoringElementContentWhitespace() |
| isExpandEntityReferences() | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.isExpandEntityReferences() |
| isIgnoringComments() | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.isIgnoringComments() |
| isCoalescing() | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.isCoalescing() |
| setAttribute(String,Object) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.setAttribute(String,Object) |
| getAttribute(String) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.getAttribute(String) |
| setFeature(String,boolean) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.setFeature(String,boolean) |
| getFeature(String) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.getFeature(String) |
| getSchema() | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.getSchema() |
| setSchema(Schema) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.setSchema(Schema) |
| setXIncludeAware(boolean) | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.setXIncludeAware(boolean) |
| isXIncludeAware() | Public | Private | 0 method | __redirected.__DocumentBuilderFactory.isXIncludeAware() |
| changeDefaultFactory(ModuleIdentifier,ModuleLoader) | Public | Internal | 1 method | __redirected.__XPathFactory.changeDefaultFactory(ModuleIdentifier ,ModuleLoader) |
| restorePlatformFactory() | Public | Internal | 1 method | __redirected.__XPathFactory.restorePlatformFactory() |
| init() | Public | Internal | 1 method | __redirected.__XPathFactory.init() |
| isObjectModelSupported(String) | Public | Private | 0 method | __redirected.__XPathFactory.isObjectModelSupported(String) |
| setFeature(String,boolean) | Public | Private | 0 method | __redirected.__XPathFactory.setFeature(String,boolean) |
| getFeature(String) | Public | Private | 0 method | __redirected.__XPathFactory.getFeature(String) |
| setXPathVariableResolver(XPathVariableResolver) | Public | Private | 0 method | __redirected.__XPathFactory.setXPathVariableResolver (XPathVariableResolver) |
| setXPathFunctionResolver(XPathFunctionResolver) | Public | Private | 0 method | __redirected.__XPathFactory.setXPathFunctionResolver (XPathFunctionResolver) |
| newXPath() | Public | Private | 0 method | __redirected.__XPathFactory.newXPath() |
| changeDefaultFactory(ModuleIdentifier,ModuleLoader) | Public | Internal | 1 method | __redirected.__TransformerFactory.changeDefaultFactory (ModuleIdentifier,ModuleLoader) |
| restorePlatformFactory() | Public | Internal | 1 method | __redirected.__TransformerFactory.restorePlatformFactory() |
| init() | Public | Internal | 1 method | __redirected.__TransformerFactory.init() |
| newTransformer(Source) | Public | Private | 0 method | __redirected.__TransformerFactory.newTransformer(Source) |
| newTransformer() | Public | Private | 0 method | __redirected.__TransformerFactory.newTransformer() |
| newTemplates(Source) | Public | Private | 0 method | __redirected.__TransformerFactory.newTemplates(Source) |
| toString() | Public | Private | 0 method | __redirected.__TransformerFactory.toString() |
| getAssociatedStylesheet(Source,String,String,String) | Public | Private | 0 method | __redirected.__TransformerFactory.getAssociatedStylesheet(Source ,String,String,String) |
| setURIResolver(URIResolver) | Public | Private | 0 method | __redirected.__TransformerFactory.setURIResolver(URIResolver) |
| getURIResolver() | Public | Private | 0 method | __redirected.__TransformerFactory.getURIResolver() |
| setFeature(String,boolean) | Public | Private | 0 method | __redirected.__TransformerFactory.setFeature(String,boolean) |
| getFeature(String) | Public | Private | 0 method | __redirected.__TransformerFactory.getFeature(String) |
| setAttribute(String,Object) | Public | Private | 0 method | __redirected.__TransformerFactory.setAttribute(String,Object) |
| getAttribute(String) | Public | Private | 0 method | __redirected.__TransformerFactory.getAttribute(String) |
| setErrorListener(ErrorListener) | Public | Private | 0 method | __redirected.__TransformerFactory.setErrorListener(ErrorListener) |
| getErrorListener() | Public | Private | 0 method | __redirected.__TransformerFactory.getErrorListener() |
| newTransformerHandler(Source) | Public | Private | 0 method | __redirected.__TransformerFactory.newTransformerHandler(Source) |
| newTransformerHandler(Templates) | Public | Private | 0 method | __redirected.__TransformerFactory.newTransformerHandler(Templates) |
| newTransformerHandler() | Public | Private | 0 method | __redirected.__TransformerFactory.newTransformerHandler() |
| newTemplatesHandler() | Public | Private | 0 method | __redirected.__TransformerFactory.newTemplatesHandler() |
| newXMLFilter(Source) | Public | Private | 0 method | __redirected.__TransformerFactory.newXMLFilter(Source) |
| newXMLFilter(Templates) | Public | Private | 0 method | __redirected.__TransformerFactory.newXMLFilter(Templates) |
| changeDefaultFactory(ModuleIdentifier,ModuleLoader) | Public | Internal | 1 method | __redirected.__XMLInputFactory.changeDefaultFactory(ModuleIdentifier ,ModuleLoader) |
| init() | Public | Internal | 1 method | __redirected.__XMLInputFactory.init() |
| restorePlatformFactory() | Public | Internal | 1 method | __redirected.__XMLInputFactory.restorePlatformFactory() |
| createXMLStreamReader(Reader) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLStreamReader(Reader) |
| createXMLStreamReader(Source) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLStreamReader(Source) |
| createXMLStreamReader(InputStream) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLStreamReader(InputStream) |
| createXMLStreamReader(InputStream,String) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLStreamReader(InputStream ,String) |
| createXMLStreamReader(String,InputStream) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLStreamReader(String ,InputStream) |
| createXMLStreamReader(String,Reader) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLStreamReader(String,Reader) |
| createXMLEventReader(Reader) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLEventReader(Reader) |
| createXMLEventReader(String,Reader) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLEventReader(String,Reader) |
| createXMLEventReader(XMLStreamReader) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLEventReader(XMLStreamReader) |
| createXMLEventReader(Source) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLEventReader(Source) |
| createXMLEventReader(InputStream) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLEventReader(InputStream) |
| createXMLEventReader(InputStream,String) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLEventReader(InputStream,String ) |
| createXMLEventReader(String,InputStream) | Public | Private | 0 method | __redirected.__XMLInputFactory.createXMLEventReader(String,InputStream ) |
| createFilteredReader(XMLStreamReader,StreamFilter) | Public | Private | 0 method | __redirected.__XMLInputFactory.createFilteredReader(XMLStreamReader ,StreamFilter) |
| createFilteredReader(XMLEventReader,EventFilter) | Public | Private | 0 method | __redirected.__XMLInputFactory.createFilteredReader(XMLEventReader ,EventFilter) |
| getXMLResolver() | Public | Private | 0 method | __redirected.__XMLInputFactory.getXMLResolver() |
| setXMLResolver(XMLResolver) | Public | Private | 0 method | __redirected.__XMLInputFactory.setXMLResolver(XMLResolver) |
| getXMLReporter() | Public | Private | 0 method | __redirected.__XMLInputFactory.getXMLReporter() |
| setXMLReporter(XMLReporter) | Public | Private | 0 method | __redirected.__XMLInputFactory.setXMLReporter(XMLReporter) |
| setProperty(String,Object) | Public | Private | 0 method | __redirected.__XMLInputFactory.setProperty(String,Object) |
| getProperty(String) | Public | Private | 0 method | __redirected.__XMLInputFactory.getProperty(String) |
| isPropertySupported(String) | Public | Private | 0 method | __redirected.__XMLInputFactory.isPropertySupported(String) |
Statistics
| Stat | Visibility | CouldBeDeclared | MethodsCallingMe |
|---|---|---|---|
| Sum: | 0 | 0 | 0 |
| Average: | 0 | 0 | 0 |
| Minimum: | 0 | 0 | 0 |
| Maximum: | 0 | 0 | 0 |
| Standard deviation: | 0 | 0 | 0 |
| Variance: | 0 | 0 | 0 |
| Rule warning: Fields that could have a lower visibility |
warnif count > 0 from f in JustMyCode.Fields where
f.Visibility != f.OptimalVisibility
select new { f,
f.Visibility ,
CouldBeDeclared = f.OptimalVisibility,
f.MethodsUsingMe }
11,002 fields matched
| fields | Visibility | CouldBeDeclared | MethodsUsingMe | Full Name |
|---|---|---|---|---|
| DEFAULT_PERMISSION_COLLECTION | Public | Internal | 2 methods | org.jboss.modules.ModulesPolicy.DEFAULT_PERMISSION_COLLECTION |
| START_TIME | Public | Internal | 3 methods | org.jboss.modules.StartTimeHolder.START_TIME |
| idx | Public | Private | 1 method | org.jboss.modules.ModuleLoader$2.idx |
| nested | Public | Private | 2 methods | org.jboss.modules.ModuleLoader$2.nested |
| systemPackages | Public | Internal | 4 methods | org.jboss.modules.Module.systemPackages |
| systemPaths | Public | Internal | 7 methods | org.jboss.modules.Module.systemPaths |
| PRIVATE_ACCESS | Public | Private | 2 methods | org.jboss.modules.Module.PRIVATE_ACCESS |
| log | Public | Internal | 16 methods | org.jboss.modules.Module.log |
| table | Public | Private | 4 methods | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator.table |
| EMPTY_ENUMERATION | Protected | Private | 4 methods | org.jboss.modules.ConcurrentClassLoader.EMPTY_ENUMERATION |
| POLICY_READY | Public | Internal | 3 methods | org.jboss.modules.ModuleClassLoader.POLICY_READY |
| NO_RESOURCE_LOADERS | Public | Private | 4 methods | org.jboss.modules.ModuleClassLoader.NO_RESOURCE_LOADERS |
| USE_INDEXES | Public | Internal | 3 methods | org.jboss.modules.ResourceLoaders.USE_INDEXES |
| WRITE_INDEXES | Public | Internal | 3 methods | org.jboss.modules.ResourceLoaders.WRITE_INDEXES |
| DEFAULT_FILENAME | Public | Private | 0 method | org.jboss.modules.ModuleXmlUtil.DEFAULT_FILENAME |
| UNSAFE | Public | Internal | 2 methods | org.jboss.modules.ConcurrentClassLoader$UnsafeHolder.UNSAFE |
| NO_STRINGS | Public | Internal | 2 methods | org.jboss.modules.JarModuleLoader.NO_STRINGS |
| NO_FINDERS | Public | Private | 5 methods | org.jboss.modules.ModuleLoader.NO_FINDERS |
| INSTANCE | Public | Internal | 2 methods | org.jboss.modules.ModularContentHandlerFactory.INSTANCE |
| JDK | Public | Internal | 4 methods | org.jboss.modules.JDKPaths.JDK |
| SYSTEM | Public | Internal | 4 methods | org.jboss.modules.ClassLoaderLocalLoader.SYSTEM |
| INSTANCE | Public | Internal | 2 methods | org.jboss.modules.ModularURLStreamHandlerFactory.INSTANCE |
| ENABLED | Public | Internal | 5 methods | org.jboss.modules.Metrics.ENABLED |
| THREAD_MX_BEAN | Public | Private | 1 method | org.jboss.modules.Metrics.THREAD_MX_BEAN |
| NONE | Public | Private | 2 methods | org.jboss.modules.Paths.NONE |
| INSTANCE | Public | Internal | 3 methods | org.jboss.modules.DefaultBootModuleLoaderHolder.INSTANCE |
| CLASSPATH | Public | Internal | 3 methods | org.jboss.modules.ModuleIdentifier.CLASSPATH |
| result | Public | Internal | 2 methods | org.jboss.modules.ConcurrentClassLoader$LoadRequest.result |
| message | Public | Internal | 2 methods | org.jboss.modules.ConcurrentClassLoader$LoadRequest.message |
| done | Public | Internal | 2 methods | org.jboss.modules.ConcurrentClassLoader$LoadRequest.done |
| LOADER_THREAD | Public | Internal | 2 methods | org.jboss.modules.ConcurrentClassLoader$LoaderThreadHolder .LOADER_THREAD |
| REQUEST_QUEUE | Public | Internal | 3 methods | org.jboss.modules.ConcurrentClassLoader$LoaderThreadHolder .REQUEST_QUEUE |
| NONE | Public | Internal | 2 methods | org.jboss.modules.Linkage.NONE |
| NO_STRINGS | Public | Private | 3 methods | org.jboss.modules.ClassPathModuleLoader.NO_STRINGS |
| importFilter | Public | Protected | 6 methods | org.jboss.modules.DependencySpec.importFilter |
| exportFilter | Public | Protected | 6 methods | org.jboss.modules.DependencySpec.exportFilter |
| resourceImportFilter | Public | Protected | 5 methods | org.jboss.modules.DependencySpec.resourceImportFilter |
| resourceExportFilter | Public | Protected | 5 methods | org.jboss.modules.DependencySpec.resourceExportFilter |
| classImportFilter | Public | Protected | 5 methods | org.jboss.modules.DependencySpec.classImportFilter |
| classExportFilter | Public | Protected | 5 methods | org.jboss.modules.DependencySpec.classExportFilter |
| detail | Protected | Private | 3 methods | org.jboss.modules.xml.XmlPullParserException.detail |
| row | Protected | Private | 3 methods | org.jboss.modules.xml.XmlPullParserException.row |
| column | Protected | Private | 3 methods | org.jboss.modules.xml.XmlPullParserException.column |
| XML_URI | Protected | Private | 0 method | org.jboss.modules.xml.MXParser.XML_URI |
| XMLNS_URI | Protected | Private | 0 method | org.jboss.modules.xml.MXParser.XMLNS_URI |
| FEATURE_XML_ROUNDTRIP | Protected | Private | 0 method | org.jboss.modules.xml.MXParser.FEATURE_XML_ROUNDTRIP |
| FEATURE_NAMES_INTERNED | Protected | Private | 0 method | org.jboss.modules.xml.MXParser.FEATURE_NAMES_INTERNED |
| PROPERTY_XMLDECL_VERSION | Protected | Private | 0 method | org.jboss.modules.xml.MXParser.PROPERTY_XMLDECL_VERSION |
| PROPERTY_XMLDECL_STANDALONE | Protected | Private | 0 method | org.jboss.modules.xml.MXParser.PROPERTY_XMLDECL_STANDALONE |
| PROPERTY_XMLDECL_CONTENT | Protected | Private | 0 method | org.jboss.modules.xml.MXParser.PROPERTY_XMLDECL_CONTENT |
| PROPERTY_LOCATION | Protected | Private | 0 method | org.jboss.modules.xml.MXParser.PROPERTY_LOCATION |
| allStringsInterned | Protected | Private | 7 methods | org.jboss.modules.xml.MXParser.allStringsInterned |
| processNamespaces | Protected | Private | 10 methods | org.jboss.modules.xml.MXParser.processNamespaces |
| roundtripSupported | Protected | Private | 9 methods | org.jboss.modules.xml.MXParser.roundtripSupported |
| location | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.location |
| lineNumber | Protected | Private | 7 methods | org.jboss.modules.xml.MXParser.lineNumber |
| columnNumber | Protected | Private | 6 methods | org.jboss.modules.xml.MXParser.columnNumber |
| seenRoot | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.seenRoot |
| reachedEnd | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.reachedEnd |
| eventType | Protected | Private | 25 methods | org.jboss.modules.xml.MXParser.eventType |
| emptyElementTag | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.emptyElementTag |
| depth | Protected | Private | 12 methods | org.jboss.modules.xml.MXParser.depth |
| elRawName | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.elRawName |
| elRawNameEnd | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.elRawNameEnd |
| elRawNameLine | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.elRawNameLine |
| elName | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.elName |
| elPrefix | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.elPrefix |
| elUri | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.elUri |
| elNamespaceCount | Protected | Private | 5 methods | org.jboss.modules.xml.MXParser.elNamespaceCount |
| attributeCount | Protected | Private | 11 methods | org.jboss.modules.xml.MXParser.attributeCount |
| attributeName | Protected | Private | 5 methods | org.jboss.modules.xml.MXParser.attributeName |
| attributeNameHash | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.attributeNameHash |
| attributePrefix | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.attributePrefix |
| attributeUri | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.attributeUri |
| attributeValue | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.attributeValue |
| namespaceEnd | Protected | Private | 8 methods | org.jboss.modules.xml.MXParser.namespaceEnd |
| namespacePrefix | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.namespacePrefix |
| namespacePrefixHash | Protected | Private | 2 methods | org.jboss.modules.xml.MXParser.namespacePrefixHash |
| namespaceUri | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.namespaceUri |
| entityEnd | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.entityEnd |
| entityName | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.entityName |
| entityNameBuf | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.entityNameBuf |
| entityReplacement | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.entityReplacement |
| entityReplacementBuf | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.entityReplacementBuf |
| entityNameHash | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.entityNameHash |
| READ_CHUNK_SIZE | Protected | Private | 0 method | org.jboss.modules.xml.MXParser.READ_CHUNK_SIZE |
| reader | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.reader |
| inputEncoding | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.inputEncoding |
| inputStream | Protected | Private | 1 method | org.jboss.modules.xml.MXParser.inputStream |
| bufLoadFactor | Protected | Private | 2 methods | org.jboss.modules.xml.MXParser.bufLoadFactor |
| buf | Protected | Private | 19 methods | org.jboss.modules.xml.MXParser.buf |
| bufSoftLimit | Protected | Private | 2 methods | org.jboss.modules.xml.MXParser.bufSoftLimit |
| preventBufferCompaction | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.preventBufferCompaction |
| bufAbsoluteStart | Protected | Private | 9 methods | org.jboss.modules.xml.MXParser.bufAbsoluteStart |
| bufStart | Protected | Private | 4 methods | org.jboss.modules.xml.MXParser.bufStart |
| bufEnd | Protected | Private | 3 methods | org.jboss.modules.xml.MXParser.bufEnd |
| pos | Protected | Private | 17 methods | org.jboss.modules.xml.MXParser.pos |
| posStart | Protected | Private | 20 methods | org.jboss.modules.xml.MXParser.posStart |
| posEnd | Protected | Private | 19 methods | org.jboss.modules.xml.MXParser.posEnd |
| pc | Protected | Private | 14 methods | org.jboss.modules.xml.MXParser.pc |
Statistics
| Stat | Visibility | CouldBeDeclared | MethodsUsingMe |
|---|---|---|---|
| Sum: | 0 | 0 | 0 |
| Average: | 0 | 0 | 0 |
| Minimum: | 0 | 0 | 0 |
| Maximum: | 0 | 0 | 0 |
| Standard deviation: | 0 | 0 | 0 |
| Variance: | 0 | 0 | 0 |
| Rule warning: Fields should be declared as private |
warnif count > 0 from f in Application.Fields where
!f.IsPrivate &&
// These conditions filter cases where fields
// doesn't represent state that should be encapsulated.
!f.IsGeneratedByCompiler &&
!f.IsSpecialName &&
!f.IsInitOnly &&
!f.IsLiteral &&
!f.IsEnumValue
select new { f, f.SizeOfInst }
4,415 fields matched
| fields | Size of instance | Full Name |
|---|---|---|
| idx | 4 | org.jboss.modules.ModuleLoader$2.idx |
| nested | 4 | org.jboss.modules.ModuleLoader$2.nested |
| log | N/A | org.jboss.modules.Module.log |
| table | 4 | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator.table |
| UNSAFE | N/A | org.jboss.modules.ConcurrentClassLoader$UnsafeHolder.UNSAFE |
| result | 4 | org.jboss.modules.ConcurrentClassLoader$LoadRequest.result |
| message | 4 | org.jboss.modules.ConcurrentClassLoader$LoadRequest.message |
| done | 4 | org.jboss.modules.ConcurrentClassLoader$LoadRequest.done |
| detail | 4 | org.jboss.modules.xml.XmlPullParserException.detail |
| row | 4 | org.jboss.modules.xml.XmlPullParserException.row |
| column | 4 | org.jboss.modules.xml.XmlPullParserException.column |
| allStringsInterned | 4 | org.jboss.modules.xml.MXParser.allStringsInterned |
| processNamespaces | 4 | org.jboss.modules.xml.MXParser.processNamespaces |
| roundtripSupported | 4 | org.jboss.modules.xml.MXParser.roundtripSupported |
| location | 4 | org.jboss.modules.xml.MXParser.location |
| lineNumber | 4 | org.jboss.modules.xml.MXParser.lineNumber |
| columnNumber | 4 | org.jboss.modules.xml.MXParser.columnNumber |
| seenRoot | 4 | org.jboss.modules.xml.MXParser.seenRoot |
| reachedEnd | 4 | org.jboss.modules.xml.MXParser.reachedEnd |
| eventType | 4 | org.jboss.modules.xml.MXParser.eventType |
| emptyElementTag | 4 | org.jboss.modules.xml.MXParser.emptyElementTag |
| depth | 4 | org.jboss.modules.xml.MXParser.depth |
| elRawName | 4 | org.jboss.modules.xml.MXParser.elRawName |
| elRawNameEnd | 4 | org.jboss.modules.xml.MXParser.elRawNameEnd |
| elRawNameLine | 4 | org.jboss.modules.xml.MXParser.elRawNameLine |
| elName | 4 | org.jboss.modules.xml.MXParser.elName |
| elPrefix | 4 | org.jboss.modules.xml.MXParser.elPrefix |
| elUri | 4 | org.jboss.modules.xml.MXParser.elUri |
| elNamespaceCount | 4 | org.jboss.modules.xml.MXParser.elNamespaceCount |
| attributeCount | 4 | org.jboss.modules.xml.MXParser.attributeCount |
| attributeName | 4 | org.jboss.modules.xml.MXParser.attributeName |
| attributeNameHash | 4 | org.jboss.modules.xml.MXParser.attributeNameHash |
| attributePrefix | 4 | org.jboss.modules.xml.MXParser.attributePrefix |
| attributeUri | 4 | org.jboss.modules.xml.MXParser.attributeUri |
| attributeValue | 4 | org.jboss.modules.xml.MXParser.attributeValue |
| namespaceEnd | 4 | org.jboss.modules.xml.MXParser.namespaceEnd |
| namespacePrefix | 4 | org.jboss.modules.xml.MXParser.namespacePrefix |
| namespacePrefixHash | 4 | org.jboss.modules.xml.MXParser.namespacePrefixHash |
| namespaceUri | 4 | org.jboss.modules.xml.MXParser.namespaceUri |
| entityEnd | 4 | org.jboss.modules.xml.MXParser.entityEnd |
| entityName | 4 | org.jboss.modules.xml.MXParser.entityName |
| entityNameBuf | 4 | org.jboss.modules.xml.MXParser.entityNameBuf |
| entityReplacement | 4 | org.jboss.modules.xml.MXParser.entityReplacement |
| entityReplacementBuf | 4 | org.jboss.modules.xml.MXParser.entityReplacementBuf |
| entityNameHash | 4 | org.jboss.modules.xml.MXParser.entityNameHash |
| reader | 4 | org.jboss.modules.xml.MXParser.reader |
| inputEncoding | 4 | org.jboss.modules.xml.MXParser.inputEncoding |
| inputStream | 4 | org.jboss.modules.xml.MXParser.inputStream |
| bufLoadFactor | 4 | org.jboss.modules.xml.MXParser.bufLoadFactor |
| buf | 4 | org.jboss.modules.xml.MXParser.buf |
| bufSoftLimit | 4 | org.jboss.modules.xml.MXParser.bufSoftLimit |
| preventBufferCompaction | 4 | org.jboss.modules.xml.MXParser.preventBufferCompaction |
| bufAbsoluteStart | 4 | org.jboss.modules.xml.MXParser.bufAbsoluteStart |
| bufStart | 4 | org.jboss.modules.xml.MXParser.bufStart |
| bufEnd | 4 | org.jboss.modules.xml.MXParser.bufEnd |
| pos | 4 | org.jboss.modules.xml.MXParser.pos |
| posStart | 4 | org.jboss.modules.xml.MXParser.posStart |
| posEnd | 4 | org.jboss.modules.xml.MXParser.posEnd |
| pc | 4 | org.jboss.modules.xml.MXParser.pc |
| pcStart | 4 | org.jboss.modules.xml.MXParser.pcStart |
| pcEnd | 4 | org.jboss.modules.xml.MXParser.pcEnd |
| usePC | 4 | org.jboss.modules.xml.MXParser.usePC |
| seenStartTag | 4 | org.jboss.modules.xml.MXParser.seenStartTag |
| seenEndTag | 4 | org.jboss.modules.xml.MXParser.seenEndTag |
| pastEndTag | 4 | org.jboss.modules.xml.MXParser.pastEndTag |
| seenAmpersand | 4 | org.jboss.modules.xml.MXParser.seenAmpersand |
| seenMarkup | 4 | org.jboss.modules.xml.MXParser.seenMarkup |
| seenDocdecl | 4 | org.jboss.modules.xml.MXParser.seenDocdecl |
| tokenize | 4 | org.jboss.modules.xml.MXParser.tokenize |
| text | 4 | org.jboss.modules.xml.MXParser.text |
| entityRefName | 4 | org.jboss.modules.xml.MXParser.entityRefName |
| xmlDeclVersion | 4 | org.jboss.modules.xml.MXParser.xmlDeclVersion |
| xmlDeclStandalone | 4 | org.jboss.modules.xml.MXParser.xmlDeclStandalone |
| xmlDeclContent | 4 | org.jboss.modules.xml.MXParser.xmlDeclContent |
| charRefOneCharBuf | 4 | org.jboss.modules.xml.MXParser.charRefOneCharBuf |
| lookupNameStartChar | N/A | org.jboss.modules.xml.MXParser.lookupNameStartChar |
| lookupNameChar | N/A | org.jboss.modules.xml.MXParser.lookupNameChar |
| TYPES | 0 | org.jboss.modules.xml.MXParser.TYPES |
| g | 4 | org.objectweb.asm.AnnotationWriter.g |
| h | 4 | org.objectweb.asm.AnnotationWriter.h |
| b | 4 | org.objectweb.asm.Attribute.b |
| a | 4 | org.objectweb.asm.Attribute.a |
| a | 4 | org.objectweb.asm.ByteVector.a |
| b | 4 | org.objectweb.asm.ByteVector.b |
| cv | 4 | org.objectweb.asm.ClassAdapter.cv |
| J | 4 | org.objectweb.asm.ClassWriter.J |
| b | 4 | org.objectweb.asm.ClassWriter.b |
| c | 4 | org.objectweb.asm.ClassWriter.c |
| e | 4 | org.objectweb.asm.ClassWriter.e |
| f | 4 | org.objectweb.asm.ClassWriter.f |
| E | 4 | org.objectweb.asm.ClassWriter.E |
| F | 4 | org.objectweb.asm.ClassWriter.F |
| y | 4 | org.objectweb.asm.ClassWriter.y |
| z | 4 | org.objectweb.asm.ClassWriter.z |
| A | 4 | org.objectweb.asm.ClassWriter.A |
| B | 4 | org.objectweb.asm.ClassWriter.B |
| I | 4 | org.objectweb.asm.ClassWriter.I |
| a | 4 | org.objectweb.asm.Edge.a |
| b | 4 | org.objectweb.asm.Edge.b |
| c | 4 | org.objectweb.asm.Edge.c |
Statistics
| Stat | Size of instance |
|---|---|
| Sum: | 16 348 |
| Average: | 3.82 |
| Minimum: | 0 |
| Maximum: | 4 |
| Standard deviation: | 0.83 |
| Variance: | 0.69 |
| Rule warning: Constructors of abstract classes should be declared as protected or private |
// Constructors of an abstract class can only be accessed from this class and derived class.
// Declaring such a constructor with another visibility level is useless and potentially misleading.
warnif count > 0
from t in Application.Types where
t.IsClass &&
t.IsAbstract
let ctors = t.Constructors.Where(c => !c.IsProtected && !c.IsPrivate)
where ctors.Count() > 0
select new { t, ctors }
// Notice that if a constructor of an abstract class is declared as private,
// it can only be accessed from derived classes nested in the abstract class.
411 types matched
| types | ctors | Full Name |
|---|---|---|
| ModuleSpec | 1 method | org.jboss.modules.ModuleSpec |
| Dependency | 1 method | org.jboss.modules.Dependency |
| AbstractResourceLoader | 1 method | org.jboss.modules.AbstractResourceLoader |
| AbstractLocalLoader | 1 method | org.jboss.modules.AbstractLocalLoader |
| DependencySpec | 2 methods | org.jboss.modules.DependencySpec |
| AbstractAnnotationExtractor | 1 method | ch.qos.cal10n.util.AbstractAnnotationExtractor |
| AbstractCAL10NBundleFinder | 1 method | ch.qos.cal10n.util.AbstractCAL10NBundleFinder |
| AnnotationConfiguration | 1 method | com.fasterxml.classmate.AnnotationConfiguration |
| AnnotationOverrides | 1 method | com.fasterxml.classmate.AnnotationOverrides |
| JsonTypeInfo$None | 1 method | com.fasterxml.jackson.annotation.JsonTypeInfo$None |
| ObjectIdGenerator<T> | 1 method | com.fasterxml.jackson.annotation.ObjectIdGenerator |
| ObjectIdGenerators$None | 1 method | com.fasterxml.jackson.annotation.ObjectIdGenerators$None |
| TreeCodec | 1 method | com.fasterxml.jackson.core.TreeCodec |
| CharacterEscapes | 1 method | com.fasterxml.jackson.core.io.CharacterEscapes |
| InputDecorator | 1 method | com.fasterxml.jackson.core.io.InputDecorator |
| OutputDecorator | 1 method | com.fasterxml.jackson.core.io.OutputDecorator |
| JsonGeneratorImpl | 1 method | com.fasterxml.jackson.core.json.JsonGeneratorImpl |
| ResolvedType | 1 method | com.fasterxml.jackson.core.type.ResolvedType |
| AbstractTypeResolver | 1 method | com.fasterxml.jackson.databind.AbstractTypeResolver |
| AnnotationIntrospector | 1 method | com.fasterxml.jackson.databind.AnnotationIntrospector |
| DatabindContext | 1 method | com.fasterxml.jackson.databind.DatabindContext |
| InjectableValues | 1 method | com.fasterxml.jackson.databind.InjectableValues |
| JsonDeserializer<T> | 1 method | com.fasterxml.jackson.databind.JsonDeserializer |
| JsonSerializer$None | 1 method | com.fasterxml.jackson.databind.JsonSerializer$None |
| JsonSerializer<T> | 1 method | com.fasterxml.jackson.databind.JsonSerializer |
| KeyDeserializer$None | 1 method | com.fasterxml.jackson.databind.KeyDeserializer$None |
| KeyDeserializer | 1 method | com.fasterxml.jackson.databind.KeyDeserializer |
| Module | 1 method | com.fasterxml.jackson.databind.Module |
| PropertyNamingStrategy$PropertyNamingStrategyBase | 1 method | com.fasterxml.jackson.databind .PropertyNamingStrategy$PropertyNamingStrategyBase |
| PropertyNamingStrategy | 1 method | com.fasterxml.jackson.databind.PropertyNamingStrategy |
| SerializerProvider | 1 method | com.fasterxml.jackson.databind.SerializerProvider |
| ContextAttributes | 1 method | com.fasterxml.jackson.databind.cfg.ContextAttributes |
| HandlerInstantiator | 1 method | com.fasterxml.jackson.databind.cfg.HandlerInstantiator |
| BeanPropertyDefinition | 1 method | com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition |
| NopAnnotationIntrospector | 1 method | com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector |
| NodeCursor | 1 method | com.fasterxml.jackson.databind.node.NodeCursor |
| TypeModifier | 1 method | com.fasterxml.jackson.databind.type.TypeModifier |
| Converter$None | 1 method | com.fasterxml.jackson.databind.util.Converter$None |
| StdConverter<IN,OUT> | 1 method | com.fasterxml.jackson.databind.util.StdConverter |
| ViewMatcher | 1 method | com.fasterxml.jackson.databind.util.ViewMatcher |
| BeanDeserializerBase | 2 methods | com.fasterxml.jackson.databind.deser.BeanDeserializerBase |
| BeanDeserializerModifier | 1 method | com.fasterxml.jackson.databind.deser.BeanDeserializerModifier |
| DeserializationProblemHandler | 1 method | com.fasterxml.jackson.databind.deser.DeserializationProblemHandler |
| DeserializerFactory | 1 method | com.fasterxml.jackson.databind.deser.DeserializerFactory |
| ValueInstantiator | 1 method | com.fasterxml.jackson.databind.deser.ValueInstantiator |
| BaseNodeDeserializer<T> | 1 method | com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer |
| DelegatingDeserializer | 1 method | com.fasterxml.jackson.databind.deser.std.DelegatingDeserializer |
| SubtypeResolver | 1 method | com.fasterxml.jackson.databind.jsontype.SubtypeResolver |
| TypeDeserializer | 1 method | com.fasterxml.jackson.databind.jsontype.TypeDeserializer |
| TypeSerializer | 1 method | com.fasterxml.jackson.databind.jsontype.TypeSerializer |
| BeanSerializerModifier | 1 method | com.fasterxml.jackson.databind.ser.BeanSerializerModifier |
| FilterProvider | 1 method | com.fasterxml.jackson.databind.ser.FilterProvider |
| PropertyWriter | 1 method | com.fasterxml.jackson.databind.ser.PropertyWriter |
| SerializerFactory | 1 method | com.fasterxml.jackson.databind.ser.SerializerFactory |
| FilteredBeanPropertyWriter | 1 method | com.fasterxml.jackson.databind.ser.impl.FilteredBeanPropertyWriter |
| PropertySerializerMap | 1 method | com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap |
| BeanSerializerBase | 1 method | com.fasterxml.jackson.databind.ser.std.BeanSerializerBase |
| MapperConfiguratorBase<IMPL> | 1 method | com.fasterxml.jackson.jaxrs.cfg.MapperConfiguratorBase |
| ObjectReaderModifier | 1 method | com.fasterxml.jackson.jaxrs.cfg.ObjectReaderModifier |
| ObjectWriterModifier | 1 method | com.fasterxml.jackson.jaxrs.cfg.ObjectWriterModifier |
| CacheBuilderSpec$DurationParser | 1 method | com.google.common.cache.CacheBuilderSpec$DurationParser |
| CacheBuilderSpec$IntegerParser | 1 method | com.google.common.cache.CacheBuilderSpec$IntegerParser |
| CacheBuilderSpec$LongParser | 1 method | com.google.common.cache.CacheBuilderSpec$LongParser |
| LocalCache$AbstractCacheSet<T> | 1 method | com.google.common.cache.LocalCache$AbstractCacheSet |
| LocalCache$AbstractReferenceEntry<K,V> | 1 method | com.google.common.cache.LocalCache$AbstractReferenceEntry |
| LocalCache$HashIterator<T> | 1 method | com.google.common.cache.LocalCache$HashIterator |
| Striped64 | 1 method | com.google.common.cache.Striped64 |
| AbstractBiMap<K,V> | 2 methods | com.google.common.collect.AbstractBiMap |
| AbstractMapBasedMultimap$Itr<T> | 1 method | com.google.common.collect.AbstractMapBasedMultimap$Itr |
| AbstractMapEntry<K,V> | 1 method | com.google.common.collect.AbstractMapEntry |
| AbstractMultimap<K,V> | 1 method | com.google.common.collect.AbstractMultimap |
| AbstractMultiset<E> | 1 method | com.google.common.collect.AbstractMultiset |
| AbstractNavigableMap<K,V> | 1 method | com.google.common.collect.AbstractNavigableMap |
| AbstractRangeSet<C> | 1 method | com.google.common.collect.AbstractRangeSet |
| AbstractSortedKeySortedSetMultimap<K,V> | 1 method | com.google.common.collect.AbstractSortedKeySortedSetMultimap |
| AbstractSortedMultiset<E> | 2 methods | com.google.common.collect.AbstractSortedMultiset |
| AbstractTable<R,C,V> | 1 method | com.google.common.collect.AbstractTable |
| ArrayTable$ArrayMap<K,V> | 1 method | com.google.common.collect.ArrayTable$ArrayMap |
| BinaryTreeTraverser<T> | 1 method | com.google.common.collect.BinaryTreeTraverser |
| ComparisonChain | 1 method | com.google.common.collect.ComparisonChain |
| ContiguousSet<C> | 1 method | com.google.common.collect.ContiguousSet |
| Cut<C> | 1 method | com.google.common.collect.Cut |
| DenseImmutableTable$ImmutableArrayMap<K,V> | 1 method | com.google.common.collect.DenseImmutableTable$ImmutableArrayMap |
| DescendingMultiset<E> | 1 method | com.google.common.collect.DescendingMultiset |
| FluentIterable<E> | 1 method | com.google.common.collect.FluentIterable |
| ForwardingMap$StandardEntrySet | 1 method | com.google.common.collect.ForwardingMap$StandardEntrySet |
| ForwardingSetMultimap<K,V> | 1 method | com.google.common.collect.ForwardingSetMultimap |
| ForwardingSortedMultiset$StandardDescendingMultiset | 1 method | com.google.common.collect .ForwardingSortedMultiset$StandardDescendingMultiset |
| GenericMapMaker<K0,V0> | 1 method | com.google.common.collect.GenericMapMaker |
| HashBiMap$Itr<T> | 1 method | com.google.common.collect.HashBiMap$Itr |
| ImmutableAsList<E> | 1 method | com.google.common.collect.ImmutableAsList |
| ImmutableBiMap<K,V> | 1 method | com.google.common.collect.ImmutableBiMap |
| ImmutableCollection$ArrayBasedBuilder<E> | 1 method | com.google.common.collect.ImmutableCollection$ArrayBasedBuilder |
| ImmutableCollection$Builder<E> | 1 method | com.google.common.collect.ImmutableCollection$Builder |
| ImmutableCollection<E> | 1 method | com.google.common.collect.ImmutableCollection |
| ImmutableList<E> | 1 method | com.google.common.collect.ImmutableList |
| ImmutableMap<K,V> | 1 method | com.google.common.collect.ImmutableMap |
| ImmutableMapEntry<K,V> | 2 methods | com.google.common.collect.ImmutableMapEntry |
| ImmutableMapEntrySet<K,V> | 1 method | com.google.common.collect.ImmutableMapEntrySet |
| ImmutableMultimap$Itr<T> | 1 method | com.google.common.collect.ImmutableMultimap$Itr |
Statistics
| Stat | ctors |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Purity - Immutability - Side-Effects | 130 |
|
| Rule warning: Fields should be marked as ReadOnly when possible |
warnif count > 0
from f in JustMyCode.Fields where
f.IsImmutable &&
!f.IsInitOnly &&
!f.IsGeneratedByCompiler
select new { f, f.SizeOfInst }
// A field that matches the condition IsImmutable
// is a field that is assigned only by constructors
// of its class.
// For an instance field, this means its value
// will remain constant throught the lifetime
// of the object.
// For a static field, this means its value will
// remain constant throught the lifetime of the
// program.
// In both cases, such field can safely be marked
1,379 fields matched
| fields | Size of instance | Full Name |
|---|---|---|
| paths | 4 | org.jboss.modules.ModuleClassLoader.paths |
| hack | N/A | org.jboss.modules.CallerContext.hack |
| linkTime | 4 | org.jboss.modules.ModuleLoader.linkTime |
| loadTime | 4 | org.jboss.modules.ModuleLoader.loadTime |
| classLoadTime | 4 | org.jboss.modules.ModuleLoader.classLoadTime |
| scanCount | 4 | org.jboss.modules.ModuleLoader.scanCount |
| raceCount | 4 | org.jboss.modules.ModuleLoader.raceCount |
| classCount | 4 | org.jboss.modules.ModuleLoader.classCount |
| MODULE_NAME_PATTERN | N/A | org.jboss.modules.ModuleIdentifier.MODULE_NAME_PATTERN |
| SLOT_PATTERN | N/A | org.jboss.modules.ModuleIdentifier.SLOT_PATTERN |
| DEFAULT_SLOT | N/A | org.jboss.modules.ModuleIdentifier.DEFAULT_SLOT |
| exportsOnly | 4 | org.jboss.modules.ConcurrentClassLoader$LoadRequest.exportsOnly |
| 4 | org.jboss.modules.log.StreamModuleLogger.print | |
| instance | N/A | org.jboss.modules.log.NoopModuleLogger.instance |
| f | 4 | org.objectweb.asm.FieldWriter.f |
| g | 4 | org.objectweb.asm.FieldWriter.g |
| c | 4 | org.objectweb.asm.MethodWriter.c |
| N | 4 | org.objectweb.asm.MethodWriter.N |
| MILLION | N/A | com.fasterxml.jackson.core.io.NumberOutput.MILLION |
| BILLION | N/A | com.fasterxml.jackson.core.io.NumberOutput.BILLION |
| TEN_BILLION_L | N/A | com.fasterxml.jackson.core.io.NumberOutput.TEN_BILLION_L |
| THOUSAND_L | N/A | com.fasterxml.jackson.core.io.NumberOutput.THOUSAND_L |
| MIN_INT_AS_LONG | N/A | com.fasterxml.jackson.core.io.NumberOutput.MIN_INT_AS_LONG |
| MAX_INT_AS_LONG | N/A | com.fasterxml.jackson.core.io.NumberOutput.MAX_INT_AS_LONG |
| CALENDAR | N/A | com.fasterxml.jackson.databind.util.ISO8601DateFormat.CALENDAR |
| NUMBER_FORMAT | N/A | com.fasterxml.jackson.databind.util.ISO8601DateFormat.NUMBER_FORMAT |
| _sharedMap | 4 | com.fasterxml.jackson.databind.ser.SerializerCache._sharedMap |
| cl | 4 | org.relaxng.datatype.helpers.DatatypeLibraryLoader$Service$Loader2.cl |
| loader | 4 | org.relaxng.datatype.helpers.DatatypeLibraryLoader$Service.loader |
| mapEntries | 4 | com.google.common.collect.ConcurrentHashMultiset$2.mapEntries |
| MAX_TABLE_SIZE | N/A | com.google.common.collect.Hashing.MAX_TABLE_SIZE |
| uids | 4 | com.google.common.collect.Ordering$ArbitraryOrdering.uids |
| subscriberExceptionHandler | 4 | com.google.common.eventbus.EventBus.subscriberExceptionHandler |
| it | 4 | com.google.common.io.MultiInputStream.it |
| holderHead | 4 | com.google.common.base.Objects$ToStringHelper.holderHead |
| hasConnectionParam | 4 | org.h2.engine.FunctionAlias$JavaMethod.hasConnectionParam |
| varArgs | 4 | org.h2.engine.FunctionAlias$JavaMethod.varArgs |
| varArgClass | 4 | org.h2.engine.FunctionAlias$JavaMethod.varArgClass |
| paramCount | 4 | org.h2.engine.FunctionAlias$JavaMethod.paramCount |
| nextSerialId | N/A | org.h2.engine.Session.nextSerialId |
| preparedStatement | 4 | org.h2.jdbc.JdbcResultSet.preparedStatement |
| schemaName | 4 | org.h2.result.UpdatableRow.schemaName |
| tableName | 4 | org.h2.result.UpdatableRow.tableName |
| key | 4 | org.h2.result.UpdatableRow.key |
| isUpdatable | 4 | org.h2.result.UpdatableRow.isUpdatable |
| containsLargeObject | 4 | org.h2.table.RegularTable.containsLargeObject |
| tableEngineParams | 4 | org.h2.table.TableBase.tableEngineParams |
| driver | 4 | org.h2.util.OsgiDataSourceFactory.driver |
| createdIndexes | 4 | org.h2.command.ddl.AlterTableAddConstraint.createdIndexes |
| freeSpace | 4 | org.h2.mvstore.MVStore.freeSpace |
| maxUnsavedPages | 4 | org.h2.mvstore.MVStore.maxUnsavedPages |
| dataMap | 4 | org.h2.mvstore.db.MVPrimaryIndex.dataMap |
| dataMap | 4 | org.h2.mvstore.db.MVSecondaryIndex.dataMap |
| indexes | 4 | org.h2.mvstore.db.MVTable.indexes |
| lockShared | 4 | org.h2.mvstore.db.MVTable.lockShared |
| containsLargeObject | 4 | org.h2.mvstore.db.MVTable.containsLargeObject |
| transaction | 4 | org.h2.mvstore.db.TransactionStore$TransactionMap.transaction |
| secret | 4 | org.h2.server.pg.PgServerThread.secret |
| expr | 4 | com.sun.codemodel.JThrow.expr |
| mods | 4 | com.sun.codemodel.JMethod.mods |
| outer | 4 | com.sun.codemodel.JMethod.outer |
| body | 4 | com.sun.codemodel.JTryBlock.body |
| catches | 4 | com.sun.codemodel.JTryBlock.catches |
| body | 4 | com.sun.codemodel.JCatchBlock.body |
| test | 4 | com.sun.codemodel.JWhileLoop.test |
| mods | 4 | com.sun.codemodel.JVar.mods |
| VAR | N/A | com.sun.codemodel.JMods.VAR |
| FIELD | N/A | com.sun.codemodel.JMods.FIELD |
| METHOD | N/A | com.sun.codemodel.JMods.METHOD |
| CLASS | N/A | com.sun.codemodel.JMods.CLASS |
| INTERFACE | N/A | com.sun.codemodel.JMods.INTERFACE |
| packages | 4 | com.sun.codemodel.JCodeModel.packages |
| name | 4 | com.sun.codemodel.JDefinedClass.name |
| mods | 4 | com.sun.codemodel.JDefinedClass.mods |
| outer | 4 | com.sun.codemodel.JDefinedClass.outer |
| inits | 4 | com.sun.codemodel.JForLoop.inits |
| updates | 4 | com.sun.codemodel.JForLoop.updates |
| reservedKeywords | N/A | com.sun.codemodel.JJavaName.reservedKeywords |
| expr | 4 | com.sun.codemodel.JReturn.expr |
| test | 4 | com.sun.codemodel.JDoLoop.test |
| test | 4 | com.sun.codemodel.JSwitch.test |
| cases | 4 | com.sun.codemodel.JSwitch.cases |
| object | 4 | com.sun.codemodel.JInvocation.object |
| name | 4 | com.sun.codemodel.JInvocation.name |
| method | 4 | com.sun.codemodel.JInvocation.method |
| isConstructor | 4 | com.sun.codemodel.JInvocation.isConstructor |
| args | 4 | com.sun.codemodel.JInvocation.args |
| type | 4 | com.sun.codemodel.JInvocation.type |
| object | 4 | com.sun.codemodel.JFieldRef.object |
| name | 4 | com.sun.codemodel.JFieldRef.name |
| var | 4 | com.sun.codemodel.JFieldRef.var |
| explicitThis | 4 | com.sun.codemodel.JFieldRef.explicitThis |
| collectedReferences | 4 | com.sun.codemodel.JFormatter.collectedReferences |
| importedClasses | 4 | com.sun.codemodel.JFormatter.importedClasses |
| label | 4 | com.sun.codemodel.JCase.label |
| isDefaultCase | 4 | com.sun.codemodel.JCase.isDefaultCase |
| name | 4 | com.sun.codemodel.JPackage.name |
| test | 4 | com.sun.codemodel.JConditional.test |
| _then | 4 | com.sun.codemodel.JConditional._then |
| actionPhase | 4 | com.sun.faces.action.ActionLifecycle.actionPhase |
Statistics
| Stat | Size of instance |
|---|---|
| Sum: | 5 020 |
| Average: | 4 |
| Minimum: | 4 |
| Maximum: | 4 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Rule warning: Avoid static fields with a mutable field type |
warnif count > 0
from f in Application.Fields
where f.IsStatic && !f.IsEnumValue && !f.IsGeneratedByCompiler && !f.IsLiteral
let fieldType = f.FieldType
where fieldType != null &&
!fieldType.IsThirdParty &&
!fieldType.IsInterface &&
!fieldType.IsImmutable
select new { f,
mutableFieldType = fieldType ,
isFieldImmutable = f.IsImmutable,
isFieldIsReadOnly = f.IsInitOnly }
// As explained in this blog post
// http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members
// static fields should be used to hold only constant and immutable states.
1,892 fields matched
| fields | mutableFieldType | isFieldImmutable | isFieldIsReadOnly | Full Name |
|---|---|---|---|---|
| EMPTY_CLASS_FILTERS | FastCopyHashSet<E> | True | True | org.jboss.modules.Module.EMPTY_CLASS_FILTERS |
| EMPTY_PATH_FILTERS | FastCopyHashSet<E> | True | True | org.jboss.modules.Module.EMPTY_PATH_FILTERS |
| NO_RESOURCE_LOADERS | ResourceLoaderSpec | True | True | org.jboss.modules.ModuleClassLoader.NO_RESOURCE_LOADERS |
| hack | CallerContext$Hack | True | False | org.jboss.modules.CallerContext.hack |
| INSTANCE | ModularContentHandlerFactory | True | True | org.jboss.modules.ModularContentHandlerFactory.INSTANCE |
| SYSTEM | ClassLoaderLocalLoader | True | True | org.jboss.modules.ClassLoaderLocalLoader.SYSTEM |
| INSTANCE | ModularURLStreamHandlerFactory | True | True | org.jboss.modules.ModularURLStreamHandlerFactory.INSTANCE |
| NONE | Paths<T,A> | True | True | org.jboss.modules.Paths.NONE |
| INSTANCE | ModuleLoader | True | True | org.jboss.modules.DefaultBootModuleLoaderHolder.INSTANCE |
| CLASSPATH | ModuleIdentifier | True | True | org.jboss.modules.ModuleIdentifier.CLASSPATH |
| NO_DEPENDENCIES | Dependency | True | True | org.jboss.modules.Linkage.NO_DEPENDENCIES |
| NO_DEPENDENCY_SPECS | DependencySpec | True | True | org.jboss.modules.Linkage.NO_DEPENDENCY_SPECS |
| NONE | Linkage | True | True | org.jboss.modules.Linkage.NONE |
| TRUE | BooleanPathFilter | True | True | org.jboss.modules.filter.BooleanPathFilter.TRUE |
| FALSE | BooleanPathFilter | True | True | org.jboss.modules.filter.BooleanPathFilter.FALSE |
| TRUE | BooleanClassFilter | True | True | org.jboss.modules.filter.BooleanClassFilter.TRUE |
| FALSE | BooleanClassFilter | True | True | org.jboss.modules.filter.BooleanClassFilter.FALSE |
| INSTANCE | UninitializedPermission | True | True | org.jboss.modules.security.UninitializedPermission.INSTANCE |
| VOID_TYPE | Type | True | True | org.objectweb.asm.Type.VOID_TYPE |
| BOOLEAN_TYPE | Type | True | True | org.objectweb.asm.Type.BOOLEAN_TYPE |
| CHAR_TYPE | Type | True | True | org.objectweb.asm.Type.CHAR_TYPE |
| BYTE_TYPE | Type | True | True | org.objectweb.asm.Type.BYTE_TYPE |
| SHORT_TYPE | Type | True | True | org.objectweb.asm.Type.SHORT_TYPE |
| INT_TYPE | Type | True | True | org.objectweb.asm.Type.INT_TYPE |
| FLOAT_TYPE | Type | True | True | org.objectweb.asm.Type.FLOAT_TYPE |
| LONG_TYPE | Type | True | True | org.objectweb.asm.Type.LONG_TYPE |
| DOUBLE_TYPE | Type | True | True | org.objectweb.asm.Type.DOUBLE_TYPE |
| EOL | Token | True | True | ch.qos.cal10n.util.Token.EOL |
| TRAILING_BACKSLASH | Token | True | True | ch.qos.cal10n.util.Token.TRAILING_BACKSLASH |
| NO_TYPES | ResolvedType | True | True | com.fasterxml.classmate.ResolvedType.NO_TYPES |
| NO_CONSTRUCTORS | RawConstructor | True | True | com.fasterxml.classmate.ResolvedType.NO_CONSTRUCTORS |
| NO_FIELDS | RawField | True | True | com.fasterxml.classmate.ResolvedType.NO_FIELDS |
| NO_METHODS | RawMethod | True | True | com.fasterxml.classmate.ResolvedType.NO_METHODS |
| NO_RESOLVED_TYPES | ResolvedType | True | True | com.fasterxml.classmate.ResolvedTypeWithMembers.NO_RESOLVED_TYPES |
| NO_RESOLVED_METHODS | ResolvedMethod | True | True | com.fasterxml.classmate.ResolvedTypeWithMembers.NO_RESOLVED_METHODS |
| NO_RESOLVED_FIELDS | ResolvedField | True | True | com.fasterxml.classmate.ResolvedTypeWithMembers.NO_RESOLVED_FIELDS |
| NO_RESOLVED_CONSTRUCTORS | ResolvedConstructor | True | True | com.fasterxml.classmate.ResolvedTypeWithMembers .NO_RESOLVED_CONSTRUCTORS |
| DEFAULT_ANNOTATION_CONFIG | AnnotationConfiguration | True | True | com.fasterxml.classmate.ResolvedTypeWithMembers .DEFAULT_ANNOTATION_CONFIG |
| NO_TYPES | ResolvedType | True | True | com.fasterxml.classmate.TypeBindings.NO_TYPES |
| EMPTY | TypeBindings | True | True | com.fasterxml.classmate.TypeBindings.EMPTY |
| NO_TYPES | ResolvedType | True | True | com.fasterxml.classmate.TypeResolver.NO_TYPES |
| sJavaLangObject | ResolvedObjectType | True | True | com.fasterxml.classmate.TypeResolver.sJavaLangObject |
| VOID | ResolvedPrimitiveType | True | True | com.fasterxml.classmate.types.ResolvedPrimitiveType.VOID |
| MIME | Base64Variant | True | True | com.fasterxml.jackson.core.Base64Variants.MIME |
| MIME_NO_LINEFEEDS | Base64Variant | True | True | com.fasterxml.jackson.core.Base64Variants.MIME_NO_LINEFEEDS |
| PEM | Base64Variant | True | True | com.fasterxml.jackson.core.Base64Variants.PEM |
| MODIFIED_FOR_URL | Base64Variant | True | True | com.fasterxml.jackson.core.Base64Variants.MODIFIED_FOR_URL |
| NA | JsonLocation | True | True | com.fasterxml.jackson.core.JsonLocation.NA |
| EMPTY | JsonPointer | True | True | com.fasterxml.jackson.core.JsonPointer.EMPTY |
| UNKNOWN_VERSION | Version | True | True | com.fasterxml.jackson.core.Version.UNKNOWN_VERSION |
| VERSION | Version | True | True | com.fasterxml.jackson.core.json.PackageVersion.VERSION |
| sBootstrapSymbolTable | CharsToNameCanonicalizer | True | True | com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer .sBootstrapSymbolTable |
| sEmptyName | Name1 | True | True | com.fasterxml.jackson.core.sym.Name1.sEmptyName |
| instance | DefaultPrettyPrinter$FixedSpaceIndenter | True | True | com.fasterxml.jackson.core.util .DefaultPrettyPrinter$FixedSpaceIndenter.instance |
| instance | DefaultPrettyPrinter$Lf2SpacesIndenter | True | True | com.fasterxml.jackson.core.util.DefaultPrettyPrinter$Lf2SpacesIndenter .instance |
| instance | DefaultPrettyPrinter$NopIndenter | True | True | com.fasterxml.jackson.core.util.DefaultPrettyPrinter$NopIndenter .instance |
| DEFAULT_ROOT_VALUE_SEPARATOR | SerializedString | True | True | com.fasterxml.jackson.core.util.DefaultPrettyPrinter .DEFAULT_ROOT_VALUE_SEPARATOR |
| instance | InternCache | True | True | com.fasterxml.jackson.core.util.InternCache.instance |
| EMPTY_ITERATOR | MappingIterator<T> | True | True | com.fasterxml.jackson.databind.MappingIterator.EMPTY_ITERATOR |
| JSON_NODE_TYPE | JavaType | True | True | com.fasterxml.jackson.databind.ObjectMapper.JSON_NODE_TYPE |
| DEFAULT_INTROSPECTOR | ClassIntrospector | True | True | com.fasterxml.jackson.databind.ObjectMapper.DEFAULT_INTROSPECTOR |
| DEFAULT_ANNOTATION_INTROSPECTOR | AnnotationIntrospector | True | True | com.fasterxml.jackson.databind.ObjectMapper .DEFAULT_ANNOTATION_INTROSPECTOR |
| DEFAULT_BASE | BaseSettings | True | True | com.fasterxml.jackson.databind.ObjectMapper.DEFAULT_BASE |
| JSON_NODE_TYPE | JavaType | True | True | com.fasterxml.jackson.databind.ObjectReader.JSON_NODE_TYPE |
| STD_REQUIRED | PropertyMetadata | True | True | com.fasterxml.jackson.databind.PropertyMetadata.STD_REQUIRED |
| STD_OPTIONAL | PropertyMetadata | True | True | com.fasterxml.jackson.databind.PropertyMetadata.STD_OPTIONAL |
| STD_REQUIRED_OR_OPTIONAL | PropertyMetadata | True | True | com.fasterxml.jackson.databind.PropertyMetadata .STD_REQUIRED_OR_OPTIONAL |
| USE_DEFAULT | PropertyName | True | True | com.fasterxml.jackson.databind.PropertyName.USE_DEFAULT |
| NO_NAME | PropertyName | True | True | com.fasterxml.jackson.databind.PropertyName.NO_NAME |
| CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES | PropertyNamingStrategy | True | True | com.fasterxml.jackson.databind.PropertyNamingStrategy .CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES |
| PASCAL_CASE_TO_CAMEL_CASE | PropertyNamingStrategy | True | True | com.fasterxml.jackson.databind.PropertyNamingStrategy .PASCAL_CASE_TO_CAMEL_CASE |
| TYPE_OBJECT | JavaType | True | True | com.fasterxml.jackson.databind.SerializerProvider.TYPE_OBJECT |
| DEFAULT_NULL_KEY_SERIALIZER | JsonSerializer<T> | True | True | com.fasterxml.jackson.databind.SerializerProvider .DEFAULT_NULL_KEY_SERIALIZER |
| DEFAULT_UNKNOWN_SERIALIZER | JsonSerializer<T> | True | True | com.fasterxml.jackson.databind.SerializerProvider .DEFAULT_UNKNOWN_SERIALIZER |
| EMPTY | ContextAttributes$Impl | True | True | com.fasterxml.jackson.databind.cfg.ContextAttributes$Impl.EMPTY |
| NO_MODIFIERS | BeanDeserializerModifier | True | True | com.fasterxml.jackson.databind.cfg.DeserializerFactoryConfig .NO_MODIFIERS |
| NO_ABSTRACT_TYPE_RESOLVERS | AbstractTypeResolver | True | True | com.fasterxml.jackson.databind.cfg.DeserializerFactoryConfig .NO_ABSTRACT_TYPE_RESOLVERS |
| VERSION | Version | True | True | com.fasterxml.jackson.databind.cfg.PackageVersion.VERSION |
| NO_MODIFIERS | BeanSerializerModifier | True | True | com.fasterxml.jackson.databind.cfg.SerializerFactoryConfig .NO_MODIFIERS |
| instance | CoreXMLDeserializers$DurationDeserializer | True | True | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$DurationDeserializer.instance |
| instance | CoreXMLDeserializers$GregorianCalendarDeserializer | True | True | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$GregorianCalendarDeserializer.instance |
| instance | CoreXMLDeserializers$QNameDeserializer | True | True | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$QNameDeserializer.instance |
| instance | CoreXMLSerializers$XMLGregorianCalendarSerializer | True | True | com.fasterxml.jackson.databind.ext .CoreXMLSerializers$XMLGregorianCalendarSerializer.instance |
| instance | OptionalHandlerFactory | True | True | com.fasterxml.jackson.databind.ext.OptionalHandlerFactory.instance |
| NO_ANNOTATION_MAPS | AnnotationMap | True | True | com.fasterxml.jackson.databind.introspect.AnnotatedClass .NO_ANNOTATION_MAPS |
| STRING_DESC | BasicBeanDescription | True | True | com.fasterxml.jackson.databind.introspect.BasicClassIntrospector .STRING_DESC |
| BOOLEAN_DESC | BasicBeanDescription | True | True | com.fasterxml.jackson.databind.introspect.BasicClassIntrospector .BOOLEAN_DESC |
| INT_DESC | BasicBeanDescription | True | True | com.fasterxml.jackson.databind.introspect.BasicClassIntrospector .INT_DESC |
| LONG_DESC | BasicBeanDescription | True | True | com.fasterxml.jackson.databind.introspect.BasicClassIntrospector .LONG_DESC |
| instance | BasicClassIntrospector | True | True | com.fasterxml.jackson.databind.introspect.BasicClassIntrospector .instance |
| instance | NopAnnotationIntrospector | True | True | com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector .instance |
| DEFAULT | VisibilityChecker$Std | True | True | com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std .DEFAULT |
| EMPTY_BINARY_NODE | BinaryNode | True | True | com.fasterxml.jackson.databind.node.BinaryNode.EMPTY_BINARY_NODE |
| TRUE | BooleanNode | True | True | com.fasterxml.jackson.databind.node.BooleanNode.TRUE |
| FALSE | BooleanNode | True | True | com.fasterxml.jackson.databind.node.BooleanNode.FALSE |
| ZERO | DecimalNode | True | True | com.fasterxml.jackson.databind.node.DecimalNode.ZERO |
| CANONICALS | IntNode | True | True | com.fasterxml.jackson.databind.node.IntNode.CANONICALS |
| decimalsNormalized | JsonNodeFactory | True | True | com.fasterxml.jackson.databind.node.JsonNodeFactory.decimalsNormalized |
| decimalsAsIs | JsonNodeFactory | True | True | com.fasterxml.jackson.databind.node.JsonNodeFactory.decimalsAsIs |
| instance | JsonNodeFactory | True | True | com.fasterxml.jackson.databind.node.JsonNodeFactory.instance |
Statistics
| Stat | mutableFieldType | isFieldImmutable | isFieldIsReadOnly |
|---|---|---|---|
| Sum: | 0 | 0 | 0 |
| Average: | 0 | 0 | 0 |
| Minimum: | 0 | 0 | 0 |
| Maximum: | 0 | 0 | 0 |
| Standard deviation: | 0 | 0 | 0 |
| Variance: | 0 | 0 | 0 |
| Rule warning: A field must not be assigned from outside its parent hierarchy types |
warnif count > 0
from f in JustMyCode.Fields.Where(f =>
!f.IsPrivate && !f.IsGeneratedByCompiler &&
!f.IsImmutable && !f.IsEnumValue)
let methodsAssignerOutsideOfMyType = f.MethodsAssigningMe.Where(
m =>!m.IsGeneratedByCompiler &&
m.ParentType != f.ParentType &&
!m.ParentType.DeriveFrom(f.ParentType) )
where methodsAssignerOutsideOfMyType.Count() > 0
select new { f, methodsAssignerOutsideOfMyType }
765 fields matched
| fields | methodsAssignerOutsideOfMyType | Full Name |
|---|---|---|
| result | 2 methods | org.jboss.modules.ConcurrentClassLoader$LoadRequest.result |
| message | 1 method | org.jboss.modules.ConcurrentClassLoader$LoadRequest.message |
| done | 2 methods | org.jboss.modules.ConcurrentClassLoader$LoadRequest.done |
| g | 8 methods | org.objectweb.asm.AnnotationWriter.g |
| a | 12 methods | org.objectweb.asm.Attribute.a |
| a | 1 method | org.objectweb.asm.ByteVector.a |
| b | 1 method | org.objectweb.asm.ByteVector.b |
| c | 1 method | org.objectweb.asm.ClassWriter.c |
| e | 1 method | org.objectweb.asm.ClassWriter.e |
| f | 1 method | org.objectweb.asm.ClassWriter.f |
| I | 1 method | org.objectweb.asm.ClassWriter.I |
| a | 4 methods | org.objectweb.asm.Edge.a |
| b | 4 methods | org.objectweb.asm.Edge.b |
| c | 6 methods | org.objectweb.asm.Edge.c |
| b | 3 methods | org.objectweb.asm.Frame.b |
| a | 1 method | org.objectweb.asm.Handler.a |
| b | 1 method | org.objectweb.asm.Handler.b |
| c | 1 method | org.objectweb.asm.Handler.c |
| d | 1 method | org.objectweb.asm.Handler.d |
| e | 1 method | org.objectweb.asm.Handler.e |
| f | 1 method | org.objectweb.asm.Handler.f |
| b | 2 methods | org.objectweb.asm.Item.b |
| c | 4 methods | org.objectweb.asm.Item.c |
| d | 1 method | org.objectweb.asm.Item.d |
| g | 1 method | org.objectweb.asm.Item.g |
| j | 2 methods | org.objectweb.asm.Item.j |
| k | 3 methods | org.objectweb.asm.Item.k |
| a | 18 methods | org.objectweb.asm.Label.a |
| b | 1 method | org.objectweb.asm.Label.b |
| c | 1 method | org.objectweb.asm.Label.c |
| f | 4 methods | org.objectweb.asm.Label.f |
| g | 3 methods | org.objectweb.asm.Label.g |
| h | 4 methods | org.objectweb.asm.Label.h |
| i | 3 methods | org.objectweb.asm.Label.i |
| j | 3 methods | org.objectweb.asm.Label.j |
| k | 3 methods | org.objectweb.asm.Label.k |
| h | 1 method | org.objectweb.asm.MethodWriter.h |
| i | 1 method | org.objectweb.asm.MethodWriter.i |
| _serializationConfig | 3 methods | com.fasterxml.jackson.databind.ObjectMapper._serializationConfig |
| _serializerFactory | 3 methods | com.fasterxml.jackson.databind.ObjectMapper._serializerFactory |
| _deserializationConfig | 3 methods | com.fasterxml.jackson.databind.ObjectMapper._deserializationConfig |
| _deserializationContext | 5 methods | com.fasterxml.jackson.databind.ObjectMapper._deserializationContext |
| strictParsing | 1 method | com.google.common.cache.CacheBuilder.strictParsing |
| initialCapacity | 1 method | com.google.common.cache.CacheBuilderSpec.initialCapacity |
| maximumSize | 1 method | com.google.common.cache.CacheBuilderSpec.maximumSize |
| maximumWeight | 1 method | com.google.common.cache.CacheBuilderSpec.maximumWeight |
| concurrencyLevel | 1 method | com.google.common.cache.CacheBuilderSpec.concurrencyLevel |
| keyStrength | 1 method | com.google.common.cache.CacheBuilderSpec.keyStrength |
| valueStrength | 1 method | com.google.common.cache.CacheBuilderSpec.valueStrength |
| recordStats | 1 method | com.google.common.cache.CacheBuilderSpec.recordStats |
| writeExpirationDuration | 1 method | com.google.common.cache.CacheBuilderSpec.writeExpirationDuration |
| writeExpirationTimeUnit | 1 method | com.google.common.cache.CacheBuilderSpec.writeExpirationTimeUnit |
| accessExpirationDuration | 1 method | com.google.common.cache.CacheBuilderSpec.accessExpirationDuration |
| accessExpirationTimeUnit | 1 method | com.google.common.cache.CacheBuilderSpec.accessExpirationTimeUnit |
| refreshDuration | 1 method | com.google.common.cache.CacheBuilderSpec.refreshDuration |
| refreshTimeUnit | 1 method | com.google.common.cache.CacheBuilderSpec.refreshTimeUnit |
| value | 2 methods | com.google.common.cache.Striped64$Cell.value |
| code | 1 method | com.google.common.cache.Striped64$HashCode.code |
| nextInKToVBucket | 2 methods | com.google.common.collect.HashBiMap$BiEntry.nextInKToVBucket |
| nextInVToKBucket | 2 methods | com.google.common.collect.HashBiMap$BiEntry.nextInVToKBucket |
| nextInValueBucket | 2 methods | com.google.common.collect.LinkedHashMultimap$ValueEntry .nextInValueBucket |
| head | 2 methods | com.google.common.collect.LinkedListMultimap$KeyList.head |
| tail | 2 methods | com.google.common.collect.LinkedListMultimap$KeyList.tail |
| count | 4 methods | com.google.common.collect.LinkedListMultimap$KeyList.count |
| value | 2 methods | com.google.common.collect.LinkedListMultimap$Node.value |
| next | 4 methods | com.google.common.collect.LinkedListMultimap$Node.next |
| previous | 4 methods | com.google.common.collect.LinkedListMultimap$Node.previous |
| nextSibling | 4 methods | com.google.common.collect.LinkedListMultimap$Node.nextSibling |
| previousSibling | 4 methods | com.google.common.collect.LinkedListMultimap$Node.previousSibling |
| name | 1 method | com.google.common.base.Objects$ToStringHelper$ValueHolder.name |
| value | 2 methods | com.google.common.base.Objects$ToStringHelper$ValueHolder.value |
| next | 1 method | com.google.common.base.Objects$ToStringHelper$ValueHolder.next |
| next | 1 method | com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair .next |
| futures | 1 method | com.google.common.util.concurrent.Futures$CombinedFuture.futures |
| combiner | 1 method | com.google.common.util.concurrent.Futures$CombinedFuture.combiner |
| values | 1 method | com.google.common.util.concurrent.Futures$CombinedFuture.values |
| waiterCount | 2 methods | com.google.common.util.concurrent.Monitor$Guard.waiterCount |
| next | 3 methods | com.google.common.util.concurrent.Monitor$Guard.next |
| logIndex | 2 methods | org.h2.engine.Session$Savepoint.logIndex |
| transactionSavepoint | 2 methods | org.h2.engine.Session$Savepoint.transactionSavepoint |
| name | 1 method | org.h2.expression.FunctionInfo.name |
| type | 1 method | org.h2.expression.FunctionInfo.type |
| dataType | 1 method | org.h2.expression.FunctionInfo.dataType |
| parameterCount | 1 method | org.h2.expression.FunctionInfo.parameterCount |
| nullIfParameterIsNull | 1 method | org.h2.expression.FunctionInfo.nullIfParameterIsNull |
| deterministic | 1 method | org.h2.expression.FunctionInfo.deterministic |
| fast | 1 method | org.h2.expression.FunctionInfo.fast |
| writer | 1 method | org.h2.fulltext.FullTextLucene$IndexAccess.writer |
| reader | 2 methods | org.h2.fulltext.FullTextLucene$IndexAccess.reader |
| searcher | 2 methods | org.h2.fulltext.FullTextLucene$IndexAccess.searcher |
| id | 1 method | org.h2.fulltext.IndexInfo.id |
| schema | 1 method | org.h2.fulltext.IndexInfo.schema |
| table | 1 method | org.h2.fulltext.IndexInfo.table |
| keys | 1 method | org.h2.fulltext.IndexInfo.keys |
| indexColumns | 1 method | org.h2.fulltext.IndexInfo.indexColumns |
| columns | 1 method | org.h2.fulltext.IndexInfo.columns |
| balance | 18 methods | org.h2.index.TreeNode.balance |
| left | 6 methods | org.h2.index.TreeNode.left |
| right | 7 methods | org.h2.index.TreeNode.right |
| parent | 8 methods | org.h2.index.TreeNode.parent |
Statistics
| Stat | methodsAssignerOutsideOfMyType |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Naming Conventions | 190 |
|
| Rule warning: Instance fields should begin with a lower character |
warnif count > 0 from f in Application.Fields where
!f.NameLike (@"^[a-z]") &&
!f.IsStatic &&
!f.IsLiteral &&
!f.IsGeneratedByCompiler &&
!f.IsSpecialName
select new { f, f.SizeOfInst }
// This naming convention provokes debate.
// Don't hesitate to customize the regex of
// NameLike to your preference.
1,939 fields matched
| fields | Size of instance | Full Name |
|---|---|---|
| TYPES | 0 | org.jboss.modules.xml.MXParser.TYPES |
| J | 4 | org.objectweb.asm.ClassWriter.J |
| E | 4 | org.objectweb.asm.ClassWriter.E |
| D | 4 | org.objectweb.asm.ClassWriter.D |
| F | 4 | org.objectweb.asm.ClassWriter.F |
| A | 4 | org.objectweb.asm.ClassWriter.A |
| B | 4 | org.objectweb.asm.ClassWriter.B |
| H | 4 | org.objectweb.asm.ClassWriter.H |
| G | 4 | org.objectweb.asm.ClassWriter.G |
| I | 4 | org.objectweb.asm.ClassWriter.I |
| S | 4 | org.objectweb.asm.MethodWriter.S |
| A | 4 | org.objectweb.asm.MethodWriter.A |
| B | 4 | org.objectweb.asm.MethodWriter.B |
| C | 4 | org.objectweb.asm.MethodWriter.C |
| D | 4 | org.objectweb.asm.MethodWriter.D |
| E | 4 | org.objectweb.asm.MethodWriter.E |
| F | 4 | org.objectweb.asm.MethodWriter.F |
| G | 4 | org.objectweb.asm.MethodWriter.G |
| H | 4 | org.objectweb.asm.MethodWriter.H |
| I | 4 | org.objectweb.asm.MethodWriter.I |
| J | 4 | org.objectweb.asm.MethodWriter.J |
| K | 4 | org.objectweb.asm.MethodWriter.K |
| L | 4 | org.objectweb.asm.MethodWriter.L |
| M | 4 | org.objectweb.asm.MethodWriter.M |
| N | 4 | org.objectweb.asm.MethodWriter.N |
| O | 4 | org.objectweb.asm.MethodWriter.O |
| P | 4 | org.objectweb.asm.MethodWriter.P |
| Q | 4 | org.objectweb.asm.MethodWriter.Q |
| R | 4 | org.objectweb.asm.MethodWriter.R |
| _defaultInclusion | 4 | com.fasterxml.classmate.AnnotationConfiguration$StdConfiguration ._defaultInclusion |
| _inclusions | 4 | com.fasterxml.classmate.AnnotationConfiguration$StdConfiguration ._inclusions |
| _targetsToOverrides | 4 | com.fasterxml.classmate.AnnotationOverrides$StdBuilder ._targetsToOverrides |
| _targetsToOverrides | 4 | com.fasterxml.classmate.AnnotationOverrides$StdImpl ._targetsToOverrides |
| _annotations | 4 | com.fasterxml.classmate.Annotations._annotations |
| _typeResolver | 4 | com.fasterxml.classmate.MemberResolver._typeResolver |
| _cfgIncludeLangObject | 4 | com.fasterxml.classmate.MemberResolver._cfgIncludeLangObject |
| _fieldFilter | 4 | com.fasterxml.classmate.MemberResolver._fieldFilter |
| _methodFilter | 4 | com.fasterxml.classmate.MemberResolver._methodFilter |
| _constructorFilter | 4 | com.fasterxml.classmate.MemberResolver._constructorFilter |
| _erasedType | 4 | com.fasterxml.classmate.ResolvedType._erasedType |
| _typeBindings | 4 | com.fasterxml.classmate.ResolvedType._typeBindings |
| _annotationConfig | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers$AnnotationHandler ._annotationConfig |
| _fieldInclusions | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers$AnnotationHandler ._fieldInclusions |
| _constructorInclusions | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers$AnnotationHandler ._constructorInclusions |
| _methodInclusions | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers$AnnotationHandler ._methodInclusions |
| _typeResolver | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._typeResolver |
| _annotationHandler | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._annotationHandler |
| _mainType | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._mainType |
| _types | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._types |
| _fieldFilter | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._fieldFilter |
| _constructorFilter | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._constructorFilter |
| _methodFilter | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._methodFilter |
| _staticMethods | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._staticMethods |
| _memberMethods | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._memberMethods |
| _memberFields | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._memberFields |
| _constructors | 4 | com.fasterxml.classmate.ResolvedTypeWithMembers._constructors |
| _names | 4 | com.fasterxml.classmate.TypeBindings._names |
| _types | 4 | com.fasterxml.classmate.TypeBindings._types |
| _hashCode | 4 | com.fasterxml.classmate.TypeBindings._hashCode |
| _parent | 4 | com.fasterxml.classmate.TypeResolver$ClassStack._parent |
| _current | 4 | com.fasterxml.classmate.TypeResolver$ClassStack._current |
| _selfRefs | 4 | com.fasterxml.classmate.TypeResolver$ClassStack._selfRefs |
| _resolvedTypes | 4 | com.fasterxml.classmate.TypeResolver._resolvedTypes |
| _isMixin | 4 | com.fasterxml.classmate.members.HierarchicType._isMixin |
| _type | 4 | com.fasterxml.classmate.members.HierarchicType._type |
| _priority | 4 | com.fasterxml.classmate.members.HierarchicType._priority |
| _constructor | 4 | com.fasterxml.classmate.members.RawConstructor._constructor |
| _hashCode | 4 | com.fasterxml.classmate.members.RawConstructor._hashCode |
| _field | 4 | com.fasterxml.classmate.members.RawField._field |
| _hashCode | 4 | com.fasterxml.classmate.members.RawField._hashCode |
| _declaringType | 4 | com.fasterxml.classmate.members.RawMember._declaringType |
| _method | 4 | com.fasterxml.classmate.members.RawMethod._method |
| _hashCode | 4 | com.fasterxml.classmate.members.RawMethod._hashCode |
| _constructor | 4 | com.fasterxml.classmate.members.ResolvedConstructor._constructor |
| _argumentTypes | 4 | com.fasterxml.classmate.members.ResolvedConstructor._argumentTypes |
| _hashCode | 4 | com.fasterxml.classmate.members.ResolvedConstructor._hashCode |
| _field | 4 | com.fasterxml.classmate.members.ResolvedField._field |
| _type | 4 | com.fasterxml.classmate.members.ResolvedField._type |
| _hashCode | 4 | com.fasterxml.classmate.members.ResolvedField._hashCode |
| _declaringType | 4 | com.fasterxml.classmate.members.ResolvedMember._declaringType |
| _annotations | 4 | com.fasterxml.classmate.members.ResolvedMember._annotations |
| _method | 4 | com.fasterxml.classmate.members.ResolvedMethod._method |
| _returnType | 4 | com.fasterxml.classmate.members.ResolvedMethod._returnType |
| _argumentTypes | 4 | com.fasterxml.classmate.members.ResolvedMethod._argumentTypes |
| _hashCode | 4 | com.fasterxml.classmate.members.ResolvedMethod._hashCode |
| _elementType | 4 | com.fasterxml.classmate.types.ResolvedArrayType._elementType |
| _superInterfaces | 4 | com.fasterxml.classmate.types.ResolvedInterfaceType._superInterfaces |
| _constantFields | 4 | com.fasterxml.classmate.types.ResolvedInterfaceType._constantFields |
| _memberMethods | 4 | com.fasterxml.classmate.types.ResolvedInterfaceType._memberMethods |
| _superClass | 4 | com.fasterxml.classmate.types.ResolvedObjectType._superClass |
| _superInterfaces | 4 | com.fasterxml.classmate.types.ResolvedObjectType._superInterfaces |
| _modifiers | 4 | com.fasterxml.classmate.types.ResolvedObjectType._modifiers |
| _constructors | 4 | com.fasterxml.classmate.types.ResolvedObjectType._constructors |
| _memberFields | 4 | com.fasterxml.classmate.types.ResolvedObjectType._memberFields |
| _staticFields | 4 | com.fasterxml.classmate.types.ResolvedObjectType._staticFields |
| _memberMethods | 4 | com.fasterxml.classmate.types.ResolvedObjectType._memberMethods |
| _staticMethods | 4 | com.fasterxml.classmate.types.ResolvedObjectType._staticMethods |
| _signature | 4 | com.fasterxml.classmate.types.ResolvedPrimitiveType._signature |
| _description | 4 | com.fasterxml.classmate.types.ResolvedPrimitiveType._description |
| _referencedType | 4 | com.fasterxml.classmate.types.ResolvedRecursiveType._referencedType |
Statistics
| Stat | Size of instance |
|---|---|
| Sum: | 7 444 |
| Average: | 3.84 |
| Minimum: | 0 |
| Maximum: | 4 |
| Standard deviation: | 0.79 |
| Variance: | 0.62 |
| Rule warning: Interface name should begin with an Upper character |
warnif count > 0 from t in Application.Types where
t.IsInterface &&
!t.SimpleNameLike (@"^[A-Z]")
select t
26 types matched
| types | Full Name |
|---|---|
| package-info | com.google.common.cache.package-info |
| package-info | com.google.common.collect.package-info |
| package-info | com.google.common.escape.package-info |
| package-info | com.google.common.hash.package-info |
| package-info | com.google.common.html.package-info |
| package-info | com.google.common.io.package-info |
| package-info | com.google.common.math.package-info |
| package-info | com.google.common.net.package-info |
| package-info | com.google.common.primitives.package-info |
| package-info | com.google.common.reflect.package-info |
| package-info | com.google.common.xml.package-info |
| package-info | com.google.common.base.package-info |
| package-info | com.google.common.util.concurrent.package-info |
| package-info | com.sun.xml.bind.api.package-info |
| package-info | com.sun.xml.bind.v2.package-info |
| package-info | com.sun.xml.bind.v2.model.core.package-info |
| package-info | com.sun.xml.bind.v2.model.runtime.package-info |
| package-info | com.sun.xml.bind.v2.runtime.output.package-info |
| package-info | com.sun.xml.bind.v2.schemagen.package-info |
| package-info | com.sun.xml.bind.v2.schemagen.episode.package-info |
| package-info | com.sun.xml.bind.v2.schemagen.xmlschema.package-info |
| package-info | com.sun.tools.xjc.package-info |
| package-info | com.sun.tools.xjc.addon.episode.package-info |
| package-info | com.sun.tools.xjc.generator.package-info |
| package-info | com.sun.tools.xjc.model.package-info |
| package-info | com.sun.tools.xjc.reader.xmlschema.bindinfo.package-info |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Rule warning: Exception class name should be suffixed with 'Exception' |
warnif count > 0 from t in Application.Types where
t.IsExceptionClass &&
!t.NameLike (@"Exception$")
select new { t, t.NbLinesOfCode }
// The name of an exception class should end with 'Exception'.
18 types matched
| types | # lines of code (LOC) | Full Name |
|---|---|---|
| ModuleLoadError | 9 | org.jboss.modules.ModuleLoadError |
| CycleDetectingLockFactory$ExampleStackTrace | 13 | com.google.common.util.concurrent .CycleDetectingLockFactory$ExampleStackTrace |
| ExecutionError | 7 | com.google.common.util.concurrent.ExecutionError |
| ServiceManager$EmptyServiceManagerWarning | 2 | com.google.common.util.concurrent .ServiceManager$EmptyServiceManagerWarning |
| SAXParseException2 | 9 | com.sun.istack.SAXParseException2 |
| SAXException2 | 7 | com.sun.istack.SAXException2 |
| XMLStreamException2 | 11 | com.sun.istack.XMLStreamException2 |
| StackRecorder | 1 | com.sun.xml.bind.v2.util.StackRecorder |
| TokenMgrError | 36 | com.sun.xml.xsom.impl.scd.TokenMgrError |
| Driver$WeAreDone | 2 | com.sun.tools.xjc.Driver$WeAreDone |
| ModelLoader$SpeculationFailure | 2 | com.sun.tools.xjc.ModelLoader$SpeculationFailure |
| SOAPExceptionImpl | 38 | com.sun.xml.messaging.saaj.SOAPExceptionImpl |
| Signal | 11 | io.netty.util.Signal |
| AbortCompilation | 45 | org.eclipse.jdt.internal.compiler.problem.AbortCompilation |
| AbortCompilationUnit | 5 | org.eclipse.jdt.internal.compiler.problem.AbortCompilationUnit |
| AbortMethod | 2 | org.eclipse.jdt.internal.compiler.problem.AbortMethod |
| AbortType | 2 | org.eclipse.jdt.internal.compiler.problem.AbortType |
| ShouldNotImplement | 2 | org.eclipse.jdt.internal.compiler.problem.ShouldNotImplement |
Statistics
| Stat | # lines of code (LOC) |
|---|---|
| Sum: | 204 |
| Average: | 11.33 |
| Minimum: | 1 |
| Maximum: | 45 |
| Standard deviation: | 13.28 |
| Variance: | 176.33 |
| Rule warning: Types name should begin with an Upper character |
warnif count > 0 from t in JustMyCode.Types where
// The name of a type should begin with an Upper letter.
!t.SimpleNameLike (@"^[A-Z]") &&
// Except if it is generated by compiler or ...
!t.IsSpecialName &&
!t.IsGeneratedByCompiler
select new { t, t.NbLinesOfCode }
69 types matched
| types | # lines of code (LOC) | Full Name |
|---|---|---|
| __JAXPRedirected | 34 | __redirected.__JAXPRedirected |
| __XMLReaderFactory | 67 | __redirected.__XMLReaderFactory |
| __DocumentBuilderFactory | 74 | __redirected.__DocumentBuilderFactory |
| __XPathFactory | 55 | __redirected.__XPathFactory |
| __TransformerFactory | 79 | __redirected.__TransformerFactory |
| __XMLInputFactory | 71 | __redirected.__XMLInputFactory |
| __RedirectedUtils$1 | 2 | __redirected.__RedirectedUtils$1 |
| __RedirectedUtils | 77 | __redirected.__RedirectedUtils |
| __DatatypeFactory | 67 | __redirected.__DatatypeFactory |
| __XMLOutputFactory | 55 | __redirected.__XMLOutputFactory |
| __SAXParserFactory | 59 | __redirected.__SAXParserFactory |
| __XMLEventFactory | 70 | __redirected.__XMLEventFactory |
| __SchemaFactory | 64 | __redirected.__SchemaFactory |
| package-info | N/A | com.google.common.cache.package-info |
| package-info | N/A | com.google.common.collect.package-info |
| package-info | N/A | com.google.common.escape.package-info |
| package-info | N/A | com.google.common.hash.package-info |
| package-info | N/A | com.google.common.html.package-info |
| package-info | N/A | com.google.common.io.package-info |
| package-info | N/A | com.google.common.math.package-info |
| package-info | N/A | com.google.common.net.package-info |
| package-info | N/A | com.google.common.primitives.package-info |
| package-info | N/A | com.google.common.reflect.package-info |
| package-info | N/A | com.google.common.xml.package-info |
| package-info | N/A | com.google.common.base.package-info |
| package-info | N/A | com.google.common.util.concurrent.package-info |
| package-info | N/A | com.sun.xml.bind.api.package-info |
| package-info | N/A | com.sun.xml.bind.v2.package-info |
| package-info | N/A | com.sun.xml.bind.v2.model.core.package-info |
| package-info | N/A | com.sun.xml.bind.v2.model.runtime.package-info |
| package-info | N/A | com.sun.xml.bind.v2.runtime.output.package-info |
| package-info | N/A | com.sun.xml.bind.v2.schemagen.package-info |
| package-info | N/A | com.sun.xml.bind.v2.schemagen.episode.package-info |
| package-info | N/A | com.sun.xml.bind.v2.schemagen.xmlschema.package-info |
| complexType$BaseComplexTypeContentRef | 3 | com.sun.xml.xsom.impl.parser.state .complexType$BaseComplexTypeContentRef |
| identityConstraint | 253 | com.sun.xml.xsom.impl.parser.state.identityConstraint |
| qname | 48 | com.sun.xml.xsom.impl.parser.state.qname |
| complexType | 919 | com.sun.xml.xsom.impl.parser.state.complexType |
| elementDeclBody | 533 | com.sun.xml.xsom.impl.parser.state.elementDeclBody |
| includeDecl | 102 | com.sun.xml.xsom.impl.parser.state.includeDecl |
| ersSet | 56 | com.sun.xml.xsom.impl.parser.state.ersSet |
| foreignAttributes | 47 | com.sun.xml.xsom.impl.parser.state.foreignAttributes |
| occurs | 124 | com.sun.xml.xsom.impl.parser.state.occurs |
| complexType$BaseContentSimpleTypeRef | 3 | com.sun.xml.xsom.impl.parser.state .complexType$BaseContentSimpleTypeRef |
| facet | 154 | com.sun.xml.xsom.impl.parser.state.facet |
| modelGroupBody | 152 | com.sun.xml.xsom.impl.parser.state.modelGroupBody |
| importDecl | 145 | com.sun.xml.xsom.impl.parser.state.importDecl |
| redefine | 199 | com.sun.xml.xsom.impl.parser.state.redefine |
| notation | 195 | com.sun.xml.xsom.impl.parser.state.notation |
| particle | 489 | com.sun.xml.xsom.impl.parser.state.particle |
| xpath | 116 | com.sun.xml.xsom.impl.parser.state.xpath |
| complexType$InheritBaseContentTypeRef | 11 | com.sun.xml.xsom.impl.parser.state .complexType$InheritBaseContentTypeRef |
| complexType_complexContent_body | 92 | com.sun.xml.xsom.impl.parser.state.complexType_complexContent_body |
| annotation | 65 | com.sun.xml.xsom.impl.parser.state.annotation |
| wildcardBody | 190 | com.sun.xml.xsom.impl.parser.state.wildcardBody |
| simpleType | 217 | com.sun.xml.xsom.impl.parser.state.simpleType |
| group | 176 | com.sun.xml.xsom.impl.parser.state.group |
| attributeDeclBody | 226 | com.sun.xml.xsom.impl.parser.state.attributeDeclBody |
| qualification | 52 | com.sun.xml.xsom.impl.parser.state.qualification |
| attributeUses | 436 | com.sun.xml.xsom.impl.parser.state.attributeUses |
| erSet | 55 | com.sun.xml.xsom.impl.parser.state.erSet |
| complexType$1 | 0 | com.sun.xml.xsom.impl.parser.state.complexType$1 |
| attributeGroupDecl | 186 | com.sun.xml.xsom.impl.parser.state.attributeGroupDecl |
| package-info | N/A | com.sun.tools.xjc.package-info |
| package-info | N/A | com.sun.tools.xjc.addon.episode.package-info |
| package-info | N/A | com.sun.tools.xjc.generator.package-info |
| package-info | N/A | com.sun.tools.xjc.model.package-info |
| package-info | N/A | com.sun.tools.xjc.reader.xmlschema.bindinfo.package-info |
| hdr | 27 | com.sun.xml.messaging.saaj.packaging.mime.internet.hdr |
Statistics
| Stat | # lines of code (LOC) |
|---|---|
| Sum: | 6 045 |
| Average: | 140.58 |
| Minimum: | 0 |
| Maximum: | 919 |
| Standard deviation: | 169.47 |
| Variance: | 28 718 |
| Rule warning: Methods name should begin with an lower character |
warnif count > 0 from m in JustMyCode.Methods where
!m.NameLike (@"^[a-z]") &&
!m.IsSpecialName &&
!m.IsGeneratedByCompiler && !m.IsConstructor
select m
// The name of a regular method should
// begin with an Upper letter.
1,076 methods matched
| methods | Full Name |
|---|---|
| E() | ch.qos.cal10n.util.Parser.E() |
| V(StringBuilder) | ch.qos.cal10n.util.Parser.V(StringBuilder) |
| Vopt(StringBuilder) | ch.qos.cal10n.util.Parser.Vopt(StringBuilder) |
| _inclusionFor(Class) | com.fasterxml.classmate.AnnotationConfiguration$StdConfiguration ._inclusionFor(Class) |
| _addOverrides(List,Set,Class) | com.fasterxml.classmate.MemberResolver._addOverrides(List,Set,Class) |
| _addOverrides(List,Set,ResolvedType) | com.fasterxml.classmate.MemberResolver._addOverrides(List,Set ,ResolvedType) |
| _gatherTypes(ResolvedType,Set,List) | com.fasterxml.classmate.MemberResolver._gatherTypes(ResolvedType,Set ,List) |
| _appendClassSignature(StringBuilder) | com.fasterxml.classmate.ResolvedType._appendClassSignature (StringBuilder) |
| _appendErasedClassSignature(StringBuilder) | com.fasterxml.classmate.ResolvedType._appendErasedClassSignature (StringBuilder) |
| _appendClassDescription(StringBuilder) | com.fasterxml.classmate.ResolvedType._appendClassDescription (StringBuilder) |
| _appendClassName(StringBuilder) | com.fasterxml.classmate.ResolvedType._appendClassName(StringBuilder) |
| _getFields(boolean) | com.fasterxml.classmate.ResolvedType._getFields(boolean) |
| _getMethods(boolean) | com.fasterxml.classmate.ResolvedType._getMethods(boolean) |
| _getConstructors() | com.fasterxml.classmate.ResolvedType._getConstructors() |
| _fromAny(TypeResolver$ClassStack,Type,TypeBindings) | com.fasterxml.classmate.TypeResolver._fromAny(TypeResolver$ClassStack ,Type,TypeBindings) |
| _fromClass(TypeResolver$ClassStack,Class,TypeBindings) | com.fasterxml.classmate.TypeResolver._fromClass (TypeResolver$ClassStack,Class,TypeBindings) |
| _fromGenericType(TypeResolver$ClassStack,GenericType,TypeBindings) | com.fasterxml.classmate.TypeResolver._fromGenericType (TypeResolver$ClassStack,GenericType,TypeBindings) |
| _constructType(TypeResolver$ClassStack,Class,TypeBindings) | com.fasterxml.classmate.TypeResolver._constructType (TypeResolver$ClassStack,Class,TypeBindings) |
| _resolveSuperInterfaces(TypeResolver$ClassStack,Class,TypeBindings) | com.fasterxml.classmate.TypeResolver._resolveSuperInterfaces (TypeResolver$ClassStack,Class,TypeBindings) |
| _resolveSuperClass(TypeResolver$ClassStack,Class,TypeBindings) | com.fasterxml.classmate.TypeResolver._resolveSuperClass (TypeResolver$ClassStack,Class,TypeBindings) |
| _fromParamType(TypeResolver$ClassStack,ParameterizedType,TypeBindings) | com.fasterxml.classmate.TypeResolver._fromParamType (TypeResolver$ClassStack,ParameterizedType,TypeBindings) |
| _fromArrayType(TypeResolver$ClassStack,GenericArrayType,TypeBindings) | com.fasterxml.classmate.TypeResolver._fromArrayType (TypeResolver$ClassStack,GenericArrayType,TypeBindings) |
| _fromWildcard(TypeResolver$ClassStack,WildcardType,TypeBindings) | com.fasterxml.classmate.TypeResolver._fromWildcard (TypeResolver$ClassStack,WildcardType,TypeBindings) |
| _fromVariable(TypeResolver$ClassStack,TypeVariable,TypeBindings) | com.fasterxml.classmate.TypeResolver._fromVariable (TypeResolver$ClassStack,TypeVariable,TypeBindings) |
| _resolveTypePlaceholders(ResolvedType,ResolvedType) | com.fasterxml.classmate.TypeResolver._resolveTypePlaceholders (ResolvedType,ResolvedType) |
| _typesMatch(ResolvedType,ResolvedType) | com.fasterxml.classmate.TypeResolver._typesMatch(ResolvedType ,ResolvedType) |
| _reportInvalidBase64(char,int,String) | com.fasterxml.jackson.core.Base64Variant._reportInvalidBase64(char,int ,String) |
| _reportBase64EOF() | com.fasterxml.jackson.core.Base64Variant._reportBase64EOF() |
| _checkInvalidCopy(Class) | com.fasterxml.jackson.core.JsonFactory._checkInvalidCopy(Class) |
| _createParser(InputStream,IOContext) | com.fasterxml.jackson.core.JsonFactory._createParser(InputStream ,IOContext) |
| _createJsonParser(InputStream,IOContext) | com.fasterxml.jackson.core.JsonFactory._createJsonParser(InputStream ,IOContext) |
| _createParser(Reader,IOContext) | com.fasterxml.jackson.core.JsonFactory._createParser(Reader,IOContext) |
| _createJsonParser(Reader,IOContext) | com.fasterxml.jackson.core.JsonFactory._createJsonParser(Reader ,IOContext) |
| _createParser(byte[],int,int,IOContext) | com.fasterxml.jackson.core.JsonFactory._createParser(byte[],int,int ,IOContext) |
| _createJsonParser(byte[],int,int,IOContext) | com.fasterxml.jackson.core.JsonFactory._createJsonParser(byte[],int ,int,IOContext) |
| _createGenerator(Writer,IOContext) | com.fasterxml.jackson.core.JsonFactory._createGenerator(Writer ,IOContext) |
| _createJsonGenerator(Writer,IOContext) | com.fasterxml.jackson.core.JsonFactory._createJsonGenerator(Writer ,IOContext) |
| _createUTF8Generator(OutputStream,IOContext) | com.fasterxml.jackson.core.JsonFactory._createUTF8Generator (OutputStream,IOContext) |
| _createUTF8JsonGenerator(OutputStream,IOContext) | com.fasterxml.jackson.core.JsonFactory._createUTF8JsonGenerator (OutputStream,IOContext) |
| _createWriter(OutputStream,JsonEncoding,IOContext) | com.fasterxml.jackson.core.JsonFactory._createWriter(OutputStream ,JsonEncoding,IOContext) |
| _createContext(Object,boolean) | com.fasterxml.jackson.core.JsonFactory._createContext(Object,boolean) |
| _getBufferRecycler() | com.fasterxml.jackson.core.JsonFactory._getBufferRecycler() |
| _optimizedStreamFromURL(URL) | com.fasterxml.jackson.core.JsonFactory._optimizedStreamFromURL(URL) |
| _reportError(String) | com.fasterxml.jackson.core.JsonGenerator._reportError(String) |
| _throwInternal() | com.fasterxml.jackson.core.JsonGenerator._throwInternal() |
| _reportUnsupportedOperation() | com.fasterxml.jackson.core.JsonGenerator._reportUnsupportedOperation() |
| _writeSimpleObject(Object) | com.fasterxml.jackson.core.JsonGenerator._writeSimpleObject(Object) |
| _constructError(String) | com.fasterxml.jackson.core.JsonParser._constructError(String) |
| _reportUnsupportedOperation() | com.fasterxml.jackson.core.JsonParser._reportUnsupportedOperation() |
| _parseInt(String) | com.fasterxml.jackson.core.JsonPointer._parseInt(String) |
| _parseTail(String) | com.fasterxml.jackson.core.JsonPointer._parseTail(String) |
| _parseQuotedTail(String,int) | com.fasterxml.jackson.core.JsonPointer._parseQuotedTail(String,int) |
| _appendEscape(StringBuilder,char) | com.fasterxml.jackson.core.JsonPointer._appendEscape(StringBuilder ,char) |
| _releaseBuffers() | com.fasterxml.jackson.core.base.GeneratorBase._releaseBuffers() |
| _verifyValueWrite(String) | com.fasterxml.jackson.core.base.GeneratorBase._verifyValueWrite(String ) |
| _writeSimpleObject(Object) | com.fasterxml.jackson.core.base.GeneratorBase._writeSimpleObject (Object) |
| _finishString() | com.fasterxml.jackson.core.base.ParserBase._finishString() |
| _closeInput() | com.fasterxml.jackson.core.base.ParserBase._closeInput() |
| _releaseBuffers() | com.fasterxml.jackson.core.base.ParserBase._releaseBuffers() |
| _handleEOF() | com.fasterxml.jackson.core.base.ParserBase._handleEOF() |
| _reportMismatchedEndMarker(int,char) | com.fasterxml.jackson.core.base.ParserBase._reportMismatchedEndMarker (int,char) |
| _getByteArrayBuilder() | com.fasterxml.jackson.core.base.ParserBase._getByteArrayBuilder() |
| _parseNumericValue(int) | com.fasterxml.jackson.core.base.ParserBase._parseNumericValue(int) |
| _parseSlowFloat(int) | com.fasterxml.jackson.core.base.ParserBase._parseSlowFloat(int) |
| _parseSlowInt(int,char[],int,int) | com.fasterxml.jackson.core.base.ParserBase._parseSlowInt(int,char[] ,int,int) |
| _decodeEscaped() | com.fasterxml.jackson.core.base.ParserBase._decodeEscaped() |
| _decodeBase64Escape(Base64Variant,int,int) | com.fasterxml.jackson.core.base.ParserBase._decodeBase64Escape (Base64Variant,int,int) |
| _decodeBase64Escape(Base64Variant,char,int) | com.fasterxml.jackson.core.base.ParserBase._decodeBase64Escape (Base64Variant,char,int) |
| _handleEOF() | com.fasterxml.jackson.core.base.ParserMinimalBase._handleEOF() |
| _decodeBase64(String,ByteArrayBuilder,Base64Variant) | com.fasterxml.jackson.core.base.ParserMinimalBase._decodeBase64(String ,ByteArrayBuilder,Base64Variant) |
| _reportInvalidBase64(Base64Variant,char,int,String) | com.fasterxml.jackson.core.base.ParserMinimalBase._reportInvalidBase64 (Base64Variant,char,int,String) |
| _reportBase64EOF() | com.fasterxml.jackson.core.base.ParserMinimalBase._reportBase64EOF() |
| _hasTextualNull(String) | com.fasterxml.jackson.core.base.ParserMinimalBase._hasTextualNull (String) |
| _reportUnexpectedChar(int,String) | com.fasterxml.jackson.core.base.ParserMinimalBase ._reportUnexpectedChar(int,String) |
| _reportInvalidEOF() | com.fasterxml.jackson.core.base.ParserMinimalBase._reportInvalidEOF() |
| _reportInvalidEOF(String) | com.fasterxml.jackson.core.base.ParserMinimalBase._reportInvalidEOF (String) |
| _reportInvalidEOFInValue() | com.fasterxml.jackson.core.base.ParserMinimalBase ._reportInvalidEOFInValue() |
| _reportMissingRootWS(int) | com.fasterxml.jackson.core.base.ParserMinimalBase._reportMissingRootWS (int) |
| _throwInvalidSpace(int) | com.fasterxml.jackson.core.base.ParserMinimalBase._throwInvalidSpace (int) |
| _throwUnquotedSpace(int,String) | com.fasterxml.jackson.core.base.ParserMinimalBase._throwUnquotedSpace (int,String) |
| _handleUnrecognizedCharacterEscape(char) | com.fasterxml.jackson.core.base.ParserMinimalBase ._handleUnrecognizedCharacterEscape(char) |
| _getCharDesc(int) | com.fasterxml.jackson.core.base.ParserMinimalBase._getCharDesc(int) |
| _reportError(String) | com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(String) |
| _wrapError(String,Throwable) | com.fasterxml.jackson.core.base.ParserMinimalBase._wrapError(String ,Throwable) |
| _throwInternal() | com.fasterxml.jackson.core.base.ParserMinimalBase._throwInternal() |
| _constructError(String,Throwable) | com.fasterxml.jackson.core.base.ParserMinimalBase._constructError (String,Throwable) |
| _findFormat(InputAccessor$Std) | com.fasterxml.jackson.core.format.DataFormatDetector._findFormat (InputAccessor$Std) |
| _verifyAlloc(Object) | com.fasterxml.jackson.core.io.IOContext._verifyAlloc(Object) |
| _verifyRelease(byte[],byte[]) | com.fasterxml.jackson.core.io.IOContext._verifyRelease(byte[],byte[]) |
| _verifyRelease(char[],char[]) | com.fasterxml.jackson.core.io.IOContext._verifyRelease(char[],char[]) |
| _appendNumericEscape(int,char[]) | com.fasterxml.jackson.core.io.JsonStringEncoder._appendNumericEscape (int,char[]) |
| _appendNamedEscape(int,char[]) | com.fasterxml.jackson.core.io.JsonStringEncoder._appendNamedEscape(int ,char[]) |
| _appendByteEscape(int,int,ByteArrayBuilder,int) | com.fasterxml.jackson.core.io.JsonStringEncoder._appendByteEscape(int ,int,ByteArrayBuilder,int) |
| _convertSurrogate(int,int) | com.fasterxml.jackson.core.io.JsonStringEncoder._convertSurrogate(int ,int) |
| _illegalSurrogate(int) | com.fasterxml.jackson.core.io.JsonStringEncoder._illegalSurrogate(int) |
| _badBigDecimal(String) | com.fasterxml.jackson.core.io.NumberInput._badBigDecimal(String) |
| _checkDup(DupDetector,String) | com.fasterxml.jackson.core.json.JsonReadContext._checkDup(DupDetector ,String) |
| _checkDup(DupDetector,String) | com.fasterxml.jackson.core.json.JsonWriteContext._checkDup(DupDetector ,String) |
| _closeInput() | com.fasterxml.jackson.core.json.ReaderBasedJsonParser._closeInput() |
| _releaseBuffers() | com.fasterxml.jackson.core.json.ReaderBasedJsonParser._releaseBuffers( ) |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Rule warning: Avoid types with name too long |
warnif count > 0 from t in Application.Types
where !t.IsGeneratedByCompiler
where t.SimpleName.Length > 35
select new { t, t.SimpleName }
823 types matched
| types | SimpleName | Full Name |
|---|---|---|
| IdentityHashSet$IdentityHashSetIterator | IdentityHashSet$IdentityHashSetIterator | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator |
| ConcurrentClassLoader$LoaderThread$1 | ConcurrentClassLoader$LoaderThread$1 | org.jboss.modules.ConcurrentClassLoader$LoaderThread$1 |
| LayeredModulePathFactory$LayersConfig | LayeredModulePathFactory$LayersConfig | org.jboss.modules.LayeredModulePathFactory$LayersConfig |
| ConcurrentClassLoader$LoaderThreadHolder | ConcurrentClassLoader$LoaderThreadHolder | org.jboss.modules.ConcurrentClassLoader$LoaderThreadHolder |
| AnnotationConfiguration$StdConfiguration | AnnotationConfiguration$StdConfiguration | com.fasterxml.classmate.AnnotationConfiguration$StdConfiguration |
| ResolvedTypeWithMembers$AnnotationHandler | ResolvedTypeWithMembers$AnnotationHandler | com.fasterxml.classmate.ResolvedTypeWithMembers$AnnotationHandler |
| ObjectIdGenerators$IntSequenceGenerator | ObjectIdGenerators$IntSequenceGenerator | com.fasterxml.jackson.annotation .ObjectIdGenerators$IntSequenceGenerator |
| ObjectIdGenerators$PropertyGenerator | ObjectIdGenerators$PropertyGenerator | com.fasterxml.jackson.annotation.ObjectIdGenerators$PropertyGenerator |
| DefaultPrettyPrinter$FixedSpaceIndenter | DefaultPrettyPrinter$FixedSpaceIndenter | com.fasterxml.jackson.core.util .DefaultPrettyPrinter$FixedSpaceIndenter |
| DefaultPrettyPrinter$Lf2SpacesIndenter | DefaultPrettyPrinter$Lf2SpacesIndenter | com.fasterxml.jackson.core.util.DefaultPrettyPrinter$Lf2SpacesIndenter |
| AnnotationIntrospector$ReferenceProperty$Type | AnnotationIntrospector$ReferenceProperty$Type | com.fasterxml.jackson.databind .AnnotationIntrospector$ReferenceProperty$Type |
| AnnotationIntrospector$ReferenceProperty | AnnotationIntrospector$ReferenceProperty | com.fasterxml.jackson.databind .AnnotationIntrospector$ReferenceProperty |
| ObjectMapper$DefaultTypeResolverBuilder | ObjectMapper$DefaultTypeResolverBuilder | com.fasterxml.jackson.databind.ObjectMapper$DefaultTypeResolverBuilder |
| PropertyNamingStrategy$LowerCaseWithUnderscoresStrategy | PropertyNamingStrategy$LowerCaseWithUnderscoresStrategy | com.fasterxml.jackson.databind .PropertyNamingStrategy$LowerCaseWithUnderscoresStrategy |
| PropertyNamingStrategy$PascalCaseStrategy | PropertyNamingStrategy$PascalCaseStrategy | com.fasterxml.jackson.databind .PropertyNamingStrategy$PascalCaseStrategy |
| PropertyNamingStrategy$PropertyNamingStrategyBase | PropertyNamingStrategy$PropertyNamingStrategyBase | com.fasterxml.jackson.databind .PropertyNamingStrategy$PropertyNamingStrategyBase |
| CoreXMLDeserializers$DurationDeserializer | CoreXMLDeserializers$DurationDeserializer | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$DurationDeserializer |
| CoreXMLDeserializers$GregorianCalendarDeserializer | CoreXMLDeserializers$GregorianCalendarDeserializer | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$GregorianCalendarDeserializer |
| CoreXMLDeserializers$QNameDeserializer | CoreXMLDeserializers$QNameDeserializer | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$QNameDeserializer |
| CoreXMLSerializers$XMLGregorianCalendarSerializer | CoreXMLSerializers$XMLGregorianCalendarSerializer | com.fasterxml.jackson.databind.ext .CoreXMLSerializers$XMLGregorianCalendarSerializer |
| DOMDeserializer$DocumentDeserializer | DOMDeserializer$DocumentDeserializer | com.fasterxml.jackson.databind.ext .DOMDeserializer$DocumentDeserializer |
| JsonFormatVisitorWithSerializerProvider | JsonFormatVisitorWithSerializerProvider | com.fasterxml.jackson.databind.jsonFormatVisitors .JsonFormatVisitorWithSerializerProvider |
| ExternalTypeHandler$ExtTypedProperty | ExternalTypeHandler$ExtTypedProperty | com.fasterxml.jackson.databind.deser.impl .ExternalTypeHandler$ExtTypedProperty |
| DateDeserializers$CalendarDeserializer | DateDeserializers$CalendarDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$CalendarDeserializer |
| DateDeserializers$DateBasedDeserializer<T> | DateDeserializers$DateBasedDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$DateBasedDeserializer |
| DateDeserializers$SqlDateDeserializer | DateDeserializers$SqlDateDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$SqlDateDeserializer |
| DateDeserializers$TimeZoneDeserializer | DateDeserializers$TimeZoneDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimeZoneDeserializer |
| DateDeserializers$TimestampDeserializer | DateDeserializers$TimestampDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimestampDeserializer |
| EnumDeserializer$FactoryBasedDeserializer | EnumDeserializer$FactoryBasedDeserializer | com.fasterxml.jackson.databind.deser.std .EnumDeserializer$FactoryBasedDeserializer |
| JdkDeserializers$CurrencyDeserializer | JdkDeserializers$CurrencyDeserializer | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$CurrencyDeserializer |
| JdkDeserializers$PatternDeserializer | JdkDeserializers$PatternDeserializer | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$PatternDeserializer |
| JsonNodeDeserializer$ArrayDeserializer | JsonNodeDeserializer$ArrayDeserializer | com.fasterxml.jackson.databind.deser.std .JsonNodeDeserializer$ArrayDeserializer |
| JsonNodeDeserializer$ObjectDeserializer | JsonNodeDeserializer$ObjectDeserializer | com.fasterxml.jackson.databind.deser.std .JsonNodeDeserializer$ObjectDeserializer |
| NumberDeserializers$BigDecimalDeserializer | NumberDeserializers$BigDecimalDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BigDecimalDeserializer |
| NumberDeserializers$BigIntegerDeserializer | NumberDeserializers$BigIntegerDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BigIntegerDeserializer |
| NumberDeserializers$BooleanDeserializer | NumberDeserializers$BooleanDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BooleanDeserializer |
| NumberDeserializers$ByteDeserializer | NumberDeserializers$ByteDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$ByteDeserializer |
| NumberDeserializers$CharacterDeserializer | NumberDeserializers$CharacterDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$CharacterDeserializer |
| NumberDeserializers$DoubleDeserializer | NumberDeserializers$DoubleDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$DoubleDeserializer |
| NumberDeserializers$FloatDeserializer | NumberDeserializers$FloatDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$FloatDeserializer |
| NumberDeserializers$IntegerDeserializer | NumberDeserializers$IntegerDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$IntegerDeserializer |
| NumberDeserializers$LongDeserializer | NumberDeserializers$LongDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$LongDeserializer |
| NumberDeserializers$NumberDeserializer | NumberDeserializers$NumberDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$NumberDeserializer |
| NumberDeserializers$PrimitiveOrWrapperDeserializer<T> | NumberDeserializers$PrimitiveOrWrapperDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$PrimitiveOrWrapperDeserializer |
| NumberDeserializers$ShortDeserializer | NumberDeserializers$ShortDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$ShortDeserializer |
| PrimitiveArrayDeserializers$BooleanDeser | PrimitiveArrayDeserializers$BooleanDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$BooleanDeser |
| PrimitiveArrayDeserializers$ByteDeser | PrimitiveArrayDeserializers$ByteDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$ByteDeser |
| PrimitiveArrayDeserializers$CharDeser | PrimitiveArrayDeserializers$CharDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$CharDeser |
| PrimitiveArrayDeserializers$DoubleDeser | PrimitiveArrayDeserializers$DoubleDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$DoubleDeser |
| PrimitiveArrayDeserializers$FloatDeser | PrimitiveArrayDeserializers$FloatDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$FloatDeser |
| PrimitiveArrayDeserializers$IntDeser | PrimitiveArrayDeserializers$IntDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$IntDeser |
| PrimitiveArrayDeserializers$LongDeser | PrimitiveArrayDeserializers$LongDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$LongDeser |
| PrimitiveArrayDeserializers$ShortDeser | PrimitiveArrayDeserializers$ShortDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$ShortDeser |
| StdKeyDeserializer$StringCtorKeyDeserializer | StdKeyDeserializer$StringCtorKeyDeserializer | com.fasterxml.jackson.databind.deser.std .StdKeyDeserializer$StringCtorKeyDeserializer |
| StdKeyDeserializer$StringFactoryKeyDeserializer | StdKeyDeserializer$StringFactoryKeyDeserializer | com.fasterxml.jackson.databind.deser.std .StdKeyDeserializer$StringFactoryKeyDeserializer |
| FilteredBeanPropertyWriter$MultiView | FilteredBeanPropertyWriter$MultiView | com.fasterxml.jackson.databind.ser.impl .FilteredBeanPropertyWriter$MultiView |
| FilteredBeanPropertyWriter$SingleView | FilteredBeanPropertyWriter$SingleView | com.fasterxml.jackson.databind.ser.impl .FilteredBeanPropertyWriter$SingleView |
| PropertySerializerMap$SerializerAndMapResult | PropertySerializerMap$SerializerAndMapResult | com.fasterxml.jackson.databind.ser.impl .PropertySerializerMap$SerializerAndMapResult |
| PropertySerializerMap$TypeAndSerializer | PropertySerializerMap$TypeAndSerializer | com.fasterxml.jackson.databind.ser.impl .PropertySerializerMap$TypeAndSerializer |
| SimpleBeanPropertyFilter$FilterExceptFilter | SimpleBeanPropertyFilter$FilterExceptFilter | com.fasterxml.jackson.databind.ser.impl .SimpleBeanPropertyFilter$FilterExceptFilter |
| SimpleBeanPropertyFilter$SerializeExceptFilter | SimpleBeanPropertyFilter$SerializeExceptFilter | com.fasterxml.jackson.databind.ser.impl .SimpleBeanPropertyFilter$SerializeExceptFilter |
| StdArraySerializers$BooleanArraySerializer | StdArraySerializers$BooleanArraySerializer | com.fasterxml.jackson.databind.ser.std .StdArraySerializers$BooleanArraySerializer |
| StdArraySerializers$ByteArraySerializer | StdArraySerializers$ByteArraySerializer | com.fasterxml.jackson.databind.ser.std .StdArraySerializers$ByteArraySerializer |
| StdArraySerializers$CharArraySerializer | StdArraySerializers$CharArraySerializer | com.fasterxml.jackson.databind.ser.std .StdArraySerializers$CharArraySerializer |
| StdArraySerializers$DoubleArraySerializer | StdArraySerializers$DoubleArraySerializer | com.fasterxml.jackson.databind.ser.std .StdArraySerializers$DoubleArraySerializer |
| StdArraySerializers$FloatArraySerializer | StdArraySerializers$FloatArraySerializer | com.fasterxml.jackson.databind.ser.std .StdArraySerializers$FloatArraySerializer |
| StdArraySerializers$IntArraySerializer | StdArraySerializers$IntArraySerializer | com.fasterxml.jackson.databind.ser.std .StdArraySerializers$IntArraySerializer |
| StdArraySerializers$LongArraySerializer | StdArraySerializers$LongArraySerializer | com.fasterxml.jackson.databind.ser.std .StdArraySerializers$LongArraySerializer |
| StdArraySerializers$ShortArraySerializer | StdArraySerializers$ShortArraySerializer | com.fasterxml.jackson.databind.ser.std .StdArraySerializers$ShortArraySerializer |
| StdArraySerializers$TypedPrimitiveArraySerializer<T> | StdArraySerializers$TypedPrimitiveArraySerializer | com.fasterxml.jackson.databind.ser.std .StdArraySerializers$TypedPrimitiveArraySerializer |
| StdJdkSerializers$AtomicBooleanSerializer | StdJdkSerializers$AtomicBooleanSerializer | com.fasterxml.jackson.databind.ser.std .StdJdkSerializers$AtomicBooleanSerializer |
| StdJdkSerializers$AtomicIntegerSerializer | StdJdkSerializers$AtomicIntegerSerializer | com.fasterxml.jackson.databind.ser.std .StdJdkSerializers$AtomicIntegerSerializer |
| StdJdkSerializers$AtomicLongSerializer | StdJdkSerializers$AtomicLongSerializer | com.fasterxml.jackson.databind.ser.std .StdJdkSerializers$AtomicLongSerializer |
| StdJdkSerializers$AtomicReferenceSerializer | StdJdkSerializers$AtomicReferenceSerializer | com.fasterxml.jackson.databind.ser.std .StdJdkSerializers$AtomicReferenceSerializer |
| StdKeySerializers$CalendarKeySerializer | StdKeySerializers$CalendarKeySerializer | com.fasterxml.jackson.databind.ser.std .StdKeySerializers$CalendarKeySerializer |
| StdKeySerializers$StringKeySerializer | StdKeySerializers$StringKeySerializer | com.fasterxml.jackson.databind.ser.std .StdKeySerializers$StringKeySerializer |
| DatatypeLibraryLoader$Service$Loader | DatatypeLibraryLoader$Service$Loader | org.relaxng.datatype.helpers.DatatypeLibraryLoader$Service$Loader |
| DatatypeLibraryLoader$Service$Loader2 | DatatypeLibraryLoader$Service$Loader2 | org.relaxng.datatype.helpers.DatatypeLibraryLoader$Service$Loader2 |
| DatatypeLibraryLoader$Service$ProviderEnumeration | DatatypeLibraryLoader$Service$ProviderEnumeration | org.relaxng.datatype.helpers .DatatypeLibraryLoader$Service$ProviderEnumeration |
| DatatypeLibraryLoader$Service$Singleton | DatatypeLibraryLoader$Service$Singleton | org.relaxng.datatype.helpers.DatatypeLibraryLoader$Service$Singleton |
| CacheBuilderSpec$AccessDurationParser | CacheBuilderSpec$AccessDurationParser | com.google.common.cache.CacheBuilderSpec$AccessDurationParser |
| CacheBuilderSpec$ConcurrencyLevelParser | CacheBuilderSpec$ConcurrencyLevelParser | com.google.common.cache.CacheBuilderSpec$ConcurrencyLevelParser |
| CacheBuilderSpec$InitialCapacityParser | CacheBuilderSpec$InitialCapacityParser | com.google.common.cache.CacheBuilderSpec$InitialCapacityParser |
| CacheBuilderSpec$MaximumWeightParser | CacheBuilderSpec$MaximumWeightParser | com.google.common.cache.CacheBuilderSpec$MaximumWeightParser |
| CacheBuilderSpec$RefreshDurationParser | CacheBuilderSpec$RefreshDurationParser | com.google.common.cache.CacheBuilderSpec$RefreshDurationParser |
| CacheBuilderSpec$ValueStrengthParser | CacheBuilderSpec$ValueStrengthParser | com.google.common.cache.CacheBuilderSpec$ValueStrengthParser |
| CacheBuilderSpec$WriteDurationParser | CacheBuilderSpec$WriteDurationParser | com.google.common.cache.CacheBuilderSpec$WriteDurationParser |
| CacheLoader$InvalidCacheLoadException | CacheLoader$InvalidCacheLoadException | com.google.common.cache.CacheLoader$InvalidCacheLoadException |
| CacheLoader$UnsupportedLoadingOperationException | CacheLoader$UnsupportedLoadingOperationException | com.google.common.cache .CacheLoader$UnsupportedLoadingOperationException |
| ForwardingCache$SimpleForwardingCache<K,V> | ForwardingCache$SimpleForwardingCache | com.google.common.cache.ForwardingCache$SimpleForwardingCache |
| ForwardingLoadingCache$SimpleForwardingLoadingCache<K,V> | ForwardingLoadingCache$SimpleForwardingLoadingCache | com.google.common.cache .ForwardingLoadingCache$SimpleForwardingLoadingCache |
| LocalCache$LoadingSerializationProxy<K,V> | LocalCache$LoadingSerializationProxy | com.google.common.cache.LocalCache$LoadingSerializationProxy |
| LocalCache$WeightedSoftValueReference<K,V> | LocalCache$WeightedSoftValueReference | com.google.common.cache.LocalCache$WeightedSoftValueReference |
| LocalCache$WeightedStrongValueReference<K,V> | LocalCache$WeightedStrongValueReference | com.google.common.cache.LocalCache$WeightedStrongValueReference |
| LocalCache$WeightedWeakValueReference<K,V> | LocalCache$WeightedWeakValueReference | com.google.common.cache.LocalCache$WeightedWeakValueReference |
| AbstractMapBasedMultimap$AsMap$AsMapEntries | AbstractMapBasedMultimap$AsMap$AsMapEntries | com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries |
| AbstractMapBasedMultimap$AsMap$AsMapIterator | AbstractMapBasedMultimap$AsMap$AsMapIterator | com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator |
| AbstractMapBasedMultimap$NavigableAsMap | AbstractMapBasedMultimap$NavigableAsMap | com.google.common.collect.AbstractMapBasedMultimap$NavigableAsMap |
| AbstractMapBasedMultimap$NavigableKeySet | AbstractMapBasedMultimap$NavigableKeySet | com.google.common.collect.AbstractMapBasedMultimap$NavigableKeySet |
| AbstractMapBasedMultimap$RandomAccessWrappedList | AbstractMapBasedMultimap$RandomAccessWrappedList | com.google.common.collect .AbstractMapBasedMultimap$RandomAccessWrappedList |
Statistics
| Stat | SimpleName |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Rule warning: Avoid methods with name too long |
warnif count > 0 from m in Application.Methods where
!m.IsGeneratedByCompiler &&
((!m.IsSpecialName && m.SimpleName.Length > 35) ||
// Property getter/setter are prefixed with "get_" "set_" of length 4.
( m.IsSpecialName && m.SimpleName.Length - 4 > 35))
select new { m, m.SimpleName }
// The regex matches methods with name longer
// than 35 characters.
// Method Name doesn't contain the type and package
// prefix, FullName does.
// The regex computes the method name length from
// the beginning until the first open parenthesis
// or first lower than (for generic methods).
// Explicit Interface Implementation methods are
// discarded because their names are prefixed
// with the interface name.
1,593 methods matched
| methods | SimpleName | Full Name |
|---|---|---|
| registerURLStreamHandlerFactoryModule(Module) | registerURLStreamHandlerFactoryModule | org.jboss.modules.Module.registerURLStreamHandlerFactoryModule(Module) |
| IdentityHashSet$IdentityHashSetIterator(IdentityHashSet) | IdentityHashSet$IdentityHashSetIterator | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator .IdentityHashSet$IdentityHashSetIterator(IdentityHashSet) |
| ConcurrentClassLoader$LoaderThread$1 (ConcurrentClassLoader$LoaderThread,ConcurrentClassLoader ,ConcurrentClassLoader$LoadRequest) | ConcurrentClassLoader$LoaderThread$1 | org.jboss.modules.ConcurrentClassLoader$LoaderThread$1 .ConcurrentClassLoader$LoaderThread$1 (ConcurrentClassLoader$LoaderThread,ConcurrentClassLoader ,ConcurrentClassLoader$LoadRequest) |
| createIterableFilteredResourceLoader(PathFilter,IterableResourceLoader ) | createIterableFilteredResourceLoader | org.jboss.modules.ResourceLoaders.createIterableFilteredResourceLoader (PathFilter,IterableResourceLoader) |
| createIterablePathFilteredLocalLoader(PathFilter,IterableLocalLoader) | createIterablePathFilteredLocalLoader | org.jboss.modules.LocalLoaders.createIterablePathFilteredLocalLoader (PathFilter,IterableLocalLoader) |
| createIterableClassFilteredLocalLoader(ClassFilter,IterableLocalLoader ) | createIterableClassFilteredLocalLoader | org.jboss.modules.LocalLoaders.createIterableClassFilteredLocalLoader (ClassFilter,IterableLocalLoader) |
| LayeredModulePathFactory$LayersConfig() | LayeredModulePathFactory$LayersConfig | org.jboss.modules.LayeredModulePathFactory$LayersConfig .LayeredModulePathFactory$LayersConfig() |
| LayeredModulePathFactory$LayersConfig(Properties) | LayeredModulePathFactory$LayersConfig | org.jboss.modules.LayeredModulePathFactory$LayersConfig .LayeredModulePathFactory$LayersConfig(Properties) |
| ConcurrentClassLoader$LoaderThreadHolder() | ConcurrentClassLoader$LoaderThreadHolder | org.jboss.modules.ConcurrentClassLoader$LoaderThreadHolder .ConcurrentClassLoader$LoaderThreadHolder() |
| ConcurrentClassLoader$LoaderThreadHolder() | ConcurrentClassLoader$LoaderThreadHolder | org.jboss.modules.ConcurrentClassLoader$LoaderThreadHolder .ConcurrentClassLoader$LoaderThreadHolder() |
| getMetaInfSubdirectoriesWithoutMetaInfFilter() | getMetaInfSubdirectoriesWithoutMetaInfFilter | org.jboss.modules.filter.PathFilters .getMetaInfSubdirectoriesWithoutMetaInfFilter() |
| lookupResourceBundleByEnumClassAndLocale(Class)<E> | lookupResourceBundleByEnumClassAndLocale | ch.qos.cal10n.MessageConveyor.lookupResourceBundleByEnumClassAndLocale (Class)<E> |
| AnnotationConfiguration$StdConfiguration(AnnotationInclusion) | AnnotationConfiguration$StdConfiguration | com.fasterxml.classmate.AnnotationConfiguration$StdConfiguration .AnnotationConfiguration$StdConfiguration(AnnotationInclusion) |
| ResolvedTypeWithMembers$AnnotationHandler(AnnotationConfiguration) | ResolvedTypeWithMembers$AnnotationHandler | com.fasterxml.classmate.ResolvedTypeWithMembers$AnnotationHandler .ResolvedTypeWithMembers$AnnotationHandler(AnnotationConfiguration) |
| ObjectIdGenerators$IntSequenceGenerator() | ObjectIdGenerators$IntSequenceGenerator | com.fasterxml.jackson.annotation .ObjectIdGenerators$IntSequenceGenerator .ObjectIdGenerators$IntSequenceGenerator() |
| ObjectIdGenerators$IntSequenceGenerator(Class,int) | ObjectIdGenerators$IntSequenceGenerator | com.fasterxml.jackson.annotation .ObjectIdGenerators$IntSequenceGenerator .ObjectIdGenerators$IntSequenceGenerator(Class,int) |
| ObjectIdGenerators$PropertyGenerator(Class) | ObjectIdGenerators$PropertyGenerator | com.fasterxml.jackson.annotation.ObjectIdGenerators$PropertyGenerator .ObjectIdGenerators$PropertyGenerator(Class) |
| DefaultPrettyPrinter$FixedSpaceIndenter() | DefaultPrettyPrinter$FixedSpaceIndenter | com.fasterxml.jackson.core.util .DefaultPrettyPrinter$FixedSpaceIndenter .DefaultPrettyPrinter$FixedSpaceIndenter() |
| DefaultPrettyPrinter$FixedSpaceIndenter() | DefaultPrettyPrinter$FixedSpaceIndenter | com.fasterxml.jackson.core.util .DefaultPrettyPrinter$FixedSpaceIndenter .DefaultPrettyPrinter$FixedSpaceIndenter() |
| DefaultPrettyPrinter$Lf2SpacesIndenter() | DefaultPrettyPrinter$Lf2SpacesIndenter | com.fasterxml.jackson.core.util.DefaultPrettyPrinter$Lf2SpacesIndenter .DefaultPrettyPrinter$Lf2SpacesIndenter() |
| DefaultPrettyPrinter$Lf2SpacesIndenter(String) | DefaultPrettyPrinter$Lf2SpacesIndenter | com.fasterxml.jackson.core.util.DefaultPrettyPrinter$Lf2SpacesIndenter .DefaultPrettyPrinter$Lf2SpacesIndenter(String) |
| DefaultPrettyPrinter$Lf2SpacesIndenter() | DefaultPrettyPrinter$Lf2SpacesIndenter | com.fasterxml.jackson.core.util.DefaultPrettyPrinter$Lf2SpacesIndenter .DefaultPrettyPrinter$Lf2SpacesIndenter() |
| AnnotationIntrospector$ReferenceProperty$Type(String,int) | AnnotationIntrospector$ReferenceProperty$Type | com.fasterxml.jackson.databind .AnnotationIntrospector$ReferenceProperty$Type .AnnotationIntrospector$ReferenceProperty$Type(String,int) |
| AnnotationIntrospector$ReferenceProperty$Type() | AnnotationIntrospector$ReferenceProperty$Type | com.fasterxml.jackson.databind .AnnotationIntrospector$ReferenceProperty$Type .AnnotationIntrospector$ReferenceProperty$Type() |
| AnnotationIntrospector$ReferenceProperty (AnnotationIntrospector$ReferenceProperty$Type,String) | AnnotationIntrospector$ReferenceProperty | com.fasterxml.jackson.databind .AnnotationIntrospector$ReferenceProperty .AnnotationIntrospector$ReferenceProperty (AnnotationIntrospector$ReferenceProperty$Type,String) |
| ObjectMapper$DefaultTypeResolverBuilder(ObjectMapper$DefaultTyping) | ObjectMapper$DefaultTypeResolverBuilder | com.fasterxml.jackson.databind.ObjectMapper$DefaultTypeResolverBuilder .ObjectMapper$DefaultTypeResolverBuilder(ObjectMapper$DefaultTyping) |
| PropertyNamingStrategy$LowerCaseWithUnderscoresStrategy() | PropertyNamingStrategy$LowerCaseWithUnderscoresStrategy | com.fasterxml.jackson.databind .PropertyNamingStrategy$LowerCaseWithUnderscoresStrategy .PropertyNamingStrategy$LowerCaseWithUnderscoresStrategy() |
| PropertyNamingStrategy$PascalCaseStrategy() | PropertyNamingStrategy$PascalCaseStrategy | com.fasterxml.jackson.databind .PropertyNamingStrategy$PascalCaseStrategy .PropertyNamingStrategy$PascalCaseStrategy() |
| PropertyNamingStrategy$PropertyNamingStrategyBase() | PropertyNamingStrategy$PropertyNamingStrategyBase | com.fasterxml.jackson.databind .PropertyNamingStrategy$PropertyNamingStrategyBase .PropertyNamingStrategy$PropertyNamingStrategyBase() |
| CoreXMLDeserializers$DurationDeserializer() | CoreXMLDeserializers$DurationDeserializer | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$DurationDeserializer .CoreXMLDeserializers$DurationDeserializer() |
| CoreXMLDeserializers$DurationDeserializer() | CoreXMLDeserializers$DurationDeserializer | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$DurationDeserializer .CoreXMLDeserializers$DurationDeserializer() |
| CoreXMLDeserializers$GregorianCalendarDeserializer() | CoreXMLDeserializers$GregorianCalendarDeserializer | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$GregorianCalendarDeserializer .CoreXMLDeserializers$GregorianCalendarDeserializer() |
| CoreXMLDeserializers$GregorianCalendarDeserializer() | CoreXMLDeserializers$GregorianCalendarDeserializer | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$GregorianCalendarDeserializer .CoreXMLDeserializers$GregorianCalendarDeserializer() |
| CoreXMLDeserializers$QNameDeserializer() | CoreXMLDeserializers$QNameDeserializer | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$QNameDeserializer .CoreXMLDeserializers$QNameDeserializer() |
| CoreXMLDeserializers$QNameDeserializer() | CoreXMLDeserializers$QNameDeserializer | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$QNameDeserializer .CoreXMLDeserializers$QNameDeserializer() |
| CoreXMLSerializers$XMLGregorianCalendarSerializer() | CoreXMLSerializers$XMLGregorianCalendarSerializer | com.fasterxml.jackson.databind.ext .CoreXMLSerializers$XMLGregorianCalendarSerializer .CoreXMLSerializers$XMLGregorianCalendarSerializer() |
| CoreXMLSerializers$XMLGregorianCalendarSerializer() | CoreXMLSerializers$XMLGregorianCalendarSerializer | com.fasterxml.jackson.databind.ext .CoreXMLSerializers$XMLGregorianCalendarSerializer .CoreXMLSerializers$XMLGregorianCalendarSerializer() |
| DOMDeserializer$DocumentDeserializer() | DOMDeserializer$DocumentDeserializer | com.fasterxml.jackson.databind.ext .DOMDeserializer$DocumentDeserializer .DOMDeserializer$DocumentDeserializer() |
| _findCustomCollectionLikeDeserializer(CollectionLikeType ,DeserializationConfig,BeanDescription,TypeDeserializer ,JsonDeserializer) | _findCustomCollectionLikeDeserializer | com.fasterxml.jackson.databind.deser.BasicDeserializerFactory ._findCustomCollectionLikeDeserializer(CollectionLikeType ,DeserializationConfig,BeanDescription,TypeDeserializer ,JsonDeserializer) |
| deserializeUsingPropertyBasedWithUnwrapped(JsonParser ,DeserializationContext) | deserializeUsingPropertyBasedWithUnwrapped | com.fasterxml.jackson.databind.deser.BeanDeserializer .deserializeUsingPropertyBasedWithUnwrapped(JsonParser ,DeserializationContext) |
| deserializeUsingPropertyBasedWithExternalTypeId(JsonParser ,DeserializationContext) | deserializeUsingPropertyBasedWithExternalTypeId | com.fasterxml.jackson.databind.deser.BeanDeserializer .deserializeUsingPropertyBasedWithExternalTypeId(JsonParser ,DeserializationContext) |
| deserializeFromObjectUsingNonDefault(JsonParser,DeserializationContext ) | deserializeFromObjectUsingNonDefault | com.fasterxml.jackson.databind.deser.BeanDeserializerBase .deserializeFromObjectUsingNonDefault(JsonParser ,DeserializationContext) |
| deserializeUsingPropertyBasedWithUnwrapped(JsonParser ,DeserializationContext) | deserializeUsingPropertyBasedWithUnwrapped | com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer .deserializeUsingPropertyBasedWithUnwrapped(JsonParser ,DeserializationContext) |
| deserializeUsingPropertyBasedWithExternalTypeId(JsonParser ,DeserializationContext) | deserializeUsingPropertyBasedWithExternalTypeId | com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer .deserializeUsingPropertyBasedWithExternalTypeId(JsonParser ,DeserializationContext) |
| ExternalTypeHandler$ExtTypedProperty(SettableBeanProperty ,TypeDeserializer) | ExternalTypeHandler$ExtTypedProperty | com.fasterxml.jackson.databind.deser.impl .ExternalTypeHandler$ExtTypedProperty .ExternalTypeHandler$ExtTypedProperty(SettableBeanProperty ,TypeDeserializer) |
| DateDeserializers$CalendarDeserializer() | DateDeserializers$CalendarDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$CalendarDeserializer .DateDeserializers$CalendarDeserializer() |
| DateDeserializers$CalendarDeserializer(Class) | DateDeserializers$CalendarDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$CalendarDeserializer .DateDeserializers$CalendarDeserializer(Class) |
| DateDeserializers$CalendarDeserializer (DateDeserializers$CalendarDeserializer,DateFormat,String) | DateDeserializers$CalendarDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$CalendarDeserializer .DateDeserializers$CalendarDeserializer (DateDeserializers$CalendarDeserializer,DateFormat,String) |
| DateDeserializers$CalendarDeserializer() | DateDeserializers$CalendarDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$CalendarDeserializer .DateDeserializers$CalendarDeserializer() |
| DateDeserializers$DateBasedDeserializer<T>(Class) | DateDeserializers$DateBasedDeserializer<T> | com.fasterxml.jackson.databind.deser.std .DateDeserializers$DateBasedDeserializer .DateDeserializers$DateBasedDeserializer<T>(Class) |
| DateDeserializers$DateBasedDeserializer<T> (DateDeserializers$DateBasedDeserializer,DateFormat,String) | DateDeserializers$DateBasedDeserializer<T> | com.fasterxml.jackson.databind.deser.std .DateDeserializers$DateBasedDeserializer .DateDeserializers$DateBasedDeserializer<T> (DateDeserializers$DateBasedDeserializer,DateFormat,String) |
| DateDeserializers$SqlDateDeserializer() | DateDeserializers$SqlDateDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$SqlDateDeserializer .DateDeserializers$SqlDateDeserializer() |
| DateDeserializers$SqlDateDeserializer (DateDeserializers$SqlDateDeserializer,DateFormat,String) | DateDeserializers$SqlDateDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$SqlDateDeserializer .DateDeserializers$SqlDateDeserializer (DateDeserializers$SqlDateDeserializer,DateFormat,String) |
| DateDeserializers$SqlDateDeserializer() | DateDeserializers$SqlDateDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$SqlDateDeserializer .DateDeserializers$SqlDateDeserializer() |
| DateDeserializers$TimeZoneDeserializer() | DateDeserializers$TimeZoneDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimeZoneDeserializer .DateDeserializers$TimeZoneDeserializer() |
| DateDeserializers$TimeZoneDeserializer() | DateDeserializers$TimeZoneDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimeZoneDeserializer .DateDeserializers$TimeZoneDeserializer() |
| DateDeserializers$TimestampDeserializer() | DateDeserializers$TimestampDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimestampDeserializer .DateDeserializers$TimestampDeserializer() |
| DateDeserializers$TimestampDeserializer (DateDeserializers$TimestampDeserializer,DateFormat,String) | DateDeserializers$TimestampDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimestampDeserializer .DateDeserializers$TimestampDeserializer (DateDeserializers$TimestampDeserializer,DateFormat,String) |
| DateDeserializers$TimestampDeserializer() | DateDeserializers$TimestampDeserializer | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimestampDeserializer .DateDeserializers$TimestampDeserializer() |
| EnumDeserializer$FactoryBasedDeserializer(Class,AnnotatedMethod,Class) | EnumDeserializer$FactoryBasedDeserializer | com.fasterxml.jackson.databind.deser.std .EnumDeserializer$FactoryBasedDeserializer .EnumDeserializer$FactoryBasedDeserializer(Class,AnnotatedMethod,Class ) |
| JdkDeserializers$CurrencyDeserializer() | JdkDeserializers$CurrencyDeserializer | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$CurrencyDeserializer .JdkDeserializers$CurrencyDeserializer() |
| JdkDeserializers$CurrencyDeserializer() | JdkDeserializers$CurrencyDeserializer | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$CurrencyDeserializer .JdkDeserializers$CurrencyDeserializer() |
| JdkDeserializers$PatternDeserializer() | JdkDeserializers$PatternDeserializer | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$PatternDeserializer .JdkDeserializers$PatternDeserializer() |
| JdkDeserializers$PatternDeserializer() | JdkDeserializers$PatternDeserializer | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$PatternDeserializer .JdkDeserializers$PatternDeserializer() |
| JsonNodeDeserializer$ArrayDeserializer() | JsonNodeDeserializer$ArrayDeserializer | com.fasterxml.jackson.databind.deser.std .JsonNodeDeserializer$ArrayDeserializer .JsonNodeDeserializer$ArrayDeserializer() |
| JsonNodeDeserializer$ArrayDeserializer() | JsonNodeDeserializer$ArrayDeserializer | com.fasterxml.jackson.databind.deser.std .JsonNodeDeserializer$ArrayDeserializer .JsonNodeDeserializer$ArrayDeserializer() |
| JsonNodeDeserializer$ObjectDeserializer() | JsonNodeDeserializer$ObjectDeserializer | com.fasterxml.jackson.databind.deser.std .JsonNodeDeserializer$ObjectDeserializer .JsonNodeDeserializer$ObjectDeserializer() |
| JsonNodeDeserializer$ObjectDeserializer() | JsonNodeDeserializer$ObjectDeserializer | com.fasterxml.jackson.databind.deser.std .JsonNodeDeserializer$ObjectDeserializer .JsonNodeDeserializer$ObjectDeserializer() |
| NumberDeserializers$BigDecimalDeserializer() | NumberDeserializers$BigDecimalDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BigDecimalDeserializer .NumberDeserializers$BigDecimalDeserializer() |
| NumberDeserializers$BigDecimalDeserializer() | NumberDeserializers$BigDecimalDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BigDecimalDeserializer .NumberDeserializers$BigDecimalDeserializer() |
| NumberDeserializers$BigIntegerDeserializer() | NumberDeserializers$BigIntegerDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BigIntegerDeserializer .NumberDeserializers$BigIntegerDeserializer() |
| NumberDeserializers$BigIntegerDeserializer() | NumberDeserializers$BigIntegerDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BigIntegerDeserializer .NumberDeserializers$BigIntegerDeserializer() |
| NumberDeserializers$BooleanDeserializer(Class,Boolean) | NumberDeserializers$BooleanDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BooleanDeserializer .NumberDeserializers$BooleanDeserializer(Class,Boolean) |
| NumberDeserializers$BooleanDeserializer() | NumberDeserializers$BooleanDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BooleanDeserializer .NumberDeserializers$BooleanDeserializer() |
| NumberDeserializers$ByteDeserializer(Class,Byte) | NumberDeserializers$ByteDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$ByteDeserializer .NumberDeserializers$ByteDeserializer(Class,Byte) |
| NumberDeserializers$ByteDeserializer() | NumberDeserializers$ByteDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$ByteDeserializer .NumberDeserializers$ByteDeserializer() |
| NumberDeserializers$CharacterDeserializer(Class,Character) | NumberDeserializers$CharacterDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$CharacterDeserializer .NumberDeserializers$CharacterDeserializer(Class,Character) |
| NumberDeserializers$CharacterDeserializer() | NumberDeserializers$CharacterDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$CharacterDeserializer .NumberDeserializers$CharacterDeserializer() |
| NumberDeserializers$DoubleDeserializer(Class,Double) | NumberDeserializers$DoubleDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$DoubleDeserializer .NumberDeserializers$DoubleDeserializer(Class,Double) |
| NumberDeserializers$DoubleDeserializer() | NumberDeserializers$DoubleDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$DoubleDeserializer .NumberDeserializers$DoubleDeserializer() |
| NumberDeserializers$FloatDeserializer(Class,Float) | NumberDeserializers$FloatDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$FloatDeserializer .NumberDeserializers$FloatDeserializer(Class,Float) |
| NumberDeserializers$FloatDeserializer() | NumberDeserializers$FloatDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$FloatDeserializer .NumberDeserializers$FloatDeserializer() |
| NumberDeserializers$IntegerDeserializer(Class,Integer) | NumberDeserializers$IntegerDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$IntegerDeserializer .NumberDeserializers$IntegerDeserializer(Class,Integer) |
| NumberDeserializers$IntegerDeserializer() | NumberDeserializers$IntegerDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$IntegerDeserializer .NumberDeserializers$IntegerDeserializer() |
| NumberDeserializers$LongDeserializer(Class,Long) | NumberDeserializers$LongDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$LongDeserializer .NumberDeserializers$LongDeserializer(Class,Long) |
| NumberDeserializers$LongDeserializer() | NumberDeserializers$LongDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$LongDeserializer .NumberDeserializers$LongDeserializer() |
| NumberDeserializers$NumberDeserializer() | NumberDeserializers$NumberDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$NumberDeserializer .NumberDeserializers$NumberDeserializer() |
| NumberDeserializers$NumberDeserializer() | NumberDeserializers$NumberDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$NumberDeserializer .NumberDeserializers$NumberDeserializer() |
| NumberDeserializers$PrimitiveOrWrapperDeserializer<T>(Class,Object) | NumberDeserializers$PrimitiveOrWrapperDeserializer<T> | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$PrimitiveOrWrapperDeserializer .NumberDeserializers$PrimitiveOrWrapperDeserializer<T>(Class,Object) |
| NumberDeserializers$ShortDeserializer(Class,Short) | NumberDeserializers$ShortDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$ShortDeserializer .NumberDeserializers$ShortDeserializer(Class,Short) |
| NumberDeserializers$ShortDeserializer() | NumberDeserializers$ShortDeserializer | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$ShortDeserializer .NumberDeserializers$ShortDeserializer() |
| PrimitiveArrayDeserializers$BooleanDeser() | PrimitiveArrayDeserializers$BooleanDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$BooleanDeser .PrimitiveArrayDeserializers$BooleanDeser() |
| PrimitiveArrayDeserializers$ByteDeser() | PrimitiveArrayDeserializers$ByteDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$ByteDeser .PrimitiveArrayDeserializers$ByteDeser() |
| PrimitiveArrayDeserializers$CharDeser() | PrimitiveArrayDeserializers$CharDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$CharDeser .PrimitiveArrayDeserializers$CharDeser() |
| PrimitiveArrayDeserializers$DoubleDeser() | PrimitiveArrayDeserializers$DoubleDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$DoubleDeser .PrimitiveArrayDeserializers$DoubleDeser() |
| PrimitiveArrayDeserializers$FloatDeser() | PrimitiveArrayDeserializers$FloatDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$FloatDeser .PrimitiveArrayDeserializers$FloatDeser() |
| PrimitiveArrayDeserializers$IntDeser() | PrimitiveArrayDeserializers$IntDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$IntDeser .PrimitiveArrayDeserializers$IntDeser() |
| PrimitiveArrayDeserializers$IntDeser() | PrimitiveArrayDeserializers$IntDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$IntDeser .PrimitiveArrayDeserializers$IntDeser() |
| PrimitiveArrayDeserializers$LongDeser() | PrimitiveArrayDeserializers$LongDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$LongDeser .PrimitiveArrayDeserializers$LongDeser() |
| PrimitiveArrayDeserializers$LongDeser() | PrimitiveArrayDeserializers$LongDeser | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$LongDeser .PrimitiveArrayDeserializers$LongDeser() |
Statistics
| Stat | SimpleName |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
| Rule warning: Avoid fields with name too long |
warnif count > 0 from f in Application.Fields where
!f.IsGeneratedByCompiler &&
f.Name.Length > 35
select f
// The regex matches fields with name longer
// than 35 characters.
// Field Name doesn't contain the type and
// package prefix, FullName does.
476 fields matched
| fields | Full Name |
|---|---|
| metaInfSubdirectoriesWithoutMetaInfFilter | org.jboss.modules.filter.PathFilters .metaInfSubdirectoriesWithoutMetaInfFilter |
| MISSING_LOCALE_DATA_ANNOTATION_MESSAGE | ch.qos.cal10n.CAL10NConstants.MISSING_LOCALE_DATA_ANNOTATION_MESSAGE |
| ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER | com.fasterxml.jackson.core.JsonParser$Feature .ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER |
| CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES | com.fasterxml.jackson.databind.PropertyNamingStrategy .CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES |
| WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS | com.fasterxml.jackson.databind.SerializationFeature .WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS |
| URL_PATH_OTHER_SAFE_CHARS_LACKING_PLUS | com.google.common.net.UrlEscapers .URL_PATH_OTHER_SAFE_CHARS_LACKING_PLUS |
| REFERENTIAL_INTEGRITY_VIOLATED_CHILD_EXISTS_1 | org.h2.constant.ErrorCode .REFERENTIAL_INTEGRITY_VIOLATED_CHILD_EXISTS_1 |
| REFERENTIAL_INTEGRITY_VIOLATED_PARENT_MISSING_1 | org.h2.constant.ErrorCode .REFERENTIAL_INTEGRITY_VIOLATED_PARENT_MISSING_1 |
| TRIGGER_SELECT_AND_ROW_BASED_NOT_SUPPORTED | org.h2.constant.ErrorCode.TRIGGER_SELECT_AND_ROW_BASED_NOT_SUPPORTED |
| SCALAR_SUBQUERY_CONTAINS_MORE_THAN_ONE_ROW | org.h2.constant.ErrorCode.SCALAR_SUBQUERY_CONTAINS_MORE_THAN_ONE_ROW |
| METHODS_MUST_HAVE_DIFFERENT_PARAMETER_COUNTS_2 | org.h2.constant.ErrorCode .METHODS_MUST_HAVE_DIFFERENT_PARAMETER_COUNTS_2 |
| CLUSTER_ERROR_DATABASE_RUNS_CLUSTERED_1 | org.h2.constant.ErrorCode.CLUSTER_ERROR_DATABASE_RUNS_CLUSTERED_1 |
| ERROR_SETTING_DATABASE_EVENT_LISTENER_2 | org.h2.constant.ErrorCode.ERROR_SETTING_DATABASE_EVENT_LISTENER_2 |
| CANNOT_MIX_INDEXED_AND_UNINDEXED_PARAMS | org.h2.constant.ErrorCode.CANNOT_MIX_INDEXED_AND_UNINDEXED_PARAMS |
| METHOD_NOT_ALLOWED_FOR_PREPARED_STATEMENT | org.h2.constant.ErrorCode.METHOD_NOT_ALLOWED_FOR_PREPARED_STATEMENT |
| PUBLIC_STATIC_JAVA_METHOD_NOT_FOUND_1 | org.h2.constant.ErrorCode.PUBLIC_STATIC_JAVA_METHOD_NOT_FOUND_1 |
| uniqueIndexSingleNullExceptAllColumnsAreNull | org.h2.engine.Mode.uniqueIndexSingleNullExceptAllColumnsAreNull |
| ALTER_TABLE_ADD_CONSTRAINT_REFERENTIAL | org.h2.command.CommandInterface.ALTER_TABLE_ADD_CONSTRAINT_REFERENTIAL |
| ALTER_TABLE_ADD_CONSTRAINT_PRIMARY_KEY | org.h2.command.CommandInterface.ALTER_TABLE_ADD_CONSTRAINT_PRIMARY_KEY |
| ALTER_TABLE_ALTER_COLUMN_CHANGE_TYPE | org.h2.command.CommandInterface.ALTER_TABLE_ALTER_COLUMN_CHANGE_TYPE |
| ALTER_TABLE_ALTER_COLUMN_SELECTIVITY | org.h2.command.CommandInterface.ALTER_TABLE_ALTER_COLUMN_SELECTIVITY |
| ALTER_TABLE_SET_REFERENTIAL_INTEGRITY | org.h2.command.CommandInterface.ALTER_TABLE_SET_REFERENTIAL_INTEGRITY |
| COMPOSITE_COMPONENT_LOOKUP_WITH_ARGS | com.sun.faces.el.ELUtils.COMPOSITE_COMPONENT_LOOKUP_WITH_ARGS |
| COMPOSITE_COMPONENT_ATTRIBUTES_EL_RESOLVER | com.sun.faces.el.ELUtils.COMPOSITE_COMPONENT_ATTRIBUTES_EL_RESOLVER |
| definingDocumentIdsToTruncatedJarUrls | com.sun.faces.application.ApplicationAssociate .definingDocumentIdsToTruncatedJarUrls |
| enableMissingResourceLibraryDetection | com.sun.faces.application.resource.ClasspathResourceHelper .enableMissingResourceLibraryDetection |
| RESOURCE_LIBRARY_CONTRACT_DATA_STRUCTURE_KEY | com.sun.faces.application.view.FaceletViewHandlingStrategy .RESOURCE_LIBRARY_CONTRACT_DATA_STRUCTURE_KEY |
| viewScopedCDIEventFireHelperImplClass | com.sun.faces.application.view.ViewScopeContextManager .viewScopedCDIEventFireHelperImplClass |
| FACELET_TAGLIBRARY_RESOURCE_PROVIDERS | com.sun.faces.config.ConfigManager .FACELET_TAGLIBRARY_RESOURCE_PROVIDERS |
| FACELET_TAGLIB_CONFIG_PROCESSOR_CHAIN | com.sun.faces.config.ConfigManager .FACELET_TAGLIB_CONFIG_PROCESSOR_CHAIN |
| FACELETS_CONFIGURATION_ATTRIBUTE_NAME | com.sun.faces.config.FaceletsConfiguration .FACELETS_CONFIGURATION_ATTRIBUTE_NAME |
| EnableHttpMethodRestrictionPhaseListener | com.sun.faces.config.WebConfiguration$BooleanWebContextInitParameter .EnableHttpMethodRestrictionPhaseListener |
| EnableMissingResourceLibraryDetection | com.sun.faces.config.WebConfiguration$BooleanWebContextInitParameter .EnableMissingResourceLibraryDetection |
| FaceletsDefaultRefreshPeriodDeprecated | com.sun.faces.config.WebConfiguration$WebContextInitParameter .FaceletsDefaultRefreshPeriodDeprecated |
| FaceletsProcessingFileExtensionProcessAs | com.sun.faces.config.WebConfiguration$WebContextInitParameter .FaceletsProcessingFileExtensionProcessAs |
| enableMissingResourceLibraryDetection | com.sun.faces.facelets.tag.jsf.CompositeComponentTagLibrary .enableMissingResourceLibraryDetection |
| APPLICATION_ASSOCIATE_CTOR_WRONG_CALLSTACK_ID | com.sun.faces.util.MessageUtils .APPLICATION_ASSOCIATE_CTOR_WRONG_CALLSTACK_ID |
| ATTRIBUTE_NOT_SUPORTED_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .ATTRIBUTE_NOT_SUPORTED_ERROR_MESSAGE_ID |
| CANT_CREATE_LIFECYCLE_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils.CANT_CREATE_LIFECYCLE_ERROR_MESSAGE_ID |
| CANT_INSTANTIATE_CLASS_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .CANT_INSTANTIATE_CLASS_ERROR_MESSAGE_ID |
| CANT_INTROSPECT_CLASS_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils.CANT_INTROSPECT_CLASS_ERROR_MESSAGE_ID |
| CANT_WRITE_ID_ATTRIBUTE_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .CANT_WRITE_ID_ATTRIBUTE_ERROR_MESSAGE_ID |
| COMPONENT_NOT_FOUND_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils.COMPONENT_NOT_FOUND_ERROR_MESSAGE_ID |
| COMPONENT_NOT_FOUND_IN_VIEW_WARNING_ID | com.sun.faces.util.MessageUtils.COMPONENT_NOT_FOUND_IN_VIEW_WARNING_ID |
| ERROR_GETTING_VALUEREF_VALUE_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .ERROR_GETTING_VALUEREF_VALUE_ERROR_MESSAGE_ID |
| ERROR_GETTING_VALUE_BINDING_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .ERROR_GETTING_VALUE_BINDING_ERROR_MESSAGE_ID |
| ERROR_REGISTERING_DTD_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils.ERROR_REGISTERING_DTD_ERROR_MESSAGE_ID |
| ERROR_SETTING_BEAN_PROPERTY_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .ERROR_SETTING_BEAN_PROPERTY_ERROR_MESSAGE_ID |
| FACES_CONTEXT_CONSTRUCTION_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .FACES_CONTEXT_CONSTRUCTION_ERROR_MESSAGE_ID |
| FACES_SERVLET_MAPPING_CANNOT_BE_DETERMINED_ID | com.sun.faces.util.MessageUtils .FACES_SERVLET_MAPPING_CANNOT_BE_DETERMINED_ID |
| ILLEGAL_ATTEMPT_SETTING_APPLICATION_ARTIFACT_ID | com.sun.faces.util.MessageUtils .ILLEGAL_ATTEMPT_SETTING_APPLICATION_ARTIFACT_ID |
| INVALID_MESSAGE_SEVERITY_IN_CONFIG_ID | com.sun.faces.util.MessageUtils.INVALID_MESSAGE_SEVERITY_IN_CONFIG_ID |
| INVALID_SCOPE_LIFESPAN_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .INVALID_SCOPE_LIFESPAN_ERROR_MESSAGE_ID |
| LIFECYCLE_ID_NOT_FOUND_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .LIFECYCLE_ID_NOT_FOUND_ERROR_MESSAGE_ID |
| MANAGED_BEAN_CANNOT_SET_LIST_ARRAY_PROPERTY_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_CANNOT_SET_LIST_ARRAY_PROPERTY_ID |
| MANAGED_BEAN_EXISTING_VALUE_NOT_LIST_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_EXISTING_VALUE_NOT_LIST_ID |
| MANAGED_BEAN_TYPE_CONVERSION_ERROR_ID | com.sun.faces.util.MessageUtils.MANAGED_BEAN_TYPE_CONVERSION_ERROR_ID |
| MANAGED_BEAN_CLASS_NOT_FOUND_ERROR_ID | com.sun.faces.util.MessageUtils.MANAGED_BEAN_CLASS_NOT_FOUND_ERROR_ID |
| MANAGED_BEAN_CLASS_DEPENDENCY_NOT_FOUND_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_CLASS_DEPENDENCY_NOT_FOUND_ERROR_ID |
| MANAGED_BEAN_CLASS_IS_NOT_PUBLIC_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_CLASS_IS_NOT_PUBLIC_ERROR_ID |
| MANAGED_BEAN_CLASS_IS_ABSTRACT_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_CLASS_IS_ABSTRACT_ERROR_ID |
| MANAGED_BEAN_CLASS_NO_PUBLIC_NOARG_CTOR_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_CLASS_NO_PUBLIC_NOARG_CTOR_ERROR_ID |
| MANAGED_BEAN_LIST_PROPERTY_CONFIG_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_LIST_PROPERTY_CONFIG_ERROR_ID |
| MANAGED_BEAN_AS_LIST_CONFIG_ERROR_ID | com.sun.faces.util.MessageUtils.MANAGED_BEAN_AS_LIST_CONFIG_ERROR_ID |
| MANAGED_BEAN_MAP_PROPERTY_CONFIG_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_MAP_PROPERTY_CONFIG_ERROR_ID |
| MANAGED_BEAN_MAP_PROPERTY_INCORRECT_SETTER_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_MAP_PROPERTY_INCORRECT_SETTER_ERROR_ID |
| MANAGED_BEAN_MAP_PROPERTY_INCORRECT_GETTER_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_MAP_PROPERTY_INCORRECT_GETTER_ERROR_ID |
| MANAGED_BEAN_DEFINED_PROPERTY_CLASS_NOT_COMPATIBLE_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_DEFINED_PROPERTY_CLASS_NOT_COMPATIBLE_ERROR_ID |
| MANAGED_BEAN_PROPERTY_DOES_NOT_EXIST_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_PROPERTY_DOES_NOT_EXIST_ERROR_ID |
| MANAGED_BEAN_PROPERTY_HAS_NO_SETTER_ID | com.sun.faces.util.MessageUtils.MANAGED_BEAN_PROPERTY_HAS_NO_SETTER_ID |
| MANAGED_BEAN_PROPERTY_INCORRECT_ARGS_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_PROPERTY_INCORRECT_ARGS_ERROR_ID |
| MANAGED_BEAN_LIST_SETTER_DOES_NOT_ACCEPT_LIST_OR_ARRAY_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_LIST_SETTER_DOES_NOT_ACCEPT_LIST_OR_ARRAY_ERROR_ID |
| MANAGED_BEAN_LIST_GETTER_DOES_NOT_RETURN_LIST_OR_ARRAY_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_LIST_GETTER_DOES_NOT_RETURN_LIST_OR_ARRAY_ERROR_ID |
| MANAGED_BEAN_LIST_GETTER_ARRAY_NO_SETTER_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_LIST_GETTER_ARRAY_NO_SETTER_ERROR_ID |
| MANAGED_BEAN_UNABLE_TO_SET_PROPERTY_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_UNABLE_TO_SET_PROPERTY_ERROR_ID |
| MANAGED_BEAN_PROBLEMS_STARTUP_ERROR_ID | com.sun.faces.util.MessageUtils.MANAGED_BEAN_PROBLEMS_STARTUP_ERROR_ID |
| MANAGED_BEAN_UNKNOWN_PROCESSING_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_UNKNOWN_PROCESSING_ERROR_ID |
| MANAGED_BEAN_PROPERTY_UNKNOWN_PROCESSING_ERROR_ID | com.sun.faces.util.MessageUtils .MANAGED_BEAN_PROPERTY_UNKNOWN_PROCESSING_ERROR_ID |
| MAXIMUM_EVENTS_REACHED_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .MAXIMUM_EVENTS_REACHED_ERROR_MESSAGE_ID |
| NAMED_OBJECT_NOT_FOUND_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .NAMED_OBJECT_NOT_FOUND_ERROR_MESSAGE_ID |
| NOT_NESTED_IN_FACES_TAG_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .NOT_NESTED_IN_FACES_TAG_ERROR_MESSAGE_ID |
| NOT_NESTED_IN_TYPE_TAG_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .NOT_NESTED_IN_TYPE_TAG_ERROR_MESSAGE_ID |
| NOT_NESTED_IN_UICOMPONENT_TAG_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .NOT_NESTED_IN_UICOMPONENT_TAG_ERROR_MESSAGE_ID |
| NO_COMPONENT_ASSOCIATED_WITH_UICOMPONENT_TAG_MESSAGE_ID | com.sun.faces.util.MessageUtils .NO_COMPONENT_ASSOCIATED_WITH_UICOMPONENT_TAG_MESSAGE_ID |
| NULL_RESPONSE_STREAM_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils.NULL_RESPONSE_STREAM_ERROR_MESSAGE_ID |
| NULL_RESPONSE_WRITER_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils.NULL_RESPONSE_WRITER_ERROR_MESSAGE_ID |
| PHASE_ID_OUT_OF_BOUNDS_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .PHASE_ID_OUT_OF_BOUNDS_ERROR_MESSAGE_ID |
| REQUEST_VIEW_ALREADY_SET_ERROR_MESSAGE_ID | com.sun.faces.util.MessageUtils .REQUEST_VIEW_ALREADY_SET_ERROR_MESSAGE_ID |
| NAVIGATION_NO_MATCHING_OUTCOME_ACTION_ID | com.sun.faces.util.MessageUtils .NAVIGATION_NO_MATCHING_OUTCOME_ACTION_ID |
| INVALID_RESOURCE_FORMAT_NO_LIBRARY_NAME_ERROR | com.sun.faces.util.MessageUtils .INVALID_RESOURCE_FORMAT_NO_LIBRARY_NAME_ERROR |
| FACES_CONTEXT_ATTRIBUTES_DOCTYPE_KEY | com.sun.faces.util.Util.FACES_CONTEXT_ATTRIBUTES_DOCTYPE_KEY |
| FACES_CONTEXT_ATTRIBUTES_XMLDECL_KEY | com.sun.faces.util.Util.FACES_CONTEXT_ATTRIBUTES_XMLDECL_KEY |
| IGNORE_PROCESSING_INSTRUCTIONS_FEATURE | org.jvnet.fastinfoset.FastInfosetSerializer .IGNORE_PROCESSING_INSTRUCTIONS_FEATURE |
| IGNORE_WHITE_SPACE_TEXT_CONTENT_FEATURE | org.jvnet.fastinfoset.FastInfosetSerializer .IGNORE_WHITE_SPACE_TEXT_CONTENT_FEATURE |
| REGISTERED_ENCODING_ALGORITHMS_PROPERTY | org.jvnet.fastinfoset.FastInfosetSerializer .REGISTERED_ENCODING_ALGORITHMS_PROPERTY |
| CHARACTER_CONTENT_CHUNK_MAP_MEMORY_CONSTRAINT | org.jvnet.fastinfoset.FastInfosetSerializer .CHARACTER_CONTENT_CHUNK_MAP_MEMORY_CONSTRAINT |
| ATTRIBUTE_VALUE_MAP_MEMORY_CONSTRAINT | org.jvnet.fastinfoset.FastInfosetSerializer .ATTRIBUTE_VALUE_MAP_MEMORY_CONSTRAINT |
| REGISTERED_ENCODING_ALGORITHMS_PROPERTY | org.jvnet.fastinfoset.FastInfosetParser .REGISTERED_ENCODING_ALGORITHMS_PROPERTY |
| ENCODING_ALGORITHM_CONTENT_HANDLER_PROPERTY | org.jvnet.fastinfoset.sax.FastInfosetReader .ENCODING_ALGORITHM_CONTENT_HANDLER_PROPERTY |
| PRIMITIVE_TYPE_CONTENT_HANDLER_PROPERTY | org.jvnet.fastinfoset.sax.FastInfosetReader .PRIMITIVE_TYPE_CONTENT_HANDLER_PROPERTY |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
| Rule warning: Avoid naming types and packages with the same identifier |
// Not only this can provoke compiler resolution collision,
// but also, this makes code less maintainable because
// concepts are not concisely identified.
warnif count > 0
let hashsetShortNames = Packages.Where(n => n.Name.Length > 0).Select(n2 => n2.SimpleName).ToHashSet()
from t in JustMyCode.Types
where hashsetShortNames.Contains(t.Name)
select new { t, packages = Packages.Where(n3 => n3.SimpleName == t.Name) }
3 types matched
| types | packages | Full Name |
|---|---|---|
| xpath | 1 package | com.sun.xml.xsom.impl.parser.state.xpath |
| annotation | 13 packages | com.sun.xml.xsom.impl.parser.state.annotation |
| group | 1 package | com.sun.xml.xsom.impl.parser.state.group |
Statistics
| Stat | packages |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
Object Oriented Design
warnif count > 0
from baseClass in JustMyCode.Types
where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization!
let derivedClassesUsed = baseClass.DerivedTypes.UsedBy(baseClass)
where derivedClassesUsed.Count() > 0
select new { baseClass, derivedClassesUsed }
143 types matched
| types | derivedClassesUsed | Full Name |
|---|---|---|
| DependencySpec | 4 types | org.jboss.modules.DependencySpec |
| AnnotationIntrospector | 2 types | com.fasterxml.jackson.databind.AnnotationIntrospector |
| JsonNode | 1 type | com.fasterxml.jackson.databind.JsonNode |
| PropertyNamingStrategy | 2 types | com.fasterxml.jackson.databind.PropertyNamingStrategy |
| ContextAttributes | 1 type | com.fasterxml.jackson.databind.cfg.ContextAttributes |
| NopAnnotationIntrospector | 1 type | com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector |
| BaseJsonNode | 1 type | com.fasterxml.jackson.databind.node.BaseJsonNode |
| ContainerNode<T> | 2 types | com.fasterxml.jackson.databind.node.ContainerNode |
| NodeCursor | 2 types | com.fasterxml.jackson.databind.node.NodeCursor |
| ValueNode | 1 type | com.fasterxml.jackson.databind.node.ValueNode |
| NameTransformer | 5 types | com.fasterxml.jackson.databind.util.NameTransformer |
| ViewMatcher | 3 types | com.fasterxml.jackson.databind.util.ViewMatcher |
| PrimitiveArrayDeserializers<T> | 8 types | com.fasterxml.jackson.databind.deser.std.PrimitiveArrayDeserializers |
| StdDeserializer<T> | 1 type | com.fasterxml.jackson.databind.deser.std.StdDeserializer |
| BeanPropertyWriter | 1 type | com.fasterxml.jackson.databind.ser.BeanPropertyWriter |
| PropertySerializerMap | 1 type | com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap |
| SimpleBeanPropertyFilter | 2 types | com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter |
| StdSerializer<T> | 1 type | com.fasterxml.jackson.databind.ser.std.StdSerializer |
| CacheLoader<K,V> | 2 types | com.google.common.cache.CacheLoader |
| AbstractBiMap<K,V> | 1 type | com.google.common.collect.AbstractBiMap |
| ComparisonChain | 2 types | com.google.common.collect.ComparisonChain |
| ContiguousSet<C> | 2 types | com.google.common.collect.ContiguousSet |
| Cut<C> | 4 types | com.google.common.collect.Cut |
| DiscreteDomain<C> | 3 types | com.google.common.collect.DiscreteDomain |
| FluentIterable<E> | 1 type | com.google.common.collect.FluentIterable |
| ImmutableBiMap<K,V> | 3 types | com.google.common.collect.ImmutableBiMap |
| ImmutableCollection<E> | 2 types | com.google.common.collect.ImmutableCollection |
| ImmutableList<E> | 4 types | com.google.common.collect.ImmutableList |
| ImmutableListMultimap<K,V> | 1 type | com.google.common.collect.ImmutableListMultimap |
| ImmutableMap<K,V> | 4 types | com.google.common.collect.ImmutableMap |
| ImmutableMultimap$Itr<T> | 1 type | com.google.common.collect.ImmutableMultimap$Itr |
| ImmutableMultimap<K,V> | 1 type | com.google.common.collect.ImmutableMultimap |
| ImmutableMultiset<E> | 1 type | com.google.common.collect.ImmutableMultiset |
| ImmutableRangeMap<K> | 1 type | com.google.common.collect.ImmutableRangeMap |
| ImmutableSet<E> | 4 types | com.google.common.collect.ImmutableSet |
| ImmutableSetMultimap<K,V> | 1 type | com.google.common.collect.ImmutableSetMultimap |
| ImmutableSortedMap<K,V> | 2 types | com.google.common.collect.ImmutableSortedMap |
| ImmutableSortedMapFauxverideShim<K,V> | 1 type | com.google.common.collect.ImmutableSortedMapFauxverideShim |
| ImmutableSortedMultiset<E> | 3 types | com.google.common.collect.ImmutableSortedMultiset |
| ImmutableSortedMultisetFauxverideShim<E> | 1 type | com.google.common.collect.ImmutableSortedMultisetFauxverideShim |
| ImmutableSortedSet<E> | 3 types | com.google.common.collect.ImmutableSortedSet |
| ImmutableSortedSetFauxverideShim<E> | 1 type | com.google.common.collect.ImmutableSortedSetFauxverideShim |
| ImmutableTable<R,C,V> | 3 types | com.google.common.collect.ImmutableTable |
| Ordering<T> | 11 types | com.google.common.collect.Ordering |
| RegularImmutableTable<R,C,V> | 2 types | com.google.common.collect.RegularImmutableTable |
| Sets$SetView<E> | 1 type | com.google.common.collect.Sets$SetView |
| TreeRangeSet<C> | 2 types | com.google.common.collect.TreeRangeSet |
| HashCode | 3 types | com.google.common.hash.HashCode |
| BaseEncoding | 1 type | com.google.common.io.BaseEncoding |
| ByteSource | 4 types | com.google.common.io.ByteSource |
| CharSource | 3 types | com.google.common.io.CharSource |
| ClassPath$ResourceInfo | 1 type | com.google.common.reflect.ClassPath$ResourceInfo |
| Invokable<T,R> | 2 types | com.google.common.reflect.Invokable |
| TypeResolver$TypeTable | 1 type | com.google.common.reflect.TypeResolver$TypeTable |
| TypeToken$TypeCollector<K> | 3 types | com.google.common.reflect.TypeToken$TypeCollector |
| TypeToken$TypeSet | 2 types | com.google.common.reflect.TypeToken$TypeSet |
| TypeToken<T> | 1 type | com.google.common.reflect.TypeToken |
| CharMatcher | 22 types | com.google.common.base.CharMatcher |
| Converter<A,B> | 3 types | com.google.common.base.Converter |
| Equivalence<T> | 4 types | com.google.common.base.Equivalence |
| Joiner | 2 types | com.google.common.base.Joiner |
| Optional<T> | 2 types | com.google.common.base.Optional |
| Ticker | 1 type | com.google.common.base.Ticker |
| AbstractScheduledService$Scheduler | 2 types | com.google.common.util.concurrent.AbstractScheduledService$Scheduler |
| CycleDetectingLockFactory | 1 type | com.google.common.util.concurrent.CycleDetectingLockFactory |
| RateLimiter$SleepingTicker | 1 type | com.google.common.util.concurrent.RateLimiter$SleepingTicker |
| RateLimiter | 2 types | com.google.common.util.concurrent.RateLimiter |
| Striped<L> | 2 types | com.google.common.util.concurrent.Striped |
| RightOwner | 1 type | org.h2.engine.RightOwner |
| AggregateData | 6 types | org.h2.expression.AggregateData |
| Expression | 1 type | org.h2.expression.Expression |
| Function | 1 type | org.h2.expression.Function |
| PageBtree | 1 type | org.h2.index.PageBtree |
| PageData | 1 type | org.h2.index.PageData |
| Table | 1 type | org.h2.table.Table |
| CompareMode | 2 types | org.h2.value.CompareMode |
| Value | 21 types | org.h2.value.Value |
| ValueJavaObject | 1 type | org.h2.value.ValueJavaObject |
| FileStore | 1 type | org.h2.store.FileStore |
| JType | 2 types | com.sun.codemodel.JType |
| JExpressionImpl | 4 types | com.sun.codemodel.JExpressionImpl |
| JClass | 4 types | com.sun.codemodel.JClass |
| ELText | 2 types | com.sun.faces.facelets.el.ELText |
| BuiltinLeafInfoImpl<TypeT,ClassDeclT> | 1 type | com.sun.xml.bind.v2.model.impl.BuiltinLeafInfoImpl |
| RuntimeBuiltinLeafInfoImpl<T> | 28 types | com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl |
| Loader | 1 type | com.sun.xml.bind.v2.runtime.unmarshaller.Loader |
| Accessor<BeanT,ValueT> | 3 types | com.sun.xml.bind.v2.runtime.reflect.Accessor |
| Lister<BeanT,PropT,ItemT,PackT> | 13 types | com.sun.xml.bind.v2.runtime.reflect.Lister |
| TransducedAccessor<BeanT> | 4 types | com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor |
| Tree | 3 types | com.sun.xml.bind.v2.schemagen.Tree |
| SCD | 1 type | com.sun.xml.xsom.SCD |
| TypeSet | 2 types | com.sun.xml.xsom.util.TypeSet |
| WildcardImpl | 3 types | com.sun.xml.xsom.impl.WildcardImpl |
| WhitespaceNormalizer | 3 types | com.sun.tools.xjc.generator.util.WhitespaceNormalizer |
| CBuiltinLeafInfo | 13 types | com.sun.tools.xjc.model.CBuiltinLeafInfo |
| CDefaultValue | 1 type | com.sun.tools.xjc.model.CDefaultValue |
| Expression | 1 type | com.sun.tools.xjc.reader.gbind.Expression |
| DOMForest$HandlerImpl | 1 type | com.sun.tools.xjc.reader.internalizer.DOMForest$HandlerImpl |
| Term | 1 type | com.sun.tools.xjc.reader.dtd.Term |
| BindingComponent | 2 types | com.sun.tools.xjc.reader.xmlschema.BindingComponent |
Statistics
| Stat | derivedClassesUsed |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
warnif count > 0 from t in JustMyCode.Types
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()
// Warn for classes with 3 or more base classes.
// Notice that we don't count third-party classes
// because this rule concerns your code design,
// not third-party libraries consumed design.
where baseClasses.Count() >= 3
select new { t, baseClasses,
// The metric value DepthOfInheritance takes account
// of third-party base classes
t.DepthOfInheritance }
// Branches too long in the derivation should be avoided.
// See the definition of the DepthOfInheritance metric here
// http://www.jarchitect.com/Metrics#DIT
759 types matched
| types | baseClasses | Depth of inheritance | Full Name |
|---|---|---|---|
| ReaderBasedJsonParser | 3 types | 4 | com.fasterxml.jackson.core.json.ReaderBasedJsonParser |
| UTF8JsonGenerator | 3 types | 4 | com.fasterxml.jackson.core.json.UTF8JsonGenerator |
| UTF8StreamJsonParser | 3 types | 4 | com.fasterxml.jackson.core.json.UTF8StreamJsonParser |
| WriterBasedJsonGenerator | 3 types | 4 | com.fasterxml.jackson.core.json.WriterBasedJsonGenerator |
| IgnoredPropertyException | 3 types | 7 | com.fasterxml.jackson.databind.exc.IgnoredPropertyException |
| UnrecognizedPropertyException | 3 types | 7 | com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException |
| CoreXMLDeserializers$DurationDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$DurationDeserializer |
| CoreXMLDeserializers$GregorianCalendarDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$GregorianCalendarDeserializer |
| CoreXMLDeserializers$QNameDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.ext .CoreXMLDeserializers$QNameDeserializer |
| DOMDeserializer$DocumentDeserializer | 5 types | 6 | com.fasterxml.jackson.databind.ext .DOMDeserializer$DocumentDeserializer |
| DOMDeserializer$NodeDeserializer | 5 types | 6 | com.fasterxml.jackson.databind.ext.DOMDeserializer$NodeDeserializer |
| DOMDeserializer<T> | 4 types | 5 | com.fasterxml.jackson.databind.ext.DOMDeserializer |
| AnnotatedConstructor | 3 types | 4 | com.fasterxml.jackson.databind.introspect.AnnotatedConstructor |
| AnnotatedMethod | 3 types | 4 | com.fasterxml.jackson.databind.introspect.AnnotatedMethod |
| ArrayNode | 3 types | 4 | com.fasterxml.jackson.databind.node.ArrayNode |
| BigIntegerNode | 4 types | 5 | com.fasterxml.jackson.databind.node.BigIntegerNode |
| BinaryNode | 3 types | 4 | com.fasterxml.jackson.databind.node.BinaryNode |
| BooleanNode | 3 types | 4 | com.fasterxml.jackson.databind.node.BooleanNode |
| DecimalNode | 4 types | 5 | com.fasterxml.jackson.databind.node.DecimalNode |
| DoubleNode | 4 types | 5 | com.fasterxml.jackson.databind.node.DoubleNode |
| FloatNode | 4 types | 5 | com.fasterxml.jackson.databind.node.FloatNode |
| IntNode | 4 types | 5 | com.fasterxml.jackson.databind.node.IntNode |
| LongNode | 4 types | 5 | com.fasterxml.jackson.databind.node.LongNode |
| MissingNode | 3 types | 4 | com.fasterxml.jackson.databind.node.MissingNode |
| NullNode | 3 types | 4 | com.fasterxml.jackson.databind.node.NullNode |
| NumericNode | 3 types | 4 | com.fasterxml.jackson.databind.node.NumericNode |
| ObjectNode | 3 types | 4 | com.fasterxml.jackson.databind.node.ObjectNode |
| POJONode | 3 types | 4 | com.fasterxml.jackson.databind.node.POJONode |
| ShortNode | 4 types | 5 | com.fasterxml.jackson.databind.node.ShortNode |
| TextNode | 3 types | 4 | com.fasterxml.jackson.databind.node.TextNode |
| ArrayType | 3 types | 4 | com.fasterxml.jackson.databind.type.ArrayType |
| CollectionLikeType | 3 types | 4 | com.fasterxml.jackson.databind.type.CollectionLikeType |
| CollectionType | 4 types | 5 | com.fasterxml.jackson.databind.type.CollectionType |
| MapLikeType | 3 types | 4 | com.fasterxml.jackson.databind.type.MapLikeType |
| MapType | 4 types | 5 | com.fasterxml.jackson.databind.type.MapType |
| SimpleType | 3 types | 4 | com.fasterxml.jackson.databind.type.SimpleType |
| BeanDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.BeanDeserializer |
| BuilderBasedDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer |
| DefaultDeserializationContext$Impl | 3 types | 4 | com.fasterxml.jackson.databind.deser .DefaultDeserializationContext$Impl |
| BeanAsArrayBuilderDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.impl .BeanAsArrayBuilderDeserializer |
| BeanAsArrayDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.impl.BeanAsArrayDeserializer |
| PropertyBasedObjectIdGenerator | 3 types | 4 | com.fasterxml.jackson.databind.deser.impl .PropertyBasedObjectIdGenerator |
| ArrayBlockingQueueDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .ArrayBlockingQueueDeserializer |
| AtomicBooleanDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.AtomicBooleanDeserializer |
| ByteBufferDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.ByteBufferDeserializer |
| CharsetDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std.CharsetDeserializer |
| ClassDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.ClassDeserializer |
| CollectionDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.CollectionDeserializer |
| DateDeserializers$CalendarDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$CalendarDeserializer |
| DateDeserializers$DateBasedDeserializer<T> | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$DateBasedDeserializer |
| DateDeserializers$DateDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$DateDeserializer |
| DateDeserializers$SqlDateDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$SqlDateDeserializer |
| DateDeserializers$TimeZoneDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimeZoneDeserializer |
| DateDeserializers$TimestampDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .DateDeserializers$TimestampDeserializer |
| EnumDeserializer$FactoryBasedDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .EnumDeserializer$FactoryBasedDeserializer |
| EnumDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.EnumDeserializer |
| FromStringDeserializer<T> | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.FromStringDeserializer |
| InetAddressDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std.InetAddressDeserializer |
| InetSocketAddressDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std.InetSocketAddressDeserializer |
| JavaTypeDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.JavaTypeDeserializer |
| JdkDeserializers$CurrencyDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$CurrencyDeserializer |
| JdkDeserializers$FileDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$FileDeserializer |
| JdkDeserializers$LocaleDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$LocaleDeserializer |
| JdkDeserializers$PatternDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$PatternDeserializer |
| JdkDeserializers$URIDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$URIDeserializer |
| JdkDeserializers$URLDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .JdkDeserializers$URLDeserializer |
| JsonNodeDeserializer$ArrayDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .JsonNodeDeserializer$ArrayDeserializer |
| JsonNodeDeserializer$ObjectDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .JsonNodeDeserializer$ObjectDeserializer |
| JsonNodeDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer |
| MapDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.MapDeserializer |
| NumberDeserializers$BigDecimalDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BigDecimalDeserializer |
| NumberDeserializers$BigIntegerDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BigIntegerDeserializer |
| NumberDeserializers$BooleanDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$BooleanDeserializer |
| NumberDeserializers$ByteDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$ByteDeserializer |
| NumberDeserializers$CharacterDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$CharacterDeserializer |
| NumberDeserializers$DoubleDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$DoubleDeserializer |
| NumberDeserializers$FloatDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$FloatDeserializer |
| NumberDeserializers$IntegerDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$IntegerDeserializer |
| NumberDeserializers$LongDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$LongDeserializer |
| NumberDeserializers$NumberDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$NumberDeserializer |
| NumberDeserializers$PrimitiveOrWrapperDeserializer<T> | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$PrimitiveOrWrapperDeserializer |
| NumberDeserializers$ShortDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std .NumberDeserializers$ShortDeserializer |
| ObjectArrayDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer |
| PrimitiveArrayDeserializers$BooleanDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$BooleanDeser |
| PrimitiveArrayDeserializers$ByteDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$ByteDeser |
| PrimitiveArrayDeserializers$CharDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$CharDeser |
| PrimitiveArrayDeserializers$DoubleDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$DoubleDeser |
| PrimitiveArrayDeserializers$FloatDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$FloatDeser |
| PrimitiveArrayDeserializers$IntDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$IntDeser |
| PrimitiveArrayDeserializers$LongDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$LongDeser |
| PrimitiveArrayDeserializers$ShortDeser | 3 types | 4 | com.fasterxml.jackson.databind.deser.std .PrimitiveArrayDeserializers$ShortDeser |
| StackTraceElementDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.StackTraceElementDeserializer |
| StringCollectionDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer |
| StringDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.StringDeserializer |
| ThrowableDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer |
| TokenBufferDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.deser.std.TokenBufferDeserializer |
| UUIDDeserializer | 4 types | 5 | com.fasterxml.jackson.databind.deser.std.UUIDDeserializer |
| AsExternalTypeDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.jsontype.impl .AsExternalTypeDeserializer |
| AsPropertyTypeDeserializer | 3 types | 4 | com.fasterxml.jackson.databind.jsontype.impl .AsPropertyTypeDeserializer |
| AsPropertyTypeSerializer | 3 types | 4 | com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeSerializer |
Statistics
| Stat | baseClasses | Depth of inheritance |
|---|---|---|
| Sum: | 0 | 3 494 |
| Average: | 0 | 4.6 |
| Minimum: | 0 | 4 |
| Maximum: | 0 | 8 |
| Standard deviation: | 0 | 0.8 |
| Variance: | 0 | 0.64 |
warnif count > 0 from t in JustMyCode.Types where
t.IsClass &&
t.NbChildren ==0 &&
!t.IsFinal &&
!t.IsStatic
// && !t.IsPublic <-- You might want to add this condition
// if you are developping a framework
// with classes that are intended to be
// sub-classed by your clients.
orderby t.NbLinesOfCode descending
select new { t, t.NbLinesOfCode }
4,803 types matched
| types | # lines of code (LOC) | Full Name |
|---|---|---|
| ProblemReporter | 7 142 | org.eclipse.jdt.internal.compiler.problem.ProblemReporter |
| Parser | 6 534 | org.eclipse.jdt.internal.compiler.parser.Parser |
| Parser | 3 705 | org.h2.command.Parser |
| ClassFile | 3 673 | org.eclipse.jdt.internal.compiler.ClassFile |
| UTF8StreamJsonParser | 1 536 | com.fasterxml.jackson.core.json.UTF8StreamJsonParser |
| DiagnoseParser | 1 468 | org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser |
| MXParser | 1 430 | org.jboss.modules.xml.MXParser |
| UnconditionalFlowInfo | 1 401 | org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo |
| Generator$GenerateVisitor | 1 350 | org.apache.jasper.compiler.Generator$GenerateVisitor |
| SCDParserTokenManager | 1 325 | com.sun.xml.xsom.impl.scd.SCDParserTokenManager |
| JdbcResultSet | 1 140 | org.h2.jdbc.JdbcResultSet |
| Database | 1 128 | org.h2.engine.Database |
| PageStore | 1 025 | org.h2.store.PageStore |
| CompilerOptions | 998 | org.eclipse.jdt.internal.compiler.impl.CompilerOptions |
| HttpPostRequestDecoder | 995 | io.netty.handler.codec.http.multipart.HttpPostRequestDecoder |
| ConcurrentHashMapV8<K,V> | 987 | io.netty.util.internal.chmv8.ConcurrentHashMapV8 |
| complexType | 919 | com.sun.xml.xsom.impl.parser.state.complexType |
| UTF8JsonGenerator | 886 | com.fasterxml.jackson.core.json.UTF8JsonGenerator |
| SAXDocumentParser | 852 | com.sun.xml.fastinfoset.sax.SAXDocumentParser |
| LookupEnvironment | 848 | org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment |
| TypeDeclaration | 848 | org.eclipse.jdt.internal.compiler.ast.TypeDeclaration |
| Parser | 841 | org.apache.jasper.compiler.Parser |
| ClassScope | 835 | org.eclipse.jdt.internal.compiler.lookup.ClassScope |
| Recover | 834 | org.h2.tools.Recover |
| MVStore | 825 | org.h2.mvstore.MVStore |
| JasperMessages_$bundle | 823 | org.apache.jasper.JasperMessages_$bundle |
| ForkJoinPool | 804 | io.netty.util.internal.chmv8.ForkJoinPool |
| TryStatement | 790 | org.eclipse.jdt.internal.compiler.ast.TryStatement |
| ApplicationImpl | 789 | com.sun.faces.application.ApplicationImpl |
| StAXDocumentParser | 788 | com.sun.xml.fastinfoset.stax.StAXDocumentParser |
| LocalCache$Segment<K,V> | 786 | com.google.common.cache.LocalCache$Segment |
| Main$Logger | 764 | org.eclipse.jdt.internal.compiler.batch.Main$Logger |
| Select | 756 | org.h2.command.dml.Select |
| CompositeByteBuf | 745 | io.netty.buffer.CompositeByteBuf |
| QualifiedNameReference | 691 | org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference |
| XMLChar | 690 | com.sun.xml.fastinfoset.org.apache.xerces.util.XMLChar |
| XMLChar | 690 | org.apache.jasper.xmlparser.XMLChar |
| Data | 661 | org.h2.store.Data |
| MethodVerifier15 | 659 | org.eclipse.jdt.internal.compiler.lookup.MethodVerifier15 |
| Util | 645 | org.eclipse.jdt.internal.compiler.util.Util |
| EclipseFileManager | 644 | org.eclipse.jdt.internal.compiler.apt.util.EclipseFileManager |
| Schema | 640 | com.sun.xml.xsom.impl.parser.state.Schema |
| ConstantPool | 626 | org.eclipse.jdt.internal.compiler.codegen.ConstantPool |
| EclipseFileManager | 626 | org.eclipse.jdt.internal.compiler.tool.EclipseFileManager |
| PgServerThread | 624 | org.h2.server.pg.PgServerThread |
| RenderKitUtils | 607 | com.sun.faces.renderkit.RenderKitUtils |
| ClassFileReader | 607 | org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader |
| JdbcDatabaseMetaData | 602 | org.h2.jdbc.JdbcDatabaseMetaData |
| NavigationHandlerImpl | 595 | com.sun.faces.application.NavigationHandlerImpl |
| FaceletViewHandlingStrategy | 583 | com.sun.faces.application.view.FaceletViewHandlingStrategy |
| Generator | 573 | org.apache.jasper.compiler.Generator |
| EqualExpression | 570 | org.eclipse.jdt.internal.compiler.ast.EqualExpression |
| XMLEncodingDetector | 569 | org.apache.jasper.xmlparser.XMLEncodingDetector |
| Javadoc | 564 | org.eclipse.jdt.internal.compiler.ast.Javadoc |
| CompilationUnitScope | 559 | org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope |
| JavadocParser | 558 | org.eclipse.jdt.internal.compiler.parser.JavadocParser |
| Session | 551 | org.h2.engine.Session |
| MetaTable | 546 | org.h2.table.MetaTable |
| ObjectMapper | 542 | com.fasterxml.jackson.databind.ObjectMapper |
| Validator$ValidateVisitor | 536 | org.apache.jasper.compiler.Validator$ValidateVisitor |
| elementDeclBody | 533 | com.sun.xml.xsom.impl.parser.state.elementDeclBody |
| SourceElementNotifier | 514 | org.eclipse.jdt.internal.compiler.SourceElementNotifier |
| MimeUtility | 501 | com.sun.xml.messaging.saaj.packaging.mime.internet.MimeUtility |
| particle | 489 | com.sun.xml.xsom.impl.parser.state.particle |
| JspRuntimeLibrary | 489 | org.apache.jasper.runtime.JspRuntimeLibrary |
| HtmlResponseWriter | 487 | com.sun.faces.renderkit.html_basic.HtmlResponseWriter |
| UIRepeat | 479 | com.sun.faces.facelets.component.UIRepeat |
| DOMDocumentParser | 477 | com.sun.xml.fastinfoset.dom.DOMDocumentParser |
| Compiler | 472 | org.eclipse.jdt.internal.compiler.Compiler |
| JspDocumentParser | 470 | org.apache.jasper.compiler.JspDocumentParser |
| RecoveredType | 468 | org.eclipse.jdt.internal.compiler.parser.RecoveredType |
| JaxmURI | 459 | com.sun.xml.messaging.saaj.util.JaxmURI |
| Base64 | 457 | io.undertow.websockets.core.protocol.version07.Base64 |
| JspUtil | 447 | org.apache.jasper.compiler.JspUtil |
| SslHandler | 446 | io.netty.handler.ssl.SslHandler |
| FakedTrackingVariable | 439 | org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable |
| DataType | 438 | org.h2.value.DataType |
| attributeUses | 436 | com.sun.xml.xsom.impl.parser.state.attributeUses |
| CompilationUnitDeclaration | 430 | org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration |
| EncodingMap | 430 | org.apache.jasper.xmlparser.EncodingMap |
| LoopingFlowContext | 424 | org.eclipse.jdt.internal.compiler.flow.LoopingFlowContext |
| JaxbAnnotationIntrospector | 422 | com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector |
| Page | 421 | org.h2.mvstore.Page |
| StringUtils | 420 | org.h2.util.StringUtils |
| SimpleResultSet | 413 | org.h2.tools.SimpleResultSet |
| Util | 410 | com.sun.faces.util.Util |
| ServletOutputStreamImpl | 410 | io.undertow.servlet.spec.ServletOutputStreamImpl |
| ValueDataType | 408 | org.h2.mvstore.db.ValueDataType |
| FacesFlowDefinitionConfigProcessor | 407 | com.sun.faces.config.processor.FacesFlowDefinitionConfigProcessor |
| RegularTable | 399 | org.h2.table.RegularTable |
| PageLog | 397 | org.h2.store.PageLog |
| StAXDocumentSerializer | 397 | com.sun.xml.fastinfoset.stax.StAXDocumentSerializer |
| UndertowMessages_$bundle | 396 | io.undertow.UndertowMessages_$bundle |
| DeploymentInfo | 395 | io.undertow.servlet.api.DeploymentInfo |
| HttpPostRequestEncoder | 394 | io.netty.handler.codec.http.multipart.HttpPostRequestEncoder |
| TableFilter | 390 | org.h2.table.TableFilter |
| Csv | 384 | org.h2.tools.Csv |
| ValueLob | 383 | org.h2.value.ValueLob |
| HtmlUtils | 381 | com.sun.faces.util.HtmlUtils |
| SwitchStatement | 378 | org.eclipse.jdt.internal.compiler.ast.SwitchStatement |
Statistics
| Stat | # lines of code (LOC) |
|---|---|
| Sum: | 250 232 |
| Average: | 52.1 |
| Minimum: | 0 |
| Maximum: | 7 142 |
| Standard deviation: | 192.35 |
| Variance: | 36 996 |
warnif count > 0
from t in Application.Types
where !t.IsStatic && !t.IsAbstract && t.IsClass
// All ctors of a singleton are private
where t.Constructors.Where(ctor => !ctor.IsPrivate).Count() == 0
// A singleton contains one static field of its parent type, to reference the unique instance
let staticFieldInstances = t.StaticFields.WithFieldType(t)
where staticFieldInstances.Count() == 1
select new { t, staticFieldInstance = staticFieldInstances.First() }
// The Singleton pattern consists in syntactically enforcing that a class
// has just one unique instance.
// At first glance, this pattern looks appealing and it is widely used.
// However, we discourage you from using singleton classes because experience
// shows that singletons often result in less testable and less maintainable code.
// More details available in these discussions:
// http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members/
// http://adamschepis.com/blog/2011/05/02/im-adam-and-im-a-recovering-singleton-addict/
57 types matched
| types | staticFieldInstance | Full Name |
|---|---|---|
| ModularURLStreamHandlerFactory | INSTANCE | org.jboss.modules.ModularURLStreamHandlerFactory |
| ModuleIdentifier | CLASSPATH | org.jboss.modules.ModuleIdentifier |
| UninitializedPermission | INSTANCE | org.jboss.modules.security.UninitializedPermission |
| TypeBindings | EMPTY | com.fasterxml.classmate.TypeBindings |
| CharsToNameCanonicalizer | sBootstrapSymbolTable | com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer |
| InternCache | instance | com.fasterxml.jackson.core.util.InternCache |
| MissingNode | instance | com.fasterxml.jackson.databind.node.MissingNode |
| NullNode | instance | com.fasterxml.jackson.databind.node.NullNode |
| ClassUtil$EnumTypeLocator | instance | com.fasterxml.jackson.databind.util.ClassUtil$EnumTypeLocator |
| EmptyIterator<T> | instance | com.fasterxml.jackson.databind.util.EmptyIterator |
| ViewMatcher$Empty | instance | com.fasterxml.jackson.databind.util.ViewMatcher$Empty |
| PropertySerializerMap$Empty | instance | com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap$Empty |
| NullSerializer | instance | com.fasterxml.jackson.databind.ser.std.NullSerializer |
| Cut$AboveAll | INSTANCE | com.google.common.collect.Cut$AboveAll |
| Cut$BelowAll | INSTANCE | com.google.common.collect.Cut$BelowAll |
| DiscreteDomain$BigIntegerDomain | INSTANCE | com.google.common.collect.DiscreteDomain$BigIntegerDomain |
| DiscreteDomain$IntegerDomain | INSTANCE | com.google.common.collect.DiscreteDomain$IntegerDomain |
| DiscreteDomain$LongDomain | INSTANCE | com.google.common.collect.DiscreteDomain$LongDomain |
| EmptyImmutableBiMap | INSTANCE | com.google.common.collect.EmptyImmutableBiMap |
| EmptyImmutableListMultimap | INSTANCE | com.google.common.collect.EmptyImmutableListMultimap |
| EmptyImmutableSet | INSTANCE | com.google.common.collect.EmptyImmutableSet |
| EmptyImmutableSetMultimap | INSTANCE | com.google.common.collect.EmptyImmutableSetMultimap |
| NaturalOrdering | INSTANCE | com.google.common.collect.NaturalOrdering |
| Range<C> | ALL | com.google.common.collect.Range |
| ReverseNaturalOrdering | INSTANCE | com.google.common.collect.ReverseNaturalOrdering |
| UsingToStringOrdering | INSTANCE | com.google.common.collect.UsingToStringOrdering |
| ByteSource$EmptyByteSource | INSTANCE | com.google.common.io.ByteSource$EmptyByteSource |
| CharSource$EmptyCharSource | INSTANCE | com.google.common.io.CharSource$EmptyCharSource |
| CharStreams$NullWriter | INSTANCE | com.google.common.io.CharStreams$NullWriter |
| Doubles$DoubleConverter | INSTANCE | com.google.common.primitives.Doubles$DoubleConverter |
| Floats$FloatConverter | INSTANCE | com.google.common.primitives.Floats$FloatConverter |
| Ints$IntConverter | INSTANCE | com.google.common.primitives.Ints$IntConverter |
| Longs$LongConverter | INSTANCE | com.google.common.primitives.Longs$LongConverter |
| Shorts$ShortConverter | INSTANCE | com.google.common.primitives.Shorts$ShortConverter |
| Absent<T> | INSTANCE | com.google.common.base.Absent |
| Converter$IdentityConverter<T> | INSTANCE | com.google.common.base.Converter$IdentityConverter |
| DbSettings | defaultSettings | org.h2.constant.DbSettings |
| ValueLong | STATIC_CACHE | org.h2.value.ValueLong |
| CompositeComponentTagHandler$CompositeComponentRule | Instance | com.sun.faces.facelets.tag.jsf .CompositeComponentTagHandler$CompositeComponentRule |
| EmptyIterator | instance | com.sun.xml.fastinfoset.stax.events.EmptyIterator |
| AccessorFactoryImpl | instance | com.sun.xml.bind.AccessorFactoryImpl |
| InlineAnnotationReaderImpl | theInstance | com.sun.tools.jxc.ap.InlineAnnotationReaderImpl |
| CWildcardTypeInfo | INSTANCE | com.sun.tools.xjc.model.CWildcardTypeInfo |
| NavigatorImpl | theInstance | com.sun.tools.xjc.model.nav.NavigatorImpl |
| MultiplicityCounter | theInstance | com.sun.tools.xjc.reader.xmlschema.MultiplicityCounter |
| ChannelInputShutdownEvent | INSTANCE | io.netty.channel.socket.ChannelInputShutdownEvent |
| ReadTimeoutException | INSTANCE | io.netty.handler.timeout.ReadTimeoutException |
| WriteTimeoutException | INSTANCE | io.netty.handler.timeout.WriteTimeoutException |
| CaseIgnoringComparator | INSTANCE | io.netty.handler.codec.http.multipart.CaseIgnoringComparator |
| GlobalEventExecutor | INSTANCE | io.netty.util.concurrent.GlobalEventExecutor |
| ImmediateEventExecutor | INSTANCE | io.netty.util.concurrent.ImmediateEventExecutor |
| ImmediateExecutor | INSTANCE | io.netty.util.concurrent.ImmediateExecutor |
| UndertowClient | INSTANCE | io.undertow.client.UndertowClient |
| ExternalCredential | INSTANCE | io.undertow.security.idm.ExternalCredential |
| DefaultAuthorizationManager | INSTANCE | io.undertow.servlet.core.DefaultAuthorizationManager |
| DefaultClassIntrospector | INSTANCE | io.undertow.servlet.util.DefaultClassIntrospector |
| EmptyEndpointConfig | INSTANCE | io.undertow.websockets.jsr.annotated.EmptyEndpointConfig |
Statistics
| Stat | staticFieldInstance |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
// Assigning static fields from instance methods leads to
// poorly maintainable and non thread-safe code.
// It is advised to assign static fields inline or from class constructor.
warnif count > 0
from f in Application.Fields where
f.IsStatic &&
!f.IsLiteral &&
!f.IsInitOnly &&
!f.IsGeneratedByCompiler &&
// Contract API define such a insideContractEvaluation static field
f.Name != "insideContractEvaluation"
let assignedBy = f.MethodsAssigningMe.Where(m => !m.IsStatic)
where assignedBy .Count() > 0
select new { f, assignedBy }
14 fields matched
| fields | assignedBy | Full Name |
|---|---|---|
| sessionFactory | 1 method | org.h2.engine.SessionRemote.sessionFactory |
| keepOpenStackTrace | 1 method | org.h2.jdbc.JdbcConnection.keepOpenStackTrace |
| seeded | 1 method | org.h2.util.MathUtils.seeded |
| ticker | 1 method | org.h2.server.web.WebServer.ticker |
| CONVERTER_ID_EXPR | 1 method | com.sun.faces.taglib.jsf_core.ConvertDateTimeTag.CONVERTER_ID_EXPR |
| CONVERTER_ID_EXPR | 1 method | com.sun.faces.taglib.jsf_core.ConvertNumberTag.CONVERTER_ID_EXPR |
| is2_2 | 1 method | com.sun.xml.bind.v2.model.impl.ReferencePropertyInfoImpl.is2_2 |
| reportedEnumMemberSizeWarnings | 1 method | com.sun.tools.xjc.reader.xmlschema.SimpleTypeBuilder .reportedEnumMemberSizeWarnings |
| noExceptionHandlers | 1 method | org.eclipse.jdt.internal.compiler.codegen.CodeStream .noExceptionHandlers |
| noLabels | 1 method | org.eclipse.jdt.internal.compiler.codegen.CodeStream.noLabels |
| noLocals | 1 method | org.eclipse.jdt.internal.compiler.codegen.CodeStream.noLocals |
| noVisibleLocals | 1 method | org.eclipse.jdt.internal.compiler.codegen.CodeStream.noVisibleLocals |
| DEFAULT_LOCALE_TEMPLATES | 1 method | org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory .DEFAULT_LOCALE_TEMPLATES |
| defaultContainer | 1 method | io.undertow.websockets.jsr.UndertowContainerProvider.defaultContainer |
Statistics
| Stat | assignedBy |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
warnif count > 0 from t in JustMyCode.Types where
t.IsInterface &&
t.NbMethods == 0
select new { t, t.TypesThatImplementMe }
// Interfaces define members that provide a behavior
// or usage contract. The functionality described by
// the interface can be adopted by any type,
// regardless of where the type appears in the
// inheritance hierarchy. A type implements an
// interface by providing implementations for the
// interface's members. An empty interface does not
// define any members, and as such, does not define
// a contract that can be implemented.
// If your design includes empty interfaces that
// types are expected to implement, you are probably
// using an interface as a marker, or a way of
// identifying a group of types. If this identification
// will occur at runtime, the correct way to accomplish
// this is to use a custom attribute. Use the presence
// or absence of the attribute, or the attribute's
// properties, to identify the target types. If the
// identification must occurs at compile time, then using
// an empty interface is acceptable.
91 types matched
| types | TypesThatImplementMe | Full Name |
|---|---|---|
| JsonTokenId | 0 type | com.fasterxml.jackson.core.JsonTokenId |
| JsonAnyFormatVisitor | 1 type | com.fasterxml.jackson.databind.jsonFormatVisitors.JsonAnyFormatVisitor |
| JsonBooleanFormatVisitor | 1 type | com.fasterxml.jackson.databind.jsonFormatVisitors .JsonBooleanFormatVisitor |
| JsonNullFormatVisitor | 1 type | com.fasterxml.jackson.databind.jsonFormatVisitors .JsonNullFormatVisitor |
| package-info | 0 type | com.google.common.cache.package-info |
| package-info | 0 type | com.google.common.collect.package-info |
| package-info | 0 type | com.google.common.escape.package-info |
| package-info | 0 type | com.google.common.hash.package-info |
| package-info | 0 type | com.google.common.html.package-info |
| package-info | 0 type | com.google.common.io.package-info |
| package-info | 0 type | com.google.common.math.package-info |
| package-info | 0 type | com.google.common.net.package-info |
| package-info | 0 type | com.google.common.primitives.package-info |
| package-info | 0 type | com.google.common.reflect.package-info |
| package-info | 0 type | com.google.common.xml.package-info |
| Suppliers$SupplierFunction<T> | 1 type | com.google.common.base.Suppliers$SupplierFunction |
| package-info | 0 type | com.google.common.base.package-info |
| ListenableScheduledFuture<V> | 1 type | com.google.common.util.concurrent.ListenableScheduledFuture |
| package-info | 0 type | com.google.common.util.concurrent.package-info |
| Value$ValueBlob | 1 type | org.h2.value.Value$ValueBlob |
| Value$ValueClob | 1 type | org.h2.value.Value$ValueClob |
| ELConstants | 1 type | com.sun.faces.el.ELConstants |
| FaceletConfigResourceProvider | 0 type | com.sun.faces.spi.FaceletConfigResourceProvider |
| FacesConfigResourceProvider | 0 type | com.sun.faces.spi.FacesConfigResourceProvider |
| FastInfosetWriter | 1 type | org.jvnet.fastinfoset.sax.FastInfosetWriter |
| package-info | 0 type | com.sun.xml.bind.api.package-info |
| package-info | 0 type | com.sun.xml.bind.v2.package-info |
| LeafInfo<T,C> | 11 types | com.sun.xml.bind.v2.model.core.LeafInfo |
| WildcardTypeInfo<T,C> | 1 type | com.sun.xml.bind.v2.model.core.WildcardTypeInfo |
| package-info | 0 type | com.sun.xml.bind.v2.model.core.package-info |
| package-info | 0 type | com.sun.xml.bind.v2.model.runtime.package-info |
| package-info | 0 type | com.sun.xml.bind.v2.runtime.output.package-info |
| package-info | 0 type | com.sun.xml.bind.v2.schemagen.package-info |
| package-info | 0 type | com.sun.xml.bind.v2.schemagen.episode.package-info |
| Particle | 0 type | com.sun.xml.bind.v2.schemagen.xmlschema.Particle |
| Redefinable | 2 types | com.sun.xml.bind.v2.schemagen.xmlschema.Redefinable |
| SimpleRestriction | 0 type | com.sun.xml.bind.v2.schemagen.xmlschema.SimpleRestriction |
| package-info | 0 type | com.sun.xml.bind.v2.schemagen.xmlschema.package-info |
| XSWildcard$Any | 1 type | com.sun.xml.xsom.XSWildcard$Any |
| ContentTypeImpl | 3 types | com.sun.xml.xsom.impl.ContentTypeImpl |
| package-info | 0 type | com.sun.tools.xjc.package-info |
| package-info | 0 type | com.sun.tools.xjc.addon.episode.package-info |
| package-info | 0 type | com.sun.tools.xjc.generator.package-info |
| XmlLocationWriter | 0 type | com.sun.tools.xjc.generator.annotation.ri.XmlLocationWriter |
| XmlAnyAttributeWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlAnyAttributeWriter |
| XmlAttachmentRefWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlAttachmentRefWriter |
| XmlIDREFWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlIDREFWriter |
| XmlIDWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlIDWriter |
| XmlInlineBinaryDataWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlInlineBinaryDataWriter |
| XmlListWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlListWriter |
| XmlMixedWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlMixedWriter |
| XmlRegistryWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlRegistryWriter |
| XmlTransientWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlTransientWriter |
| XmlValueWriter | 0 type | com.sun.tools.xjc.generator.annotation.spec.XmlValueWriter |
| CClass | 2 types | com.sun.tools.xjc.model.CClass |
| package-info | 0 type | com.sun.tools.xjc.model.package-info |
| package-info | 0 type | com.sun.tools.xjc.reader.xmlschema.bindinfo.package-info |
| AdditiveExpr | 1 type | nu.xom.jaxen.expr.AdditiveExpr |
| AllNodeStep | 1 type | nu.xom.jaxen.expr.AllNodeStep |
| CommentNodeStep | 1 type | nu.xom.jaxen.expr.CommentNodeStep |
| EqualityExpr | 1 type | nu.xom.jaxen.expr.EqualityExpr |
| LogicalExpr | 1 type | nu.xom.jaxen.expr.LogicalExpr |
| MultiplicativeExpr | 1 type | nu.xom.jaxen.expr.MultiplicativeExpr |
| RelationalExpr | 1 type | nu.xom.jaxen.expr.RelationalExpr |
| TextNodeStep | 1 type | nu.xom.jaxen.expr.TextNodeStep |
| UnionExpr | 1 type | nu.xom.jaxen.expr.UnionExpr |
| Operator | 0 type | nu.xom.jaxen.saxpath.Operator |
| LogDomainConstants | 0 type | com.sun.xml.messaging.saaj.util.LogDomainConstants |
| ChannelProgressiveFutureListener | 0 type | io.netty.channel.ChannelProgressiveFutureListener |
| ServerChannel | 9 types | io.netty.channel.ServerChannel |
| ChannelGroupFutureListener | 0 type | io.netty.channel.group.ChannelGroupFutureListener |
| UdtServerChannel | 1 type | io.netty.channel.udt.UdtServerChannel |
| SpdyFrame | 20 types | io.netty.handler.codec.spdy.SpdyFrame |
| WebSocketFrameDecoder | 2 types | io.netty.handler.codec.http.websocketx.WebSocketFrameDecoder |
| WebSocketFrameEncoder | 2 types | io.netty.handler.codec.http.websocketx.WebSocketFrameEncoder |
| Recycler$Handle | 1 type | io.netty.util.Recycler$Handle |
| FutureListener<V> | 2 types | io.netty.util.concurrent.FutureListener |
| Credential | 6 types | io.undertow.security.idm.Credential |
| ProxyClient$ProxyTarget | 2 types | io.undertow.server.handlers.proxy.ProxyClient$ProxyTarget |
| SendChannel | 0 type | io.undertow.websockets.core.SendChannel |
| ExtraCompilerModifiers | 0 type | org.eclipse.jdt.internal.compiler.lookup.ExtraCompilerModifiers |
| ProblemReasons | 1 type | org.eclipse.jdt.internal.compiler.lookup.ProblemReasons |
| TagBits | 0 type | org.eclipse.jdt.internal.compiler.lookup.TagBits |
| TypeIds | 6 types | org.eclipse.jdt.internal.compiler.lookup.TypeIds |
| OperatorIds | 5 types | org.eclipse.jdt.internal.compiler.ast.OperatorIds |
| ClassFileConstants | 1 type | org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants |
| Opcodes | 0 type | org.eclipse.jdt.internal.compiler.codegen.Opcodes |
| ProblemSeverities | 5 types | org.eclipse.jdt.internal.compiler.problem.ProblemSeverities |
| ParserBasicInformation | 2 types | org.eclipse.jdt.internal.compiler.parser.ParserBasicInformation |
| TerminalTokens | 8 types | org.eclipse.jdt.internal.compiler.parser.TerminalTokens |
| TagConstants | 8 types | org.apache.jasper.compiler.TagConstants |
Statistics
| Stat | TypesThatImplementMe |
|---|---|
| Sum: | 0 |
| Average: | 0 |
| Minimum: | 0 |
| Maximum: | 0 |
| Standard deviation: | 0 |
| Variance: | 0 |
API Breaking Changes
|
// This rule warns if a publicly visible type is
// not publicly visible anymore or if it has been removed.
// Such type can break the code of your clients.
warnif count > 0 from t in codeBase.OlderVersion().Application.Types
where t.IsPubliclyVisible &&
// The type has been removed and its parent project hasn't been removed ...
( (t.WasRemoved() && !t.ParentProject.WasRemoved()) ||
// ... or the type is not publicly visible anymore
!t.WasRemoved() && !t.NewerVersion().IsPubliclyVisible)
select new { t,
NewVisibility = (t.WasRemoved() ? " " : t.NewerVersion().Visibility.ToString()) }
No types matched
// This rule warns if a publicly visible method is
// not publicly visible anymore or if it has been removed.
// Such method can break the code of your clients.
warnif count > 0 from m in codeBase.OlderVersion().Application.Methods
where m.IsPubliclyVisible &&
// The method has been removed and its parent type hasn't been removed ...
( (m.WasRemoved() && !m.ParentType.WasRemoved()) ||
// ... or the method is not publicly visible anymore
!m.WasRemoved() && !m.NewerVersion().IsPubliclyVisible)
select new { m,
NewVisibility = (m.WasRemoved() ? " " : m.NewerVersion().Visibility.ToString()) }
No methods matched
// This rule warns if a publicly visible field is
// not publicly visible anymore or if it has been removed.
// Such field can break the code of your clients.
warnif count > 0 from f in codeBase.OlderVersion().Application.Fields
where f.IsPubliclyVisible &&
// The field has been removed and its parent type hasn't been removed ...
( (f.WasRemoved() && !f.ParentType.WasRemoved()) ||
// ... or the field is not publicly visible anymore
!f.WasRemoved() && !f.NewerVersion().IsPubliclyVisible)
select new { f,
NewVisibility = (f.WasRemoved() ? " " : f.NewerVersion().Visibility.ToString()) }
No fields matched
// This rule warns if a publicly visible interface or abstract class
// has been changed and contains new abstract methods or
// if some abstract methods have been removed.
// This can break the code of clients
// that implement such interface or derive from such abstract class.
warnif count > 0 from tNewer in Application.Types where
(tNewer.IsInterface || tNewer.IsClass && tNewer.IsAbstract) &&
tNewer.IsPubliclyVisible &&
tNewer.IsPresentInBothBuilds()
let tOlder = tNewer.OlderVersion() where tOlder.IsPubliclyVisible
let methodsRemoved = tOlder.Methods.Where(m => m.IsAbstract && m.WasRemoved())
let methodsAdded = tNewer.Methods.Where(m2 => m2.IsAbstract && m2.WasAdded())
where methodsAdded.Count() > 0 || methodsRemoved.Count() > 0
select new { tNewer, methodsAdded, methodsRemoved }
No types matched
// Immutability is a strong property on a type.
// Breaking immutability can result in serious problem for an algorithm consummer
// that has been written taking account of the type immutability.
// To visualize changes in code, right-click a matched type and select:
// - Compare older and newer versions of source file
// - Compare older and newer versions disassembled with Reflector
warnif count > 0
from t in Application.Types where
t.IsPresentInBothBuilds() &&
!t.IsStatic &&
!t.IsImmutable &&
t.OlderVersion().IsImmutable
let mutableFields = from f in t.InstanceFields where !f.IsImmutable select f
select new { t, mutableFields }
No types matched
// List types that are new in the public surface of your projects
from t in Application.Types
where t.IsPubliclyVisible &&
// The type has been removed and its parent project hasn't been removed ...
( (t.WasAdded() && !t.ParentProject.WasAdded()) ||
// ... or the type existed but was not publicly visible
!t.WasAdded() && !t.OlderVersion().IsPubliclyVisible)
select new { t,
OldVisibility = (t.WasAdded() ? " " : t.OlderVersion().Visibility.ToString()) }
No types matched
// List methods that are new in the public surface of your projects
from m in Application.Methods
where m.IsPubliclyVisible &&
// The method has been removed and its parent project hasn'm been removed ...
( (m.WasAdded() && !m.ParentType.WasAdded()) ||
// ... or the t existed but was not publicly visible
!m.WasAdded() && !m.OlderVersion().IsPubliclyVisible)
select new { m,
OldVisibility = (m.WasAdded() ? " " : m.OlderVersion().Visibility.ToString()) }
No methods matched
// List fields that are new in the public surface of your projects
from f in Application.Fields
where f.IsPubliclyVisible &&
// The method has been removed and its parent project hasn'f been removed ...
( (f.WasAdded() && !f.ParentType.WasAdded()) ||
// ... or the t existed but was not publicly visible
!f.WasAdded() && !f.OlderVersion().IsPubliclyVisible)
select new { f,
OldVisibility = (f.WasAdded() ? " " : f.OlderVersion().Visibility.ToString()) }
No fields matched
Code Diff Summary
|
from a in Application.Projects where a.WasAdded()
select new { a, a.NbLinesOfCode }
No projects matched
from a in codeBase.OlderVersion().Application.Projects where a.WasRemoved()
select new { a, a.NbLinesOfCode }
No projects matched
from a in Application.Projects where a.CodeWasChanged()
select new { a, a.NbLinesOfCode,
oldNbLinesOfCode = a.OlderVersion().NbLinesOfCode.GetValueOrDefault() ,
delta = (int) a.NbLinesOfCode.GetValueOrDefault() - a.OlderVersion().NbLinesOfCode.GetValueOrDefault() }
No projects matched
from n in Application.Packages where
!n.ParentProject.WasAdded() &&
n.WasAdded()
select new { n, n.NbLinesOfCode }
No packages matched
from n in codeBase.OlderVersion().Application.Packages where
!n.ParentProject.WasRemoved() &&
n.WasRemoved()
select new { n, n.NbLinesOfCode }
No packages matched
from n in Application.Packages where n.CodeWasChanged()
select new { n, n.NbLinesOfCode,
oldNbLinesOfCode = n.OlderVersion().NbLinesOfCode.GetValueOrDefault() ,
delta = (int) n.NbLinesOfCode.GetValueOrDefault() - n.OlderVersion().NbLinesOfCode.GetValueOrDefault() }
No packages matched
from t in Application.Types where
!t.ParentPackage.WasAdded() &&
t.WasAdded()
select new { t, t.NbLinesOfCode }
No types matched
from t in codeBase.OlderVersion().Application.Types where
!t.ParentPackage.WasRemoved() &&
t.WasRemoved()
select new { t, t.NbLinesOfCode }
No types matched
// To visualize changes in code, right-click a matched type and select:
// - Compare older and newer versions of source file
// - Compare older and newer versions disassembled with Reflector
from t in Application.Types where t.CodeWasChanged()
//select new { t, t.NbLinesOfCode }
select new { t, t.NbLinesOfCode,
oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
delta = (int?) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode }
/*from t in Application.Types where t.CodeWasChanged() && t.IsPresentInBothBuild
select new { t, t.NbLinesOfCode,
oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
delta = (int) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode }*/
No types matched
let typesRemoved = codeBase.OlderVersion().Types.Where(t => t.WasRemoved())
let typesAdded = Types.Where(t2 => t2.WasAdded())
from tMoved in typesAdded.Join(
typesRemoved,
t3 => t3.Name,
t4 => t4.Name,
(tNewer, tOlder) => new { tNewer,
OlderParentpackage = tOlder.ParentPackage,
OlderParentproject = tOlder.ParentProject } )
select tMoved
No types matched
let typesChanged = Application.Types.Where(t2 => t2.CodeWasChanged()).ToHashSet()
from t in JustMyCode.Types.UsingAny(typesChanged) where
!t.CodeWasChanged() &&
!t.WasAdded()
let typesChangedUsed = t.TypesUsed.Intersect(typesChanged)
select new { t, typesChangedUsed }
No types matched
let typesChanged = Application.Types.Where(t2 => t2.CodeWasChanged()).ToHashSet()
// 'depth' represents a code metric defined on types using
// directly or indirectly any type where code was changed.
let depth = JustMyCode.Types.DepthOfIsUsingAny(typesChanged)
from t in depth.DefinitionDomain where
!t.CodeWasChanged() &&
!t.WasAdded()
let typesChangedDirectlyUsed = t.TypesUsed.Intersect(typesChanged)
let depthOfUsingTypesChanged = depth[t]
orderby depthOfUsingTypesChanged
select new { t, depthOfUsingTypesChanged, typesChangedDirectlyUsed }
No types matched
from m in Application.Methods where
!m.ParentType.WasAdded() &&
m.WasAdded()
select new { m, m.NbLinesOfCode }
No methods matched
from m in codeBase.OlderVersion().Application.Methods where
!m.ParentType.WasRemoved() &&
m.WasRemoved()
select new { m, m.NbLinesOfCode }
No methods matched
// To visualize changes in code, right-click a matched method and select:
// - Compare older and newer versions of source file
// - Compare older and newer versions disassembled with Reflector
from m in Application.Methods where m.CodeWasChanged()
select new { m, m.NbLinesOfCode,
oldNbLinesOfCode = m.OlderVersion().NbLinesOfCode ,
delta = (int?) m.NbLinesOfCode - m.OlderVersion().NbLinesOfCode }
No methods matched
let methodsChanged = Application.Methods.Where(m2 => m2.CodeWasChanged()).ToHashSet()
from m in JustMyCode.Methods.UsingAny(methodsChanged ) where
!m.CodeWasChanged() &&
!m.WasAdded()
let methodsChangedCalled = m.MethodsCalled.Intersect(methodsChanged)
select new { m, methodsChangedCalled }
No methods matched
let methodsChanged = Application.Methods.Where(m2 => m2.CodeWasChanged()).ToHashSet()
// 'depth' represents a code metric defined on methods using
// directly or indirectly any method where code was changed.
let depth = JustMyCode.Methods.DepthOfIsUsingAny(methodsChanged)
from m in depth.DefinitionDomain where
!m.CodeWasChanged() &&
!m.WasAdded()
let methodsChangedDirectlyUsed = m.MethodsCalled.Intersect(methodsChanged)
let depthOfUsingMethodsChanged = depth[m]
orderby depthOfUsingMethodsChanged
select new { m, depthOfUsingMethodsChanged, methodsChangedDirectlyUsed }
No methods matched
from f in Application.Fields where
!f.ParentType.WasAdded() &&
f.WasAdded()
select new { f }
No fields matched
from f in codeBase.OlderVersion().Application.Fields where
!f.ParentType.WasRemoved() &&
f.WasRemoved()
select new { f }
No fields matched
from t in ThirdParty.Types where t.IsUsedRecently()
select new { t, t.Methods, t.Fields, t.TypesUsingMe }
No types matched
from t in codeBase.OlderVersion().Types where t.IsNotUsedAnymore()
select new { t, t.Methods, t.Fields, TypesThatUsedMe = t.TypesUsingMe }
No types matched
from m in ThirdParty.Methods where
m.IsUsedRecently() &&
!m.ParentType.IsUsedRecently()
select new { m, m.MethodsCallingMe }
No methods matched
from m in codeBase.OlderVersion().Methods where
m.IsNotUsedAnymore() &&
!m.ParentType.IsNotUsedAnymore()
select new { m, MethodsThatCalledMe = m.MethodsCallingMe}
No methods matched
from f in ThirdParty.Fields where
f.IsUsedRecently() &&
!f.ParentType.IsUsedRecently()
select new { f, f.MethodsUsingMe }
No fields matched
from f in codeBase.OlderVersion().Fields where
f.IsNotUsedAnymore() &&
!f.ParentType.IsNotUsedAnymore()
select new { f, MethodsThatUsedMe = f.MethodsUsingMe }
No fields matched
Dead Code
|
warnif count > 0
// Filter procedure for types that should'nt be considered as dead
let canTypeBeConsideredAsDeadProc = new Func<IType, bool>(
t2 => !t2.IsPublic && // Public types might be used by client applications of your projects.
t2.Name != "Program" &&
!t2.IsGeneratedByCompiler
)
// Select types unused
let typesUnused =
from t4 in JustMyCode.Types where
t4.NbTypesUsingMe == 0 && canTypeBeConsideredAsDeadProc(t4)
select t4
// Dead types = types used only by unused types (recursive)
let deadTypesMetric = typesUnused.FillIterative(
types => from t3 in codeBase.Application.Types.UsedByAny(types).Except(types)
where canTypeBeConsideredAsDeadProc(t3) &&
t3.TypesUsingMe.Intersect(types).Count() == t3.NbTypesUsingMe
select t3)
from t in deadTypesMetric.DefinitionDomain
select new { t, t.TypesUsingMe, depth = deadTypesMetric[t] }
82 types matched
| types | TypesUsingMe | depth | Full Name |
|---|---|---|---|
| ModuleXmlUtil | 0 type | 0 | org.jboss.modules.ModuleXmlUtil |
| package-info | 0 type | 0 | com.google.common.cache.package-info |
| FluentIterable$FromIterableFunction<E> | 0 type | 0 | com.google.common.collect.FluentIterable$FromIterableFunction |
| ForwardingImmutableCollection | 0 type | 0 | com.google.common.collect.ForwardingImmutableCollection |
| ForwardingImmutableList<E> | 0 type | 0 | com.google.common.collect.ForwardingImmutableList |
| ForwardingImmutableMap<K,V> | 0 type | 0 | com.google.common.collect.ForwardingImmutableMap |
| ForwardingImmutableSet<E> | 0 type | 0 | com.google.common.collect.ForwardingImmutableSet |
| MapMakerInternalMap$CleanupMapTask | 0 type | 0 | com.google.common.collect.MapMakerInternalMap$CleanupMapTask |
| MapMakerInternalMap$SoftEvictableEntry<K,V> | 0 type | 0 | com.google.common.collect.MapMakerInternalMap$SoftEvictableEntry |
| MapMakerInternalMap$SoftExpirableEntry<K,V> | 0 type | 0 | com.google.common.collect.MapMakerInternalMap$SoftExpirableEntry |
| MapMakerInternalMap$SoftExpirableEvictableEntry<K,V> | 0 type | 0 | com.google.common.collect .MapMakerInternalMap$SoftExpirableEvictableEntry |
| package-info | 0 type | 0 | com.google.common.collect.package-info |
| package-info | 0 type | 0 | com.google.common.escape.package-info |
| package-info | 0 type | 0 | com.google.common.hash.package-info |
| package-info | 0 type | 0 | com.google.common.html.package-info |
| package-info | 0 type | 0 | com.google.common.io.package-info |
| package-info | 0 type | 0 | com.google.common.math.package-info |
| package-info | 0 type | 0 | com.google.common.net.package-info |
| UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator | 0 type | 0 | com.google.common.primitives .UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator |
| package-info | 0 type | 0 | com.google.common.primitives.package-info |
| package-info | 0 type | 0 | com.google.common.reflect.package-info |
| package-info | 0 type | 0 | com.google.common.xml.package-info |
| package-info | 0 type | 0 | com.google.common.base.package-info |
| package-info | 0 type | 0 | com.google.common.util.concurrent.package-info |
| FilePathMemLZF | 0 type | 0 | org.h2.store.fs.FilePathMemLZF |
| FilePathNioMemLZF | 0 type | 0 | org.h2.store.fs.FilePathNioMemLZF |
| ApplicationImpl$ComponentResourceClassNotFound | 0 type | 0 | com.sun.faces.application .ApplicationImpl$ComponentResourceClassNotFound |
| DelegatedWebServiceRefScanner | 0 type | 0 | com.sun.faces.application.annotation.DelegatedWebServiceRefScanner |
| StateHolderSaver | 0 type | 0 | com.sun.faces.context.StateHolderSaver |
| StateWriter | 0 type | 0 | com.sun.faces.facelets.StateWriter |
| UILiteralTextHandler | 0 type | 0 | com.sun.faces.facelets.compiler.UILiteralTextHandler |
| UITextHandler | 0 type | 0 | com.sun.faces.facelets.compiler.UITextHandler |
| ComponentRule$ValueBindingMetadata | 0 type | 0 | com.sun.faces.facelets.tag.jsf.ComponentRule$ValueBindingMetadata |
| EditableValueHolderRule$ValidatorBindingMetadata | 0 type | 0 | com.sun.faces.facelets.tag.jsf .EditableValueHolderRule$ValidatorBindingMetadata |
| EditableValueHolderRule$ValueChangedBindingMetadata | 0 type | 0 | com.sun.faces.facelets.tag.jsf .EditableValueHolderRule$ValueChangedBindingMetadata |
| ValueHolderRule$DynamicConverterMetadata | 0 type | 0 | com.sun.faces.facelets.tag.jsf .ValueHolderRule$DynamicConverterMetadata |
| ValueHolderRule$DynamicValueBindingMetadata | 0 type | 0 | com.sun.faces.facelets.tag.jsf .ValueHolderRule$DynamicValueBindingMetadata |
| package-info | 0 type | 0 | com.sun.xml.bind.api.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.model.core.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.model.runtime.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.runtime.output.package-info |
| ArrayElementLeafProperty<BeanT,ListT,ItemT> | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.ArrayElementLeafProperty |
| ArrayElementNodeProperty<BeanT,ListT,ItemT> | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty |
| ArrayReferenceNodeProperty<BeanT,ListT,ItemT> | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.ArrayReferenceNodeProperty |
| Messages | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.Messages |
| SingleElementLeafProperty<BeanT> | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty |
| SingleElementNodeProperty<BeanT,ValueT> | 0 type | 0 | com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty |
| StAXExConnector | 0 type | 0 | com.sun.xml.bind.v2.runtime.unmarshaller.StAXExConnector |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.schemagen.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.schemagen.episode.package-info |
| package-info | 0 type | 0 | com.sun.xml.bind.v2.schemagen.xmlschema.package-info |
| package-info | 0 type | 0 | com.sun.tools.xjc.package-info |
| package-info | 0 type | 0 | com.sun.tools.xjc.addon.episode.package-info |
| package-info | 0 type | 0 | com.sun.tools.xjc.generator.package-info |
| package-info | 0 type | 0 | com.sun.tools.xjc.model.package-info |
| BindStyle | 0 type | 0 | com.sun.tools.xjc.reader.relaxng.BindStyle |
| NameCalculator | 0 type | 0 | com.sun.tools.xjc.reader.relaxng.NameCalculator |
| TypePatternBinder | 0 type | 0 | com.sun.tools.xjc.reader.relaxng.TypePatternBinder |
| Messages | 0 type | 0 | com.sun.tools.xjc.reader.dtd.bindinfo.Messages |
| BindBlue | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.BindBlue |
| BIGlobalBinding$ClassNameAdapter | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.bindinfo .BIGlobalBinding$ClassNameAdapter |
| BIGlobalBinding$TypeSubstitutionElement | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.bindinfo .BIGlobalBinding$TypeSubstitutionElement |
| DomHandlerEx | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.bindinfo.DomHandlerEx |
| package-info | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.bindinfo.package-info |
| ChoiceContentComplexTypeBuilder | 0 type | 0 | com.sun.tools.xjc.reader.xmlschema.ct.ChoiceContentComplexTypeBuilder |
| Info | 0 type | 0 | nu.xom.Info |
| JDK15XML1_0Parser | 0 type | 0 | nu.xom.JDK15XML1_0Parser |
| CookieHeaderNames | 0 type | 0 | io.netty.handler.codec.http.CookieHeaderNames |
| DigestAuthenticationMechanism$AuthenticationException | 0 type | 0 | io.undertow.security.impl .DigestAuthenticationMechanism$AuthenticationException |
| SendChannel | 0 type | 0 | io.undertow.websockets.core.SendChannel |
| Dumper | 0 type | 0 | org.apache.jasper.compiler.Dumper |
| Bootstrap$WebSocketListener | 0 type | 0 | io.undertow.websockets.jsr.Bootstrap$WebSocketListener |
| JsrWebSocketProtocolHandshakeHandler | 0 type | 0 | io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler |
| MapMakerInternalMap$SoftEntry<K,V> | 3 types | 1 | com.google.common.collect.MapMakerInternalMap$SoftEntry |
| UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1 | 1 type | 1 | com.google.common.primitives .UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1 |
| WebServiceRefScanner | 1 type | 1 | com.sun.faces.application.annotation.WebServiceRefScanner |
| StateHolderSaver$StateHolderTupleIndices | 1 type | 1 | com.sun.faces.context.StateHolderSaver$StateHolderTupleIndices |
| ArrayElementProperty<BeanT,ListT,ItemT> | 2 types | 1 | com.sun.xml.bind.v2.runtime.property.ArrayElementProperty |
| ArrayReferenceNodeProperty$MixedTextLoader | 1 type | 1 | com.sun.xml.bind.v2.runtime.property .ArrayReferenceNodeProperty$MixedTextLoader |
| Dumper$DumpVisitor | 1 type | 1 | org.apache.jasper.compiler.Dumper$DumpVisitor |
| WebServiceRefHandler | 1 type | 2 | com.sun.faces.application.annotation.WebServiceRefHandler |
Statistics
| Stat | TypesUsingMe | depth |
|---|---|---|
| Sum: | 0 | 9 |
| Average: | 0 | 0.11 |
| Minimum: | 0 | 0 |
| Maximum: | 0 | 2 |
| Standard deviation: | 0 | 0.35 |
| Variance: | 0 | 0.12 |
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
m => !m.IsPubliclyVisible && // Public methods might be used by client applications of your projects.
!m.IsEntryPoint && // Main() method is not used by-design.
!m.IsClassConstructor && // The BC code never explicitely calls class constructors.
!(m.IsConstructor && // Don't take account of protected ctor that might be call by a derived ctors.
m.IsProtected) &&
!m.IsGeneratedByCompiler)
// Get methods unused
let methodsUnused =
from m2 in JustMyCode.Methods where
m2.NbMethodsCallingMe == 0 &&
canMethodBeConsideredAsDeadProc(m2)
select m2
// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
methods => // Unique loop, just to let a chance to build the hashset.
from o in (new object()).ToEnumerable()
// Use a hashet to make Intersect calls much faster!
let hashset = methods.ToHashSet()
from m3 in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
where canMethodBeConsideredAsDeadProc(m3) &&
// Select methods called only by methods already considered as dead
hashset.Intersect(m3.MethodsCallingMe).Count() == m3.NbMethodsCallingMe
select m3)
from m4 in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m4, m4.MethodsCallingMe, depth = deadMethodsMetric[m4] }
11,557 methods matched
| methods | MethodsCallingMe | depth | Full Name |
|---|---|---|---|
| FileResourceLoader$4(FileResourceLoader,File,String) | 1 method | 1 | org.jboss.modules.FileResourceLoader$4.FileResourceLoader$4 (FileResourceLoader,File,String) |
| IdentityHashSet<E>(int,float) | 1 method | 2 | org.jboss.modules.IdentityHashSet.IdentityHashSet<E>(int,float) |
| IdentityHashSet<E>(Set) | 0 method | 0 | org.jboss.modules.IdentityHashSet.IdentityHashSet<E>(Set) |
| IdentityHashSet<E>(int) | 1 method | 1 | org.jboss.modules.IdentityHashSet.IdentityHashSet<E>(int) |
| IdentityHashSet<E>() | 0 method | 0 | org.jboss.modules.IdentityHashSet.IdentityHashSet<E>() |
| size() | 0 method | 0 | org.jboss.modules.IdentityHashSet.size() |
| isEmpty() | 0 method | 0 | org.jboss.modules.IdentityHashSet.isEmpty() |
| contains(Object) | 0 method | 0 | org.jboss.modules.IdentityHashSet.contains(Object) |
| add(Object) | 1 method | 2 | org.jboss.modules.IdentityHashSet.add(Object) |
| addAll(Collection) | 1 method | 1 | org.jboss.modules.IdentityHashSet.addAll(Collection) |
| remove(Object) | 1 method | 1 | org.jboss.modules.IdentityHashSet.remove(Object) |
| relocate(int) | 1 method | 2 | org.jboss.modules.IdentityHashSet.relocate(int) |
| clear() | 0 method | 0 | org.jboss.modules.IdentityHashSet.clear() |
| toScatteredArray(Object[]) | 0 method | 0 | org.jboss.modules.IdentityHashSet.toScatteredArray(Object[]) |
| toArray(Object[],int,int) | 0 method | 0 | org.jboss.modules.IdentityHashSet.toArray(Object[],int,int) |
| printDebugStats() | 0 method | 0 | org.jboss.modules.IdentityHashSet.printDebugStats() |
| readObject(ObjectInputStream) | 0 method | 0 | org.jboss.modules.IdentityHashSet.readObject(ObjectInputStream) |
| putForCreate(Object) | 1 method | 1 | org.jboss.modules.IdentityHashSet.putForCreate(Object) |
| writeObject(ObjectOutputStream) | 0 method | 0 | org.jboss.modules.IdentityHashSet.writeObject(ObjectOutputStream) |
| iterator() | 0 method | 0 | org.jboss.modules.IdentityHashSet.iterator() |
| getProvider() | 0 method | 0 | org.jboss.modules.ModulesPolicy.getProvider() |
| getType() | 0 method | 0 | org.jboss.modules.ModulesPolicy.getType() |
| getParameters() | 0 method | 0 | org.jboss.modules.ModulesPolicy.getParameters() |
| getPermissions(CodeSource) | 0 method | 0 | org.jboss.modules.ModulesPolicy.getPermissions(CodeSource) |
| getPermissions(ProtectionDomain) | 0 method | 0 | org.jboss.modules.ModulesPolicy.getPermissions(ProtectionDomain) |
| implies(ProtectionDomain,Permission) | 0 method | 0 | org.jboss.modules.ModulesPolicy.implies(ProtectionDomain,Permission) |
| getDescription() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getDescription() |
| getLinkTime() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getLinkTime() |
| getLoadTime() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getLoadTime() |
| getClassDefineTime() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getClassDefineTime() |
| getScanCount() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getScanCount() |
| getLoadedModuleCount() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getLoadedModuleCount() |
| getRaceCount() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getRaceCount() |
| getClassCount() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getClassCount() |
| queryLoadedModuleNames() | 1 method | 1 | org.jboss.modules.ModuleLoader$MXBeanImpl.queryLoadedModuleNames() |
| dumpAllModuleInformation() | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.dumpAllModuleInformation() |
| dumpModuleInformation(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.dumpModuleInformation(String ) |
| doDumpModuleInformation(String,StringBuilder) | 2 methods | 1 | org.jboss.modules.ModuleLoader$MXBeanImpl.doDumpModuleInformation (String,StringBuilder) |
| unloadModule(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.unloadModule(String) |
| refreshResourceLoaders(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.refreshResourceLoaders (String) |
| relink(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.relink(String) |
| getDependencies(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getDependencies(String) |
| getResourceLoaders(String) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getResourceLoaders(String) |
| getModuleDescription(String) | 1 method | 2 | org.jboss.modules.ModuleLoader$MXBeanImpl.getModuleDescription(String) |
| getModulePathsInfo(String,boolean) | 0 method | 0 | org.jboss.modules.ModuleLoader$MXBeanImpl.getModulePathsInfo(String ,boolean) |
| getDependency(Module) | 0 method | 0 | org.jboss.modules.DependencySpec$3.getDependency(Module) |
| toString() | 0 method | 0 | org.jboss.modules.DependencySpec$3.toString() |
| StartTimeHolder() | 0 method | 0 | org.jboss.modules.StartTimeHolder.StartTimeHolder() |
| FileResourceLoader$3(FileResourceLoader,String) | 1 method | 1 | org.jboss.modules.FileResourceLoader$3.FileResourceLoader$3 (FileResourceLoader,String) |
| remove() | 0 method | 0 | org.jboss.modules.ModuleLoader$2.remove() |
| getDependency(Module) | 0 method | 0 | org.jboss.modules.DependencySpec$1.getDependency(Module) |
| toString() | 0 method | 0 | org.jboss.modules.DependencySpec$1.toString() |
| getKey() | 0 method | 0 | org.jboss.modules.UnlockedReadHashMap$Item.getKey() |
| getValue() | 0 method | 0 | org.jboss.modules.UnlockedReadHashMap$Item.getValue() |
| setValue(Object) | 0 method | 0 | org.jboss.modules.UnlockedReadHashMap$Item.setValue(Object) |
| equals(Object) | 0 method | 0 | org.jboss.modules.UnlockedReadHashMap$Item.equals(Object) |
| equals(UnlockedReadHashMap$Item) | 1 method | 1 | org.jboss.modules.UnlockedReadHashMap$Item.equals (UnlockedReadHashMap$Item) |
| getRootName() | 0 method | 0 | org.jboss.modules.FileResourceLoader.getRootName() |
| getClassSpec(String) | 0 method | 0 | org.jboss.modules.FileResourceLoader.getClassSpec(String) |
| getPackageSpec(String) | 0 method | 0 | org.jboss.modules.FileResourceLoader.getPackageSpec(String) |
| getResource(String) | 0 method | 0 | org.jboss.modules.FileResourceLoader.getResource(String) |
| iterateResources(String,boolean) | 0 method | 0 | org.jboss.modules.FileResourceLoader.iterateResources(String,boolean) |
| getPaths() | 0 method | 0 | org.jboss.modules.FileResourceLoader.getPaths() |
| buildIndex(List,File,String) | 1 method | 1 | org.jboss.modules.FileResourceLoader.buildIndex(List,File,String) |
| hashCode() | 0 method | 0 | org.jboss.modules.Module$Visited.hashCode() |
| equals(Object) | 0 method | 0 | org.jboss.modules.Module$Visited.equals(Object) |
| equals(Module$Visited) | 1 method | 1 | org.jboss.modules.Module$Visited.equals(Module$Visited) |
| hasNext() | 1 method | 1 | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator.hasNext() |
| next() | 0 method | 0 | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator.next() |
| remove() | 0 method | 0 | org.jboss.modules.IdentityHashSet$IdentityHashSetIterator.remove() |
| ConcurrentClassLoader$LoaderThread$1 (ConcurrentClassLoader$LoaderThread,ConcurrentClassLoader ,ConcurrentClassLoader$LoadRequest) | 1 method | 1 | org.jboss.modules.ConcurrentClassLoader$LoaderThread$1 .ConcurrentClassLoader$LoaderThread$1 (ConcurrentClassLoader$LoaderThread,ConcurrentClassLoader ,ConcurrentClassLoader$LoadRequest) |
| values() | 0 method | 0 | org.jboss.modules.Linkage$State.values() |
| valueOf(String) | 0 method | 0 | org.jboss.modules.Linkage$State.valueOf(String) |
| Main() | 0 method | 0 | org.jboss.modules.Main.Main() |
| LocalDependency(PathFilter,PathFilter,PathFilter,PathFilter ,ClassFilter,ClassFilter,LocalLoader,Set) | 1 method | 1 | org.jboss.modules.LocalDependency.LocalDependency(PathFilter ,PathFilter,PathFilter,PathFilter,ClassFilter,ClassFilter,LocalLoader ,Set) |
| toString() | 0 method | 0 | org.jboss.modules.LocalDependency.toString() |
| getRootName() | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getRootName() |
| getClassSpec(String) | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getClassSpec(String) |
| getPackageSpec(String) | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getPackageSpec(String ) |
| getResource(String) | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getResource(String) |
| getLibrary(String) | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getLibrary(String) |
| getPaths() | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.getPaths() |
| iterateResources(String,boolean) | 0 method | 0 | org.jboss.modules.FilteredIterableResourceLoader.iterateResources (String,boolean) |
| ResourceLoaders() | 0 method | 0 | org.jboss.modules.ResourceLoaders.ResourceLoaders() |
| StreamUtil() | 0 method | 0 | org.jboss.modules.StreamUtil.StreamUtil() |
| LocalLoaders() | 0 method | 0 | org.jboss.modules.LocalLoaders.LocalLoaders() |
| interrupt() | 0 method | 0 | org.jboss.modules.ConcurrentClassLoader$LoaderThread.interrupt() |
| run() | 0 method | 0 | org.jboss.modules.ConcurrentClassLoader$LoaderThread.run() |
| getClassLoaderOf(Module) | 0 method | 0 | org.jboss.modules.Module$2.getClassLoaderOf(Module) |
| ModuleXmlUtil() | 0 method | 0 | org.jboss.modules.ModuleXmlUtil.ModuleXmlUtil() |
| toFile(File,ModuleIdentifier) | 0 method | 0 | org.jboss.modules.ModuleXmlUtil.toFile(File,ModuleIdentifier) |
| toFile(File,String,ModuleIdentifier) | 1 method | 1 | org.jboss.modules.ModuleXmlUtil.toFile(File,String,ModuleIdentifier) |
| baseFilename(ModuleIdentifier) | 0 method | 0 | org.jboss.modules.ModuleXmlUtil.baseFilename(ModuleIdentifier) |
| baseFilename(String,String,ModuleIdentifier) | 0 method | 0 | org.jboss.modules.ModuleXmlUtil.baseFilename(String,String ,ModuleIdentifier) |
| CallerContext() | 0 method | 0 | org.jboss.modules.CallerContext.CallerContext() |
| ConcurrentClassLoader$UnsafeHolder() | 0 method | 0 | org.jboss.modules.ConcurrentClassLoader$UnsafeHolder .ConcurrentClassLoader$UnsafeHolder() |
| preloadModule(ModuleIdentifier) | 0 method | 0 | org.jboss.modules.JarModuleLoader.preloadModule(ModuleIdentifier) |
| toString() | 0 method | 0 | org.jboss.modules.JarModuleLoader.toString() |
| FileResourceLoader$2(FileResourceLoader,String) | 1 method | 1 | org.jboss.modules.FileResourceLoader$2.FileResourceLoader$2 (FileResourceLoader,String) |
| getName() | 0 method | 0 | org.jboss.modules.JarEntryResource.getName() |
Statistics
| Stat | MethodsCallingMe | depth |
|---|---|---|
| Sum: | 0 | 2 301 |
| Average: | 0 | 0.2 |
| Minimum: | 0 | 0 |
| Maximum: | 0 | 5 |
| Standard deviation: | 0 | 0.51 |
| Variance: | 0 | 0.26 |
warnif count > 0
from f in JustMyCode.Fields where
f.NbMethodsUsingMe == 0 &&
!f.IsPublic && // Although not recommended, public fields might be used by client applications of your projects.
!f.IsLiteral && // The BC code never explicitely uses literal fields.
!f.IsEnumValue && // The BC code never explicitely uses enumeration value.
f.Name!= "serialVersionUID" &&
!f.IsInitOnly
select f
18 fields matched
| fields | Full Name |
|---|---|
| _entityBuffer | com.fasterxml.jackson.core.json.UTF8JsonGenerator._entityBuffer |
| sc | com.sun.faces.config.ConfigManager$AnnotationScanTask.sc |
| hashCode | com.sun.faces.flow.builder.MutableNavigationCase.hashCode |
| renderKitId | com.sun.faces.renderkit.RenderKitFactoryImpl.renderKitId |
| className | com.sun.faces.renderkit.RenderKitFactoryImpl.className |
| _readOnlyVocabulary | com.sun.xml.fastinfoset.vocab.ParserVocabulary._readOnlyVocabulary |
| _systemId | com.sun.xml.fastinfoset.stax.events.StartDocumentEvent._systemId |
| base64Data | com.sun.xml.bind.v2.runtime.XMLSerializer.base64Data |
| pad0 | io.netty.util.internal.ThreadLocalRandom.pad0 |
| pad1 | io.netty.util.internal.ThreadLocalRandom.pad1 |
| pad2 | io.netty.util.internal.ThreadLocalRandom.pad2 |
| pad3 | io.netty.util.internal.ThreadLocalRandom.pad3 |
| pad4 | io.netty.util.internal.ThreadLocalRandom.pad4 |
| pad5 | io.netty.util.internal.ThreadLocalRandom.pad5 |
| pad6 | io.netty.util.internal.ThreadLocalRandom.pad6 |
| pad7 | io.netty.util.internal.ThreadLocalRandom.pad7 |
| requestState | io.undertow.server.protocol.http.HttpReadListener.requestState |
| className | org.apache.jasper.servlet.JasperLoader.className |
Statistics
| Stat |
|---|
| Sum: |
| Average: |
| Minimum: |
| Maximum: |
| Standard deviation: |
| Variance: |
Trend Charts
Lines of Code
Rules Violated
Rules Violations
Percentage Coverage by Tests
No Trend Data has been logged for this Chart.
Max
Average
Third-Party Usage
Projects Dependencies
| Assembly | Depends on | Is referenced by |
|---|---|---|
| classes v1.0 | - | - |
| MISSING v1.0 | - | - |
| jsse v1.0 | - | - |
| jce v1.0 | - | - |
| jboss-modules v1.0 | classes v1.0 ; | - |
| asm-3.3.1 v1.0 | classes v1.0 ; | - |
| cal10n-api-0.8.1 v1.0 | classes v1.0 ; | - |
| classmate-1.0.0 v1.0 | classes v1.0 ; | - |
| jackson-annotations-2.3.2 v1.0 | classes v1.0 ; | jackson-databind-2.3.2 v1.0 ; jackson-jaxrs-base-2.3.2 v1.0 ; jackson-jaxrs-json-provider-2.3.2 v1.0 ; jackson-module-jaxb-annotations-2.3.2 v1.0 ; |
| jackson-core-2.3.2 v1.0 | classes v1.0 ; | jackson-databind-2.3.2 v1.0 ; jackson-jaxrs-base-2.3.2 v1.0 ; jackson-jaxrs-json-provider-2.3.2 v1.0 ; jackson-module-jaxb-annotations-2.3.2 v1.0 ; |
| jackson-databind-2.3.2 v1.0 | classes v1.0 ; jackson-core-2.3.2 v1.0 ; jackson-annotations-2.3.2 v1.0 ; | jackson-jaxrs-base-2.3.2 v1.0 ; jackson-jaxrs-json-provider-2.3.2 v1.0 ; jackson-module-jaxb-annotations-2.3.2 v1.0 ; |
| jackson-jaxrs-base-2.3.2 v1.0 | classes v1.0 ; jackson-annotations-2.3.2 v1.0 ; jackson-databind-2.3.2 v1.0 ; MISSING v1.0 ; jackson-core-2.3.2 v1.0 ; | jackson-jaxrs-json-provider-2.3.2 v1.0 ; |
| jackson-jaxrs-json-provider-2.3.2 v1.0 | MISSING v1.0 ; jackson-jaxrs-base-2.3.2 v1.0 ; jackson-databind-2.3.2 v1.0 ; jackson-core-2.3.2 v1.0 ; classes v1.0 ; jackson-annotations-2.3.2 v1.0 ; | - |
| jackson-module-jaxb-annotations-2.3.2 v1.0 | classes v1.0 ; jackson-databind-2.3.2 v1.0 ; jackson-core-2.3.2 v1.0 ; jackson-annotations-2.3.2 v1.0 ; | - |
| relaxngDatatype-2011.1 v1.0 | classes v1.0 ; | xsom-20110809 v1.0 ; |
| guava-16.0.1 v1.0 | classes v1.0 ; MISSING v1.0 ; | - |
| h2-1.3.173 v1.0 | classes v1.0 ; MISSING v1.0 ; jsse v1.0 ; | - |
| codemodel-2.6 v1.0 | classes v1.0 ; | jaxb-xjc-2.2.5.jboss-1 v1.0 ; |
| istack-commons-runtime-2.6.1 v1.0 | classes v1.0 ; | jaxb-impl-2.2.5.jboss-1 v1.0 ; jaxb-xjc-2.2.5.jboss-1 v1.0 ; |
| istack-commons-tools-2.6.1 v1.0 | classes v1.0 ; MISSING v1.0 ; | jaxb-xjc-2.2.5.jboss-1 v1.0 ; |
| jsf-impl-2.2.6-jbossorg-4 v1.0 | classes v1.0 ; MISSING v1.0 ; jce v1.0 ; | - |
| txw2-20110809 v1.0 | classes v1.0 ; | jaxb-impl-2.2.5.jboss-1 v1.0 ; jaxb-xjc-2.2.5.jboss-1 v1.0 ; |
| FastInfoset-1.2.12 v1.0 | classes v1.0 ; | jaxb-impl-2.2.5.jboss-1 v1.0 ; |
| jaxb-impl-2.2.5.jboss-1 v1.0 | classes v1.0 ; istack-commons-runtime-2.6.1 v1.0 ; txw2-20110809 v1.0 ; FastInfoset-1.2.12 v1.0 ; MISSING v1.0 ; | jaxb-xjc-2.2.5.jboss-1 v1.0 ; |
| xsom-20110809 v1.0 | classes v1.0 ; relaxngDatatype-2011.1 v1.0 ; | jaxb-xjc-2.2.5.jboss-1 v1.0 ; |
| jaxb-xjc-2.2.5.jboss-1 v1.0 | MISSING v1.0 ; classes v1.0 ; jaxb-impl-2.2.5.jboss-1 v1.0 ; istack-commons-runtime-2.6.1 v1.0 ; istack-commons-tools-2.6.1 v1.0 ; codemodel-2.6 v1.0 ; xsom-20110809 v1.0 ; txw2-20110809 v1.0 ; | - |
| xom-1.2.5 v1.0 | classes v1.0 ; MISSING v1.0 ; | saaj-impl-1.3.16-jbossorg-1 v1.0 ; |
| saaj-impl-1.3.16-jbossorg-1 v1.0 | classes v1.0 ; MISSING v1.0 ; xom-1.2.5 v1.0 ; | - |
| java-getopt-1.0.13 v1.0 | classes v1.0 ; | - |
| netty-all-4.0.15.Final v1.0 | classes v1.0 ; MISSING v1.0 ; jsse v1.0 ; | - |
| undertow-core-1.0.15.Final v1.0 | classes v1.0 ; MISSING v1.0 ; jsse v1.0 ; | jastow-1.0.0.Final v1.0 ; undertow-servlet-1.0.15.Final v1.0 ; undertow-websockets-jsr-1.0.15.Final v1.0 ; |
| ecj-4.3.1 v1.0 | classes v1.0 ; MISSING v1.0 ; | jastow-1.0.0.Final v1.0 ; |
| undertow-servlet-1.0.15.Final v1.0 | classes v1.0 ; undertow-core-1.0.15.Final v1.0 ; MISSING v1.0 ; jsse v1.0 ; | jastow-1.0.0.Final v1.0 ; undertow-websockets-jsr-1.0.15.Final v1.0 ; |
| jastow-1.0.0.Final v1.0 | classes v1.0 ; MISSING v1.0 ; undertow-core-1.0.15.Final v1.0 ; ecj-4.3.1 v1.0 ; undertow-servlet-1.0.15.Final v1.0 ; | - |
| undertow-websockets-jsr-1.0.15.Final v1.0 | classes v1.0 ; undertow-servlet-1.0.15.Final v1.0 ; MISSING v1.0 ; undertow-core-1.0.15.Final v1.0 ; jsse v1.0 ; | - |
| jcip-annotations-1.0 v1.0 | classes v1.0 ; | - |
Projects Build Order
- jboss-modules
- asm-3.3.1
- cal10n-api-0.8.1
- classmate-1.0.0
- jackson-annotations-2.3.2
- jackson-core-2.3.2
- jackson-databind-2.3.2
- jackson-jaxrs-base-2.3.2
- jackson-jaxrs-json-provider-2.3.2
- jackson-module-jaxb-annotations-2.3.2
- relaxngDatatype-2011.1
- guava-16.0.1
- h2-1.3.173
- codemodel-2.6
- istack-commons-runtime-2.6.1
- istack-commons-tools-2.6.1
- jsf-impl-2.2.6-jbossorg-4
- txw2-20110809
- FastInfoset-1.2.12
- jaxb-impl-2.2.5.jboss-1
- xsom-20110809
- jaxb-xjc-2.2.5.jboss-1
- xom-1.2.5
- saaj-impl-1.3.16-jbossorg-1
- java-getopt-1.0.13
- netty-all-4.0.15.Final
- undertow-core-1.0.15.Final
- ecj-4.3.1
- undertow-servlet-1.0.15.Final
- jastow-1.0.0.Final
- undertow-websockets-jsr-1.0.15.Final
- jcip-annotations-1.0
Projects Build Order
- jboss-modules
- asm-3.3.1
- cal10n-api-0.8.1
- classmate-1.0.0
- jackson-annotations-2.3.2
- jackson-core-2.3.2
- jackson-databind-2.3.2
- jackson-jaxrs-base-2.3.2
- jackson-jaxrs-json-provider-2.3.2
- jackson-module-jaxb-annotations-2.3.2
- relaxngDatatype-2011.1
- guava-16.0.1
- h2-1.3.173
- codemodel-2.6
- istack-commons-runtime-2.6.1
- istack-commons-tools-2.6.1
- jsf-impl-2.2.6-jbossorg-4
- txw2-20110809
- FastInfoset-1.2.12
- jaxb-impl-2.2.5.jboss-1
- xsom-20110809
- jaxb-xjc-2.2.5.jboss-1
- xom-1.2.5
- saaj-impl-1.3.16-jbossorg-1
- java-getopt-1.0.13
- netty-all-4.0.15.Final
- undertow-core-1.0.15.Final
- ecj-4.3.1
- undertow-servlet-1.0.15.Final
- jastow-1.0.0.Final
- undertow-websockets-jsr-1.0.15.Final
- jcip-annotations-1.0
Analysis Log : Information and Warnings
The Warnings can reveal potential flaws concerning the health of the build process.
A particular warn can be disabled through the JArchitect interactive UI, panel Error List, tick the checkbox Disabled corresponding to the warn to disable.
| Kind | Message |
|---|---|
| Info | 09/07/2014 10:00:19 Begin full analysis with JArchitect v4.0.0.8041 |
| Info | No Baseline for Comparison loaded. |
| Info | Bytecode parsing |
| Info | Third Party parsing |
| Info | Parsing Source Files |
| Warning | Source code info won't be available : Some code metrics like CyclomaticComplexity,Comments,NBLineofCode won't be available. Source files directories could be added in the project properties panel |
| Info | No dependency cycle detected in assemblies referencement graph. |
| Info | 09/07/2014 10:01:12 Analyse dependencies of your application. |
| Info | 09/07/2014 10:01:12 Building the report (standard). |
| Info | 09/07/2014 10:01:14 Execute queries and rules |
| Warning | 12 critical rules are violated. - Types too big - critical - Methods too complex - critical - Methods with too many parameters - critical - Avoid finalizers - Prefer primitive types to boxed primitives - Always override hashcode when you override equals - Always override toString - Prefer interfaces to abstract classes - Use interfaces only to define types - Avoid using raw types - ... |



