2929import org .graalvm .compiler .core .common .spi .ConstantFieldProvider ;
3030import org .graalvm .compiler .core .common .spi .ForeignCallsProvider ;
3131import org .graalvm .compiler .core .common .spi .MetaAccessExtensionProvider ;
32- import org .graalvm .compiler .nodes .spi .CoreProvidersImpl ;
32+ import org .graalvm .compiler .nodes .spi .CoreProviders ;
3333import org .graalvm .compiler .nodes .spi .LoopsDataProvider ;
3434import org .graalvm .compiler .nodes .spi .LoweringProvider ;
3535import org .graalvm .compiler .nodes .spi .PlatformConfigurationProvider ;
3636import org .graalvm .compiler .nodes .spi .Replacements ;
3737import org .graalvm .compiler .nodes .spi .StampProvider ;
38- import org .graalvm .compiler .word . WordVerificationImpl ;
38+ import org .graalvm .compiler .nodes . spi . WordVerification ;
3939import org .graalvm .compiler .word .WordTypes ;
40+ import org .graalvm .compiler .word .WordVerificationImpl ;
4041
4142import jdk .vm .ci .code .CodeCacheProvider ;
4243import jdk .vm .ci .meta .ConstantReflectionProvider ;
4546/**
4647 * A set of providers, some of which may not be present (i.e., null).
4748 */
48- public class Providers extends CoreProvidersImpl implements CodeGenProviders {
49-
50- private final CodeCacheProvider codeCache ;
49+ public class Providers implements CoreProviders , CodeGenProviders {
5150
52- private final SnippetReflectionProvider snippetReflection ;
53- private final WordTypes wordTypes ;
51+ protected final MetaAccessProvider metaAccess ;
52+ protected final ConstantReflectionProvider constantReflection ;
53+ protected final ConstantFieldProvider constantFieldProvider ;
54+ protected final LoweringProvider lowerer ;
55+ protected final Replacements replacements ;
56+ protected final StampProvider stampProvider ;
57+ protected final ForeignCallsProvider foreignCalls ;
58+ protected final PlatformConfigurationProvider platformConfigurationProvider ;
59+ protected final MetaAccessExtensionProvider metaAccessExtensionProvider ;
60+ protected final LoopsDataProvider loopsDataProvider ;
61+ protected final WordVerification wordVerification ;
62+ protected final CodeCacheProvider codeCache ;
63+ protected final SnippetReflectionProvider snippetReflection ;
64+ protected final WordTypes wordTypes ;
5465
5566 public Providers (MetaAccessProvider metaAccess , CodeCacheProvider codeCache , ConstantReflectionProvider constantReflection , ConstantFieldProvider constantFieldProvider ,
5667 ForeignCallsProvider foreignCalls , LoweringProvider lowerer , Replacements replacements , StampProvider stampProvider , PlatformConfigurationProvider platformConfigurationProvider ,
5768 MetaAccessExtensionProvider metaAccessExtensionProvider , SnippetReflectionProvider snippetReflection , WordTypes wordTypes , LoopsDataProvider loopsDataProvider ) {
58- super (metaAccess , constantReflection , constantFieldProvider , lowerer , replacements , stampProvider , foreignCalls , platformConfigurationProvider , metaAccessExtensionProvider , loopsDataProvider ,
59- new WordVerificationImpl (wordTypes ));
69+ this .metaAccess = metaAccess ;
70+ this .constantReflection = constantReflection ;
71+ this .constantFieldProvider = constantFieldProvider ;
72+ this .lowerer = lowerer ;
73+ this .replacements = replacements ;
74+ this .stampProvider = stampProvider ;
75+ this .foreignCalls = foreignCalls ;
76+ this .platformConfigurationProvider = platformConfigurationProvider ;
77+ this .metaAccessExtensionProvider = metaAccessExtensionProvider ;
78+ this .loopsDataProvider = loopsDataProvider ;
79+ this .wordVerification = new WordVerificationImpl (wordTypes );
6080 this .codeCache = codeCache ;
6181 this .snippetReflection = snippetReflection ;
6282 this .wordTypes = wordTypes ;
@@ -68,11 +88,67 @@ public Providers(Providers copyFrom) {
6888 copyFrom .getSnippetReflection (), copyFrom .getWordTypes (), copyFrom .getLoopsDataProvider ());
6989 }
7090
91+ @ Override
92+ public MetaAccessProvider getMetaAccess () {
93+ return metaAccess ;
94+ }
95+
96+ @ Override
97+ public ConstantReflectionProvider getConstantReflection () {
98+ return constantReflection ;
99+ }
100+
101+ @ Override
102+ public ConstantFieldProvider getConstantFieldProvider () {
103+ return constantFieldProvider ;
104+ }
105+
106+ @ Override
107+ public LoweringProvider getLowerer () {
108+ return lowerer ;
109+ }
110+
111+ @ Override
112+ public Replacements getReplacements () {
113+ return replacements ;
114+ }
115+
116+ @ Override
117+ public StampProvider getStampProvider () {
118+ return stampProvider ;
119+ }
120+
121+ @ Override
122+ public ForeignCallsProvider getForeignCalls () {
123+ return foreignCalls ;
124+ }
125+
126+ @ Override
127+ public PlatformConfigurationProvider getPlatformConfigurationProvider () {
128+ return platformConfigurationProvider ;
129+ }
130+
131+ @ Override
132+ public MetaAccessExtensionProvider getMetaAccessExtensionProvider () {
133+ return metaAccessExtensionProvider ;
134+ }
135+
136+ @ Override
137+ public LoopsDataProvider getLoopsDataProvider () {
138+ return loopsDataProvider ;
139+ }
140+
141+ @ Override
142+ public WordVerification getWordVerification () {
143+ return wordVerification ;
144+ }
145+
71146 @ Override
72147 public CodeCacheProvider getCodeCache () {
73148 return codeCache ;
74149 }
75150
151+ @ Override
76152 public SnippetReflectionProvider getSnippetReflection () {
77153 return snippetReflection ;
78154 }
@@ -81,21 +157,18 @@ public WordTypes getWordTypes() {
81157 return wordTypes ;
82158 }
83159
84- @ Override
85160 public Providers copyWith (ConstantReflectionProvider substitution ) {
86161 assert this .getClass () == Providers .class : "must override" ;
87162 return new Providers (metaAccess , codeCache , substitution , constantFieldProvider , foreignCalls , lowerer , replacements , stampProvider , platformConfigurationProvider , metaAccessExtensionProvider ,
88163 snippetReflection , wordTypes , loopsDataProvider );
89164 }
90165
91- @ Override
92166 public Providers copyWith (ConstantFieldProvider substitution ) {
93167 assert this .getClass () == Providers .class : "must override" ;
94168 return new Providers (metaAccess , codeCache , constantReflection , substitution , foreignCalls , lowerer , replacements , stampProvider , platformConfigurationProvider , metaAccessExtensionProvider ,
95169 snippetReflection , wordTypes , loopsDataProvider );
96170 }
97171
98- @ Override
99172 public Providers copyWith (Replacements substitution ) {
100173 assert this .getClass () == Providers .class : "must override in " + getClass ();
101174 return new Providers (metaAccess , codeCache , constantReflection , constantFieldProvider , foreignCalls , lowerer , substitution , stampProvider , platformConfigurationProvider ,
0 commit comments