Skip to content

Commit 72a10f6

Browse files
authored
Merge pull request #313 from distantcam/hotfix/312
2 parents 24a5485 + fe07d4b commit 72a10f6

File tree

5 files changed

+31
-6
lines changed

5 files changed

+31
-6
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,10 @@ on:
66
branches:
77
- main
88
- feature/*
9+
- hotfix/*
910
tags:
1011
- "[0-9]+.[0-9]+.[0-9]+"
1112
- "[0-9]+.[0-9]+.[0-9]+-**"
12-
pull_request:
13-
branches:
14-
- main
1513

1614
jobs:
1715
test:

src/AutoCtor.Shared/AttributeSourceGenerator/Emitter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public static SourceText GenerateSource()
1818
using (source.StartBlock("namespace AutoCtor"))
1919
{
2020
source.AddCompilerGeneratedAttribute().AddGeneratedCodeAttribute();
21-
using (source.StartBlock("public enum GuardSetting"))
21+
using (source.StartBlock("internal enum GuardSetting"))
2222
{
2323
source.AppendLine("Default,");
2424
source.AppendLine("Disabled,");

src/AutoCtor.Tests/GeneratedAttributeTests.AttributeGeneratedCode#AutoConstructAttribute.g.verified.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace AutoCtor
1010
{
1111
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute]
12-
public enum GuardSetting
12+
internal enum GuardSetting
1313
{
1414
Default,
1515
Disabled,

src/AutoCtor.Tests/GeneratedAttributeTests.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,31 @@ public async Task PreserveAttributesTest()
5151
Assert.Empty(diagnostics);
5252
Assert.Empty(outputCompilation.GetDiagnostics());
5353
}
54+
55+
[Fact]
56+
public async Task EnsureGeneratedAttributesAreNotExternallyVisible()
57+
{
58+
// Issue 312
59+
var compileBuilder = new CompilationBuilder()
60+
.AddNetCoreReference()
61+
.WithPreprocessorSymbols(["AUTOCTOR_EMBED_ATTRIBUTES"]);
62+
63+
var genDriver = new GeneratorDriverBuilder()
64+
.AddGenerator(new AttributeSourceGenerator())
65+
.Build(compileBuilder.ParseOptions);
66+
67+
var projectA = await compileBuilder
68+
.Build("ProjectA");
69+
70+
genDriver = genDriver.RunGeneratorsAndUpdateCompilation(projectA, out var genProjectA, out _);
71+
72+
var projectB = await compileBuilder
73+
.AddCompilationReference(genProjectA)
74+
.Build("ProjectB");
75+
76+
genDriver.RunGeneratorsAndUpdateCompilation(projectB, out var outputCompilation, out var diagnostics);
77+
78+
Assert.Empty(diagnostics);
79+
Assert.Empty(outputCompilation.GetDiagnostics());
80+
}
5481
}

src/AutoCtor.Tests/Utilities/CompilationBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public CompilationBuilder AddAssemblyReference<T>()
7878
};
7979
}
8080

81-
public CompilationBuilder AddCompilationReference(CSharpCompilation compilation)
81+
public CompilationBuilder AddCompilationReference(Compilation compilation)
8282
{
8383
return new(this)
8484
{

0 commit comments

Comments
 (0)