/* * This file is part of the X10 project (http://x10-lang.org). * * This file is licensed to You under the Eclipse Public License (EPL); * You may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.opensource.org/licenses/eclipse-1.0.php * * (C) Copyright IBM Corporation 2006-2010. */ package x10.util.synthesizer; import polyglot.ast.ClassMember; import polyglot.types.MemberDef; import polyglot.types.SemanticException; /** * A class member synthesizer could be added into the class. * When the class synthesizer close it self, it will ask for * all the class member synthesizer to return the object * * Typical class member synthesizer could be a class synthesizer, a field synthesizer or a method synthesizer * */ public interface IClassMemberSynth { public MemberDef getDef(); //get the current def() public ClassMember close()throws SemanticException; //close and generate the member }