編程生活

             :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            113 隨筆 :: 0 文章 :: 18 評(píng)論 :: 0 Trackbacks
          代碼抄自eclipse.jdt的help,主要是每次都要打開(kāi)Help太麻煩了,而將其抄進(jìn)來(lái),以便下次使用
          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) 評(píng)論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 鹤庆县| 浮梁县| 赫章县| 梁山县| 瓮安县| 句容市| 津市市| 惠州市| 石河子市| 江华| 平昌县| 桃源县| 安化县| 屯昌县| 南安市| 岳普湖县| 申扎县| 浦江县| 萝北县| 华宁县| 海盐县| 开阳县| 屯留县| 平邑县| 永川市| 达孜县| 隆子县| 临汾市| 右玉县| 漠河县| 萝北县| 霍邱县| 扶绥县| 崇信县| 彝良县| 黄梅县| 余姚市| 岚皋县| 济宁市| 当涂县| 连城县|