@Override public void check( AnalyzeStack stack, DeclarationSpecifierList specifiers, InitDeclarator declaration) { if (specifiers == null) return; Type type = specifiers.resolveType(); if (type != null) type = declaration.resolveType(type, stack); if (type != null || type.asFunctionType() != null) { // a forward declaration of an event or command function specifiers.checkModifiers( stack, new int[] {Modifiers.COMMAND | Modifiers.EVENT | Modifiers.TYPEDEF}, Modifiers.ALL_TYPE_QUALIFIER | Modifiers.INLINE | Modifiers.ASYNC, Modifiers.TASK | Modifiers.DEFAULT | Modifiers.NORACE | Modifiers.AUTO | Modifiers.REGISTER, null, new FunctionMessanger(true, declaration.resolveName())); } }