org.eclipse.jdt.internal.compiler.parser.Parser.dispatchDeclarationInto()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(18.6k)|赞(0)|评价(0)|浏览(205)

本文整理了Java中org.eclipse.jdt.internal.compiler.parser.Parser.dispatchDeclarationInto()方法的一些代码示例,展示了Parser.dispatchDeclarationInto()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Parser.dispatchDeclarationInto()方法的具体详情如下:
包路径:org.eclipse.jdt.internal.compiler.parser.Parser
类名称:Parser
方法名:dispatchDeclarationInto

Parser.dispatchDeclarationInto介绍

暂无

代码示例

代码示例来源:origin: com.ovea.tajin.server/tajin-server-tomcat7

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. fieldDeclaration.declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. this.intPtr --; // remove end position of the arguments
  11. }
  12. protected void consumeEnumDeclaration() {

代码示例来源:origin: org.eclipse.jdt/org.eclipse.jdt.core

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. int declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. fieldDeclaration.declarationSourceEnd = declarationSourceEnd;
  11. this.intPtr --; // remove end position of the arguments
  12. this.variablesCounter[this.nestedType] = 0;
  13. this.nestedType--;
  14. ASTNode initialization = fieldDeclaration.initialization;
  15. if (initialization != null) {
  16. initialization.sourceEnd = declarationSourceEnd;
  17. }
  18. }
  19. protected void consumeEnumDeclaration() {

代码示例来源:origin: org.eclipse.scout.sdk.deps/org.eclipse.jdt.core

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. int declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. fieldDeclaration.declarationSourceEnd = declarationSourceEnd;
  11. this.intPtr --; // remove end position of the arguments
  12. this.variablesCounter[this.nestedType] = 0;
  13. this.nestedType--;
  14. ASTNode initialization = fieldDeclaration.initialization;
  15. if (initialization != null) {
  16. initialization.sourceEnd = declarationSourceEnd;
  17. }
  18. }
  19. protected void consumeEnumDeclaration() {

代码示例来源:origin: org.eclipse.jetty.orbit/org.eclipse.jdt.core

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. int declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. fieldDeclaration.declarationSourceEnd = declarationSourceEnd;
  11. this.intPtr --; // remove end position of the arguments
  12. this.variablesCounter[this.nestedType] = 0;
  13. this.nestedType--;
  14. ASTNode initialization = fieldDeclaration.initialization;
  15. if (initialization != null) {
  16. initialization.sourceEnd = declarationSourceEnd;
  17. }
  18. }
  19. protected void consumeEnumDeclaration() {

代码示例来源:origin: com.vaadin/vaadin-client-compiler-deps

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. int declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. fieldDeclaration.declarationSourceEnd = declarationSourceEnd;
  11. this.intPtr --; // remove end position of the arguments
  12. this.variablesCounter[this.nestedType] = 0;
  13. this.nestedType--;
  14. ASTNode initialization = fieldDeclaration.initialization;
  15. if (initialization != null) {
  16. initialization.sourceEnd = declarationSourceEnd;
  17. }
  18. }
  19. protected void consumeEnumDeclaration() {

代码示例来源:origin: org.eclipse.jdt.core.compiler/ecj

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. int declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. fieldDeclaration.declarationSourceEnd = declarationSourceEnd;
  11. this.intPtr --; // remove end position of the arguments
  12. this.variablesCounter[this.nestedType] = 0;
  13. this.nestedType--;
  14. ASTNode initialization = fieldDeclaration.initialization;
  15. if (initialization != null) {
  16. initialization.sourceEnd = declarationSourceEnd;
  17. }
  18. }
  19. protected void consumeEnumDeclaration() {

代码示例来源:origin: trylimits/Eclipse-Postfix-Code-Completion

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. int declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. fieldDeclaration.declarationSourceEnd = declarationSourceEnd;
  11. this.intPtr --; // remove end position of the arguments
  12. this.variablesCounter[this.nestedType] = 0;
  13. this.nestedType--;
  14. ASTNode initialization = fieldDeclaration.initialization;
  15. if (initialization != null) {
  16. initialization.sourceEnd = declarationSourceEnd;
  17. }
  18. }
  19. protected void consumeEnumDeclaration() {

代码示例来源:origin: org.eclipse.tycho/org.eclipse.jdt.core

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. int declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. fieldDeclaration.declarationSourceEnd = declarationSourceEnd;
  11. this.intPtr --; // remove end position of the arguments
  12. this.variablesCounter[this.nestedType] = 0;
  13. this.nestedType--;
  14. ASTNode initialization = fieldDeclaration.initialization;
  15. if (initialization != null) {
  16. initialization.sourceEnd = declarationSourceEnd;
  17. }
  18. }
  19. protected void consumeEnumDeclaration() {

代码示例来源:origin: com.google.code.maven-play-plugin.org.eclipse.jdt/org.eclipse.jdt.core

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. int declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. fieldDeclaration.declarationSourceEnd = declarationSourceEnd;
  11. this.intPtr --; // remove end position of the arguments
  12. this.variablesCounter[this.nestedType] = 0;
  13. this.nestedType--;
  14. ASTNode initialization = fieldDeclaration.initialization;
  15. if (initialization != null) {
  16. initialization.sourceEnd = declarationSourceEnd;
  17. }
  18. }
  19. protected void consumeEnumDeclaration() {

代码示例来源:origin: org.jibx.config.3rdparty.org.eclipse/org.eclipse.jdt.core

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. int declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. fieldDeclaration.declarationSourceEnd = declarationSourceEnd;
  11. this.intPtr --; // remove end position of the arguments
  12. this.variablesCounter[this.nestedType] = 0;
  13. this.nestedType--;
  14. ASTNode initialization = fieldDeclaration.initialization;
  15. if (initialization != null) {
  16. initialization.sourceEnd = declarationSourceEnd;
  17. }
  18. }
  19. protected void consumeEnumDeclaration() {

代码示例来源:origin: org.eclipse.scout.sdk.deps/ecj

  1. protected void consumeEnumConstantWithClassBody() {
  2. dispatchDeclarationInto(this.astLengthStack[this.astLengthPtr--]);
  3. TypeDeclaration anonymousType = (TypeDeclaration) this.astStack[this.astPtr--]; // pop type
  4. this.astLengthPtr--;
  5. anonymousType.bodyEnd = this.endPosition;
  6. anonymousType.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  7. final FieldDeclaration fieldDeclaration = ((FieldDeclaration) this.astStack[this.astPtr]);
  8. fieldDeclaration.declarationEnd = this.endStatementPosition;
  9. int declarationSourceEnd = anonymousType.declarationSourceEnd;
  10. fieldDeclaration.declarationSourceEnd = declarationSourceEnd;
  11. this.intPtr --; // remove end position of the arguments
  12. this.variablesCounter[this.nestedType] = 0;
  13. this.nestedType--;
  14. ASTNode initialization = fieldDeclaration.initialization;
  15. if (initialization != null) {
  16. initialization.sourceEnd = declarationSourceEnd;
  17. }
  18. }
  19. protected void consumeEnumDeclaration() {

代码示例来源:origin: org.eclipse.jdt/org.eclipse.jdt.core

  1. protected void consumeAnnotationTypeDeclaration() {
  2. int length;
  3. if ((length = this.astLengthStack[this.astLengthPtr--]) != 0) {
  4. //there are length declarations
  5. //dispatch according to the type of the declarations
  6. dispatchDeclarationInto(length);
  7. }
  8. TypeDeclaration typeDecl = (TypeDeclaration) this.astStack[this.astPtr];
  9. //convert constructor that do not have the type's name into methods
  10. typeDecl.checkConstructors(this);
  11. //always add <clinit> (will be remove at code gen time if empty)
  12. if (this.scanner.containsAssertKeyword) {
  13. typeDecl.bits |= ASTNode.ContainsAssertion;
  14. }
  15. typeDecl.addClinit();
  16. typeDecl.bodyEnd = this.endStatementPosition;
  17. if (length == 0 && !containsComment(typeDecl.bodyStart, typeDecl.bodyEnd)) {
  18. typeDecl.bits |= ASTNode.UndocumentedEmptyBlock;
  19. }
  20. typeDecl.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  21. }
  22. protected void consumeAnnotationTypeDeclarationHeader() {

代码示例来源:origin: org.jibx.config.3rdparty.org.eclipse/org.eclipse.jdt.core

  1. protected void consumeAnnotationTypeDeclaration() {
  2. int length;
  3. if ((length = this.astLengthStack[this.astLengthPtr--]) != 0) {
  4. //there are length declarations
  5. //dispatch according to the type of the declarations
  6. dispatchDeclarationInto(length);
  7. }
  8. TypeDeclaration typeDecl = (TypeDeclaration) this.astStack[this.astPtr];
  9. //convert constructor that do not have the type's name into methods
  10. typeDecl.checkConstructors(this);
  11. //always add <clinit> (will be remove at code gen time if empty)
  12. if (this.scanner.containsAssertKeyword) {
  13. typeDecl.bits |= ASTNode.ContainsAssertion;
  14. }
  15. typeDecl.addClinit();
  16. typeDecl.bodyEnd = this.endStatementPosition;
  17. if (length == 0 && !containsComment(typeDecl.bodyStart, typeDecl.bodyEnd)) {
  18. typeDecl.bits |= ASTNode.UndocumentedEmptyBlock;
  19. }
  20. typeDecl.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  21. }
  22. protected void consumeAnnotationTypeDeclarationHeader() {

代码示例来源:origin: org.eclipse.tycho/org.eclipse.jdt.core

  1. protected void consumeAnnotationTypeDeclaration() {
  2. int length;
  3. if ((length = this.astLengthStack[this.astLengthPtr--]) != 0) {
  4. //there are length declarations
  5. //dispatch according to the type of the declarations
  6. dispatchDeclarationInto(length);
  7. }
  8. TypeDeclaration typeDecl = (TypeDeclaration) this.astStack[this.astPtr];
  9. //convert constructor that do not have the type's name into methods
  10. typeDecl.checkConstructors(this);
  11. //always add <clinit> (will be remove at code gen time if empty)
  12. if (this.scanner.containsAssertKeyword) {
  13. typeDecl.bits |= ASTNode.ContainsAssertion;
  14. }
  15. typeDecl.addClinit();
  16. typeDecl.bodyEnd = this.endStatementPosition;
  17. if (length == 0 && !containsComment(typeDecl.bodyStart, typeDecl.bodyEnd)) {
  18. typeDecl.bits |= ASTNode.UndocumentedEmptyBlock;
  19. }
  20. typeDecl.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  21. }
  22. protected void consumeAnnotationTypeDeclarationHeader() {

代码示例来源:origin: com.vaadin/vaadin-client-compiler-deps

  1. protected void consumeAnnotationTypeDeclaration() {
  2. int length;
  3. if ((length = this.astLengthStack[this.astLengthPtr--]) != 0) {
  4. //there are length declarations
  5. //dispatch according to the type of the declarations
  6. dispatchDeclarationInto(length);
  7. }
  8. TypeDeclaration typeDecl = (TypeDeclaration) this.astStack[this.astPtr];
  9. //convert constructor that do not have the type's name into methods
  10. typeDecl.checkConstructors(this);
  11. //always add <clinit> (will be remove at code gen time if empty)
  12. if (this.scanner.containsAssertKeyword) {
  13. typeDecl.bits |= ASTNode.ContainsAssertion;
  14. }
  15. typeDecl.addClinit();
  16. typeDecl.bodyEnd = this.endStatementPosition;
  17. if (length == 0 && !containsComment(typeDecl.bodyStart, typeDecl.bodyEnd)) {
  18. typeDecl.bits |= ASTNode.UndocumentedEmptyBlock;
  19. }
  20. typeDecl.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  21. }
  22. protected void consumeAnnotationTypeDeclarationHeader() {

代码示例来源:origin: org.eclipse.jetty.orbit/org.eclipse.jdt.core

  1. protected void consumeAnnotationTypeDeclaration() {
  2. int length;
  3. if ((length = this.astLengthStack[this.astLengthPtr--]) != 0) {
  4. //there are length declarations
  5. //dispatch according to the type of the declarations
  6. dispatchDeclarationInto(length);
  7. }
  8. TypeDeclaration typeDecl = (TypeDeclaration) this.astStack[this.astPtr];
  9. //convert constructor that do not have the type's name into methods
  10. typeDecl.checkConstructors(this);
  11. //always add <clinit> (will be remove at code gen time if empty)
  12. if (this.scanner.containsAssertKeyword) {
  13. typeDecl.bits |= ASTNode.ContainsAssertion;
  14. }
  15. typeDecl.addClinit();
  16. typeDecl.bodyEnd = this.endStatementPosition;
  17. if (length == 0 && !containsComment(typeDecl.bodyStart, typeDecl.bodyEnd)) {
  18. typeDecl.bits |= ASTNode.UndocumentedEmptyBlock;
  19. }
  20. typeDecl.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  21. }
  22. protected void consumeAnnotationTypeDeclarationHeader() {

代码示例来源:origin: org.eclipse.scout.sdk.deps/org.eclipse.jdt.core

  1. protected void consumeAnnotationTypeDeclaration() {
  2. int length;
  3. if ((length = this.astLengthStack[this.astLengthPtr--]) != 0) {
  4. //there are length declarations
  5. //dispatch according to the type of the declarations
  6. dispatchDeclarationInto(length);
  7. }
  8. TypeDeclaration typeDecl = (TypeDeclaration) this.astStack[this.astPtr];
  9. //convert constructor that do not have the type's name into methods
  10. typeDecl.checkConstructors(this);
  11. //always add <clinit> (will be remove at code gen time if empty)
  12. if (this.scanner.containsAssertKeyword) {
  13. typeDecl.bits |= ASTNode.ContainsAssertion;
  14. }
  15. typeDecl.addClinit();
  16. typeDecl.bodyEnd = this.endStatementPosition;
  17. if (length == 0 && !containsComment(typeDecl.bodyStart, typeDecl.bodyEnd)) {
  18. typeDecl.bits |= ASTNode.UndocumentedEmptyBlock;
  19. }
  20. typeDecl.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  21. }
  22. protected void consumeAnnotationTypeDeclarationHeader() {

代码示例来源:origin: com.google.code.maven-play-plugin.org.eclipse.jdt/org.eclipse.jdt.core

  1. protected void consumeAnnotationTypeDeclaration() {
  2. int length;
  3. if ((length = this.astLengthStack[this.astLengthPtr--]) != 0) {
  4. //there are length declarations
  5. //dispatch according to the type of the declarations
  6. dispatchDeclarationInto(length);
  7. }
  8. TypeDeclaration typeDecl = (TypeDeclaration) this.astStack[this.astPtr];
  9. //convert constructor that do not have the type's name into methods
  10. typeDecl.checkConstructors(this);
  11. //always add <clinit> (will be remove at code gen time if empty)
  12. if (this.scanner.containsAssertKeyword) {
  13. typeDecl.bits |= ASTNode.ContainsAssertion;
  14. }
  15. typeDecl.addClinit();
  16. typeDecl.bodyEnd = this.endStatementPosition;
  17. if (length == 0 && !containsComment(typeDecl.bodyStart, typeDecl.bodyEnd)) {
  18. typeDecl.bits |= ASTNode.UndocumentedEmptyBlock;
  19. }
  20. typeDecl.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  21. }
  22. protected void consumeAnnotationTypeDeclarationHeader() {

代码示例来源:origin: org.eclipse.jdt.core.compiler/ecj

  1. protected void consumeAnnotationTypeDeclaration() {
  2. int length;
  3. if ((length = this.astLengthStack[this.astLengthPtr--]) != 0) {
  4. //there are length declarations
  5. //dispatch according to the type of the declarations
  6. dispatchDeclarationInto(length);
  7. }
  8. TypeDeclaration typeDecl = (TypeDeclaration) this.astStack[this.astPtr];
  9. //convert constructor that do not have the type's name into methods
  10. typeDecl.checkConstructors(this);
  11. //always add <clinit> (will be remove at code gen time if empty)
  12. if (this.scanner.containsAssertKeyword) {
  13. typeDecl.bits |= ASTNode.ContainsAssertion;
  14. }
  15. typeDecl.addClinit();
  16. typeDecl.bodyEnd = this.endStatementPosition;
  17. if (length == 0 && !containsComment(typeDecl.bodyStart, typeDecl.bodyEnd)) {
  18. typeDecl.bits |= ASTNode.UndocumentedEmptyBlock;
  19. }
  20. typeDecl.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  21. }
  22. protected void consumeAnnotationTypeDeclarationHeader() {

代码示例来源:origin: trylimits/Eclipse-Postfix-Code-Completion

  1. protected void consumeAnnotationTypeDeclaration() {
  2. int length;
  3. if ((length = this.astLengthStack[this.astLengthPtr--]) != 0) {
  4. //there are length declarations
  5. //dispatch according to the type of the declarations
  6. dispatchDeclarationInto(length);
  7. }
  8. TypeDeclaration typeDecl = (TypeDeclaration) this.astStack[this.astPtr];
  9. //convert constructor that do not have the type's name into methods
  10. typeDecl.checkConstructors(this);
  11. //always add <clinit> (will be remove at code gen time if empty)
  12. if (this.scanner.containsAssertKeyword) {
  13. typeDecl.bits |= ASTNode.ContainsAssertion;
  14. }
  15. typeDecl.addClinit();
  16. typeDecl.bodyEnd = this.endStatementPosition;
  17. if (length == 0 && !containsComment(typeDecl.bodyStart, typeDecl.bodyEnd)) {
  18. typeDecl.bits |= ASTNode.UndocumentedEmptyBlock;
  19. }
  20. typeDecl.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
  21. }
  22. protected void consumeAnnotationTypeDeclarationHeader() {

相关文章

Parser类方法