OAssign.Copy ocopy = new OAssign.Copy(_context.getOProcess());
ocopy.keepSrcElementName = scopy.isKeepSrcElement();
ocopy.ignoreMissingFromData = scopy.isIgnoreMissingFromData();
ocopy.insertMissingToData = scopy.isInsertMissingToData();
ocopy.ignoreUninitializedFromVariable = scopy.isIgnoreUninitializedFromVariable();
ocopy.debugInfo = new DebugInfo(_context.getSourceLocation(), scopy.getLineNo(),
source.getExtensibilityElements());
try {
if (scopy.getFrom() == null)
throw new CompilationException(__cmsgs.errMissingFromSpec().setSource(scopy));
ocopy.from = compileFrom(scopy.getFrom());
if (scopy.getTo() == null)
throw new CompilationException(__cmsgs.errMissingToSpec().setSource(scopy));
ocopy.to = compileTo(scopy.getTo());
verifyCopy(ocopy);
oassign.operations.add(ocopy);
} catch (CompilationException ce) {
_context.recoveredFromError(scopy, ce);
}
} else if (operation instanceof ExtensionAssignOperation) {
ExtensionAssignOperation sop = (ExtensionAssignOperation)operation;
OAssign.ExtensionAssignOperation oext = new OAssign.ExtensionAssignOperation(_context.getOProcess());
oext.debugInfo = new DebugInfo(_context.getSourceLocation(), sop.getLineNo(), source.getExtensibilityElements());
try {
if (source.is20Draft()) {
throw new CompilationException(__cmsgs.errExtensibleAssignNotSupported());
}
Element el = sop.getNestedElement();