diff --git a/pom.xml b/pom.xml
index fe9f7f22d..d8deaef3f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,7 +16,7 @@
4.5
- 4.4.1
+ 4.4.2
3.5.1
diff --git a/src/main/java/org/nest/nestml/_symboltable/NESTMLLanguage.java b/src/main/java/org/nest/nestml/_symboltable/NESTMLLanguage.java
index 9bf6152af..72e95e3f6 100644
--- a/src/main/java/org/nest/nestml/_symboltable/NESTMLLanguage.java
+++ b/src/main/java/org/nest/nestml/_symboltable/NESTMLLanguage.java
@@ -36,14 +36,14 @@ public class NESTMLLanguage extends NESTMLLanguageTOP {
public NESTMLLanguage() {
super("NESTML Language", FILE_ENDING);
- addResolver(CommonResolvingFilter.create(NeuronSymbol.class, NeuronSymbol.KIND));
+ addResolver(CommonResolvingFilter.create(NeuronSymbol.KIND));
- addResolver(new PredefinedTypesFilter(TypeSymbol.KIND));
- addResolver(new PredefinedMethodsFilter(MethodSymbol.KIND));
+ addResolver(new PredefinedTypesFilter());
+ addResolver(new PredefinedMethodsFilter());
addResolver(CommonResolvingFilter.create(MethodSymbol.KIND));
addResolver(CommonResolvingFilter.create(VariableSymbol.KIND));
- addResolver(new PredefinedVariablesFilter(VariableSymbol.class, VariableSymbol.KIND));
+ addResolver(new PredefinedVariablesFilter());
addResolver(CommonResolvingFilter.create( UsageSymbol.KIND));
diff --git a/src/main/java/org/nest/nestml/_symboltable/PredefinedMethodsFilter.java b/src/main/java/org/nest/nestml/_symboltable/PredefinedMethodsFilter.java
index 9ccd90f6e..588372e10 100644
--- a/src/main/java/org/nest/nestml/_symboltable/PredefinedMethodsFilter.java
+++ b/src/main/java/org/nest/nestml/_symboltable/PredefinedMethodsFilter.java
@@ -11,28 +11,28 @@
import de.monticore.symboltable.resolving.ResolvingInfo;
import org.nest.symboltable.symbols.MethodSymbol;
+import java.util.Collection;
import java.util.List;
+import java.util.Map;
import java.util.Optional;
import static org.nest.symboltable.predefined.PredefinedFunctions.getMethodSymbolIfExists;
/**
- * TODO
+ * Returns a predefined methods if one exists: e.g. pow, exp, ...
*
* @author plotnikov
*/
public class PredefinedMethodsFilter extends CommonResolvingFilter {
- public PredefinedMethodsFilter(
- final SymbolKind targetKind) {
- super(targetKind);
+ public PredefinedMethodsFilter() {
+ super(MethodSymbol.KIND);
}
@Override
- public Optional filter(ResolvingInfo resolvingInfo, String name,
- List symbols) {
+ public Optional filter(ResolvingInfo resolvingInfo, String name, Map> symbols) {
final Optional foundPredefinedMethod = getMethodSymbolIfExists(name);
if (foundPredefinedMethod.isPresent()) {
diff --git a/src/main/java/org/nest/nestml/_symboltable/PredefinedTypesFilter.java b/src/main/java/org/nest/nestml/_symboltable/PredefinedTypesFilter.java
index 4bd55dacf..41f19eb98 100644
--- a/src/main/java/org/nest/nestml/_symboltable/PredefinedTypesFilter.java
+++ b/src/main/java/org/nest/nestml/_symboltable/PredefinedTypesFilter.java
@@ -12,25 +12,23 @@
import org.nest.symboltable.predefined.PredefinedTypes;
import org.nest.symboltable.symbols.TypeSymbol;
+import java.util.Collection;
import java.util.List;
+import java.util.Map;
import java.util.Optional;
/**
- * TODO
+ * All types in NESTML are predefined. This filter matches the type by name and returns if one exists
*
* @author plotnikov
*/
public class PredefinedTypesFilter extends CommonResolvingFilter {
- public PredefinedTypesFilter(
- final SymbolKind targetKind) {
- super(targetKind);
+ public PredefinedTypesFilter() {
+ super(TypeSymbol.KIND);
}
@Override
- public Optional filter(
- final ResolvingInfo resolvingInfo,
- final String name,
- final List symbols) {
+ public Optional filter(ResolvingInfo resolvingInfo, String name, Map> symbols) {
final Optional typeSymbol = PredefinedTypes.getTypeIfExists(name);
if (typeSymbol.isPresent()) {
return Optional.of(typeSymbol.get());
diff --git a/src/main/java/org/nest/nestml/_symboltable/PredefinedVariablesFilter.java b/src/main/java/org/nest/nestml/_symboltable/PredefinedVariablesFilter.java
index 9c0e26de9..817d6664f 100644
--- a/src/main/java/org/nest/nestml/_symboltable/PredefinedVariablesFilter.java
+++ b/src/main/java/org/nest/nestml/_symboltable/PredefinedVariablesFilter.java
@@ -12,28 +12,23 @@
import org.nest.symboltable.predefined.PredefinedVariables;
import org.nest.symboltable.symbols.VariableSymbol;
+import java.util.Collection;
import java.util.List;
+import java.util.Map;
import java.util.Optional;
/**
- * TODO
+ * Returns a predefined variable (e.g. 't') if one exists.
*
- * @author (last commit) $$Author$$
- * @version $$Revision$$, $$Date$$
- * @since TODO
+ * @author plotnikov
*/
public class PredefinedVariablesFilter extends CommonResolvingFilter {
- public PredefinedVariablesFilter(
- final Class symbolClass,
- final SymbolKind targetKind) {
- super(targetKind);
+ public PredefinedVariablesFilter() {
+ super(VariableSymbol.KIND);
}
@Override
- public Optional filter(
- final ResolvingInfo resolvingInfo,
- final String name,
- final List symbols) {
+ public Optional filter(ResolvingInfo resolvingInfo, String name, Map> symbols) {
final Optional predefinedVariable = PredefinedVariables.getVariableIfExists(name);
if (predefinedVariable.isPresent()) {
return Optional.of(predefinedVariable.get());
diff --git a/src/main/java/org/nest/spl/_symboltable/SPLLanguage.java b/src/main/java/org/nest/spl/_symboltable/SPLLanguage.java
index b5747617e..5473c0658 100644
--- a/src/main/java/org/nest/spl/_symboltable/SPLLanguage.java
+++ b/src/main/java/org/nest/spl/_symboltable/SPLLanguage.java
@@ -44,9 +44,9 @@ public Optional getSymbolTableCreator(ResolverConfi
@Override protected void initResolvingFilters() {
super.initResolvingFilters();
- addResolver(new PredefinedTypesFilter(TypeSymbol.KIND));
- addResolver(CommonResolvingFilter.create(VariableSymbol.class, VariableSymbol.KIND));
- addResolver(CommonResolvingFilter.create(MethodSymbol.class, MethodSymbol.KIND));
+ addResolver(new PredefinedTypesFilter());
+ addResolver(CommonResolvingFilter.create(VariableSymbol.KIND));
+ addResolver(CommonResolvingFilter.create(MethodSymbol.KIND));
}
@Override protected ModelingLanguageModelLoader provideModelLoader() {