Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 45143 invoked from network); 20 Sep 2010 05:44:50 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 20 Sep 2010 05:44:50 -0000 Received: (qmail 12423 invoked by uid 500); 20 Sep 2010 05:44:50 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 12307 invoked by uid 500); 20 Sep 2010 05:44:48 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 12298 invoked by uid 99); 20 Sep 2010 05:44:47 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Sep 2010 05:44:47 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Sep 2010 05:44:43 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 7E8252388A5F; Mon, 20 Sep 2010 05:44:23 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r998789 [2/2] - in /harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax: annotation/processing/ lang/model/element/ lang/model/type/ lang/model/util/ Date: Mon, 20 Sep 2010 05:44:22 -0000 To: commits@harmony.apache.org From: lvjing@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100920054423.7E8252388A5F@eris.apache.org> Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/ExecutableType.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/MirroredTypeException.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/MirroredTypeException.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/MirroredTypeException.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/MirroredTypeException.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +import java.io.IOException; +import java.io.ObjectInputStream; +import java.util.ArrayList; + +public class MirroredTypeException extends RuntimeException { + /** + * + */ + private static final long serialVersionUID = 269L; + + private TypeMirror type; + + public MirroredTypeException(TypeMirror type) { + this.type = type; + } + + TypeMirror getTypeMirror() { + return type; + } + + private void readObject(ObjectInputStream s) + throws IOException, + ClassNotFoundException { + s.defaultReadObject(); + type = null; + } +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/MirroredTypeException.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/MirroredTypesException.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/MirroredTypesException.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/MirroredTypesException.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/MirroredTypesException.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +import java.io.IOException; +import java.io.ObjectInputStream; +import java.util.ArrayList; +import java.util.List; + +public class MirroredTypesException extends RuntimeException { + + private static final long serialVersionUID = 269L; + List types; + + public MirroredTypesException(List types) { + this.types = types; + } + + List getTypeMirrors() { + return types; + } + + private void readObject(ObjectInputStream s) + throws IOException, + ClassNotFoundException { + s.defaultReadObject(); + types = new ArrayList(); + } +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/MirroredTypesException.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/NoType.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/NoType.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/NoType.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/NoType.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +public interface NoType extends TypeMirror { + +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/NoType.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/NullType.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/NullType.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/NullType.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/NullType.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +public interface NullType extends ReferenceType, TypeMirror { + +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/NullType.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/PrimitiveType.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/PrimitiveType.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/PrimitiveType.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/PrimitiveType.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +public interface PrimitiveType extends TypeMirror { + +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/PrimitiveType.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/ReferenceType.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/ReferenceType.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/ReferenceType.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/ReferenceType.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +public interface ReferenceType extends TypeMirror { + +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/ReferenceType.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeKind.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeKind.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeKind.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeKind.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +public enum TypeKind { + ARRAY, BOOLEAN, BYTE, CHAR, DECLARED, DOUBLE, ERROR, EXECUTABLE, FLOAT, INT, LONG, NONE, NULL, OTHER, PACKAGE, SHORT, TYPEVAR, VOID, WILDCARD; + + public boolean isPrimitive() { + switch (this) { + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case SHORT: + return true; + } + return false; + } +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeKind.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeMirror.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeMirror.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeMirror.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeMirror.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +public interface TypeMirror { + R accept(TypeVisitor v, P p); + + boolean equals(Object obj); + + TypeKind getKind(); + + int hashCode(); + + String toString(); +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeMirror.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeVariable.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeVariable.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeVariable.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeVariable.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +import javax.lang.model.element.Element; + +public interface TypeVariable extends TypeMirror, ReferenceType { + Element asElement(); + + TypeMirror getLowerBound(); + + TypeMirror getUpperBound(); +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeVariable.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeVisitor.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeVisitor.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeVisitor.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeVisitor.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +public interface TypeVisitor { + R visit(TypeMirror t); + + R visit(TypeMirror t, P p); + + R visitArray(ArrayType t, P p); + + R visitDeclared(DeclaredType t, P p); + + R visitError(ErrorType t, P p); + + R visitExecutable(ExecutableType t, P p); + + R visitNoType(NoType t, P p); + + R visitNull(NullType t, P p); + + R visitPrimitive(PrimitiveType t, P p); + + R visitTypeVariable(TypeVariable t, P p); + + R visitUnknown(TypeMirror t, P p); + + R visitWildcard(WildcardType t, P p); +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/TypeVisitor.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/UnknownTypeException.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/UnknownTypeException.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/UnknownTypeException.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/UnknownTypeException.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +public class UnknownTypeException extends RuntimeException { + /** + * + */ + private static final long serialVersionUID = 269L; + + TypeMirror type; + + Object argument; + + public UnknownTypeException(TypeMirror t, Object p) { + this.type = t; + this.argument = p; + } + + public Object getArgument() { + return argument; + } + + public TypeMirror getUnknownType() { + return type; + } + +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/UnknownTypeException.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/WildcardType.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/WildcardType.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/WildcardType.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/WildcardType.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.type; + +public interface WildcardType extends TypeMirror { + TypeMirror getExtendsBound(); + + TypeMirror getSuperBound(); +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/type/WildcardType.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractAnnotationValueVisitor6.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractAnnotationValueVisitor6.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractAnnotationValueVisitor6.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractAnnotationValueVisitor6.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package javax.lang.model.util; + +import javax.lang.model.element.AnnotationValue; +import javax.lang.model.element.AnnotationValueVisitor; +import javax.lang.model.element.UnknownAnnotationValueException; + +public abstract class AbstractAnnotationValueVisitor6 implements + AnnotationValueVisitor { + protected AbstractAnnotationValueVisitor6() { + + } + + public final R visit(AnnotationValue av, P p) { + return av.accept(this, p); + } + + public final R visit(AnnotationValue av) { + return av.accept(this, null); + } + + public R visitUnknown(AnnotationValue av, P p) { + throw new UnknownAnnotationValueException(av, p); + } +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractElementVisitor6.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractElementVisitor6.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractElementVisitor6.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractElementVisitor6.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.util; + +import javax.lang.model.element.Element; +import javax.lang.model.element.ElementVisitor; +import javax.lang.model.element.UnknownElementException; + +public abstract class AbstractElementVisitor6 implements + ElementVisitor { + protected AbstractElementVisitor6() { + super(); + } + + public final R visit(Element e, P p) { + return e.accept(this, p); + } + + public final R visit(Element e) { + return e.accept(this, null); + } + + public R visitUnknown(Element e, P p) { + throw new UnknownElementException(e, p); + } +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractElementVisitor6.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractTypeVisitor6.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractTypeVisitor6.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractTypeVisitor6.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractTypeVisitor6.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package javax.lang.model.util; + +import javax.lang.model.type.TypeMirror; +import javax.lang.model.type.TypeVisitor; +import javax.lang.model.type.UnknownTypeException; + +public abstract class AbstractTypeVisitor6 implements TypeVisitor { + protected AbstractTypeVisitor6() { + super(); + } + + public final R visit(TypeMirror t, P p) { + return t.accept(this, p); + } + + public final R visit(TypeMirror t) { + return t.accept(this, null); + } + + public R visitUnknown(TypeMirror t, P p) { + throw new UnknownTypeException(t, p); + } +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/AbstractTypeVisitor6.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementFilter.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementFilter.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementFilter.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementFilter.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,122 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.util; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import javax.lang.model.element.Element; +import javax.lang.model.element.ElementKind; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.PackageElement; +import javax.lang.model.element.TypeElement; +import javax.lang.model.element.VariableElement; + +public class ElementFilter { + + private static List allIn(Iterable elements, + ElementKind e) { + List list = new ArrayList(); + for (Element object : elements) { + if (object.getKind().equals(e)) { + list.add(object); + } + } + return list; + } + + public static Set allIn(Set elements, ElementKind e) { + Set set = new HashSet(); + for (Element object : elements) { + if (object.getKind().equals(e)) { + set.add(object); + } + } + return set; + } + + public static List constructorsIn( + Iterable elements) { + return allIn(elements, ElementKind.CONSTRUCTOR); + } + + public static Set constructorsIn( + Set elements) { + return allIn(elements, ElementKind.CONSTRUCTOR); + } + + public static List fieldsIn( + Iterable elements) { + return allIn(elements, ElementKind.FIELD); + } + + public static Set fieldsIn(Set elements) { + return allIn(elements, ElementKind.FIELD); + } + + public static List methodsIn( + Iterable elements) { + return allIn(elements, ElementKind.METHOD); + } + + public static Set methodsIn( + Set elements) { + return allIn(elements, ElementKind.METHOD); + } + + public static List packagesIn( + Iterable elements) { + return allIn(elements, ElementKind.PACKAGE); + } + + public static Set packagesIn(Set elements) { + return allIn(elements, ElementKind.PACKAGE); + } + + public static List typesIn(Iterable elements) { + List list = new ArrayList(); + for (Element object : elements) { + switch (object.getKind()) { + case ANNOTATION_TYPE: + case CLASS: + case ENUM: + list.add((TypeElement)object); + default: + continue; + } + } + return list; + } + + public static Set typesIn(Set elements) { + Set set = new HashSet(); + for (Element object : elements) { + switch (object.getKind()) { + case ANNOTATION_TYPE: + case CLASS: + case ENUM: + set.add((TypeElement)object); + default: + continue; + } + } + return set; + } +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementFilter.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementKindVisitor6.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementKindVisitor6.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementKindVisitor6.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementKindVisitor6.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,143 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.util; + +import javax.lang.model.element.ElementKind; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.PackageElement; +import javax.lang.model.element.TypeElement; +import javax.lang.model.element.TypeParameterElement; +import javax.lang.model.element.VariableElement; + +public class ElementKindVisitor6 extends SimpleElementVisitor6 { + protected ElementKindVisitor6() { + DEFAULT_VALUE = null; + } + + protected ElementKindVisitor6(R defaultValue) { + DEFAULT_VALUE = defaultValue; + } + + public R visitExecutable(ExecutableElement e, P p) { + switch (e.getKind()) { + case CONSTRUCTOR: + return visitExecutableAsConstructor(e, p); + case INSTANCE_INIT: + return visitExecutableAsInstanceInit(e, p); + case METHOD: + return visitExecutableAsMethod(e, p); + case STATIC_INIT: + return visitExecutableAsStaticInit(e, p); + } + return null; + } + + public R visitExecutableAsConstructor(ExecutableElement e, P p) { + return defaultAction(e, p); + } + + public R visitExecutableAsInstanceInit(ExecutableElement e, P p) { + return defaultAction(e, p); + } + + public R visitExecutableAsMethod(ExecutableElement e, P p) { + return defaultAction(e, p); + } + + public R visitExecutableAsStaticInit(ExecutableElement e, P p) { + return defaultAction(e, p); + } + + public R visitPackage(PackageElement e, P p) { + return defaultAction(e, p); + } + + public R visitType(TypeElement e, P p) { + switch (e.getKind()) { + case ANNOTATION_TYPE: + return visitTypeAsAnnotationType(e, p); + case CLASS: + return visitTypeAsClass(e, p); + case ENUM: + return visitTypeAsEnum(e, p); + case INTERFACE: + return visitTypeAsInterface(e, p); + } + return null; + } + + public R visitTypeAsAnnotationType(TypeElement e, P p) { + return defaultAction(e, p); + } + + public R visitTypeAsClass(TypeElement e, P p) { + return defaultAction(e, p); + } + + public R visitTypeAsEnum(TypeElement e, P p) { + return defaultAction(e, p); + } + + public R visitTypeAsInterface(TypeElement e, P p) { + return defaultAction(e, p); + } + + public R visitTypeParameter(TypeParameterElement e, P p) { + if (e.getKind() == ElementKind.TYPE_PARAMETER) { + return defaultAction(e, p); + } + return null; + } + + public R visitVariable(VariableElement e, P p) { + switch (e.getKind()) { + case ENUM_CONSTANT: + return visitVariableAsEnumConstant(e, p); + case EXCEPTION_PARAMETER: + return visitVariableAsExceptionParameter(e, p); + case FIELD: + return visitVariableAsField(e, p); + case LOCAL_VARIABLE: + return visitVariableAsLocalVariable(e, p); + case PARAMETER: + return visitVariableAsParameter(e, p); + } + return null; + } + + public R visitVariableAsEnumConstant(VariableElement e, P p) { + return defaultAction(e, p); + } + + public R visitVariableAsExceptionParameter(VariableElement e, P p) { + return defaultAction(e, p); + } + + public R visitVariableAsField(VariableElement e, P p) { + return defaultAction(e, p); + + } + + public R visitVariableAsLocalVariable(VariableElement e, P p) { + return defaultAction(e, p); + } + + public R visitVariableAsParameter(VariableElement e, P p) { + return defaultAction(e, p); + } +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementKindVisitor6.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementScanner6.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementScanner6.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementScanner6.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementScanner6.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,109 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package javax.lang.model.util; + +import java.util.Iterator; +import java.util.List; + +import javax.annotation.processing.SupportedSourceVersion; +import javax.lang.model.SourceVersion; +import javax.lang.model.element.Element; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.PackageElement; +import javax.lang.model.element.TypeElement; +import javax.lang.model.element.TypeParameterElement; +import javax.lang.model.element.VariableElement; + +@SupportedSourceVersion(SourceVersion.RELEASE_6) +public class ElementScanner6 extends AbstractElementVisitor6 { + protected R DEFAULT_VALUE; + + protected ElementScanner6() { + DEFAULT_VALUE = null; + } + + protected ElementScanner6(R defaultValue) { + DEFAULT_VALUE = defaultValue; + } + + public R scan(Element e) { + return scan(e, null); + } + + public R scan(Element e, P p) { + return e.accept(this, p); + } + + public R scan(Iterable iterable, P p) { + Iterator it = iterable.iterator(); + R r = DEFAULT_VALUE; + while (it.hasNext()) { + Element element = it.next(); + r = scan(element, p); + } + return r; + } + + public R visitExecutable(ExecutableElement e, P p) { + List list = e.getParameters(); + R result = DEFAULT_VALUE; + for (Iterator iter = list.iterator(); iter.hasNext();) { + Element element = (Element) iter.next(); + result = element.accept(this, p); + } + return result; + } + + public R visitPackage(PackageElement e, P p) { + List list = e.getEnclosedElements(); + for (Iterator iter = list.iterator(); iter.hasNext();) { + Element element = (Element) iter.next(); + element.accept(this, p); + } + return e.accept(this, p); + } + + public R visitType(TypeElement e, P p) { + List list = e.getEnclosedElements(); + for (Iterator iter = list.iterator(); iter.hasNext();) { + Element element = (Element) iter.next(); + element.accept(this, p); + } + return e.accept(this, p); + } + + public R visitTypeParameter(TypeParameterElement e, P p) { + List list = e.getEnclosedElements(); + R result = DEFAULT_VALUE; + for (Iterator iter = list.iterator(); iter.hasNext();) { + Element element = (Element) iter.next(); + result = element.accept(this, p); + } + return result; + } + + public R visitVariable(VariableElement e, P p) { + List list = e.getEnclosedElements(); + R result = DEFAULT_VALUE; + for (Iterator iter = list.iterator(); iter.hasNext();) { + Element element = (Element) iter.next(); + result = element.accept(this, p); + } + return result; + } +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/ElementScanner6.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/Elements.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/Elements.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/Elements.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/Elements.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package javax.lang.model.util; + +import java.io.Writer; +import java.util.List; +import java.util.Map; + +import javax.lang.model.element.AnnotationMirror; +import javax.lang.model.element.AnnotationValue; +import javax.lang.model.element.Element; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.Name; +import javax.lang.model.element.PackageElement; +import javax.lang.model.element.TypeElement; + +public interface Elements { + List getAllAnnotationMirrors(Element e); + + List getAllMembers(TypeElement type); + + Name getBinaryName(TypeElement type); + + String getConstantExpression(Object value); + + String getDocComment(Element e); + + Map getElementValuesWithDefaults( + AnnotationMirror a); + + Name getName(CharSequence cs); + + PackageElement getPackageElement(CharSequence name); + + PackageElement getPackageOf(Element type); + + TypeElement getTypeElement(CharSequence name); + + boolean hides(Element hider, Element hidden); + + boolean isDeprecated(Element e); + + boolean overrides(ExecutableElement overrider, + ExecutableElement overridden, TypeElement type); + + void printElements(Writer w, Element... elements); +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/Elements.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleAnnotationValueVisitor6.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleAnnotationValueVisitor6.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleAnnotationValueVisitor6.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleAnnotationValueVisitor6.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,97 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package javax.lang.model.util; + +import java.util.List; + +import javax.annotation.processing.SupportedSourceVersion; +import javax.lang.model.SourceVersion; +import javax.lang.model.element.AnnotationMirror; +import javax.lang.model.element.VariableElement; +import javax.lang.model.type.TypeMirror; + +@SupportedSourceVersion(SourceVersion.RELEASE_6) +public class SimpleAnnotationValueVisitor6 extends + AbstractAnnotationValueVisitor6 { + + protected final R DEFAULT_VALUE; + + protected SimpleAnnotationValueVisitor6() { + DEFAULT_VALUE = null; + } + + protected SimpleAnnotationValueVisitor6(R defaultValue) { + DEFAULT_VALUE = defaultValue; + } + + protected R defaultAction(Object o, P p) { + return DEFAULT_VALUE; + } + + public R visitAnnotation(AnnotationMirror a, P p) { + return defaultAction(a, p); + } + + public R visitArray(List vals, P p) { + return defaultAction(vals, p); + } + + public R visitBoolean(boolean b, P p) { + return defaultAction(b, p); + } + + public R visitByte(byte b, P p) { + return defaultAction(b, p); + } + + public R visitChar(char c, P p) { + return defaultAction(c, p); + } + + public R visitDouble(double d, P p) { + return defaultAction(d, p); + } + + public R visitEnumConstant(VariableElement c, P p) { + return defaultAction(c, p); + } + + public R visitFloat(float f, P p) { + return defaultAction(f, p); + } + + public R visitInt(int i, P p) { + return defaultAction(i, p); + } + + public R visitLong(long i, P p) { + return defaultAction(i, p); + } + + public R visitShort(short s, P p) { + return defaultAction(s, p); + } + + public R visitString(String s, P p) { + return defaultAction(s, p); + } + + public R visitType(TypeMirror t, P p) { + return defaultAction(t, p); + } + +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleElementVisitor6.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleElementVisitor6.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleElementVisitor6.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleElementVisitor6.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package javax.lang.model.util; + +import javax.annotation.processing.SupportedSourceVersion; +import javax.lang.model.SourceVersion; +import javax.lang.model.element.Element; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.PackageElement; +import javax.lang.model.element.TypeElement; +import javax.lang.model.element.TypeParameterElement; +import javax.lang.model.element.VariableElement; + +@SupportedSourceVersion(SourceVersion.RELEASE_6) +public class SimpleElementVisitor6 extends AbstractElementVisitor6 { + + protected R DEFAULT_VALUE; + + protected SimpleElementVisitor6() { + DEFAULT_VALUE = null; + } + + protected SimpleElementVisitor6(R defaultValue) { + DEFAULT_VALUE = defaultValue; + } + + protected R defaultAction(Element e, P p) { + return DEFAULT_VALUE; + } + + public R visitExecutable(ExecutableElement e, P p) { + return defaultAction(e, p); + } + + public R visitPackage(PackageElement e, P p) { + return defaultAction(e, p); + } + + public R visitType(TypeElement e, P p) { + return defaultAction(e, p); + } + + public R visitTypeParameter(TypeParameterElement e, P p) { + return defaultAction(e, p); + } + + public R visitVariable(VariableElement e, P p) { + return defaultAction(e, p); + } + +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleElementVisitor6.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleTypeVisitor6.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleTypeVisitor6.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleTypeVisitor6.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleTypeVisitor6.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package javax.lang.model.util; + +import javax.annotation.processing.SupportedSourceVersion; +import javax.lang.model.SourceVersion; +import javax.lang.model.type.ArrayType; +import javax.lang.model.type.DeclaredType; +import javax.lang.model.type.ErrorType; +import javax.lang.model.type.ExecutableType; +import javax.lang.model.type.NoType; +import javax.lang.model.type.NullType; +import javax.lang.model.type.PrimitiveType; +import javax.lang.model.type.TypeMirror; +import javax.lang.model.type.TypeVariable; +import javax.lang.model.type.WildcardType; + +@SupportedSourceVersion(SourceVersion.RELEASE_6) +public class SimpleTypeVisitor6 extends AbstractTypeVisitor6 { + + protected R DEFAULT_VALUE; + + protected SimpleTypeVisitor6() { + DEFAULT_VALUE = null; + } + + protected SimpleTypeVisitor6(R defaultValue) { + DEFAULT_VALUE = defaultValue; + } + + protected R defaultAction(TypeMirror e, P p) { + return DEFAULT_VALUE; + } + + public R visitArray(ArrayType t, P p) { + return defaultAction(t, p); + } + + public R visitDeclared(DeclaredType t, P p) { + return defaultAction(t, p); + } + + public R visitError(ErrorType t, P p) { + return defaultAction(t, p); + } + + public R visitExecutable(ExecutableType t, P p) { + return defaultAction(t, p); + } + + public R visitNoType(NoType t, P p) { + return defaultAction(t, p); + } + + public R visitNull(NullType t, P p) { + return defaultAction(t, p); + } + + public R visitPrimitive(PrimitiveType t, P p) { + return defaultAction(t, p); + } + + public R visitTypeVariable(TypeVariable t, P p) { + return defaultAction(t, p); + } + + public R visitWildcard(WildcardType t, P p) { + return defaultAction(t, p); + } + +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/SimpleTypeVisitor6.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/TypeKindVisitor6.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/TypeKindVisitor6.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/TypeKindVisitor6.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/TypeKindVisitor6.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package javax.lang.model.util; + +import javax.lang.model.type.NoType; +import javax.lang.model.type.PrimitiveType; +import javax.lang.model.type.TypeKind; + +public class TypeKindVisitor6 extends SimpleTypeVisitor6 { + protected TypeKindVisitor6() { + DEFAULT_VALUE = null; + } + + protected TypeKindVisitor6(R defaultValue) { + DEFAULT_VALUE = defaultValue; + } + + public R visitNoType(NoType t, P p) { + TypeKind type = t.getKind(); + switch (type) { + case VOID: + return visitNoTypeAsVoid(t, p); + case PACKAGE: + return visitNoTypeAsPackage(t, p); + case NONE: + return visitNoTypeAsNone(t, p); + } + return null; + } + + public R visitNoTypeAsNone(NoType t, P p) { + return defaultAction(t, p); + } + + public R visitNoTypeAsPackage(NoType t, P p) { + return defaultAction(t, p); + } + + public R visitNoTypeAsVoid(NoType t, P p) { + return defaultAction(t, p); + } + + public R visitPrimitive(PrimitiveType t, P p) { + TypeKind type = t.getKind(); + switch (type) { + case BOOLEAN: + return visitPrimitiveAsBoolean(t, p); + case BYTE: + return visitPrimitiveAsByte(t, p); + case CHAR: + return visitPrimitiveAsChar(t, p); + case DOUBLE: + return visitPrimitiveAsDouble(t, p); + case FLOAT: + return visitPrimitiveAsFloat(t, p); + case INT: + return visitPrimitiveAsInt(t, p); + case LONG: + return visitPrimitiveAsLong(t, p); + case SHORT: + return visitPrimitiveAsShort(t, p); + } + return null; + } + + public R visitPrimitiveAsBoolean(PrimitiveType t, P p) { + return defaultAction(t, p); + } + + public R visitPrimitiveAsByte(PrimitiveType t, P p) { + return defaultAction(t, p); + } + + public R visitPrimitiveAsChar(PrimitiveType t, P p) { + return defaultAction(t, p); + } + + public R visitPrimitiveAsDouble(PrimitiveType t, P p) { + return defaultAction(t, p); + } + + public R visitPrimitiveAsFloat(PrimitiveType t, P p) { + return defaultAction(t, p); + } + + public R visitPrimitiveAsInt(PrimitiveType t, P p) { + return defaultAction(t, p); + } + + public R visitPrimitiveAsLong(PrimitiveType t, P p) { + return defaultAction(t, p); + } + + public R visitPrimitiveAsShort(PrimitiveType t, P p) { + return defaultAction(t, p); + } +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/TypeKindVisitor6.java ------------------------------------------------------------------------------ svn:eol-style = native Added: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/Types.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/Types.java?rev=998789&view=auto ============================================================================== --- harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/Types.java (added) +++ harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/Types.java Mon Sep 20 05:44:20 2010 @@ -0,0 +1,72 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package javax.lang.model.util; + +import java.util.List; + +import javax.lang.model.element.Element; +import javax.lang.model.element.TypeElement; +import javax.lang.model.type.ArrayType; +import javax.lang.model.type.DeclaredType; +import javax.lang.model.type.ExecutableType; +import javax.lang.model.type.NoType; +import javax.lang.model.type.NullType; +import javax.lang.model.type.PrimitiveType; +import javax.lang.model.type.TypeKind; +import javax.lang.model.type.TypeMirror; +import javax.lang.model.type.WildcardType; + +public interface Types { + Element asElement(TypeMirror t); + + TypeMirror asMemberOf(DeclaredType containing, Element element); + + TypeElement boxedClass(PrimitiveType p); + + TypeMirror capture(TypeMirror t); + + boolean contains(TypeMirror t1, TypeMirror t2); + + List directSupertypes(TypeMirror t); + + TypeMirror erasure(TypeMirror t); + + ArrayType getArrayType(TypeMirror componentType); + + DeclaredType getDeclaredType(DeclaredType containing, TypeElement typeElem, + TypeMirror... typeArgs); + + DeclaredType getDeclaredType(TypeElement typeElem, TypeMirror... typeArgs); + + NoType getNoType(TypeKind kind); + + NullType getNullType(); + + PrimitiveType getPrimitiveType(TypeKind kind); + + WildcardType getWildcardType(TypeMirror extendsBound, TypeMirror superBound); + + boolean isAssignable(TypeMirror t1, TypeMirror t2); + + boolean isSameType(TypeMirror t1, TypeMirror t2); + + boolean isSubsignature(ExecutableType m1, ExecutableType m2); + + boolean isSubtype(TypeMirror t1, TypeMirror t2); + + PrimitiveType unboxedType(TypeMirror t); +} Propchange: harmony/enhanced/java/branches/java6/classlib/modules/annotation/src/main/java/javax/lang/model/util/Types.java ------------------------------------------------------------------------------ svn:eol-style = native