ocopy.keepSrcElementName = scopy.isKeepSrcElement();
ocopy.ignoreMissingFromData = scopy.isIgnoreMissingFromData();
ocopy.ignoreUninitializedFromVariable = scopy.isIgnoreUninitializedFromVariable();
ocopy.insertMissingToData = scopy.isInsertMissingToData();
ocopy.insertMissingToData = scopy.isInsertMissingToData();
ocopy.debugInfo = new DebugInfo(_context.getSourceLocation(), scopy.getLineNo(),
source.getExtensibilityElements());
try {
if (scopy.getTo() == null)
throw new CompilationException(__cmsgs.errMissingToSpec().setSource(scopy));
Object[] toResultType = new Object[1];
ocopy.to = compileTo(scopy.getTo(), toResultType);
if (scopy.getFrom() == null)
throw new CompilationException(__cmsgs.errMissingFromSpec().setSource(scopy));
ocopy.from = compileFrom(scopy.getFrom(), toResultType[0]);
verifyCopy(ocopy);
oassign.operations.add(ocopy);
} 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();