public static Message warning(MessageKey key, String message) { return new Message(MessageType.WARNING, key, message); }
private void checkDeclarationsAsDirectChild(Node n, Node c) { if (c instanceof VariableDeclaration) { c.addMessage(error(DECLARATION_NOT_ALLOWED, "Variable declarations only make sense in the context of a block.")); } if (c instanceof TypeDeclaration) { c.addMessage(error(DECLARATION_NOT_ALLOWED, "Type declarations only make sense in the context of a block or other type.")); } }
public Node addMessage(Message message) { if (messagesMap == null) { messagesMap = Maps.newHashMap(); messages = Lists.newArrayList(); } if (message.getKey() == null) { messages.add(message); } else { if (!messagesMap.containsKey(message.getKey())) { messagesMap.put(message.getKey(), message); messages.add(message); } } return this; }
private void checkDeclarationsAsDirectChild(Node n, Node c) { if (c instanceof VariableDeclaration) { c.addMessage(error(DECLARATION_NOT_ALLOWED, "Variable declarations only make sense in the context of a block.")); } if (c instanceof TypeDeclaration) { c.addMessage(error(DECLARATION_NOT_ALLOWED, "Type declarations only make sense in the context of a block or other type.")); } }
public static Message error(MessageKey key, String message) { return new Message(MessageType.ERROR, key, message); }
public Node addMessage(Message message) { if (messagesMap == null) { messagesMap = Maps.newHashMap(); messages = Lists.newArrayList(); } if (message.getKey() == null) { messages.add(message); } else { if (!messagesMap.containsKey(message.getKey())) { messagesMap.put(message.getKey(), message); messages.add(message); } } return this; }
private void checkDeclarationsAsDirectChild(Node n, Node c) { if (c instanceof VariableDeclaration) { c.addMessage(error(DECLARATION_NOT_ALLOWED, "Variable declarations only make sense in the context of a block.")); } if (c instanceof TypeDeclaration) { c.addMessage(error(DECLARATION_NOT_ALLOWED, "Type declarations only make sense in the context of a block or other type.")); } }
public static Message error(String message) { return new Message(MessageType.ERROR, null, message); }
public Node addMessage(Message message) { if (messagesMap == null) { messagesMap = Maps.newHashMap(); messages = Lists.newArrayList(); } if (message.getKey() == null) { messages.add(message); } else { if (!messagesMap.containsKey(message.getKey())) { messagesMap.put(message.getKey(), message); messages.add(message); } } return this; }
@Override public boolean visitParseArtefact(Node node) { StringBuilder errorName = new StringBuilder(); boolean first = true; for (char c : node.getClass().getSimpleName().toCharArray()) { if (first) { errorName.append(c); first = false; continue; } if (Character.isUpperCase(c)) errorName.append(" ").append(Character.toLowerCase(c)); else errorName.append(c); } node.addMessage(error(PARSEARTEFACT, "parse artefact remained in node tree")); return !recursing; } }
public static Message warning(MessageKey key, String message) { return new Message(MessageType.WARNING, key, message); }
@Override public boolean visitParseArtefact(Node node) { StringBuilder errorName = new StringBuilder(); boolean first = true; for (char c : node.getClass().getSimpleName().toCharArray()) { if (first) { errorName.append(c); first = false; continue; } if (Character.isUpperCase(c)) errorName.append(" ").append(Character.toLowerCase(c)); else errorName.append(c); } node.addMessage(error(PARSEARTEFACT, "parse artefact remained in node tree")); return !recursing; } }
public static Message error(MessageKey key, String message) { return new Message(MessageType.ERROR, key, message); }
@Override public boolean visitParseArtefact(Node node) { StringBuilder errorName = new StringBuilder(); boolean first = true; for (char c : node.getClass().getSimpleName().toCharArray()) { if (first) { errorName.append(c); first = false; continue; } if (Character.isUpperCase(c)) errorName.append(" ").append(Character.toLowerCase(c)); else errorName.append(c); } node.addMessage(error(PARSEARTEFACT, "parse artefact remained in node tree")); return !recursing; } }
public static Message warning(String message) { return new Message(MessageType.WARNING, null, message); }
private void initializersMustCompleteNormally(Node rawBlock) { if (!(rawBlock instanceof Block)) return; for (Node s : ((Block)rawBlock).rawContents()) { if (s instanceof Throw) s.addMessage(error(INITIALIZERS_INITIALIZER_MUST_COMPLETE_NORMALLY, "Initializers may not contain throws statements.")); if (s instanceof Return) s.addMessage(error(INITIALIZERS_INITIALIZER_MUST_COMPLETE_NORMALLY, "Initializers may not contain return statements.")); } }
public static Message error(MessageKey key, String message) { return new Message(MessageType.ERROR, key, message); }
public void checkNameOfIdentifier(Identifier identifier) { String n = identifier.astValue(); if (n.length() == 0) { identifier.addMessage(error(IDENTIFIER_EMPTY, "Empty Identifier")); return; } if (!Character.isJavaIdentifierStart(n.charAt(0))) { identifier.addMessage(error(IDENTIFIER_INVALID, "Not a legal start character for a java identifier: " + n.charAt(0))); return; } for (int i = 1; i < n.length(); i++) { if (!Character.isJavaIdentifierPart(n.charAt(i))) { identifier.addMessage(error(IDENTIFIER_INVALID, "Not a legal character in a java identifier: " + n.charAt(i))); return; } } }
public static Message warning(MessageKey key, String message) { return new Message(MessageType.WARNING, key, message); }
public void checkNameOfIdentifier(Identifier identifier) { String n = identifier.astValue(); if (n.length() == 0) { identifier.addMessage(error(IDENTIFIER_EMPTY, "Empty Identifier")); return; } if (!Character.isJavaIdentifierStart(n.charAt(0))) { identifier.addMessage(error(IDENTIFIER_INVALID, "Not a legal start character for a java identifier: " + n.charAt(0))); return; } for (int i = 1; i < n.length(); i++) { if (!Character.isJavaIdentifierPart(n.charAt(i))) { identifier.addMessage(error(IDENTIFIER_INVALID, "Not a legal character in a java identifier: " + n.charAt(i))); return; } } }