private void walkBindingNode( final Compiler.Context context, final AST node, final Definition message) { List<AST> children = node.getChildNodes(); final String identifier = getString(children.get(0)); final Binding binding = message.createLanguageBinding(identifier); for (int i = 1; i < children.size(); i += 2) { final String key = getString(children.get(i)); final String value = getString(children.get(i + 1)); final Binding.Data prev = binding.getData(key); if (prev != null) { context.error( node.getCodePosition(), identifier + " language binding for " + message.getName() + " already defined for '" + key + "'"); context.warning(prev.getCodePosition(), "this was the location of the previous definition"); } binding.setData(key, value, node.getCodePosition()); } }