Bug 386587 - [refactoring] pull-up refactoring cannot handle callout
bindings
- support creation of new callout bindings
- support removal of callout declarations
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IMethodNode.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IMethodNode.java
new file mode 100644
index 0000000..1fa760e
--- /dev/null
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IMethodNode.java
@@ -0,0 +1,29 @@
+/**********************************************************************
+ * This file is part of "Object Teams Development Tooling"-Software
+ * 
+ * Copyright 2012 GK Software AG
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ * 	  Stephan Herrmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.jdt.core.dom;
+
+import java.util.List;
+
+/**
+ * Generalization over MethodDeclaration and MethodSpec
+ * @since 3.9
+ */
+public interface IMethodNode {
+	List parameters();
+	List typeParameters();
+	Type getReturnType2();
+	void setReturnType2(Type type);
+}
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java
index 2c602db..1548d20 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java
@@ -66,7 +66,11 @@
  * @since 2.0
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
-public class MethodDeclaration extends BodyDeclaration {
+public class MethodDeclaration extends BodyDeclaration
+//{ObjectTeams: allow generalization with MethodSpec:
+								implements IMethodNode
+// SH}
+{
 
 	/**
 	 * The "javadoc" structural property of this node type (child type: {@link Javadoc}).
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodSpec.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodSpec.java
index 5d55907..1137ae9 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodSpec.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodSpec.java
@@ -41,7 +41,7 @@
  *
  * @author jsv
  */
-public class MethodSpec extends MethodMappingElement
+public class MethodSpec extends MethodMappingElement implements IMethodNode
 {
 	/**
 	 * The "signature" structural property of this node type.
diff --git a/org.eclipse.jdt.core/scripts/.gitignore b/org.eclipse.jdt.core/scripts/.gitignore
new file mode 100644
index 0000000..26c9132
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/.gitignore
@@ -0,0 +1,2 @@
+/backup
+/output