You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "JC (JIRA)" <ji...@apache.org> on 2017/03/31 18:21:41 UTC
[jira] [Created] (CLOUDSTACK-9856) Possible code smell that returns
always true in if condition
JC created CLOUDSTACK-9856:
------------------------------
Summary: Possible code smell that returns always true in if condition
Key: CLOUDSTACK-9856
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9856
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Reporter: JC
Priority: Trivial
Hi
In recent Github mirror, I've found following code smell.
Path: framework/db/src/com/cloud/utils/db/EcInfo.java
{code}
51 Class<?> rawClazz = (Class<?>)rawType;
52 try {
53 if (!Modifier.isAbstract(rawClazz.getModifiers()) && !rawClazz.isInterface() && rawClazz.getConstructors().length != 0 &&
54 rawClazz.getConstructor() != null) {
55 rawClass = rawClazz;
56 } else if (Set.class == rawClazz) {
57 rawClass = HashSet.class;
58 } else if (List.class == rawClazz) {
59 rawClass = ArrayList.class;
60 } else if (Collection.class == Collection.class) {
61 rawClass = ArrayList.class;
62 } else {
63 assert (false) : " We don't know how to create this calss " + rawType.toStri ng() + " for " + attr.field.getName();
64 }
65 } catch (NoSuchMethodException e) {
66 throw new CloudRuntimeException("Write your own support for " + rawClazz + " def ined by " + attr.field.getName());
{code}
Since I don't have domain knowledge about this project, I have no idea, rawClazz can have other types rather Set or List. If rawClazz can have other types, it will always be ArrayList.class as default (Line 60 and 61). So, the else block is dead code. It seems this is intended but wanted to report just in case.
Thanks!
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)