diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/FieldReferenceValue.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/FieldReferenceValue.cs
index e5af9a84dcb3b2..dbd83ea9becbe1 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/FieldReferenceValue.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/FieldReferenceValue.cs
@@ -9,7 +9,7 @@
namespace ILLink.Shared.TrimAnalysis
{
- public partial record FieldReferenceValue(FieldDesc FieldDefinition)
+ internal sealed partial record FieldReferenceValue(FieldDesc FieldDefinition)
: ReferenceValue(FieldDefinition.FieldType)
{
public override SingleValue DeepCopy() => this;
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/LocalVariableReferenceValue.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/LocalVariableReferenceValue.cs
index 40301b01b8f39c..ba190ae9b4b95b 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/LocalVariableReferenceValue.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/LocalVariableReferenceValue.cs
@@ -8,7 +8,7 @@
namespace ILLink.Shared.TrimAnalysis
{
- public partial record LocalVariableReferenceValue : ReferenceValue
+ internal sealed partial record LocalVariableReferenceValue : ReferenceValue
{
public int LocalIndex { get; }
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/ReferenceValue.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/ReferenceValue.cs
index 87c7e09697b515..c0010aa3d4419f 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/ReferenceValue.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/ReferenceValue.cs
@@ -11,5 +11,5 @@ namespace ILLink.Shared.TrimAnalysis
///
/// Acts as the base class for all values that represent a reference to another value. These should only be held in a ref type or on the stack as a result of a 'load address' instruction (e.g. ldloca).
///
- public abstract record ReferenceValue(TypeDesc ReferencedType) : SingleValue { }
+ internal abstract record ReferenceValue(TypeDesc ReferencedType) : SingleValue { }
}
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisAssignmentPattern.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisAssignmentPattern.cs
index afb09e131a31de..368ee3abee6405 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisAssignmentPattern.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisAssignmentPattern.cs
@@ -13,7 +13,7 @@
namespace ILCompiler.Dataflow
{
- public readonly record struct TrimAnalysisAssignmentPattern
+ internal readonly record struct TrimAnalysisAssignmentPattern
{
public MultiValue Source { get; init; }
public MultiValue Target { get; init; }
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisMethodCallPattern.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisMethodCallPattern.cs
index 48b0bbf5aff643..49fed02f14e168 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisMethodCallPattern.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisMethodCallPattern.cs
@@ -14,7 +14,7 @@
namespace ILCompiler.Dataflow
{
- public readonly record struct TrimAnalysisMethodCallPattern
+ internal readonly record struct TrimAnalysisMethodCallPattern
{
public readonly MethodIL MethodBody;
public readonly ILOpcode Operation;
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisPatternStore.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisPatternStore.cs
index 258f2bcfef26cc..eb5f21305687e8 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisPatternStore.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/TrimAnalysisPatternStore.cs
@@ -11,7 +11,7 @@
namespace ILCompiler.Dataflow
{
- public readonly struct TrimAnalysisPatternStore
+ internal readonly struct TrimAnalysisPatternStore
{
private readonly Dictionary<(MessageOrigin, bool), TrimAnalysisAssignmentPattern> AssignmentPatterns;
private readonly Dictionary MethodCallPatterns;
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/ValueNode.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/ValueNode.cs
index 41f89f35a8cf3e..1fcf8c358efb63 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/ValueNode.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/ValueNode.cs
@@ -10,7 +10,7 @@
namespace ILCompiler.Dataflow
{
- public class ValueNodeList : List
+ internal sealed class ValueNodeList : List
{
public ValueNodeList()
{
@@ -51,7 +51,7 @@ public override bool Equals(object? other)
}
}
- public struct ValueBasicBlockPair : IEquatable
+ internal struct ValueBasicBlockPair : IEquatable
{
public ValueBasicBlockPair(MultiValue value, int basicBlockIndex)
{
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/ControlFlowGraphProxy.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/ControlFlowGraphProxy.cs
index 16cb190a08a596..a98c384cfc27c6 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/ControlFlowGraphProxy.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/ControlFlowGraphProxy.cs
@@ -23,7 +23,7 @@ namespace ILLink.RoslynAnalyzer.DataFlow
// any kind of value equality for different block instances. In practice
// this should be fine as long as we consistently use block instances from
// a single ControlFlowGraph.
- public readonly record struct BlockProxy (BasicBlock Block) : IBlock
+ internal readonly record struct BlockProxy (BasicBlock Block) : IBlock
{
public override string ToString ()
{
@@ -33,7 +33,7 @@ public override string ToString ()
public ConditionKind ConditionKind => (ConditionKind) Block.ConditionKind;
}
- public readonly record struct RegionProxy (ControlFlowRegion Region) : IRegion
+ internal readonly record struct RegionProxy (ControlFlowRegion Region) : IRegion
{
public RegionKind Kind => Region.Kind switch {
ControlFlowRegionKind.Try => RegionKind.Try,
@@ -44,7 +44,7 @@ public readonly record struct RegionProxy (ControlFlowRegion Region) : IRegion
+ internal readonly record struct ControlFlowGraphProxy (ControlFlowGraph ControlFlowGraph) : IControlFlowGraph
{
public IEnumerable Blocks {
get {
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureChecksValue.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureChecksValue.cs
index 028628f2dd5934..91daafef659a1d 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureChecksValue.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureChecksValue.cs
@@ -13,7 +13,7 @@ namespace ILLink.RoslynAnalyzer.DataFlow
// For now, this is only designed to track the built-in "features"/"capabilities"
// like RuntimeFeatures.IsDynamicCodeSupported, where a true return value
// indicates that a feature/capability is available.
- public record struct FeatureChecksValue : INegate, IDeepCopyValue
+ internal record struct FeatureChecksValue : INegate, IDeepCopyValue
{
public ValueSet EnabledFeatures;
public ValueSet DisabledFeatures;
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureChecksVisitor.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureChecksVisitor.cs
index 6a927f74fd15b7..912e7fc60b9b3e 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureChecksVisitor.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureChecksVisitor.cs
@@ -24,7 +24,7 @@ namespace ILLink.RoslynAnalyzer.DataFlow
// (a set features that are checked to be enabled or disabled).
// The visitor takes a LocalDataFlowState as an argument, allowing for checks that
// depend on the current dataflow state.
- public class FeatureChecksVisitor : OperationVisitor
+ internal sealed class FeatureChecksVisitor : OperationVisitor
{
DataFlowAnalyzerContext _dataFlowAnalyzerContext;
@@ -77,7 +77,7 @@ public override FeatureChecksValue VisitLiteral (ILiteralOperation operation, St
return FeatureChecksValue.None;
}
- public bool? GetLiteralBool (IOperation operation)
+ static bool? GetLiteralBool (IOperation operation)
{
if (operation is not ILiteralOperation literal)
return null;
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureContextLattice.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureContextLattice.cs
index 319730629e90a9..88755aeee035c5 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureContextLattice.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/FeatureContextLattice.cs
@@ -11,7 +11,7 @@
namespace ILLink.RoslynAnalyzer.DataFlow
{
- public struct FeatureContext : IEquatable, IDeepCopyValue
+ internal struct FeatureContext : IEquatable, IDeepCopyValue
{
// The set of features known to be enabled in this context.
// Unknown represents "all possible features".
@@ -54,7 +54,7 @@ public FeatureContext Union (FeatureContext other)
}
}
- public readonly struct FeatureContextLattice : ILattice
+ internal readonly struct FeatureContextLattice : ILattice
{
public FeatureContextLattice () { }
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/InterproceduralState.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/InterproceduralState.cs
index 2fac8f0540adc2..9a897cec54e6ed 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/InterproceduralState.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/InterproceduralState.cs
@@ -11,7 +11,7 @@ namespace ILLink.RoslynAnalyzer.DataFlow
{
// Tracks the set of methods which get analyzed together during interprocedural analysis,
// and the possible states of hoisted locals in state machine methods and lambdas/local functions.
- public struct InterproceduralState : IEquatable>
+ internal struct InterproceduralState : IEquatable>
where TValue : struct, IEquatable
where TValueLattice : ILattice
{
@@ -85,7 +85,7 @@ public bool TryGetHoistedLocal (LocalKey key, [NotNullWhen (true)] out TValue? v
=> (value = HoistedLocals.Get (key).MaybeValue) != null;
}
- public struct InterproceduralStateLattice : ILattice>
+ internal struct InterproceduralStateLattice : ILattice>
where TValue : struct, IEquatable
where TValueLattice : ILattice
{
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowAnalysis.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowAnalysis.cs
index 1a8f3cdef36355..8652f5db23eb30 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowAnalysis.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowAnalysis.cs
@@ -16,7 +16,7 @@ namespace ILLink.RoslynAnalyzer.DataFlow
// It substitutes type arguments into the generic forward dataflow analysis,
// creating a simpler abstraction that can track the values of local variables using Roslyn APIs.
// The kinds of values tracked are still left as unspecified generic parameters TValue and TLattice.
- public abstract class LocalDataFlowAnalysis
+ internal abstract class LocalDataFlowAnalysis
: ForwardDataFlowAnalysis<
LocalStateAndContext,
LocalDataFlowState,
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowState.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowState.cs
index 8bccab4a8267e3..06c0fefd2b9e91 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowState.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowState.cs
@@ -6,7 +6,7 @@
namespace ILLink.RoslynAnalyzer.DataFlow
{
- public class LocalDataFlowState
+ internal sealed class LocalDataFlowState
: IDataFlowState, LocalStateAndContextLattice>
where TValue : struct, IEquatable
where TContext : struct, IEquatable
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowVisitor.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowVisitor.cs
index 84065ecc25fe8f..51f9642e38cd0a 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowVisitor.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowVisitor.cs
@@ -18,7 +18,7 @@ namespace ILLink.RoslynAnalyzer.DataFlow
// - field
// - parameter
// - method return
- public abstract class LocalDataFlowVisitor :
+ internal abstract class LocalDataFlowVisitor :
OperationWalker, TValue>,
ITransfer<
BlockProxy,
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalStateAndContextLattice.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalStateAndContextLattice.cs
index ff82a040b263b3..821f20caa28993 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalStateAndContextLattice.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalStateAndContextLattice.cs
@@ -8,7 +8,7 @@
namespace ILLink.RoslynAnalyzer.DataFlow
{
// A lattice value that holds both a local state, and a context
- public struct LocalStateAndContext : IEquatable>
+ internal struct LocalStateAndContext : IEquatable>
where TValue : IEquatable
where TContext : IEquatable
{
@@ -28,7 +28,7 @@ public bool Equals (LocalStateAndContext other) =>
public override int GetHashCode () => HashUtils.Combine (LocalState, Context);
}
- public readonly struct LocalStateAndContextLattice : ILattice>
+ internal readonly struct LocalStateAndContextLattice : ILattice>
where TValue : struct, IEquatable
where TContext : struct, IEquatable
where TValueLattice : ILattice
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalStateLattice.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalStateLattice.cs
index 84270212ec5e5f..368c478bedfb97 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalStateLattice.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalStateLattice.cs
@@ -35,7 +35,7 @@ public override string ToString ()
}
}
- public struct LocalState : IEquatable>
+ internal struct LocalState : IEquatable>
where TValue : IEquatable
{
public DefaultValueDictionary Dictionary;
@@ -78,7 +78,7 @@ public override int GetHashCode ()
}
// Wrapper struct exists purely to substitute a concrete LocalKey for TKey of DictionaryLattice
- public readonly struct LocalStateLattice : ILattice>
+ internal readonly struct LocalStateLattice : ILattice>
where TValue : struct, IEquatable
where TValueLattice : ILattice
{
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/DiagnosticDescriptors.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/DiagnosticDescriptors.cs
index db6ef69c446e4c..7f53e2e34d832a 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/DiagnosticDescriptors.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/DiagnosticDescriptors.cs
@@ -20,7 +20,7 @@ public static DiagnosticDescriptor GetDiagnosticDescriptor (DiagnosticId diagnos
diagnosticId.GetHelpUri());
}
- public static DiagnosticDescriptor GetDiagnosticDescriptor (DiagnosticId diagnosticId, DiagnosticString diagnosticString)
+ internal static DiagnosticDescriptor GetDiagnosticDescriptor (DiagnosticId diagnosticId, DiagnosticString diagnosticString)
=> new DiagnosticDescriptor (diagnosticId.AsString (),
diagnosticString.GetTitle (),
diagnosticString.GetMessage (),
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/FeatureCheckReturnValuePattern.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/FeatureCheckReturnValuePattern.cs
index fe81dbb79ec392..d88196c7702332 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/FeatureCheckReturnValuePattern.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/FeatureCheckReturnValuePattern.cs
@@ -10,7 +10,7 @@
namespace ILLink.RoslynAnalyzer.TrimAnalysis
{
- public readonly record struct FeatureCheckReturnValuePattern
+ internal readonly record struct FeatureCheckReturnValuePattern
{
public FeatureChecksValue ReturnValue { get; init; }
public ValueSet FeatureCheckAnnotations { get; init; }
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/SingleValueExtensions.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/SingleValueExtensions.cs
index 5362f267afa531..9b4a33c4050e23 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/SingleValueExtensions.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/SingleValueExtensions.cs
@@ -9,7 +9,7 @@
namespace ILLink.RoslynAnalyzer.TrimAnalysis
{
- public static class SingleValueExtensions
+ internal static class SingleValueExtensions
{
public static SingleValue? FromTypeSymbol (ITypeSymbol type)
{
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisAssignmentPattern.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisAssignmentPattern.cs
index 2ffcbc43ae8846..3517ee4ddc5a21 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisAssignmentPattern.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisAssignmentPattern.cs
@@ -15,7 +15,7 @@
namespace ILLink.RoslynAnalyzer.TrimAnalysis
{
- public readonly record struct TrimAnalysisAssignmentPattern
+ internal readonly record struct TrimAnalysisAssignmentPattern
{
public MultiValue Source { get; init; }
public MultiValue Target { get; init; }
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisFieldAccessPattern.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisFieldAccessPattern.cs
index 61a925bef7e330..fbd2f7eca57cd9 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisFieldAccessPattern.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisFieldAccessPattern.cs
@@ -11,7 +11,7 @@
namespace ILLink.RoslynAnalyzer.TrimAnalysis
{
- public readonly record struct TrimAnalysisFieldAccessPattern
+ internal readonly record struct TrimAnalysisFieldAccessPattern
{
public IFieldSymbol Field { get; init; }
public IFieldReferenceOperation Operation { get; init; }
@@ -31,7 +31,6 @@ public TrimAnalysisFieldAccessPattern (
}
public TrimAnalysisFieldAccessPattern Merge (
- ValueSetLattice lattice,
FeatureContextLattice featureContextLattice,
TrimAnalysisFieldAccessPattern other)
{
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisGenericInstantiationPattern.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisGenericInstantiationPattern.cs
index 26f275085fa8bf..82d48c54618f86 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisGenericInstantiationPattern.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisGenericInstantiationPattern.cs
@@ -9,7 +9,7 @@
namespace ILLink.RoslynAnalyzer.TrimAnalysis
{
- public readonly record struct TrimAnalysisGenericInstantiationPattern
+ internal readonly record struct TrimAnalysisGenericInstantiationPattern
{
public ISymbol GenericInstantiation { get; init; }
public IOperation Operation { get; init; }
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisMethodCallPattern.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisMethodCallPattern.cs
index 845ac7e884a91b..aed5fce4171687 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisMethodCallPattern.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisMethodCallPattern.cs
@@ -15,7 +15,7 @@
namespace ILLink.RoslynAnalyzer.TrimAnalysis
{
- public readonly record struct TrimAnalysisMethodCallPattern
+ internal readonly record struct TrimAnalysisMethodCallPattern
{
public IMethodSymbol CalledMethod { get; init; }
public MultiValue Instance { get; init; }
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisPatternStore.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisPatternStore.cs
index dd66d802934be6..17f2e755f90834 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisPatternStore.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisPatternStore.cs
@@ -10,7 +10,7 @@
namespace ILLink.RoslynAnalyzer.TrimAnalysis
{
- public readonly struct TrimAnalysisPatternStore
+ internal readonly struct TrimAnalysisPatternStore
{
readonly Dictionary<(IOperation, bool), TrimAnalysisAssignmentPattern> AssignmentPatterns;
readonly Dictionary FieldAccessPatterns;
@@ -60,7 +60,7 @@ public void Add (TrimAnalysisFieldAccessPattern pattern)
return;
}
- FieldAccessPatterns[pattern.Operation] = pattern.Merge (Lattice, FeatureContextLattice, existingPattern);
+ FieldAccessPatterns[pattern.Operation] = pattern.Merge (FeatureContextLattice, existingPattern);
}
public void Add (TrimAnalysisGenericInstantiationPattern pattern)
@@ -90,7 +90,7 @@ public void Add (TrimAnalysisReflectionAccessPattern pattern)
return;
}
- ReflectionAccessPatterns[pattern.Operation] = pattern.Merge (Lattice, FeatureContextLattice, existingPattern);
+ ReflectionAccessPatterns[pattern.Operation] = pattern.Merge (FeatureContextLattice, existingPattern);
}
public void Add (FeatureCheckReturnValuePattern pattern)
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisReflectionAccessPattern.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisReflectionAccessPattern.cs
index 85897420596f49..7711d6ade39771 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisReflectionAccessPattern.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisReflectionAccessPattern.cs
@@ -10,7 +10,7 @@
namespace ILLink.RoslynAnalyzer.TrimAnalysis
{
- public readonly record struct TrimAnalysisReflectionAccessPattern
+ internal readonly record struct TrimAnalysisReflectionAccessPattern
{
public IMethodSymbol ReferencedMethod { get; init; }
public IOperation Operation { get; init; }
@@ -30,7 +30,6 @@ public TrimAnalysisReflectionAccessPattern (
}
public TrimAnalysisReflectionAccessPattern Merge (
- ValueSetLattice lattice,
FeatureContextLattice featureContextLattice,
TrimAnalysisReflectionAccessPattern other)
{
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisVisitor.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisVisitor.cs
index 2d9cb6cd84160d..e1df1386d7bb65 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisVisitor.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisVisitor.cs
@@ -25,7 +25,7 @@
namespace ILLink.RoslynAnalyzer.TrimAnalysis
{
- public class TrimAnalysisVisitor : LocalDataFlowVisitor<
+ internal sealed class TrimAnalysisVisitor : LocalDataFlowVisitor<
MultiValue,
FeatureContext,
ValueSetLattice,
diff --git a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimDataFlowAnalysis.cs b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimDataFlowAnalysis.cs
index 60cbe85649932a..e1cf43256cd75e 100644
--- a/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimDataFlowAnalysis.cs
+++ b/src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimDataFlowAnalysis.cs
@@ -21,7 +21,7 @@
namespace ILLink.RoslynAnalyzer.TrimAnalysis
{
- public class TrimDataFlowAnalysis : LocalDataFlowAnalysis<
+ internal sealed class TrimDataFlowAnalysis : LocalDataFlowAnalysis<
MultiValue,
FeatureContext,
ValueSetLattice,
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/DefaultValueDictionary.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/DefaultValueDictionary.cs
index 49dc72f2b14a08..c0e0504dfb2804 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/DefaultValueDictionary.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/DefaultValueDictionary.cs
@@ -16,7 +16,7 @@ namespace ILLink.Shared.DataFlow
// the default value, or another value. The default value is never explicitly stored in the dictionary,
// and the empty dictionary (where all possible keys have the default value) is represented without
// actually allocating a dictionary.
- public struct DefaultValueDictionary : IEquatable>,
+ internal struct DefaultValueDictionary : IEquatable>,
IEnumerable>
where TKey : IEquatable
where TValue : IEquatable
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/DictionaryLattice.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/DictionaryLattice.cs
index 77732b28f4c7ad..cd0739eb492555 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/DictionaryLattice.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/DictionaryLattice.cs
@@ -9,7 +9,7 @@
namespace ILLink.Shared.DataFlow
{
// A lattice over dictionaries where the stored values are also from a lattice.
- public readonly struct DictionaryLattice : ILattice>
+ internal readonly struct DictionaryLattice : ILattice>
where TKey : IEquatable
where TValue : IEquatable
where TValueLattice : ILattice
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/ForwardDataFlowAnalysis.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/ForwardDataFlowAnalysis.cs
index 807f0c46b9b5f4..e36f75255b25c3 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/ForwardDataFlowAnalysis.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/ForwardDataFlowAnalysis.cs
@@ -13,7 +13,7 @@ namespace ILLink.Shared.DataFlow
// A generic implementation of a forward dataflow analysis. Forward means that it flows facts
// across code in the order of execution, starting from the beginning of a method,
// and merging values from predecessors.
- public abstract class ForwardDataFlowAnalysis
+ internal abstract class ForwardDataFlowAnalysis
where TValue : struct, IEquatable
where TState : class, IDataFlowState, new()
where TLattice : ILattice
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/IControlFlowGraph.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/IControlFlowGraph.cs
index d7b6a45b9ae0c4..d785b45e8998bc 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/IControlFlowGraph.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/IControlFlowGraph.cs
@@ -11,7 +11,7 @@
namespace ILLink.Shared.DataFlow
{
- public enum RegionKind
+ internal enum RegionKind
{
Try,
Catch,
@@ -19,24 +19,24 @@ public enum RegionKind
Finally
}
- public enum ConditionKind
+ internal enum ConditionKind
{
None,
WhenFalse,
WhenTrue,
}
- public interface IRegion : IEquatable
+ internal interface IRegion : IEquatable
{
RegionKind Kind { get; }
}
- public interface IBlock : IEquatable
+ internal interface IBlock : IEquatable
{
ConditionKind ConditionKind { get; }
}
- public interface IControlFlowGraph
+ internal interface IControlFlowGraph
where TBlock : struct, IBlock
where TRegion : IRegion
{
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/IDataFlowState.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/IDataFlowState.cs
index 26f056be835e03..9cc23230bde8ce 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/IDataFlowState.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/IDataFlowState.cs
@@ -8,14 +8,14 @@
namespace ILLink.Shared.DataFlow
{
- public sealed class Box where T : struct
+ internal sealed class Box where T : struct
{
public Box (T value) => Value = value;
public T Value { get; set; }
}
- public interface IDataFlowState
+ internal interface IDataFlowState
where TValue : struct, IEquatable
where TValueLattice : ILattice
{
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/IDeepCopyValue.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/IDeepCopyValue.cs
index da127809495263..3b5dd2da89da00 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/IDeepCopyValue.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/IDeepCopyValue.cs
@@ -7,7 +7,7 @@
namespace ILLink.Shared.DataFlow
{
// Adds ability to deep copy a value
- public interface IDeepCopyValue
+ internal interface IDeepCopyValue
{
public TSingleValue DeepCopy ();
}
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/ILattice.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/ILattice.cs
index 07f31c4e5ed356..7427e0970cd394 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/ILattice.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/ILattice.cs
@@ -24,7 +24,7 @@ namespace ILLink.Shared.DataFlow
// virtual interface method. This would avoid the need to pass around multiple generic arguments
// (TValue and TLattice). However, we can't use static virtual interface methods in the analyzer
// so the lattice instance provides the Top value.
- public interface ILattice where TValue : IEquatable
+ internal interface ILattice where TValue : IEquatable
{
// We require that the lattice has a "Top" or maximum element.
// Top is >= a for every element a of the lattice.
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/ITransfer.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/ITransfer.cs
index b7e12cd6928f6b..abfa880866c748 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/ITransfer.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/ITransfer.cs
@@ -23,7 +23,7 @@ namespace ILLink.Shared.DataFlow
// TLattice isn't typically used in the implementation except to provide the "Top" value.
// This expresses the conceptual constraint that the transferred values are part of a lattice.
- public interface ITransfer
+ internal interface ITransfer
where TValue : struct, IEquatable
where TState : class, IDataFlowState
where TLattice : ILattice
@@ -44,7 +44,7 @@ public interface ITransfer
+ internal interface INegate
{
TValue Negate ();
}
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/MaybeLattice.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/MaybeLattice.cs
index 65726b205539c3..4ff6f92e890a0d 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/MaybeLattice.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/MaybeLattice.cs
@@ -10,7 +10,7 @@ namespace ILLink.Shared.DataFlow
// Wrapper for Nullable which implements IEquatable so that this may
// be used as a lattice value. Nullable types can't satisfy interface constraints;
// see for example https://docs.microsoft.com/dotnet/csharp/misc/cs0313.
- public struct Maybe : IEquatable>, IDeepCopyValue>
+ internal struct Maybe : IEquatable>, IDeepCopyValue>
where T : struct, IEquatable
{
public T? MaybeValue;
@@ -31,7 +31,7 @@ public Maybe DeepCopy ()
public static bool operator != (Maybe left, Maybe right) => !(left == right);
}
- public struct MaybeLattice : ILattice>
+ internal struct MaybeLattice : ILattice>
where T : struct, IEquatable
where TValueLattice : ILattice
{
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/SingleValue.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/SingleValue.cs
index 79963757b9346a..a8712ff9b9e5f6 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/SingleValue.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/SingleValue.cs
@@ -12,7 +12,7 @@ namespace ILLink.Shared.DataFlow
// - known strings
// - known integers
- public abstract record SingleValue : IDeepCopyValue
+ internal abstract record SingleValue : IDeepCopyValue
{
// All values must explicitely declare their ability to deep copy itself.
// If the value is immutable, it can "return this" as an optimization.
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/ValueSet.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/ValueSet.cs
index ca1e5e0f07daef..14ae4fcf98ff68 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/ValueSet.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/ValueSet.cs
@@ -13,12 +13,14 @@
namespace ILLink.Shared.DataFlow
{
- public readonly struct ValueSet : IEquatable>, IDeepCopyValue>
+ internal readonly struct ValueSet : IEquatable>, IDeepCopyValue>
where TValue : notnull
{
const int MaxValuesInSet = 256;
+#pragma warning disable CS0649 // Field is never assigned to, and will always have its default value
public static readonly ValueSet Empty;
+#pragma warning restore CS0649
private sealed class ValueSetSentinel
{
@@ -76,7 +78,7 @@ public bool Equals (TValue other)
}
}
- public struct Enumerator : IEnumerator, IDisposable, IEnumerator
+ internal struct Enumerator : IEnumerator, IDisposable, IEnumerator
{
private readonly object? _value;
private int _state; // 0 before beginning, 1 at item, 2 after end
@@ -128,7 +130,7 @@ public void Reset ()
}
}
- public readonly struct Enumerable : IEnumerable
+ internal readonly struct Enumerable : IEnumerable
{
private readonly object? _values;
diff --git a/src/tools/illink/src/ILLink.Shared/DataFlow/ValueSetLattice.cs b/src/tools/illink/src/ILLink.Shared/DataFlow/ValueSetLattice.cs
index 8558fe8402f9d2..b68b7324a80935 100644
--- a/src/tools/illink/src/ILLink.Shared/DataFlow/ValueSetLattice.cs
+++ b/src/tools/illink/src/ILLink.Shared/DataFlow/ValueSetLattice.cs
@@ -9,7 +9,7 @@
namespace ILLink.Shared.DataFlow
{
// A lattice over ValueSets where the Meet operation is just set union.
- public readonly struct ValueSetLattice : ILattice>
+ internal readonly struct ValueSetLattice : ILattice>
where TValue : IEquatable
{
public ValueSet Top => default;
diff --git a/src/tools/illink/src/ILLink.Shared/DiagnosticString.cs b/src/tools/illink/src/ILLink.Shared/DiagnosticString.cs
index ce505e1c7727b1..81cd4952efe7c7 100644
--- a/src/tools/illink/src/ILLink.Shared/DiagnosticString.cs
+++ b/src/tools/illink/src/ILLink.Shared/DiagnosticString.cs
@@ -8,7 +8,7 @@
namespace ILLink.Shared
{
- public readonly struct DiagnosticString
+ internal readonly struct DiagnosticString
{
private readonly string _titleFormat;
private readonly string _messageFormat;
diff --git a/src/tools/illink/src/ILLink.Shared/ParameterIndex.cs b/src/tools/illink/src/ILLink.Shared/ParameterIndex.cs
index 7a6ea68084143e..05dfcf9e5726d7 100644
--- a/src/tools/illink/src/ILLink.Shared/ParameterIndex.cs
+++ b/src/tools/illink/src/ILLink.Shared/ParameterIndex.cs
@@ -27,7 +27,7 @@ namespace ILLink.Shared.TypeSystemProxy
/// 1 refers to b,
/// 2 refers to c.
///
- public readonly struct ParameterIndex : System.IEquatable
+ internal readonly struct ParameterIndex : System.IEquatable
{
public readonly int Index;
diff --git a/src/tools/illink/src/ILLink.Shared/TrimAnalysis/ReferenceKind.cs b/src/tools/illink/src/ILLink.Shared/TrimAnalysis/ReferenceKind.cs
index 7355ef8f4ec457..e25016000fbe9f 100644
--- a/src/tools/illink/src/ILLink.Shared/TrimAnalysis/ReferenceKind.cs
+++ b/src/tools/illink/src/ILLink.Shared/TrimAnalysis/ReferenceKind.cs
@@ -4,7 +4,7 @@
namespace ILLink.Shared.TypeSystemProxy
{
- public enum ReferenceKind
+ internal enum ReferenceKind
{
Ref,
In,
diff --git a/src/tools/illink/src/ILLink.Shared/TrimAnalysis/ValueWithDynamicallyAccessedMembers.cs b/src/tools/illink/src/ILLink.Shared/TrimAnalysis/ValueWithDynamicallyAccessedMembers.cs
index c67d30040d2a73..4c38dda5a18000 100644
--- a/src/tools/illink/src/ILLink.Shared/TrimAnalysis/ValueWithDynamicallyAccessedMembers.cs
+++ b/src/tools/illink/src/ILLink.Shared/TrimAnalysis/ValueWithDynamicallyAccessedMembers.cs
@@ -10,7 +10,7 @@
namespace ILLink.Shared.TrimAnalysis
{
- public abstract record ValueWithDynamicallyAccessedMembers : SingleValue
+ internal abstract record ValueWithDynamicallyAccessedMembers : SingleValue
{
public abstract DynamicallyAccessedMemberTypes DynamicallyAccessedMemberTypes { get; }
diff --git a/src/tools/illink/src/ILLink.Shared/TypeSystemProxy/ParameterCollection.cs b/src/tools/illink/src/ILLink.Shared/TypeSystemProxy/ParameterCollection.cs
index a7a4310cda135e..de8b16029b1be2 100644
--- a/src/tools/illink/src/ILLink.Shared/TypeSystemProxy/ParameterCollection.cs
+++ b/src/tools/illink/src/ILLink.Shared/TypeSystemProxy/ParameterCollection.cs
@@ -34,7 +34,7 @@ public ParameterProxyEnumerable (int start, int end, MethodProxy method)
IEnumerator IEnumerable.GetEnumerator () => new ParameterEnumerator (_start, _end, _method);
- public struct ParameterEnumerator : IEnumerator
+ internal struct ParameterEnumerator : IEnumerator
{
private readonly int _start;
private int _current;
diff --git a/src/tools/illink/src/ILLink.Shared/TypeSystemProxy/WellKnownType.cs b/src/tools/illink/src/ILLink.Shared/TypeSystemProxy/WellKnownType.cs
index d673f5c0b3e242..aa1680b7de4d81 100644
--- a/src/tools/illink/src/ILLink.Shared/TypeSystemProxy/WellKnownType.cs
+++ b/src/tools/illink/src/ILLink.Shared/TypeSystemProxy/WellKnownType.cs
@@ -9,7 +9,7 @@
namespace ILLink.Shared.TypeSystemProxy
{
[Closed]
- public enum WellKnownType
+ internal enum WellKnownType
{
System_String,
System_Nullable_T,
@@ -23,7 +23,7 @@ public enum WellKnownType
System_Void
}
- public static partial class WellKnownTypeExtensions
+ internal static partial class WellKnownTypeExtensions
{
public static (string Namespace, string Name) GetNamespaceAndName (this WellKnownType type)
{
diff --git a/src/tools/illink/src/ILLink.Tasks/Utils.cs b/src/tools/illink/src/ILLink.Tasks/Utils.cs
index 87c802b301b235..8b78758a4d695e 100644
--- a/src/tools/illink/src/ILLink.Tasks/Utils.cs
+++ b/src/tools/illink/src/ILLink.Tasks/Utils.cs
@@ -7,7 +7,7 @@
namespace ILLink.Tasks
{
- public static class Utils
+ internal static class Utils
{
public static bool IsManagedAssembly (string fileName)
{
diff --git a/src/tools/illink/src/linker/CompatibilitySuppressions.xml b/src/tools/illink/src/linker/CompatibilitySuppressions.xml
index a1c6c7ff82976c..50de7e19c8cdea 100644
--- a/src/tools/illink/src/linker/CompatibilitySuppressions.xml
+++ b/src/tools/illink/src/linker/CompatibilitySuppressions.xml
@@ -1,1414 +1,140 @@
+
+
CP0001
- T:ILLink.Shared.DataFlow.Box`1
-
-
- CP0001
- T:ILLink.Shared.DataFlow.ConditionKind
-
-
- CP0001
- T:ILLink.Shared.DataFlow.DefaultValueDictionary`2
-
-
- CP0001
- T:ILLink.Shared.DataFlow.DictionaryLattice`3
-
-
- CP0001
- T:ILLink.Shared.DataFlow.ForwardDataFlowAnalysis`8
-
-
- CP0001
- T:ILLink.Shared.DataFlow.IBlock`1
-
-
- CP0001
- T:ILLink.Shared.DataFlow.IControlFlowGraph`2
-
-
- CP0001
- T:ILLink.Shared.DataFlow.IDataFlowState`2
-
-
- CP0001
- T:ILLink.Shared.DataFlow.IDeepCopyValue`1
-
-
- CP0001
- T:ILLink.Shared.DataFlow.ILattice`1
-
-
- CP0001
- T:ILLink.Shared.DataFlow.INegate`1
-
-
- CP0001
- T:ILLink.Shared.DataFlow.IRegion`1
-
-
- CP0001
- T:ILLink.Shared.DataFlow.ITransfer`5
-
-
- CP0001
- T:ILLink.Shared.DataFlow.Maybe`1
-
-
- CP0001
- T:ILLink.Shared.DataFlow.MaybeLattice`2
-
-
- CP0001
- T:ILLink.Shared.DataFlow.RegionKind
-
-
- CP0001
- T:ILLink.Shared.DataFlow.SingleValue
-
-
- CP0001
- T:ILLink.Shared.DataFlow.ValueSet`1
-
-
- CP0001
- T:ILLink.Shared.DataFlow.ValueSetLattice`1
-
-
- CP0001
- T:ILLink.Shared.DiagnosticId
-
-
- CP0001
- T:ILLink.Shared.DiagnosticIdExtensions
-
-
- CP0001
- T:ILLink.Shared.DiagnosticString
-
-
- CP0001
- T:ILLink.Shared.MessageSubCategory
-
-
- CP0001
- T:ILLink.Shared.TrimAnalysis.FieldReferenceValue
-
-
- CP0001
- T:ILLink.Shared.TrimAnalysis.LocalVariableReferenceValue
-
-
- CP0001
- T:ILLink.Shared.TrimAnalysis.ReferenceValue
-
-
- CP0001
- T:ILLink.Shared.TrimAnalysis.ValueWithDynamicallyAccessedMembers
-
-
- CP0001
- T:ILLink.Shared.TypeSystemProxy.ParameterIndex
-
-
- CP0001
- T:ILLink.Shared.TypeSystemProxy.ReferenceKind
-
-
- CP0001
- T:ILLink.Shared.TypeSystemProxy.WellKnownType
-
-
- CP0001
- T:ILLink.Shared.TypeSystemProxy.WellKnownTypeExtensions
-
-
- CP0001
- T:Mono.Linker.AssemblyDefinitionExtensions
-
-
- CP0001
- T:Mono.Linker.AssemblyResolver
-
-
- CP0001
- T:Mono.Linker.AssemblyRootMode
-
-
- CP0001
- T:Mono.Linker.AttributeInfo
-
-
- CP0001
- T:Mono.Linker.BannedApiExtensions
-
-
- CP0001
- T:Mono.Linker.BCL
-
-
- CP0001
- T:Mono.Linker.CodeOptimizations
-
-
- CP0001
- T:Mono.Linker.CodeOptimizationsSettings
-
-
- CP0001
- T:Mono.Linker.ConsoleLogger
-
-
- CP0001
- T:Mono.Linker.CustomAttributeArgumentExtensions
-
-
- CP0001
- T:Mono.Linker.CustomAttributeSource
-
-
- CP0001
- T:Mono.Linker.Dataflow.AttributeDataFlow
-
-
- CP0001
- T:Mono.Linker.Dataflow.CompilerGeneratedState
-
-
- CP0001
- T:Mono.Linker.Dataflow.GenericArgumentDataFlow
-
-
- CP0001
- T:Mono.Linker.Dataflow.HoistedLocalKey
-
-
- CP0001
- T:Mono.Linker.Dataflow.ReflectionMarker
-
-
- CP0001
- T:Mono.Linker.Dataflow.TrimAnalysisAssignmentPattern
-
-
- CP0001
- T:Mono.Linker.Dataflow.TrimAnalysisMethodCallPattern
-
-
- CP0001
- T:Mono.Linker.Dataflow.TrimAnalysisPatternStore
-
-
- CP0001
- T:Mono.Linker.Dataflow.ValueBasicBlockPair
-
-
- CP0001
- T:Mono.Linker.Dataflow.ValueNodeList
-
-
- CP0001
- T:Mono.Linker.DependencyInfo
-
-
- CP0001
- T:Mono.Linker.DependencyKind
-
-
- CP0001
- T:Mono.Linker.DependencyRecorderHelper
-
-
- CP0001
- T:Mono.Linker.DgmlDependencyRecorder
-
-
- CP0001
- T:Mono.Linker.DocumentationSignatureGenerator
-
-
- CP0001
- T:Mono.Linker.DocumentationSignatureParser
-
-
- CP0001
- T:Mono.Linker.Driver
-
-
- CP0001
- T:Mono.Linker.EmbeddedXmlInfo
-
-
- CP0001
- T:Mono.Linker.FeatureSettings
-
-
- CP0001
- T:Mono.Linker.IDependencyRecorder
-
-
- CP0001
- T:Mono.Linker.ILogger
-
-
- CP0001
- T:Mono.Linker.InterfaceImplementor
-
-
- CP0001
- T:Mono.Linker.InternalErrorException
-
-
- CP0001
- T:Mono.Linker.ITryResolveMetadata
-
-
- CP0001
- T:Mono.Linker.IXApiVisitor
-
-
- CP0001
- T:Mono.Linker.KnownMembers
-
-
- CP0001
- T:Mono.Linker.LinkerFatalErrorException
-
-
- CP0001
- T:Mono.Linker.LinkerILProcessor
-
-
- CP0001
- T:Mono.Linker.MarkingHelpers
-
-
- CP0001
- T:Mono.Linker.MemberActionStore
-
-
- CP0001
- T:Mono.Linker.MemberReferenceExtensions
-
-
- CP0001
- T:Mono.Linker.MetadataTrimming
-
-
- CP0001
- T:Mono.Linker.MethodBodyScanner
-
-
- CP0001
- T:Mono.Linker.MethodDefinitionExtensions
-
-
- CP0001
- T:Mono.Linker.MethodIL
-
-
- CP0001
- T:Mono.Linker.MethodReferenceExtensions
-
-
- CP0001
- T:Mono.Linker.ModuleDefinitionExtensions
-
-
- CP0001
- T:Mono.Linker.OverrideInformation.OverridePair
-
-
- CP0001
- T:Mono.Linker.ParameterHelpers
-
-
- CP0001
- T:Mono.Linker.PInvokeInfo
-
-
- CP0001
- T:Mono.Linker.Pipeline
-
-
- CP0001
- T:Mono.Linker.PlatformAssemblies
-
-
- CP0001
- T:Mono.Linker.RemoveAttributeInstancesAttribute
-
-
- CP0001
- T:Mono.Linker.SerializationMarker
-
-
- CP0001
- T:Mono.Linker.SerializerKind
-
-
- CP0001
- T:Mono.Linker.Steps.AddBypassNGenStep
-
-
- CP0001
- T:Mono.Linker.Steps.AllowedAssemblies
-
-
- CP0001
- T:Mono.Linker.Steps.BodySubstituterStep
-
-
- CP0001
- T:Mono.Linker.Steps.BodySubstitutionParser
-
-
- CP0001
- T:Mono.Linker.Steps.CheckSuppressionsDispatcher
-
-
- CP0001
- T:Mono.Linker.Steps.CheckSuppressionsStep
-
-
- CP0001
- T:Mono.Linker.Steps.CleanStep
-
-
- CP0001
- T:Mono.Linker.Steps.CodeRewriterStep
-
-
- CP0001
- T:Mono.Linker.Steps.DescriptorMarker
-
-
- CP0001
- T:Mono.Linker.Steps.DiscoverOperatorsHandler
-
-
- CP0001
- T:Mono.Linker.Steps.DiscoverSerializationHandler
-
-
- CP0001
- T:Mono.Linker.Steps.LinkAttributesParser
-
-
- CP0001
- T:Mono.Linker.Steps.LinkAttributesStep
-
-
- CP0001
- T:Mono.Linker.Steps.MarkExportedTypesTarget
-
-
- CP0001
- T:Mono.Linker.Steps.MarkScopeStack
-
-
- CP0001
- T:Mono.Linker.Steps.MarkStep
-
-
- CP0001
- T:Mono.Linker.Steps.MarkStepContext
-
-
- CP0001
- T:Mono.Linker.Steps.OutputStep
-
-
- CP0001
- T:Mono.Linker.Steps.OutputWarningSuppressions
-
-
- CP0001
- T:Mono.Linker.Steps.ProcessLinkerXmlBase
-
-
- CP0001
- T:Mono.Linker.Steps.ProcessLinkerXmlStepBase
-
-
- CP0001
- T:Mono.Linker.Steps.ProcessReferencesStep
-
-
- CP0001
- T:Mono.Linker.Steps.ProcessWarningsStep
-
-
- CP0001
- T:Mono.Linker.Steps.ReflectionBlockedStep
-
-
- CP0001
- T:Mono.Linker.Steps.RegenerateGuidStep
-
-
- CP0001
- T:Mono.Linker.Steps.RemoveResourcesStep
-
-
- CP0001
- T:Mono.Linker.Steps.RemoveSecurity
-
-
- CP0001
- T:Mono.Linker.Steps.ResolveFromXmlStep
-
-
- CP0001
- T:Mono.Linker.Steps.RootAssemblyInput
-
-
- CP0001
- T:Mono.Linker.Steps.SealerStep
-
-
- CP0001
- T:Mono.Linker.Steps.SweepStep
-
-
- CP0001
- T:Mono.Linker.Steps.UnreachableBlocksOptimizer
-
-
- CP0001
- T:Mono.Linker.Steps.ValidateVirtualMethodAnnotationsStep
-
-
- CP0001
- T:Mono.Linker.SubstitutionInfo
-
-
- CP0001
- T:Mono.Linker.SuppressMessageInfo
-
-
- CP0001
- T:Mono.Linker.TargetRuntimeVersion
-
-
- CP0001
- T:Mono.Linker.Tracer
-
-
- CP0001
- T:Mono.Linker.TypeDefinitionExtensions
-
-
- CP0001
- T:Mono.Linker.TypeMapInfo
-
-
- CP0001
- T:Mono.Linker.TypePreserveMembers
-
-
- CP0001
- T:Mono.Linker.TypeReferenceExtensions
-
-
- CP0001
- T:Mono.Linker.UnconditionalSuppressMessageAttributeState
-
-
- CP0001
- T:Mono.Linker.UnintializedContextFactory
-
-
- CP0001
- T:Mono.Linker.WarningSuppressionWriter
-
-
- CP0001
- T:Mono.Linker.XmlDependencyRecorder
-
-
- CP0001
- T:System.Reflection.AssemblyNameHelpers
-
-
- CP0001
- T:System.Reflection.Runtime.TypeParsing.AssemblyQualifiedTypeName
-
-
- CP0001
- T:System.Reflection.Runtime.TypeParsing.NonQualifiedTypeName
-
-
- CP0001
- T:System.Reflection.Runtime.TypeParsing.TypeName
-
-
- CP0001
- T:System.Reflection.Runtime.TypeParsing.TypeParser
-
-
- CP0001
- T:System.Reflection.RuntimeAssemblyName
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.assembly_actions
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.context
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.fieldType_init
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.indirectly_called
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.marked_attributes
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.marked_instantiated
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.marked_pending
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.pending_preserve
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.preserved_exportedtype_members
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.preserved_methods
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.preserved_type_members
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.preserved_types
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.processed
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.public_api
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.resources_to_remove
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.symbol_readers
-
-
- CP0002
- F:Mono.Linker.AnnotationStore.types_relevant_to_variant_casting
-
-
- CP0002
- F:Mono.Linker.LinkContext.PInvokesListFile
-
-
- CP0002
- F:Mono.Linker.MessageCategory.WarningAsError
-
-
- CP0002
- F:Mono.Linker.MessageContainer.Empty
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.#ctor(Mono.Linker.LinkContext)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.AddResourceToRemove(Mono.Cecil.AssemblyDefinition,Mono.Cecil.EmbeddedResource)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.AddSymbolReader(Mono.Cecil.AssemblyDefinition,Mono.Cecil.Cil.ISymbolReader)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.ChoosePreserveActionWhichPreservesTheMost(Mono.Linker.TypePreserve,Mono.Linker.TypePreserve)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.ClearPreservedMethods(Mono.Cecil.MethodDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.ClearPreservedMethods(Mono.Cecil.TypeDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.CloseSymbolReader(Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.EnqueueVirtualMethod(Mono.Cecil.MethodDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.get_MemberActions
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.get_ProcessSatelliteAssemblies
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.get_Tracer
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.get_TypeMapInfo
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.GetAction(Mono.Cecil.MethodDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.GetAssemblies
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.GetBaseMethods(Mono.Cecil.MethodDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.GetDefaultInterfaceImplementations(Mono.Cecil.MethodDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.GetLinkerAttributes``1(Mono.Cecil.IMemberDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.GetMarkedPending
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.GetPendingPreserve
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.GetPreservedMethods(Mono.Cecil.MethodDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.GetPreservedMethods(Mono.Cecil.TypeDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.GetResourcesToRemove(Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.HasAppliedPreserve(Mono.Cecil.TypeDefinition,Mono.Linker.TypePreserve)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.HasLinkerAttribute``1(Mono.Cecil.IMemberDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.HasMarkedAnyIndirectlyCalledMethods
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.HasPreservedStaticCtor(Mono.Cecil.TypeDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.HasSubstitutedInit(Mono.Cecil.FieldDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.HasSubstitutedInit(Mono.Cecil.TypeDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.IsIndirectlyCalled(Mono.Cecil.MethodDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.IsInstantiated(Mono.Cecil.TypeDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.IsProcessed(Mono.Cecil.IMetadataTokenProvider)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.IsPublic(Mono.Cecil.IMetadataTokenProvider)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.IsReflectionUsed(Mono.Cecil.IMemberDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.IsRelevantToVariantCasting(Mono.Cecil.TypeDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.IsRootAssembly(Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.Mark(Mono.Cecil.CustomAttribute,Mono.Linker.DependencyInfo@)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.Mark(Mono.Cecil.IMetadataTokenProvider,Mono.Linker.DependencyInfo@,Mono.Linker.MessageOrigin@)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.MarkIndirectlyCalledMethod(Mono.Cecil.MethodDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.MarkInstantiated(Mono.Cecil.TypeDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.MarkProcessed(Mono.Cecil.IMetadataTokenProvider,Mono.Linker.DependencyInfo@)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.MarkReflectionUsed(Mono.Cecil.IMemberDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.MarkRelevantToVariantCasting(Mono.Cecil.TypeDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.PrepareDependenciesDump
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.PrepareDependenciesDump(System.String)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.set_ProcessSatelliteAssemblies(System.Boolean)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.SetAppliedPreserve(Mono.Cecil.TypeDefinition,Mono.Linker.TypePreserve)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.SetMembersPreserve(Mono.Cecil.ExportedType,Mono.Linker.TypePreserveMembers)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.SetMembersPreserve(Mono.Cecil.TypeDefinition,Mono.Linker.TypePreserveMembers)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.SetPreservedStaticCtor(Mono.Cecil.TypeDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.SetProcessed(Mono.Cecil.IMetadataTokenProvider)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.SetPublic(Mono.Cecil.IMetadataTokenProvider)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.SetRootAssembly(Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.SetSubstitutedInit(Mono.Cecil.TypeDefinition)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.TryGetFieldUserValue(Mono.Cecil.FieldDefinition,System.Object@)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.TryGetLinkerAttribute``1(Mono.Cecil.IMemberDefinition,``0@)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.TryGetMethodStubValue(Mono.Cecil.MethodDefinition,System.Object@)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.TryGetPreserve(Mono.Cecil.TypeDefinition,Mono.Linker.TypePreserve@)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.TryGetPreservedMembers(Mono.Cecil.ExportedType,Mono.Linker.TypePreserveMembers@)
-
-
- CP0002
- M:Mono.Linker.AnnotationStore.TryGetPreservedMembers(Mono.Cecil.TypeDefinition,Mono.Linker.TypePreserveMembers@)
-
-
- CP0002
- M:Mono.Linker.LinkContext.#ctor(Mono.Linker.Pipeline,Mono.Linker.ILogger,System.String,Mono.Linker.UnintializedContextFactory)
-
-
- CP0002
- M:Mono.Linker.LinkContext.#ctor(Mono.Linker.Pipeline,Mono.Linker.ILogger,System.String)
-
-
- CP0002
- M:Mono.Linker.LinkContext.CalculateAssemblyAction(Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.LinkContext.CanApplyOptimization(Mono.Linker.CodeOptimizations,Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.LinkContext.Dispose
-
-
- CP0002
- M:Mono.Linker.LinkContext.FatalError(System.String,System.Int32,System.Exception,System.String,System.Nullable{Mono.Linker.MessageOrigin})
-
-
- CP0002
- M:Mono.Linker.LinkContext.FatalError(System.String,System.Int32,System.String,System.Nullable{Mono.Linker.MessageOrigin})
-
-
- CP0002
- M:Mono.Linker.LinkContext.FlushCachedWarnings
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_Actions
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_AddReflectionAnnotations
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_AssembliesWithGeneratedSingleWarning
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_AssemblyListFile
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_CompilerGeneratedState
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_CustomAttributes
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_DefaultAction
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_DeterministicOutput
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_DisableEventSourceSpecialHandling
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_DisableOperatorDiscovery
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_EmbeddedXmlInfo
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_EnableReducedTracing
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_EnableSerializationDiscovery
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_ErrorsCount
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_FeatureSettings
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_GeneralSingleWarn
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_GeneralWarnAsError
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_IgnoreDescriptors
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_IgnoreLinkAttributes
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_IgnoreSubstitutions
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_IgnoreUnresolved
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_KeepMembersForDebugger
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_KeepUsedAttributeTypesOnly
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_LinkSymbols
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_LogMessages
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_MarkedKnownMembers
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_MarkHandlers
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_MarkingHelpers
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_MetadataTrimming
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_NoTrimWarn
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_NoWarn
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_Optimizations
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_OutputDirectory
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_PInvokes
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_Pipeline
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_Resolver
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_SerializationMarker
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_SingleWarn
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_StripSecurity
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_Suppressions
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_SymbolReaderProvider
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_Tracer
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_TrimAction
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_WarnAsError
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_WarningSuppressionWriter
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_WarnVersion
-
-
- CP0002
- M:Mono.Linker.LinkContext.GetAssemblies
-
-
- CP0002
- M:Mono.Linker.LinkContext.GetMethodIL(Mono.Cecil.Cil.MethodBody)
-
-
- CP0002
- M:Mono.Linker.LinkContext.GetMethodIL(Mono.Cecil.MethodDefinition)
-
-
- CP0002
- M:Mono.Linker.LinkContext.GetReferencedAssemblies
-
-
- CP0002
- M:Mono.Linker.LinkContext.GetTargetRuntimeVersion
-
-
- CP0002
- M:Mono.Linker.LinkContext.HasFeatureValue(System.String,System.Boolean)
-
-
- CP0002
- M:Mono.Linker.LinkContext.IsOptimizationEnabled(Mono.Linker.CodeOptimizations,Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.LinkContext.IsOptimizationEnabled(Mono.Linker.CodeOptimizations,Mono.Cecil.MemberReference)
-
-
- CP0002
- M:Mono.Linker.LinkContext.IsSingleWarn(System.String)
-
-
- CP0002
- M:Mono.Linker.LinkContext.IsTrimmable(Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.LinkContext.IsWarningAsError(System.Int32)
-
-
- CP0002
- M:Mono.Linker.LinkContext.IsWarningSuppressed(System.Int32,System.String,Mono.Linker.MessageOrigin)
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogDiagnostic(System.String)
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogError(System.Nullable{Mono.Linker.MessageOrigin},ILLink.Shared.DiagnosticId,System.String[])
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogError(System.String,System.Int32,System.String,System.Nullable{Mono.Linker.MessageOrigin})
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogMessage(System.String)
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogWarning(Mono.Cecil.IMemberDefinition,ILLink.Shared.DiagnosticId,System.Nullable{System.Int32},System.String[])
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogWarning(Mono.Cecil.IMemberDefinition,ILLink.Shared.DiagnosticId,System.String[])
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogWarning(Mono.Linker.MessageOrigin,ILLink.Shared.DiagnosticId,System.String[])
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogWarning(System.String,ILLink.Shared.DiagnosticId,System.String[])
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogWarning(System.String,System.Int32,Mono.Cecil.IMemberDefinition,System.Nullable{System.Int32},System.String)
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogWarning(System.String,System.Int32,Mono.Linker.MessageOrigin,System.String)
-
-
- CP0002
- M:Mono.Linker.LinkContext.LogWarning(System.String,System.Int32,System.String,System.String)
-
-
- CP0002
- M:Mono.Linker.LinkContext.RegisterAssembly(Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.LinkContext.RegisterAssemblyAction(System.String,Mono.Linker.AssemblyAction)
-
-
- CP0002
- M:Mono.Linker.LinkContext.ReportUnresolved(Mono.Cecil.ExportedType)
-
-
- CP0002
- M:Mono.Linker.LinkContext.ReportUnresolved(Mono.Cecil.FieldReference)
-
-
- CP0002
- M:Mono.Linker.LinkContext.ReportUnresolved(Mono.Cecil.MethodReference)
-
-
- CP0002
- M:Mono.Linker.LinkContext.ReportUnresolved(Mono.Cecil.TypeReference)
-
-
- CP0002
- M:Mono.Linker.LinkContext.Resolve(Mono.Cecil.ExportedType)
-
-
- CP0002
- M:Mono.Linker.LinkContext.Resolve(Mono.Cecil.IMetadataScope)
-
-
- CP0002
- M:Mono.Linker.LinkContext.ResolveReferences(Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.LinkContext.SafeReadSymbols(Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.LinkContext.SeenFirstTime(Mono.Cecil.AssemblyDefinition)
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_AddReflectionAnnotations(System.Boolean)
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_AssembliesWithGeneratedSingleWarning(System.Collections.Generic.HashSet{System.String})
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_AssemblyListFile(System.String)
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_DefaultAction(Mono.Linker.AssemblyAction)
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_DeterministicOutput(System.Boolean)
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_DisableEventSourceSpecialHandling(System.Boolean)
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_DisableOperatorDiscovery(System.Boolean)
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_EnableReducedTracing(System.Boolean)
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_EnableSerializationDiscovery(System.Boolean)
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_FeatureSettings(System.Collections.Generic.Dictionary{System.String,System.Boolean})
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_GeneralSingleWarn(System.Boolean)
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_GeneralWarnAsError(System.Boolean)
+ T:ILLink.Shared.DiagnosticId
- CP0002
- M:Mono.Linker.LinkContext.set_IgnoreDescriptors(System.Boolean)
+ CP0001
+ T:ILLink.Shared.DiagnosticIdExtensions
+
+
- CP0002
- M:Mono.Linker.LinkContext.set_IgnoreLinkAttributes(System.Boolean)
+ CP0001
+ T:ILLink.Shared.MessageSubCategory
+
+
- CP0002
- M:Mono.Linker.LinkContext.set_IgnoreSubstitutions(System.Boolean)
+ CP0001
+ T:System.Reflection.AssemblyNameHelpers
- CP0002
- M:Mono.Linker.LinkContext.set_IgnoreUnresolved(System.Boolean)
+ CP0001
+ T:System.Reflection.Runtime.TypeParsing.AssemblyQualifiedTypeName
- CP0002
- M:Mono.Linker.LinkContext.set_KeepMembersForDebugger(System.Boolean)
+ CP0001
+ T:System.Reflection.Runtime.TypeParsing.NonQualifiedTypeName
- CP0002
- M:Mono.Linker.LinkContext.set_KeepUsedAttributeTypesOnly(System.Boolean)
+ CP0001
+ T:System.Reflection.Runtime.TypeParsing.TypeName
- CP0002
- M:Mono.Linker.LinkContext.set_LinkSymbols(System.Boolean)
+ CP0001
+ T:System.Reflection.Runtime.TypeParsing.TypeParser
- CP0002
- M:Mono.Linker.LinkContext.set_LogMessages(System.Boolean)
+ CP0001
+ T:System.Reflection.RuntimeAssemblyName
+
+
- CP0002
- M:Mono.Linker.LinkContext.set_MetadataTrimming(Mono.Linker.MetadataTrimming)
+ CP0001
+ T:Mono.Linker.LinkerILProcessor
+ ref/net8.0/illink.dll
+ lib/net8.0/illink.dll
CP0002
- M:Mono.Linker.LinkContext.set_NoTrimWarn(System.Boolean)
+ F:Mono.Linker.AnnotationStore.assembly_actions
CP0002
- M:Mono.Linker.LinkContext.set_NoWarn(System.Collections.Generic.HashSet{System.Int32})
+ F:Mono.Linker.AnnotationStore.context
CP0002
- M:Mono.Linker.LinkContext.set_Optimizations(Mono.Linker.CodeOptimizationsSettings)
+ F:Mono.Linker.AnnotationStore.fieldType_init
CP0002
- M:Mono.Linker.LinkContext.set_OutputDirectory(System.String)
+ F:Mono.Linker.AnnotationStore.indirectly_called
CP0002
- M:Mono.Linker.LinkContext.set_SingleWarn(System.Collections.Generic.Dictionary{System.String,System.Boolean})
+ F:Mono.Linker.AnnotationStore.marked_attributes
CP0002
- M:Mono.Linker.LinkContext.set_StripSecurity(System.Boolean)
+ F:Mono.Linker.AnnotationStore.marked_instantiated
CP0002
- M:Mono.Linker.LinkContext.set_Suppressions(Mono.Linker.UnconditionalSuppressMessageAttributeState)
+ F:Mono.Linker.AnnotationStore.marked_pending
CP0002
- M:Mono.Linker.LinkContext.set_SymbolReaderProvider(Mono.Cecil.Cil.ISymbolReaderProvider)
+ F:Mono.Linker.AnnotationStore.pending_preserve
CP0002
- M:Mono.Linker.LinkContext.set_TrimAction(Mono.Linker.AssemblyAction)
+ F:Mono.Linker.AnnotationStore.preserved_exportedtype_members
CP0002
- M:Mono.Linker.LinkContext.set_WarnAsError(System.Collections.Generic.Dictionary{System.Int32,System.Boolean})
+ F:Mono.Linker.AnnotationStore.preserved_methods
CP0002
- M:Mono.Linker.LinkContext.set_WarningSuppressionWriter(Mono.Linker.WarningSuppressionWriter)
+ F:Mono.Linker.AnnotationStore.preserved_type_members
CP0002
- M:Mono.Linker.LinkContext.set_WarnVersion(Mono.Linker.WarnVersion)
+ F:Mono.Linker.AnnotationStore.preserved_types
CP0002
- M:Mono.Linker.LinkContext.SetAction(Mono.Cecil.AssemblyDefinition,Mono.Linker.AssemblyAction)
+ F:Mono.Linker.AnnotationStore.processed
CP0002
- M:Mono.Linker.LinkContext.SetCustomData(System.String,System.String)
+ F:Mono.Linker.AnnotationStore.public_api
CP0002
- M:Mono.Linker.LinkContext.SetFeatureValue(System.String,System.Boolean)
+ F:Mono.Linker.AnnotationStore.resources_to_remove
CP0002
- M:Mono.Linker.LinkContext.TryResolve(Mono.Cecil.AssemblyDefinition,System.String)
+ F:Mono.Linker.AnnotationStore.symbol_readers
CP0002
- M:Mono.Linker.LinkContext.TryResolve(Mono.Cecil.AssemblyNameReference)
-
+ F:Mono.Linker.AnnotationStore.types_relevant_to_variant_casting
+
+
+
CP0002
- M:Mono.Linker.LinkContext.TryResolve(Mono.Cecil.ExportedType)
+ F:Mono.Linker.MessageCategory.WarningAsError
+
+
CP0002
- M:Mono.Linker.LinkContext.TryResolve(System.String)
+ M:Mono.Linker.LinkContext.Dispose
CP0002
M:Mono.Linker.MessageContainer.CompareTo(Mono.Linker.MessageContainer)
-
- CP0002
- M:Mono.Linker.MessageContainer.get_Category
-
-
- CP0002
- M:Mono.Linker.MessageContainer.get_Code
-
-
- CP0002
- M:Mono.Linker.MessageContainer.get_Origin
-
-
- CP0002
- M:Mono.Linker.MessageContainer.get_SubCategory
-
-
- CP0002
- M:Mono.Linker.MessageContainer.get_Text
-
-
- CP0002
- M:Mono.Linker.MessageContainer.IsWarningMessage(System.Nullable{System.Int32}@)
-
CP0002
M:Mono.Linker.MessageContainer.op_Equality(Mono.Linker.MessageContainer,Mono.Linker.MessageContainer)
@@ -1417,54 +143,10 @@
CP0002
M:Mono.Linker.MessageContainer.op_Inequality(Mono.Linker.MessageContainer,Mono.Linker.MessageContainer)
-
- CP0002
- M:Mono.Linker.MessageContainer.ToMSBuildString
-
-
- CP0002
- M:Mono.Linker.MessageOrigin.#ctor(Mono.Cecil.ICustomAttributeProvider,System.Nullable{System.Int32})
-
-
- CP0002
- M:Mono.Linker.MessageOrigin.#ctor(Mono.Cecil.ICustomAttributeProvider)
-
-
- CP0002
- M:Mono.Linker.MessageOrigin.#ctor(Mono.Linker.MessageOrigin,System.Int32)
-
-
- CP0002
- M:Mono.Linker.MessageOrigin.#ctor(Mono.Linker.MessageOrigin)
-
-
- CP0002
- M:Mono.Linker.MessageOrigin.#ctor(System.String,System.Int32,System.Int32,Mono.Cecil.AssemblyDefinition)
-
CP0002
M:Mono.Linker.MessageOrigin.CompareTo(Mono.Linker.MessageOrigin)
-
- CP0002
- M:Mono.Linker.MessageOrigin.get_FileName
-
-
- CP0002
- M:Mono.Linker.MessageOrigin.get_ILOffset
-
-
- CP0002
- M:Mono.Linker.MessageOrigin.get_Provider
-
-
- CP0002
- M:Mono.Linker.MessageOrigin.get_SourceColumn
-
-
- CP0002
- M:Mono.Linker.MessageOrigin.get_SourceLine
-
CP0002
M:Mono.Linker.MessageOrigin.op_Equality(Mono.Linker.MessageOrigin,Mono.Linker.MessageOrigin)
@@ -1473,46 +155,8 @@
CP0002
M:Mono.Linker.MessageOrigin.op_Inequality(Mono.Linker.MessageOrigin,Mono.Linker.MessageOrigin)
-
- CP0002
- M:Mono.Linker.MessageOrigin.WithInstructionOffset(System.Int32)
-
-
- CP0002
- M:Mono.Linker.OverrideInformation.#ctor(Mono.Cecil.MethodDefinition,Mono.Cecil.MethodDefinition,Mono.Linker.ITryResolveMetadata,Mono.Cecil.InterfaceImplementation)
-
-
- CP0002
- M:Mono.Linker.OverrideInformation.get_IsOverrideOfInterfaceMember
-
-
- CP0002
- M:Mono.Linker.Steps.BaseStep.get_MarkingHelpers
-
-
- CP0002
- M:Mono.Linker.Steps.BaseStep.get_Tracer
-
-
- CP0002
- M:Mono.Linker.Steps.SubStepsDispatcher.Process(Mono.Linker.LinkContext)
-
-
- CP0002
- M:Mono.Linker.LinkContext.get_KeepComInterfaces
- ref/net9.0/illink.dll
- lib/net9.0/illink.dll
-
-
- CP0002
- M:Mono.Linker.LinkContext.set_KeepComInterfaces(System.Boolean)
- ref/net9.0/illink.dll
- lib/net9.0/illink.dll
-
-
- CP0008
- T:Mono.Linker.LinkContext
-
+
+
CP0008
T:Mono.Linker.MessageContainer
@@ -1521,18 +165,8 @@
CP0008
T:Mono.Linker.MessageOrigin
-
- CP0009
- T:Mono.Linker.AnnotationStore
-
-
- CP0009
- T:Mono.Linker.LinkContext
-
-
- CP0009
- T:Mono.Linker.OverrideInformation
-
+
+
CP0016
M:Mono.Linker.AnnotationStore.Mark(Mono.Cecil.CustomAttribute):[T:System.ObsoleteAttribute]
@@ -1541,12 +175,11 @@
CP0016
M:Mono.Linker.AnnotationStore.Mark(Mono.Cecil.IMetadataTokenProvider):[T:System.ObsoleteAttribute]
+
+
CP0016
M:Mono.Linker.LinkContext.TryGetCustomData(System.String,System.String@)$1:[T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute]
-
- CP0017
- M:Mono.Linker.LinkContext.Resolve(Mono.Cecil.AssemblyNameReference)$0
-
-
\ No newline at end of file
+
+
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/AttributeDataFlow.cs b/src/tools/illink/src/linker/Linker.Dataflow/AttributeDataFlow.cs
index fa2aa697d9dba2..667f4328ccae26 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/AttributeDataFlow.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/AttributeDataFlow.cs
@@ -11,7 +11,7 @@
namespace Mono.Linker.Dataflow
{
- public readonly struct AttributeDataFlow
+ internal readonly struct AttributeDataFlow
{
readonly LinkContext _context;
readonly MarkStep _markStep;
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/CompilerGeneratedState.cs b/src/tools/illink/src/linker/Linker.Dataflow/CompilerGeneratedState.cs
index 04055bcc6d63d8..265ed8ff8567fb 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/CompilerGeneratedState.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/CompilerGeneratedState.cs
@@ -13,7 +13,7 @@
namespace Mono.Linker.Dataflow
{
// Currently this is implemented using heuristics
- public class CompilerGeneratedState
+ internal sealed class CompilerGeneratedState
{
readonly LinkContext _context;
readonly Dictionary _compilerGeneratedTypeToUserCodeMethod;
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/FieldReferenceValue.cs b/src/tools/illink/src/linker/Linker.Dataflow/FieldReferenceValue.cs
index 37f7771c31478a..76130630128f22 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/FieldReferenceValue.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/FieldReferenceValue.cs
@@ -5,7 +5,7 @@
namespace ILLink.Shared.TrimAnalysis
{
- public partial record FieldReferenceValue (FieldDefinition FieldDefinition)
+ internal sealed partial record FieldReferenceValue (FieldDefinition FieldDefinition)
: ReferenceValue (FieldDefinition.FieldType)
{
public override SingleValue DeepCopy () => this;
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/GenericArgumentDataFlow.cs b/src/tools/illink/src/linker/Linker.Dataflow/GenericArgumentDataFlow.cs
index 9d358a339ef70d..355b889e28d9c9 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/GenericArgumentDataFlow.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/GenericArgumentDataFlow.cs
@@ -10,7 +10,7 @@
namespace Mono.Linker.Dataflow
{
- public readonly struct GenericArgumentDataFlow
+ internal readonly struct GenericArgumentDataFlow
{
readonly LinkContext _context;
readonly MarkStep _markStep;
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/HoistedLocalKey.cs b/src/tools/illink/src/linker/Linker.Dataflow/HoistedLocalKey.cs
index 6e7173d0edf815..9d39fb4ddc39d0 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/HoistedLocalKey.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/HoistedLocalKey.cs
@@ -11,7 +11,7 @@ namespace Mono.Linker.Dataflow
// storage location for a hoisted local (a local variable which is lifted to a
// field on a state machine type, or to a field on a closure accessed by lambdas
// or local functions).
- public readonly struct HoistedLocalKey : IEquatable
+ internal readonly struct HoistedLocalKey : IEquatable
{
readonly FieldDefinition Field;
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/LocalVariableReferenceValue.cs b/src/tools/illink/src/linker/Linker.Dataflow/LocalVariableReferenceValue.cs
index 2c405beb138faf..118ee660dbcc7e 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/LocalVariableReferenceValue.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/LocalVariableReferenceValue.cs
@@ -5,7 +5,7 @@
namespace ILLink.Shared.TrimAnalysis
{
- public partial record LocalVariableReferenceValue (VariableDefinition LocalDefinition)
+ internal sealed partial record LocalVariableReferenceValue (VariableDefinition LocalDefinition)
: ReferenceValue (LocalDefinition.VariableType)
{
public override SingleValue DeepCopy ()
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/ReferenceValue.cs b/src/tools/illink/src/linker/Linker.Dataflow/ReferenceValue.cs
index 2ea8d379b1d869..be954d12e43c38 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/ReferenceValue.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/ReferenceValue.cs
@@ -8,5 +8,5 @@ namespace ILLink.Shared.TrimAnalysis
///
/// Acts as the base class for all values that represent a reference to another value. These should only be held in a ref type or on the stack as a result of a 'load address' instruction (e.g. ldloca).
///
- public abstract record ReferenceValue (TypeReference ReferencedType) : SingleValue { }
+ internal abstract record ReferenceValue (TypeReference ReferencedType) : SingleValue { }
}
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/ReflectionMarker.cs b/src/tools/illink/src/linker/Linker.Dataflow/ReflectionMarker.cs
index 214565c2ed323c..82f1b2870c015c 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/ReflectionMarker.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/ReflectionMarker.cs
@@ -11,7 +11,7 @@
namespace Mono.Linker.Dataflow
{
- public readonly struct ReflectionMarker
+ internal readonly struct ReflectionMarker
{
readonly LinkContext _context;
readonly MarkStep _markStep;
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisAssignmentPattern.cs b/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisAssignmentPattern.cs
index 90e742381e5572..78732ee63f0c7c 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisAssignmentPattern.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisAssignmentPattern.cs
@@ -9,7 +9,7 @@
namespace Mono.Linker.Dataflow
{
- public readonly record struct TrimAnalysisAssignmentPattern
+ internal readonly record struct TrimAnalysisAssignmentPattern
{
public MultiValue Source { get; init; }
public MultiValue Target { get; init; }
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisMethodCallPattern.cs b/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisMethodCallPattern.cs
index 417e0240a9c0a1..65a61772f06f32 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisMethodCallPattern.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisMethodCallPattern.cs
@@ -12,7 +12,7 @@
namespace Mono.Linker.Dataflow
{
- public readonly record struct TrimAnalysisMethodCallPattern
+ internal readonly record struct TrimAnalysisMethodCallPattern
{
public readonly Instruction Operation;
public readonly MethodReference CalledMethod;
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisPatternStore.cs b/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisPatternStore.cs
index 169656ca74ddfc..f4671136a0c400 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisPatternStore.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/TrimAnalysisPatternStore.cs
@@ -8,7 +8,7 @@
namespace Mono.Linker.Dataflow
{
- public readonly struct TrimAnalysisPatternStore
+ internal readonly struct TrimAnalysisPatternStore
{
readonly Dictionary<(MessageOrigin, bool), TrimAnalysisAssignmentPattern> AssignmentPatterns;
readonly Dictionary MethodCallPatterns;
diff --git a/src/tools/illink/src/linker/Linker.Dataflow/ValueNode.cs b/src/tools/illink/src/linker/Linker.Dataflow/ValueNode.cs
index b52e7ba9fcbaa6..b177bbc04a0658 100644
--- a/src/tools/illink/src/linker/Linker.Dataflow/ValueNode.cs
+++ b/src/tools/illink/src/linker/Linker.Dataflow/ValueNode.cs
@@ -8,7 +8,7 @@
namespace Mono.Linker.Dataflow
{
- public class ValueNodeList : List
+ internal sealed class ValueNodeList : List
{
public ValueNodeList ()
{
@@ -48,7 +48,7 @@ public override bool Equals (object? other)
}
}
- public struct ValueBasicBlockPair : IEquatable
+ internal struct ValueBasicBlockPair : IEquatable
{
public ValueBasicBlockPair (MultiValue value, int basicBlockIndex)
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/AddBypassNGenStep.cs b/src/tools/illink/src/linker/Linker.Steps/AddBypassNGenStep.cs
index affbf4e164bd61..ce3c91403a13ed 100644
--- a/src/tools/illink/src/linker/Linker.Steps/AddBypassNGenStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/AddBypassNGenStep.cs
@@ -8,8 +8,7 @@
namespace Mono.Linker.Steps
{
-
- public class AddBypassNGenStep : BaseStep
+ internal sealed class AddBypassNGenStep : BaseStep
{
AssemblyDefinition? coreLibAssembly;
diff --git a/src/tools/illink/src/linker/Linker.Steps/BaseStep.cs b/src/tools/illink/src/linker/Linker.Steps/BaseStep.cs
index 7bf5b4bf26b27f..b2928789db8d38 100644
--- a/src/tools/illink/src/linker/Linker.Steps/BaseStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/BaseStep.cs
@@ -51,11 +51,11 @@ public AnnotationStore Annotations {
get { return Context.Annotations; }
}
- public Tracer Tracer {
+ internal Tracer Tracer {
get { return Context.Tracer; }
}
- public MarkingHelpers MarkingHelpers => Context.MarkingHelpers;
+ internal MarkingHelpers MarkingHelpers => Context.MarkingHelpers;
public void Process (LinkContext context)
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/BodySubstituterStep.cs b/src/tools/illink/src/linker/Linker.Steps/BodySubstituterStep.cs
index 0f53aa2eee7eb5..b4b645d12015dd 100644
--- a/src/tools/illink/src/linker/Linker.Steps/BodySubstituterStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/BodySubstituterStep.cs
@@ -5,7 +5,7 @@
namespace Mono.Linker.Steps
{
- public class BodySubstituterStep : ProcessLinkerXmlStepBase
+ internal sealed class BodySubstituterStep : ProcessLinkerXmlStepBase
{
public BodySubstituterStep (Stream documentStream, string xmlDocumentLocation)
: base (documentStream, xmlDocumentLocation)
diff --git a/src/tools/illink/src/linker/Linker.Steps/BodySubstitutionParser.cs b/src/tools/illink/src/linker/Linker.Steps/BodySubstitutionParser.cs
index 17315ac322ff8f..10b108ce790206 100644
--- a/src/tools/illink/src/linker/Linker.Steps/BodySubstitutionParser.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/BodySubstitutionParser.cs
@@ -11,7 +11,7 @@
namespace Mono.Linker.Steps
{
- public class BodySubstitutionParser : ProcessLinkerXmlBase
+ internal sealed class BodySubstitutionParser : ProcessLinkerXmlBase
{
SubstitutionInfo? _substitutionInfo;
diff --git a/src/tools/illink/src/linker/Linker.Steps/CheckSuppressionsDispatcher.cs b/src/tools/illink/src/linker/Linker.Steps/CheckSuppressionsDispatcher.cs
index be73c8628be750..c3bab0845c6cab 100644
--- a/src/tools/illink/src/linker/Linker.Steps/CheckSuppressionsDispatcher.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/CheckSuppressionsDispatcher.cs
@@ -8,14 +8,14 @@
namespace Mono.Linker.Steps
{
- public class CheckSuppressionsDispatcher : SubStepsDispatcher
+ internal sealed class CheckSuppressionsDispatcher : SubStepsDispatcher
{
public CheckSuppressionsDispatcher () : base (new List { new CheckSuppressionsStep () })
{
}
- public override void Process (LinkContext context)
+ internal override void Process (LinkContext context)
{
base.Process (context);
var redundantSuppressions = context.Suppressions.GetUnusedSuppressions ();
diff --git a/src/tools/illink/src/linker/Linker.Steps/CheckSuppressionsStep.cs b/src/tools/illink/src/linker/Linker.Steps/CheckSuppressionsStep.cs
index 466d42177582be..e8bc7b0b466fc4 100644
--- a/src/tools/illink/src/linker/Linker.Steps/CheckSuppressionsStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/CheckSuppressionsStep.cs
@@ -5,7 +5,7 @@
namespace Mono.Linker.Steps
{
- public class CheckSuppressionsStep : BaseSubStep
+ internal sealed class CheckSuppressionsStep : BaseSubStep
{
public override SubStepTargets Targets {
get {
diff --git a/src/tools/illink/src/linker/Linker.Steps/CleanStep.cs b/src/tools/illink/src/linker/Linker.Steps/CleanStep.cs
index 374a7b9b85d632..a2c7afb9f4c564 100644
--- a/src/tools/illink/src/linker/Linker.Steps/CleanStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/CleanStep.cs
@@ -33,8 +33,7 @@
namespace Mono.Linker.Steps
{
-
- public class CleanStep : BaseStep
+ internal sealed class CleanStep : BaseStep
{
protected override void ProcessAssembly (AssemblyDefinition assembly)
diff --git a/src/tools/illink/src/linker/Linker.Steps/CodeRewriterStep.cs b/src/tools/illink/src/linker/Linker.Steps/CodeRewriterStep.cs
index 566a7ab1ae13e5..2259a04dbee20c 100644
--- a/src/tools/illink/src/linker/Linker.Steps/CodeRewriterStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/CodeRewriterStep.cs
@@ -9,7 +9,10 @@
namespace Mono.Linker.Steps
{
- public class CodeRewriterStep : BaseStep
+ // UnityLinker extension point
+#pragma warning disable CA1852 // Seal internal types
+ internal class CodeRewriterStep : BaseStep
+#pragma warning restore CA1852
{
AssemblyDefinition? assembly;
AssemblyDefinition Assembly {
diff --git a/src/tools/illink/src/linker/Linker.Steps/DescriptorMarker.cs b/src/tools/illink/src/linker/Linker.Steps/DescriptorMarker.cs
index f07200ab47e4b8..05b01d811cc27c 100644
--- a/src/tools/illink/src/linker/Linker.Steps/DescriptorMarker.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/DescriptorMarker.cs
@@ -13,7 +13,10 @@
namespace Mono.Linker.Steps
{
- public class DescriptorMarker : ProcessLinkerXmlBase
+ // UnityLinker extension point
+#pragma warning disable CA1852 // Seal internal types
+ internal class DescriptorMarker : ProcessLinkerXmlBase
+#pragma warning restore CA1852
{
const string NamespaceElementName = "namespace";
diff --git a/src/tools/illink/src/linker/Linker.Steps/DiscoverCustomOperatorsHandler.cs b/src/tools/illink/src/linker/Linker.Steps/DiscoverCustomOperatorsHandler.cs
index b6ecb134c2165f..6b22e3d824b04f 100644
--- a/src/tools/illink/src/linker/Linker.Steps/DiscoverCustomOperatorsHandler.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/DiscoverCustomOperatorsHandler.cs
@@ -8,7 +8,7 @@
namespace Mono.Linker.Steps
{
- public class DiscoverOperatorsHandler : IMarkHandler
+ internal sealed class DiscoverOperatorsHandler : IMarkHandler
{
LinkContext? _context;
LinkContext Context {
diff --git a/src/tools/illink/src/linker/Linker.Steps/DiscoverSerializationHandler.cs b/src/tools/illink/src/linker/Linker.Steps/DiscoverSerializationHandler.cs
index 771e1d6470c3b6..674bce49ed488e 100644
--- a/src/tools/illink/src/linker/Linker.Steps/DiscoverSerializationHandler.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/DiscoverSerializationHandler.cs
@@ -11,7 +11,7 @@ namespace Mono.Linker.Steps
// of xamarin-android. It is not meant to be complete. Unlike xamarin-andorid:
// - this will only discover attributed types that are marked
// - this will discover types in non-"link" assemblies as well
- public class DiscoverSerializationHandler : IMarkHandler
+ internal sealed class DiscoverSerializationHandler : IMarkHandler
{
LinkContext? _context;
LinkContext Context {
diff --git a/src/tools/illink/src/linker/Linker.Steps/LinkAttributesParser.cs b/src/tools/illink/src/linker/Linker.Steps/LinkAttributesParser.cs
index 2d2fed251ac8f6..76aa9afbb90c6b 100644
--- a/src/tools/illink/src/linker/Linker.Steps/LinkAttributesParser.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/LinkAttributesParser.cs
@@ -15,7 +15,7 @@
namespace Mono.Linker.Steps
{
- public class LinkAttributesParser : ProcessLinkerXmlBase
+ internal sealed class LinkAttributesParser : ProcessLinkerXmlBase
{
AttributeInfo? _attributeInfo;
diff --git a/src/tools/illink/src/linker/Linker.Steps/LinkAttributesStep.cs b/src/tools/illink/src/linker/Linker.Steps/LinkAttributesStep.cs
index ae96a30f119356..a1878726f7257b 100644
--- a/src/tools/illink/src/linker/Linker.Steps/LinkAttributesStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/LinkAttributesStep.cs
@@ -5,7 +5,7 @@
namespace Mono.Linker.Steps
{
- public class LinkAttributesStep : ProcessLinkerXmlStepBase
+ internal sealed class LinkAttributesStep : ProcessLinkerXmlStepBase
{
public LinkAttributesStep (Stream documentStream, string xmlDocumentLocation)
: base (documentStream, xmlDocumentLocation)
diff --git a/src/tools/illink/src/linker/Linker.Steps/MarkExportedTypesTargetStep.cs b/src/tools/illink/src/linker/Linker.Steps/MarkExportedTypesTargetStep.cs
index 6b10b0659f8381..99a38c2559dbaa 100644
--- a/src/tools/illink/src/linker/Linker.Steps/MarkExportedTypesTargetStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/MarkExportedTypesTargetStep.cs
@@ -6,7 +6,7 @@
namespace Mono.Linker.Steps
{
- public static class MarkExportedTypesTarget
+ internal static class MarkExportedTypesTarget
{
public static void ProcessAssembly (AssemblyDefinition assembly, LinkContext context)
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/MarkStep.MethodDefinitionNode.cs b/src/tools/illink/src/linker/Linker.Steps/MarkStep.MethodDefinitionNode.cs
index 34dd6e8a8d03e4..2daf4e59e350b9 100644
--- a/src/tools/illink/src/linker/Linker.Steps/MarkStep.MethodDefinitionNode.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/MarkStep.MethodDefinitionNode.cs
@@ -8,7 +8,7 @@
namespace Mono.Linker.Steps
{
- public partial class MarkStep
+ internal partial class MarkStep
{
internal sealed class MethodDefinitionNode : DependencyNodeCore
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/MarkStep.NodeFactory.cs b/src/tools/illink/src/linker/Linker.Steps/MarkStep.NodeFactory.cs
index 61d1e806209f43..bfdd402d2c4deb 100644
--- a/src/tools/illink/src/linker/Linker.Steps/MarkStep.NodeFactory.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/MarkStep.NodeFactory.cs
@@ -8,7 +8,7 @@
namespace Mono.Linker.Steps
{
- public partial class MarkStep
+ internal partial class MarkStep
{
internal sealed class NodeFactory (MarkStep markStep)
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/MarkStep.ProcessCallbackNode.cs b/src/tools/illink/src/linker/Linker.Steps/MarkStep.ProcessCallbackNode.cs
index 9fe4821f44381c..69a6b3a402e7af 100644
--- a/src/tools/illink/src/linker/Linker.Steps/MarkStep.ProcessCallbackNode.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/MarkStep.ProcessCallbackNode.cs
@@ -7,7 +7,7 @@
namespace Mono.Linker.Steps
{
- public partial class MarkStep
+ internal partial class MarkStep
{
sealed class ProcessCallbackNode : DependencyNodeCore
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/MarkStep.PropertyDefinitionNode.cs b/src/tools/illink/src/linker/Linker.Steps/MarkStep.PropertyDefinitionNode.cs
index 68e86ba7edca25..8a1591d64a4e59 100644
--- a/src/tools/illink/src/linker/Linker.Steps/MarkStep.PropertyDefinitionNode.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/MarkStep.PropertyDefinitionNode.cs
@@ -8,7 +8,7 @@
namespace Mono.Linker.Steps
{
- public partial class MarkStep
+ internal partial class MarkStep
{
internal sealed class PropertyDefinitionNode : DependencyNodeCore
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/MarkStep.TypeDefinitionNode.cs b/src/tools/illink/src/linker/Linker.Steps/MarkStep.TypeDefinitionNode.cs
index d26467930afce0..dbb8e71598da77 100644
--- a/src/tools/illink/src/linker/Linker.Steps/MarkStep.TypeDefinitionNode.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/MarkStep.TypeDefinitionNode.cs
@@ -7,7 +7,7 @@
namespace Mono.Linker.Steps
{
- public partial class MarkStep
+ internal partial class MarkStep
{
internal sealed class TypeDefinitionNode : DependencyNodeCore
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/MarkStep.TypeIsRelevantToVariantCastingNode.cs b/src/tools/illink/src/linker/Linker.Steps/MarkStep.TypeIsRelevantToVariantCastingNode.cs
index 00f790b5d9d472..a2cd17bc785bcb 100644
--- a/src/tools/illink/src/linker/Linker.Steps/MarkStep.TypeIsRelevantToVariantCastingNode.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/MarkStep.TypeIsRelevantToVariantCastingNode.cs
@@ -7,7 +7,7 @@
namespace Mono.Linker.Steps
{
- public partial class MarkStep
+ internal partial class MarkStep
{
internal sealed class TypeIsRelevantToVariantCastingNode : DependencyNodeCore
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/MarkStep.cs b/src/tools/illink/src/linker/Linker.Steps/MarkStep.cs
index 7224e401c3e0c1..c5100bbe597844 100644
--- a/src/tools/illink/src/linker/Linker.Steps/MarkStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/MarkStep.cs
@@ -50,8 +50,10 @@
namespace Mono.Linker.Steps
{
-
- public partial class MarkStep : IStep
+ // UnityLinker extension point
+#pragma warning disable CA1852 // Seal internal types
+ internal partial class MarkStep : IStep
+#pragma warning restore CA1852
{
LinkContext? _context;
protected LinkContext Context {
@@ -3818,7 +3820,7 @@ protected virtual void MarkReflectionLikeDependencies (MethodIL methodIL, bool r
scanner.InterproceduralScan (methodIL);
}
- protected class AttributeProviderPair
+ protected sealed class AttributeProviderPair
{
public AttributeProviderPair (CustomAttribute attribute, ICustomAttributeProvider provider)
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/MarkStepContext.cs b/src/tools/illink/src/linker/Linker.Steps/MarkStepContext.cs
index e65bf6eb03be70..dd4780624fd883 100644
--- a/src/tools/illink/src/linker/Linker.Steps/MarkStepContext.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/MarkStepContext.cs
@@ -7,7 +7,7 @@
namespace Mono.Linker.Steps
{
- public class MarkStepContext : MarkContext
+ internal sealed class MarkStepContext : MarkContext
{
public List> MarkAssemblyActions { get; }
diff --git a/src/tools/illink/src/linker/Linker.Steps/OutputStep.cs b/src/tools/illink/src/linker/Linker.Steps/OutputStep.cs
index 2fa3c03f2b396b..6f77e3c253f672 100644
--- a/src/tools/illink/src/linker/Linker.Steps/OutputStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/OutputStep.cs
@@ -39,8 +39,10 @@
namespace Mono.Linker.Steps
{
-
- public class OutputStep : BaseStep
+ // UnityLinker extension point
+#pragma warning disable CA1852 // Seal internal types
+ internal class OutputStep : BaseStep
+#pragma warning restore CA1852
{
readonly List assembliesWritten;
diff --git a/src/tools/illink/src/linker/Linker.Steps/OutputWarningSuppressions.cs b/src/tools/illink/src/linker/Linker.Steps/OutputWarningSuppressions.cs
index f9c65d99280bf1..2406b935e3782b 100644
--- a/src/tools/illink/src/linker/Linker.Steps/OutputWarningSuppressions.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/OutputWarningSuppressions.cs
@@ -5,7 +5,7 @@
namespace Mono.Linker.Steps
{
- public class OutputWarningSuppressions : BaseStep
+ internal sealed class OutputWarningSuppressions : BaseStep
{
protected override bool ConditionToProcess ()
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/ProcessLinkerXmlBase.cs b/src/tools/illink/src/linker/Linker.Steps/ProcessLinkerXmlBase.cs
index e96ce5a22f5250..e45c43508e497b 100644
--- a/src/tools/illink/src/linker/Linker.Steps/ProcessLinkerXmlBase.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/ProcessLinkerXmlBase.cs
@@ -17,14 +17,14 @@
namespace Mono.Linker.Steps
{
[Flags]
- public enum AllowedAssemblies
+ internal enum AllowedAssemblies
{
ContainingAssembly = 0x1,
AnyAssembly = 0x2 | ContainingAssembly,
AllAssemblies = 0x4 | AnyAssembly
}
- public abstract class ProcessLinkerXmlBase
+ internal abstract class ProcessLinkerXmlBase
{
const string FullNameAttributeName = "fullname";
const string LinkerElementName = "linker";
diff --git a/src/tools/illink/src/linker/Linker.Steps/ProcessLinkerXmlStepBase.cs b/src/tools/illink/src/linker/Linker.Steps/ProcessLinkerXmlStepBase.cs
index 60bc2959c9f6c0..209676123c6266 100644
--- a/src/tools/illink/src/linker/Linker.Steps/ProcessLinkerXmlStepBase.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/ProcessLinkerXmlStepBase.cs
@@ -5,7 +5,7 @@
namespace Mono.Linker.Steps
{
- public class ProcessLinkerXmlStepBase : BaseStep
+ internal class ProcessLinkerXmlStepBase : BaseStep
{
protected readonly string _xmlDocumentLocation;
protected readonly Stream _documentStream;
diff --git a/src/tools/illink/src/linker/Linker.Steps/ProcessReferencesStep.cs b/src/tools/illink/src/linker/Linker.Steps/ProcessReferencesStep.cs
index 15e0e67a605061..df126641b0baf5 100644
--- a/src/tools/illink/src/linker/Linker.Steps/ProcessReferencesStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/ProcessReferencesStep.cs
@@ -7,7 +7,7 @@
namespace Mono.Linker.Steps
{
- public class ProcessReferencesStep : BaseStep
+ internal sealed class ProcessReferencesStep : BaseStep
{
protected override void Process ()
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/ProcessWarningsStep.cs b/src/tools/illink/src/linker/Linker.Steps/ProcessWarningsStep.cs
index 6ed59590b6fe26..a9cbf41ed1f8a9 100644
--- a/src/tools/illink/src/linker/Linker.Steps/ProcessWarningsStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/ProcessWarningsStep.cs
@@ -3,7 +3,7 @@
namespace Mono.Linker.Steps
{
- public class ProcessWarningsStep : BaseStep
+ internal sealed class ProcessWarningsStep : BaseStep
{
protected override void Process ()
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/ReflectionBlockedStep.cs b/src/tools/illink/src/linker/Linker.Steps/ReflectionBlockedStep.cs
index 575e11539bd6b6..598765c8e05e3f 100644
--- a/src/tools/illink/src/linker/Linker.Steps/ReflectionBlockedStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/ReflectionBlockedStep.cs
@@ -7,7 +7,7 @@
namespace Mono.Linker.Steps
{
- public class ReflectionBlockedStep : BaseStep
+ internal sealed class ReflectionBlockedStep : BaseStep
{
AssemblyDefinition? assembly;
AssemblyDefinition Assembly {
diff --git a/src/tools/illink/src/linker/Linker.Steps/RegenerateGuidStep.cs b/src/tools/illink/src/linker/Linker.Steps/RegenerateGuidStep.cs
index bf5430bc5cd4f1..ea0f8a70232630 100644
--- a/src/tools/illink/src/linker/Linker.Steps/RegenerateGuidStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/RegenerateGuidStep.cs
@@ -36,7 +36,7 @@
namespace Mono.Linker.Steps
{
- public class RegenerateGuidStep : BaseStep
+ internal sealed class RegenerateGuidStep : BaseStep
{
protected override void ProcessAssembly (AssemblyDefinition assembly)
diff --git a/src/tools/illink/src/linker/Linker.Steps/RemoveResourcesStep.cs b/src/tools/illink/src/linker/Linker.Steps/RemoveResourcesStep.cs
index 3e7b25ebd1977b..6553f165de6198 100644
--- a/src/tools/illink/src/linker/Linker.Steps/RemoveResourcesStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/RemoveResourcesStep.cs
@@ -7,7 +7,7 @@
namespace Mono.Linker.Steps
{
- public class RemoveResourcesStep : BaseStep
+ internal sealed class RemoveResourcesStep : BaseStep
{
protected override void ProcessAssembly (AssemblyDefinition assembly)
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/RemoveSecurityStep.cs b/src/tools/illink/src/linker/Linker.Steps/RemoveSecurityStep.cs
index 3512ad799a59e7..afd55c4a30f705 100644
--- a/src/tools/illink/src/linker/Linker.Steps/RemoveSecurityStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/RemoveSecurityStep.cs
@@ -6,7 +6,7 @@
namespace Mono.Linker.Steps
{
- public static class RemoveSecurity
+ internal static class RemoveSecurity
{
public static void ProcessAssembly (AssemblyDefinition assembly, LinkContext context)
{
diff --git a/src/tools/illink/src/linker/Linker.Steps/ResolveFromXmlStep.cs b/src/tools/illink/src/linker/Linker.Steps/ResolveFromXmlStep.cs
index 737e0d168b93b6..973fd186387bae 100644
--- a/src/tools/illink/src/linker/Linker.Steps/ResolveFromXmlStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/ResolveFromXmlStep.cs
@@ -35,7 +35,7 @@
namespace Mono.Linker.Steps
{
- public class ResolveFromXmlStep : ProcessLinkerXmlStepBase
+ internal sealed class ResolveFromXmlStep : ProcessLinkerXmlStepBase
{
public ResolveFromXmlStep (Stream documentStream, string xmlDocumentLocation)
: base (documentStream, xmlDocumentLocation)
diff --git a/src/tools/illink/src/linker/Linker.Steps/RootAssemblyInputStep.cs b/src/tools/illink/src/linker/Linker.Steps/RootAssemblyInputStep.cs
index b167ed5f58be20..6642d81a6e9ccb 100644
--- a/src/tools/illink/src/linker/Linker.Steps/RootAssemblyInputStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/RootAssemblyInputStep.cs
@@ -7,7 +7,7 @@
namespace Mono.Linker.Steps
{
- public class RootAssemblyInput : BaseStep
+ internal sealed class RootAssemblyInput : BaseStep
{
readonly string fileName;
readonly AssemblyRootMode rootMode;
diff --git a/src/tools/illink/src/linker/Linker.Steps/SealerStep.cs b/src/tools/illink/src/linker/Linker.Steps/SealerStep.cs
index dbc64f0f1669de..8af190bd2579d0 100644
--- a/src/tools/illink/src/linker/Linker.Steps/SealerStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/SealerStep.cs
@@ -8,7 +8,7 @@
namespace Mono.Linker.Steps
{
- public class SealerStep : BaseStep
+ internal sealed class SealerStep : BaseStep
{
HashSet? referencedBaseTypeCache;
@@ -113,12 +113,12 @@ void ProcessType (TypeDefinition type)
}
}
- protected virtual void SealType (TypeDefinition type)
+ static void SealType (TypeDefinition type)
{
type.IsSealed = true;
}
- protected virtual void SealMethod (MethodDefinition method)
+ static void SealMethod (MethodDefinition method)
{
method.IsFinal = true;
}
diff --git a/src/tools/illink/src/linker/Linker.Steps/SubStepsDispatcher.cs b/src/tools/illink/src/linker/Linker.Steps/SubStepsDispatcher.cs
index 31c704c4d26cb2..8f5d641137e182 100644
--- a/src/tools/illink/src/linker/Linker.Steps/SubStepsDispatcher.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/SubStepsDispatcher.cs
@@ -51,7 +51,9 @@ public void Add (ISubStep substep)
substeps.Add (substep);
}
- public virtual void Process (LinkContext context)
+ void IStep.Process (LinkContext context) => Process (context);
+
+ internal virtual void Process (LinkContext context)
{
InitializeSubSteps (context);
diff --git a/src/tools/illink/src/linker/Linker.Steps/SweepStep.cs b/src/tools/illink/src/linker/Linker.Steps/SweepStep.cs
index 794ef60ea19a76..154491c9726ab7 100644
--- a/src/tools/illink/src/linker/Linker.Steps/SweepStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/SweepStep.cs
@@ -40,7 +40,10 @@
namespace Mono.Linker.Steps
{
- public class SweepStep : BaseStep
+ // UnityLinker extension point
+#pragma warning disable CA1852 // Seal internal types
+ internal class SweepStep : BaseStep
+#pragma warning restore CA1852
{
readonly bool sweepSymbols;
diff --git a/src/tools/illink/src/linker/Linker.Steps/UnreachableBlocksOptimizer.cs b/src/tools/illink/src/linker/Linker.Steps/UnreachableBlocksOptimizer.cs
index 295d740874cb91..d689ca34204feb 100644
--- a/src/tools/illink/src/linker/Linker.Steps/UnreachableBlocksOptimizer.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/UnreachableBlocksOptimizer.cs
@@ -19,7 +19,7 @@ namespace Mono.Linker.Steps
// then uses this information to remove unreachable conditional blocks and
// inline collected constants.
//
- public class UnreachableBlocksOptimizer
+ internal sealed class UnreachableBlocksOptimizer
{
readonly LinkContext _context;
readonly Dictionary _cache_method_results = new (2048);
diff --git a/src/tools/illink/src/linker/Linker.Steps/ValidateVirtualMethodAnnotationsStep.cs b/src/tools/illink/src/linker/Linker.Steps/ValidateVirtualMethodAnnotationsStep.cs
index ac4b07e6681b4a..a2e89f34f3a006 100644
--- a/src/tools/illink/src/linker/Linker.Steps/ValidateVirtualMethodAnnotationsStep.cs
+++ b/src/tools/illink/src/linker/Linker.Steps/ValidateVirtualMethodAnnotationsStep.cs
@@ -7,7 +7,7 @@
namespace Mono.Linker.Steps
{
- public class ValidateVirtualMethodAnnotationsStep : BaseStep
+ internal sealed class ValidateVirtualMethodAnnotationsStep : BaseStep
{
protected override void Process ()
{
diff --git a/src/tools/illink/src/linker/Linker/Annotations.cs b/src/tools/illink/src/linker/Linker/Annotations.cs
index 68c8c320749966..71f268870ca71f 100644
--- a/src/tools/illink/src/linker/Linker/Annotations.cs
+++ b/src/tools/illink/src/linker/Linker/Annotations.cs
@@ -45,35 +45,35 @@ namespace Mono.Linker
public partial class AnnotationStore
{
- protected readonly LinkContext context;
+ private protected readonly LinkContext context;
- protected readonly Dictionary assembly_actions = new Dictionary ();
- protected readonly HashSet fieldType_init = new HashSet ();
+ private protected readonly Dictionary assembly_actions = new Dictionary ();
+ private protected readonly HashSet fieldType_init = new HashSet ();
// Annotations.Mark will add unmarked items to marked_pending, to be fully marked later ("processed") by MarkStep.
// Items go through state changes from "unmarked" -> "pending" -> "processed". "pending" items are only tracked
// once, and once "processed", an item never becomes "pending" again.
- protected readonly Dictionary marked_pending = new Dictionary ();
- protected readonly HashSet processed = new HashSet ();
- protected readonly Dictionary preserved_types = new Dictionary ();
- protected readonly HashSet pending_preserve = new HashSet ();
- protected readonly Dictionary preserved_type_members = new ();
- protected readonly Dictionary preserved_exportedtype_members = new ();
- protected readonly Dictionary> preserved_methods = new Dictionary> ();
+ private protected readonly Dictionary marked_pending = new Dictionary ();
+ private protected readonly HashSet processed = new HashSet ();
+ private protected readonly Dictionary preserved_types = new Dictionary ();
+ private protected readonly HashSet pending_preserve = new HashSet ();
+ private protected readonly Dictionary preserved_type_members = new ();
+ private protected readonly Dictionary preserved_exportedtype_members = new ();
+ private protected readonly Dictionary> preserved_methods = new Dictionary> ();
readonly HashSet assemblies_with_root_all_members = new ();
- protected readonly HashSet public_api = new HashSet ();
- protected readonly Dictionary symbol_readers = new Dictionary ();
+ private protected readonly HashSet public_api = new HashSet ();
+ private protected readonly Dictionary symbol_readers = new Dictionary ();
readonly Dictionary linker_attributes = new Dictionary ();
readonly Dictionary