編程生活

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            113 隨筆 :: 0 文章 :: 18 評論 :: 0 Trackbacks
          代碼抄自eclipse.jdt的help,主要是每次都要打開Help太麻煩了,而將其抄進來,以便下次使用
          AST ast = AST.newAST(AST.JLS3); //支持JDT5.0的
          CompilationUnit unit = ast.newCompilationUnit();
          PackageDeclaration packageDeclaration = ast.newPackageDeclaration();
          packageDeclaration.setName(ast.newSimpleName("example"));
          unit.setPackage(packageDeclaration);
          ImportDeclaration importDeclaration = ast.newImportDeclaration();
          QualifiedName name =
          ast.newQualifiedName(
          ast.newSimpleName("java"),
          ast.newSimpleName("util"));
          importDeclaration.setName(name);
          importDeclaration.setOnDemand(true);
          unit.imports().add(importDeclaration);
          TypeDeclaration type = ast.newTypeDeclaration();
          type.setInterface(false);
          type.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD));
          type.setName(ast.newSimpleName("HelloWorld"));
          MethodDeclaration methodDeclaration = ast.newMethodDeclaration();
          methodDeclaration.setConstructor(false);
          List modifiers = methodDeclaration.modifiers();
          modifiers.add(ast.newModifier(Modifier.ModifierKeyword.PUBLIC_KEYWORD));
          modifiers.add(ast.newModifier(Modifier.ModifierKeyword.STATIC_KEYWORD));
          methodDeclaration.setName(ast.newSimpleName("main"));
          methodDeclaration.setReturnType2(ast.newPrimitiveType(PrimitiveType.VOID));
          SingleVariableDeclaration variableDeclaration = ast.newSingleVariableDeclaration();
          variableDeclaration.setType(ast.newArrayType(ast.newSimpleType(ast.newSimpleName("String"))));
          variableDeclaration.setName(ast.newSimpleName("args"));
          methodDeclaration.parameters().add(variableDeclaration);
          org.eclipse.jdt.core.dom.Block block = ast.newBlock();
          MethodInvocation methodInvocation = ast.newMethodInvocation();
          name =
          ast.newQualifiedName(
          ast.newSimpleName("System"),
          ast.newSimpleName("out"));
          methodInvocation.setExpression(name);
          methodInvocation.setName(ast.newSimpleName("println"));
          InfixExpression infixExpression = ast.newInfixExpression();
          infixExpression.setOperator(InfixExpression.Operator.PLUS);
          StringLiteral literal = ast.newStringLiteral();
          literal.setLiteralValue("Hello");
          infixExpression.setLeftOperand(literal);
          literal = ast.newStringLiteral();
          literal.setLiteralValue(" world");
          infixExpression.setRightOperand(literal);
          methodInvocation.arguments().add(infixExpression);
          ExpressionStatement expressionStatement = ast.newExpressionStatement(methodInvocation);
          block.statements().add(expressionStatement);
          methodDeclaration.setBody(block);
          type.bodyDeclarations().add(methodDeclaration);
          unit.types().add(type);
          posted on 2007-11-06 12:14 wilesun 閱讀(1363) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 南宫市| 赞皇县| 山西省| 慈溪市| 驻马店市| 云安县| 夹江县| 永登县| 精河县| 顺义区| 盈江县| 靖安县| 遂平县| 海宁市| 柳林县| 文安县| 赫章县| 禄丰县| 化德县| 黄平县| 民权县| 徐水县| 温宿县| 梁山县| 凤阳县| 宣汉县| 屏东市| 陆川县| 芜湖县| 东莞市| 宁强县| 台东市| 清水河县| 新巴尔虎右旗| 太仆寺旗| 呼伦贝尔市| 绍兴县| 长海县| 安西县| 耒阳市| 苍梧县|