1 18 package org.apache.beehive.netui.compiler.grammar; 19 20 import org.apache.beehive.netui.compiler.typesystem.env.AnnotationProcessorEnvironment; 21 import org.apache.beehive.netui.compiler.typesystem.declaration.AnnotationInstance; 22 import org.apache.beehive.netui.compiler.typesystem.declaration.MemberDeclaration; 23 import org.apache.beehive.netui.compiler.typesystem.declaration.MethodDeclaration; 24 import org.apache.beehive.netui.compiler.typesystem.type.TypeInstance; 25 import org.apache.beehive.netui.compiler.typesystem.type.PrimitiveType; 26 import org.apache.beehive.netui.compiler.Diagnostics; 27 import org.apache.beehive.netui.compiler.RuntimeVersionChecker; 28 import org.apache.beehive.netui.compiler.FatalCompileTimeException; 29 30 31 public class ValidateRequiredGrammar 32 extends BaseValidationRuleGrammar 33 { 34 public ValidateRequiredGrammar( AnnotationProcessorEnvironment env, Diagnostics diags, RuntimeVersionChecker rvc ) 35 { 36 super( env, diags, rvc ); 37 } 38 39 protected boolean onBeginCheck( AnnotationInstance annotation, AnnotationInstance[] parentAnnotations, 40 MemberDeclaration classMember ) 41 throws FatalCompileTimeException 42 { 43 if ( classMember instanceof MethodDeclaration ) 48 { 49 TypeInstance returnType = ( ( MethodDeclaration ) classMember ).getReturnType(); 50 51 if ( returnType instanceof PrimitiveType ) 52 { 53 addWarning( annotation, "warning.validate-required-on-primitive-type", 54 ANNOTATION_INTERFACE_PREFIX + VALIDATE_REQUIRED_TAG_NAME ); 55 } 56 } 57 58 return super.onBeginCheck( annotation, parentAnnotations, classMember ); 59 } 60 } 61 | Popular Tags |