private void bindPropertiesForAllTables(XlsModuleSyntaxNode moduleNode,
XlsModuleOpenClass module,
OpenL openl,
RulesModuleBindingContext bindingContext) {
ASelector<ISyntaxNode> propertiesSelector = getSelector(XlsNodeTypes.XLS_PROPERTIES);
ASelector<ISyntaxNode> otherNodesSelector = getSelector(XlsNodeTypes.XLS_OTHER);
ISelector<ISyntaxNode> notPropertiesAndNotOtherSelector = propertiesSelector.not()
.and(otherNodesSelector.not());
TableSyntaxNode[] tableSyntaxNodes = selectNodes(moduleNode, notPropertiesAndNotOtherSelector);
PropertiesLoader propLoader = new PropertiesLoader(openl, bindingContext, module);
for (TableSyntaxNode tsn : tableSyntaxNodes) {
try {
propLoader.loadProperties(tsn);
} catch (SyntaxNodeException error) {
processError(error, tsn, bindingContext);
} catch (CompositeSyntaxNodeException ex) {
for (SyntaxNodeException error : ex.getErrors()) {
processError(error, tsn, bindingContext);
}
} catch (Exception t) {
SyntaxNodeException error = SyntaxNodeExceptionUtils.createError(t, tsn);
processError(error, tsn, bindingContext);
}
}
}