Awesome, really helpful!
Had to bring this together with an ImportedNamespaceAwareScopeProvider (INASP). Just learned that, by default, the AbstractDeclarativeScopeProvider (ADSP) delegates to INASP when it cannot find a scope itself.
So, when you have a specialization of INASP and one for ADSP, you are fine by just binding them like this in the RuntimeModule of your language:
@Override
public Class<? extends IScopeProvider> bindIScopeProvider() {
return YourADSP.class;
}
public Class<? extends ImportedNamespaceAwareLocalScopeProvider> bindImportScopeProvider() {
return YourINASP.class;
}
Awesome, really helpful!
Had to bring this together with an ImportedNamespaceAwareScopeProvider (INASP). Just learned that, by default, the AbstractDeclarativeScopeProvider (ADSP) delegates to INASP when it cannot find a scope itself.
So, when you have a specialization of INASP and one for ADSP, you are fine by just binding them like this in the RuntimeModule of your language:
@Override
public Class<? extends IScopeProvider> bindIScopeProvider() {
return YourADSP.class;
}
public Class<? extends ImportedNamespaceAwareLocalScopeProvider> bindImportScopeProvider() {
return YourINASP.class;
}
Will have a look at the other casts.