/* * 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.types; import polyglot.types.ClassType; import polyglot.types.CodeInstance; import polyglot.types.Ref; import polyglot.util.Position; import x10.types.constraints.XConstrainedTerm; /** * An AtDef represents the type information for an at statement: * a placeterm representing the place at which the body of this function is intended to execute. */ public interface AtDef extends X10MethodDef, EnvironmentCapture { public static final String DUMMY_AT_ASYNC = "$dummyAsync"; // for async/at/ateach AtInstance asInstance(); /** * Return a copy of this with position reset. * @param pos * @return */ public AtDef position(Position pos); Ref<? extends CodeInstance<?>> methodContainer(); void setMethodContainer(Ref<? extends CodeInstance<?>> mi); Ref<? extends ClassType> typeContainer(); void setTypeContainer(Ref<? extends ClassType> ct); boolean staticContext(); XConstrainedTerm finishPlaceTerm(); void setFinishPlaceTerm(XConstrainedTerm t); }