test/tools/javac/processing/model/element/TypeParamBounds.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 24,34 ****
/*
* @test
* @bug 6423972
* @summary Tests TypeParameter.getBounds.
* @author Scott Seligman
! * @build TypeParamBounds
* @compile -processor TypeParamBounds -proc:only TypeParamBounds.java
*/
import java.util.HashMap;
import java.util.List;
--- 24,35 ----
/*
* @test
* @bug 6423972
* @summary Tests TypeParameter.getBounds.
* @author Scott Seligman
! * @library ../../../lib
! * @build JavacTestingAbstractProcessor TypeParamBounds
* @compile -processor TypeParamBounds -proc:only TypeParamBounds.java
*/
import java.util.HashMap;
import java.util.List;
*** 38,71 ****
import javax.lang.model.SourceVersion;
import javax.lang.model.element.*;
import javax.lang.model.type.*;
import javax.lang.model.util.*;
! @SupportedAnnotationTypes("*")
! public class TypeParamBounds extends AbstractProcessor {
!
! Elements elements;
! Types types;
!
! public void init(ProcessingEnvironment penv) {
! super.init(penv);
! elements = penv.getElementUtils();
! types = penv.getTypeUtils();
! }
!
public boolean process(Set<? extends TypeElement> annoTypes,
RoundEnvironment round) {
if (!round.processingOver())
doit(annoTypes, round);
return true;
}
- @Override
- public SourceVersion getSupportedSourceVersion() {
- return SourceVersion.latest();
- }
-
private void doit(Set<? extends TypeElement> annoTypes,
RoundEnvironment round) {
TypeElement gen = elements.getTypeElement("TypeParamBounds.Gen");
// For each type parameter of Gen, compare its bounds with the
--- 39,56 ----
import javax.lang.model.SourceVersion;
import javax.lang.model.element.*;
import javax.lang.model.type.*;
import javax.lang.model.util.*;
! public class TypeParamBounds extends JavacTestingAbstractProcessor {
public boolean process(Set<? extends TypeElement> annoTypes,
RoundEnvironment round) {
if (!round.processingOver())
doit(annoTypes, round);
return true;
}
private void doit(Set<? extends TypeElement> annoTypes,
RoundEnvironment round) {
TypeElement gen = elements.getTypeElement("TypeParamBounds.Gen");
// For each type parameter of Gen, compare its bounds with the
*** 89,99 ****
}
}
// Fodder for the processor
-
static class Gen<T, U extends Object, V extends Number, W extends U,
X extends Runnable, Y extends CharSequence & Runnable,
Z extends Object & Runnable> {
// The names of the bounds of each type parameter of Gen.
--- 74,83 ----