Java1_0Validator.java revision 3d10f646973b16e1892f2f3b2cad3ce39e336dcf
1package com.github.javaparser.ast.validator; 2 3import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration; 4import com.github.javaparser.ast.expr.ClassExpr; 5import com.github.javaparser.ast.stmt.AssertStmt; 6import com.github.javaparser.ast.validator.chunks.CommonValidators; 7import com.github.javaparser.ast.validator.chunks.ModifierValidator; 8 9/** 10 * This validator validates according to Java 1.0 syntax rules. 11 */ 12public class Java1_0Validator extends Validators { 13 protected final Validator modifiersWithoutStrictfp = new ModifierValidator(false); 14 protected final Validator noAssertKeyword = new SimpleValidator<>(AssertStmt.class, 15 n -> true, 16 (n, reporter) -> reporter.report(n, "'assert' keyword is not supported.") 17 ); 18 protected final Validator noInnerClasses = new SimpleValidator<>(ClassOrInterfaceDeclaration.class, 19 n -> !n.isTopLevelType(), 20 (n, reporter) -> reporter.report(n, "inner classes or interfaces are not supported.") 21 ); 22 protected final Validator noReflection = new SimpleValidator<>(ClassExpr.class, 23 n -> true, 24 (n, reporter) -> reporter.report(n, "Reflection is not supported.") 25 ); 26 27 public Java1_0Validator() { 28 super(new CommonValidators()); 29 add(modifiersWithoutStrictfp); 30 add(noAssertKeyword); 31 add(noInnerClasses); 32 add(noReflection); 33 // TODO validate "no generics" 34 // TODO validate "no annotations" 35 // TODO validate "no enums" 36 // TODO validate "no varargs" 37 // TODO validate "no for-each" 38 // TODO validate "no static imports" 39 // TODO validate "no strings in switch" 40 // TODO validate "no resource management in try statement" 41 // TODO validate "no binary integer literals" 42 // TODO validate "no underscores in numeric literals" 43 // TODO validate "no multi-catch" 44 // TODO validate "no lambdas" 45 // TODO validate "no modules" 46 // TODO validate "no default interface methods" 47 // TODO validate "no private interface methods" 48 } 49} 50