} catch (CompilationException ce) {
_context.recoveredFromError(scopy, ce);
}
} else if (operation instanceof ExtensionAssignOperation) {
ExtensionAssignOperation seaop = (ExtensionAssignOperation)operation;
OAssign.ExtensionAssignOperation oext = new OAssign.ExtensionAssignOperation(_context.getOProcess());
oext.debugInfo = new DebugInfo(_context.getSourceLocation(), seaop.getLineNo(), source.getExtensibilityElements());
try {
if (source.is20Draft()) {
throw new CompilationException(__cmsgs.errExtensibleAssignNotSupported());
}
Element el = seaop.getNestedElement();
if (el == null) {
throw new CompilationException(__cmsgs.errMissingExtensionAssignOperationElement().setSource(seaop));
}
if (!_context.isExtensionDeclared(el.getNamespaceURI())) {
throw new CompilationException(__cmsgs.errUndeclaredExtensionAssignOperation().setSource(seaop));