View | Details | Raw Unified | Return to bug 95480
Collapse All | Expand All

(-)src/org/eclipse/jdt/core/tests/model/CreateMembersTests.java (+15 lines)
Lines 151-154 Link Here
151
			"}";
151
			"}";
152
		assertSourceEquals("Unexpected source", expectedSource, type.getSource());
152
		assertSourceEquals("Unexpected source", expectedSource, type.getSource());
153
	}
153
	}
154
155
	// https://bugs.eclipse.org/bugs/show_bug.cgi?id=95480
156
	public void test007() throws Exception {
157
		JavaModelException expected = null;
158
		try {
159
			IType type = getCompilationUnit("CreateMembers/src/E.java").getType("E");
160
			type.createType("class Member {}", type.getField("E1"), false/*don't force*/, null/*no progress*/);
161
		} catch (JavaModelException e) {
162
			expected = e;
163
		}
164
		assertExceptionEquals(
165
			"Unexpected exception", 
166
			"Invalid sibling: E1 [in E [in E.java [in <default> [in src [in CreateMembers]]]]]", 
167
			expected);
168
	}
154
}
169
}
(-)model/org/eclipse/jdt/internal/core/CreateTypeOperation.java (+14 lines)
Lines 102-107 Link Here
102
	}
102
	}
103
	return JavaModelStatus.VERIFIED_OK;
103
	return JavaModelStatus.VERIFIED_OK;
104
}
104
}
105
public IJavaModelStatus verify() {
106
	IJavaModelStatus status = super.verify();
107
	if (!status.isOK())
108
		return status;
109
	try {
110
		IJavaElement parent = getParentElement();
111
		if (this.anchorElement != null && this.anchorElement.getElementType() == IJavaElement.FIELD 
112
				&& parent.getElementType() == IJavaElement.TYPE && ((IType)parent).isEnum())
113
			return new JavaModelStatus(IJavaModelStatusConstants.INVALID_SIBLING, this.anchorElement);
114
	} catch (JavaModelException e) {
115
		return e.getJavaModelStatus();
116
	}
117
	return JavaModelStatus.VERIFIED_OK;
118
}
105
private String getASTNodeName() {
119
private String getASTNodeName() {
106
	return ((AbstractTypeDeclaration) this.createdNode).getName().getIdentifier();
120
	return ((AbstractTypeDeclaration) this.createdNode).getName().getIdentifier();
107
}
121
}

Return to bug 95480