Open BenjaminKlatt opened 10 years ago
As long as the same classpath is used, this will be fixed by ff4c1c03a118adc2a1364f37ee0b333e283dff42 (Part of a pull request). Due to the introduced caching in the JavaClasspath, this always returns the same instance for java.lang.Object.
To test a Class element if it represents the java.lang.Object is not supported using the getObjectClass() and the equals method.
getObjectClass() always returns a new instance and the equals() method is not implemented for ClassImpl or ConcreteClassifier.
For example, the following code always returns false, even if the super class of the submitted class is the class java.lang.Object:
public boolean compareClasses(Class class){ Class objectClass = class.getObjectClass(); return(objectClass.equals(class.getSuperClass())); }
Either the code should always return the same instance for a specific class, or the equals method should be implemented specific to the java meta model element.