Fix generated ModuleFactory#isModuleImplementingServiceInterface: Use isAssignableFrom instead of equality check when
testing if possibly super class provided as a parameter can be used instead of possibly more concrete class of implemented
service interface.
Change-Id: Iee32402facd8ea3fb7ff4a030ca3bdb51d810af0
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
@Override
public final boolean isModuleImplementingServiceInterface(Class<? extends ${abstractServiceInterfaceType}> serviceInterface) {
- return serviceIfcs.contains(serviceInterface);
+ for (Class<?> ifc: serviceIfcs) {
+ if (serviceInterface.isAssignableFrom(ifc)){
+ return true;
+ }
+ }
+ return false;
}
@Override
// available if source level is 5.0
if (c.getID() == 1610613329)
continue;
+ if (c.getID() == 1610613328) // 'for each' statements are only available if source level is 5.0
+ continue;
fail("Error in generated source code " + file + ":"
- + c.getSourceLineNumber() + " " + c.toString());
+ + c.getSourceLineNumber() + " id: " + c.getID() + " message:" + c.toString());
}
ASTVisitor visitor = verifiers.get(file.getName());