1 11 package org.eclipse.jdt.internal.corext.refactoring.typeconstraints; 12 13 import org.eclipse.core.runtime.Assert; 14 15 import org.eclipse.jdt.core.dom.IMethodBinding; 16 import org.eclipse.jdt.core.dom.MethodDeclaration; 17 import org.eclipse.jdt.core.dom.ReturnStatement; 18 19 import org.eclipse.jdt.internal.corext.dom.ASTNodes; 20 import org.eclipse.jdt.internal.corext.dom.Bindings; 21 22 public class ReturnTypeVariable extends ConstraintVariable{ 23 24 private final IMethodBinding fMethodBinding; 25 26 public ReturnTypeVariable(ReturnStatement returnStatement) { 27 this(getMethod(returnStatement).resolveBinding()); 28 Assert.isNotNull(returnStatement); 29 } 30 31 public ReturnTypeVariable(IMethodBinding methodBinding) { 32 super(methodBinding.getReturnType()); 33 fMethodBinding= methodBinding; 34 } 35 36 public static MethodDeclaration getMethod(ReturnStatement returnStatement) { 37 return (MethodDeclaration)ASTNodes.getParent(returnStatement, MethodDeclaration.class); 38 } 39 40 43 public String toString() { 44 return "[" + Bindings.asString(fMethodBinding) + "]_returnType"; } 46 47 public IMethodBinding getMethodBinding() { 48 return fMethodBinding; 49 } 50 51 } 52 | Popular Tags |