package fr.inria.diversify.transformation.cvl; import spoon.reflect.cu.CompilationUnit; import spoon.reflect.cu.SourcePosition; import spoon.reflect.declaration.CtPackage; import spoon.reflect.declaration.CtType; /** * User: Simon * Date: 25/02/14 * Time: 15:08 */ @Deprecated public class ObjectSubstitution extends CVLTransformation { public ObjectSubstitution() { type= "cvl"; name = "objectSubstitution"; } @Override public void addSourceCode() throws Exception { if(transformationPoint instanceof CtPackage || transformationPoint instanceof CtType) throw new Exception(); logInfo(); SourcePosition sp = transformationPoint.getPosition(); CompilationUnit compileUnit = sp.getCompilationUnit(); // compileUnit.addSourceCodeFragment(new SourceCodeFragment(sp.getSourceStart(), "/** nodeType: "+transformationPoint.getClass()+" \n", 0)); // compileUnit.addSourceCodeFragment(new SourceCodeFragment(sp.getSourceEnd()+1, " **/\n"+ // transplant.toString(), 0)); } public boolean equals(Object other) { if(other == null) return false; if(!this.getClass().isAssignableFrom(other.getClass())) return false; ObjectSubstitution o = (ObjectSubstitution)other; try { return transformationPoint.getSignature().equals(o.transformationPoint.getSignature()) && transplant.getSignature().equals(o.transplant.getSignature()); } catch (Exception e) {} return false; } }