public CopiedFieldRvaNode CopiedFieldRva(FieldDesc field) { Debug.Assert(field.HasRva); EcmaField ecmaField = (EcmaField)field.GetTypicalFieldDefinition(); if (!CompilationModuleGroup.ContainsType(ecmaField.OwningType)) { // TODO: cross-bubble RVA field throw new NotSupportedException($"{ecmaField} ... {ecmaField.Module.Assembly}"); } return(_copiedFieldRvas.GetOrAdd(new ModuleAndIntValueKey(ecmaField.GetFieldRvaValue(), ecmaField.Module))); }
public CopiedFieldRvaNode CopiedFieldRva(FieldDesc field) { Debug.Assert(field.HasRva); EcmaField ecmaField = (EcmaField)field.GetTypicalFieldDefinition(); if (!CompilationModuleGroup.ContainsType(ecmaField.OwningType)) { // TODO: cross-bubble RVA field throw new NotSupportedException($"{ecmaField} ... {ecmaField.Module.Assembly}"); } if (TypeSystemContext.InputFilePaths.Count > 1) { // TODO: RVA fields in merged multi-file compilation throw new NotSupportedException($"{ecmaField} ... {string.Join("; ", TypeSystemContext.InputFilePaths.Keys)}"); } return(_copiedFieldRvas.GetOrAdd(new FieldRvaKey(ecmaField.GetFieldRvaValue(), ecmaField.Module))); }