Skip to content
This repository was archived by the owner on Dec 12, 2020. It is now read-only.

Commit ef4120c

Browse files
authored
Better error message when generator ctor not found (#147)
fixes #135
1 parent cd4eb5f commit ef4120c

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/CodeGeneration.Roslyn.Engine/DocumentTransform.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,17 @@ private static IEnumerable<ICodeGenerator> FindCodeGenerators(ImmutableArray<Att
135135
Type generatorType = GetCodeGeneratorTypeForAttribute(attributeData.AttributeClass, assemblyLoader);
136136
if (generatorType != null)
137137
{
138-
ICodeGenerator generator = (ICodeGenerator)Activator.CreateInstance(generatorType, attributeData);
138+
ICodeGenerator generator;
139+
try
140+
{
141+
generator = (ICodeGenerator)Activator.CreateInstance(generatorType, attributeData);
142+
}
143+
catch (MissingMethodException)
144+
{
145+
throw new InvalidOperationException(
146+
$"Failed to instantiate {generatorType}. ICodeGenerator implementations must have" +
147+
$" a constructor accepting Microsoft.CodeAnalysis.AttributeData argument.");
148+
}
139149
yield return generator;
140150
}
141151
}

0 commit comments

Comments
 (0)