Package japa.parser.ast

Examples of japa.parser.ast.CompilationUnit


//    }

    String cl = String.format(classTempForArgs, line);
    final String finalLine = line;
    try {
      CompilationUnit cu = parse(cl);
      VoidVisitorAdapter visitor = new VoidVisitorAdapter() {
        boolean hasNamed = false;
        boolean hasUnNamed = false;

        @Override
        public void visit(MethodCallExpr n, Object arg) {
          List<Expression> args = n.getArgs();
          // api issue: args can be null in case of empty arg list
          if (args != null)
            for (Expression expr : args) {
              if (expr instanceof AssignExpr) {
                if (hasUnNamed)
                  throw new RuntimeException(
                      "the line has mixed named and un-named arg list. It's not valid in Japid tag invocation. It must be all-or-none.: "
                          + finalLine);
                hasNamed = true;
                AssignExpr ae = (AssignExpr) expr;
                NamedArg na = new NamedArg(ae.getTarget(),
                    ae.getValue());
                ret.add(na);
              } else {
                if (hasNamed)
                  throw new RuntimeException(
                      "the line has mixed named and un-named arg list. It's not valid in Japid tag invocation. It must be all-or-none.: "
                          + finalLine);
                hasUnNamed = true;
              }
            }
        }
      };
      cu.accept(visitor, null);
    } catch (ParseException e) {
      throw new RuntimeException(
          "the line does not seem to be a valid arg list: " + line
              + ". ");
    }
View Full Code Here


    return ret;
  }

  public static boolean hasMethod(String javaSource, String string)
      throws ParseException {
    CompilationUnit cu = parse(javaSource);
    return hasMethod(cu, string);
  }
View Full Code Here

   */
  public static void isValidMethDecl(String line) {
    final String classTempForMeth = "class T {  %s{} }";
    String classString = String.format(classTempForMeth, line);
    try {
      CompilationUnit cu = parse(classString);
      VoidVisitorAdapter visitor = new VoidVisitorAdapter() {
      };
      cu.accept(visitor, null);
    } catch (ParseException e) {
      throw new RuntimeException(
          "the line does not seem to be a valid method declaration: "
              + line + ". Was expecting something like foo(int a, String b).");
    }
View Full Code Here

  }

  public static boolean isValidSingleVarDecl(String src) {
    String classString = String.format(varDeclTemp, src);
    try {
      CompilationUnit cu = parse(classString);
      return true;
    } catch (ParseException e) {
      return false;
    }
  }
View Full Code Here

   * @return
   */
  public static boolean isIf(String part) {
    String classString = String.format(IF_PREDICATE, part);
    try {
      CompilationUnit cu = parse(classString);
      return true;
    } catch (ParseException e) {
      classString = String.format(IF_PREDICATE_BRACE, part);
      try {
        CompilationUnit cu = parse(classString);
        return true;
      } catch (ParseException e1) {
        return false;
      }
    }
View Full Code Here

    part = part.trim();
    if (part.endsWith("{"))
      part = part.substring(0, part.length() - 1);
    String classString = String.format(IF_PREDICATE_OPEN, part);
    try {
      CompilationUnit cu = parse(classString);
      return true;
    } catch (ParseException e) {
      return false;
    }
  }
View Full Code Here

   * @return true if the input is a valid part in the for java 5 for loop predicative
   */
  public static boolean isValidForLoopPredicate(String part){
    String classString = String.format(TEMP_FOR_HEADER, part);
    try {
      CompilationUnit cu = parse(classString);
      return true;
    } catch (ParseException e) {
      return false;
    }

View Full Code Here

 
 
  public static List<CodeNode> parseCode(String code) {
    try{
      final List<CodeNode> nodes = new LinkedList();
      CompilationUnit cu = parse(code);
      VoidVisitorAdapter visitor = new VoidVisitorAdapter() {
        int nested = 0;
        @Override
        public void visit(AnnotationDeclaration n, Object arg) {
         
          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(AnnotationMemberDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ArrayAccessExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ArrayCreationExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ArrayInitializerExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(AssertStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(AssignExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(BinaryExpr n, Object arg) {
          if (n.getOperator() == Operator.binOr) {
            nodes.add(new CodeNode(nested++, new BinaryOrExpr(n)));
          }
          else {
            nodes.add(new CodeNode(nested++, n));
          }
          super.visit(n, arg);
          nested--;
        }

        @Override
        public void visit(BlockComment n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(BlockStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(BooleanLiteralExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(BreakStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(CastExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(CatchClause n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(CharLiteralExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ClassExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ClassOrInterfaceDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ClassOrInterfaceType n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(CompilationUnit n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ConditionalExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ConstructorDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ContinueStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(DoStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(DoubleLiteralExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(EmptyMemberDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(EmptyStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(EmptyTypeDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(EnclosedExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(EnumConstantDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(EnumDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ExplicitConstructorInvocationStmt n,
            Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ExpressionStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(FieldAccessExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(FieldDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ForeachStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ForStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(IfStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ImportDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(InitializerDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(InstanceOfExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(IntegerLiteralExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(IntegerLiteralMinValueExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(JavadocComment n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(LabeledStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(LineComment n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(LongLiteralExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(LongLiteralMinValueExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(MarkerAnnotationExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(MemberValuePair n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(MethodCallExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(MethodDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(NameExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(NormalAnnotationExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(NullLiteralExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ObjectCreationExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(PackageDeclaration n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(Parameter n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(PrimitiveType n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(QualifiedNameExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ReferenceType n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ReturnStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(SingleMemberAnnotationExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(StringLiteralExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(SuperExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(SwitchEntryStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(SwitchStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(SynchronizedStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ThisExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(ThrowStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(TryStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(TypeDeclarationStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(TypeParameter n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(UnaryExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(VariableDeclarationExpr n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(VariableDeclarator n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(VariableDeclaratorId n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(VoidType n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(WhileStmt n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }

        @Override
        public void visit(WildcardType n, Object arg) {

          nodes.add(new CodeNode(nested++, n)); super.visit(n, arg); nested--;
        }
       
      };
      cu.accept(visitor, null);
      return nodes;
    } catch (ParseException e) {
      throw new RuntimeException(
          "invalid Java code: " + code + ". " + e);
    }
View Full Code Here

        checkFiles(srcDir, "patterns", new Process<File>() {
            @Override
            public void process(@Nullable final File file) throws EnforcerRuleException {

                try {
                    CompilationUnit cu = JavaParser.parse(file);

                    if (cu.getImports() != null) {
                        for (ImportDeclaration importDeclaration : cu.getImports()) {
                            if (classesPredicate.apply(importDeclaration.getName().toString())) {
                                throw new EnforcerRuleException(
                                        String.format("%s: Illegal class import - %s at %s:%d:%d is bad!", file.getPath(), importDeclaration.getName().toString(), file.getPath(), importDeclaration.getBeginLine(), importDeclaration.getBeginColumn()));
                            }
                        }
View Full Code Here

    JapidTemplate bt = new JapidTemplate("japidviews/_layouts/TagLayout.html", src);
    JapidAbstractCompiler cp = new JapidLayoutCompiler();
    cp.compile(bt);
    String srccode = bt.javaSource;
    System.out.println(srccode);
    CompilationUnit cu = JavaSyntaxTool.parse(srccode);
    assertTrue(srccode.contains("package japidviews._layouts;"));
    assertTrue(srccode.contains("public abstract class TagLayout extends cn.bran.japid.template.JapidTemplateBase"));
    assertTrue(srccode.contains("protected abstract void doLayout();"));
    assertTrue(srccode.contains("@Override public void layout()"));
   
View Full Code Here

TOP

Related Classes of japa.parser.ast.CompilationUnit

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.