feat(jdk8): move files to new folder to avoid resources compiled.
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
public class ArrayTypeSignature implements FieldTypeSignature {
|
||||
private final TypeSignature componentType;
|
||||
|
||||
private ArrayTypeSignature(TypeSignature ct) {componentType = ct;}
|
||||
|
||||
public static ArrayTypeSignature make(TypeSignature ct) {
|
||||
return new ArrayTypeSignature(ct);
|
||||
}
|
||||
|
||||
public TypeSignature getComponentType(){return componentType;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){
|
||||
v.visitArrayTypeSignature(this);
|
||||
}
|
||||
}
|
||||
34
jdkSrc/jdk8/sun/reflect/generics/tree/BaseType.java
Normal file
34
jdkSrc/jdk8/sun/reflect/generics/tree/BaseType.java
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
/**
|
||||
* Common superinterface for all nodes representing a primitive type.
|
||||
* Corresponds to the production of the same name in the JVMS
|
||||
* section on signatures.
|
||||
*/
|
||||
public interface BaseType
|
||||
extends TypeSignature{}
|
||||
41
jdkSrc/jdk8/sun/reflect/generics/tree/BooleanSignature.java
Normal file
41
jdkSrc/jdk8/sun/reflect/generics/tree/BooleanSignature.java
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
/** AST that represents the type boolean. */
|
||||
public class BooleanSignature implements BaseType {
|
||||
private static final BooleanSignature singleton = new BooleanSignature();
|
||||
|
||||
private BooleanSignature(){}
|
||||
|
||||
public static BooleanSignature make() {return singleton;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){
|
||||
v.visitBooleanSignature(this);
|
||||
}
|
||||
}
|
||||
38
jdkSrc/jdk8/sun/reflect/generics/tree/BottomSignature.java
Normal file
38
jdkSrc/jdk8/sun/reflect/generics/tree/BottomSignature.java
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
public class BottomSignature implements FieldTypeSignature {
|
||||
private static final BottomSignature singleton = new BottomSignature();
|
||||
|
||||
private BottomSignature(){}
|
||||
|
||||
public static BottomSignature make() {return singleton;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){v.visitBottomSignature(this);}
|
||||
}
|
||||
41
jdkSrc/jdk8/sun/reflect/generics/tree/ByteSignature.java
Normal file
41
jdkSrc/jdk8/sun/reflect/generics/tree/ByteSignature.java
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
/** AST that represents the type byte. */
|
||||
public class ByteSignature implements BaseType {
|
||||
private static final ByteSignature singleton = new ByteSignature();
|
||||
|
||||
private ByteSignature(){}
|
||||
|
||||
public static ByteSignature make() {return singleton;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){
|
||||
v.visitByteSignature(this);
|
||||
}
|
||||
}
|
||||
41
jdkSrc/jdk8/sun/reflect/generics/tree/CharSignature.java
Normal file
41
jdkSrc/jdk8/sun/reflect/generics/tree/CharSignature.java
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
/** AST that represents the type char. */
|
||||
public class CharSignature implements BaseType {
|
||||
private static final CharSignature singleton = new CharSignature();
|
||||
|
||||
private CharSignature(){}
|
||||
|
||||
public static CharSignature make() {return singleton;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){
|
||||
v.visitCharSignature(this);
|
||||
}
|
||||
}
|
||||
56
jdkSrc/jdk8/sun/reflect/generics/tree/ClassSignature.java
Normal file
56
jdkSrc/jdk8/sun/reflect/generics/tree/ClassSignature.java
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2011, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.Visitor;
|
||||
|
||||
public class ClassSignature implements Signature {
|
||||
private final FormalTypeParameter[] formalTypeParams;
|
||||
private final ClassTypeSignature superclass;
|
||||
private final ClassTypeSignature[] superInterfaces;
|
||||
|
||||
private ClassSignature(FormalTypeParameter[] ftps,
|
||||
ClassTypeSignature sc,
|
||||
ClassTypeSignature[] sis) {
|
||||
formalTypeParams = ftps;
|
||||
superclass = sc;
|
||||
superInterfaces = sis;
|
||||
}
|
||||
|
||||
public static ClassSignature make(FormalTypeParameter[] ftps,
|
||||
ClassTypeSignature sc,
|
||||
ClassTypeSignature[] sis) {
|
||||
return new ClassSignature(ftps, sc, sis);
|
||||
}
|
||||
|
||||
public FormalTypeParameter[] getFormalTypeParameters(){
|
||||
return formalTypeParams;
|
||||
}
|
||||
public ClassTypeSignature getSuperclass(){return superclass;}
|
||||
public ClassTypeSignature[] getSuperInterfaces(){return superInterfaces;}
|
||||
|
||||
public void accept(Visitor<?> v){v.visitClassSignature(this);}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import java.util.List;
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
|
||||
/**
|
||||
* AST representing class types.
|
||||
*/
|
||||
public class ClassTypeSignature implements FieldTypeSignature {
|
||||
private final List<SimpleClassTypeSignature> path;
|
||||
|
||||
|
||||
private ClassTypeSignature(List<SimpleClassTypeSignature> p) {
|
||||
path = p;
|
||||
}
|
||||
|
||||
public static ClassTypeSignature make(List<SimpleClassTypeSignature> p) {
|
||||
return new ClassTypeSignature(p);
|
||||
}
|
||||
|
||||
public List<SimpleClassTypeSignature> getPath(){return path;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){v.visitClassTypeSignature(this);}
|
||||
}
|
||||
39
jdkSrc/jdk8/sun/reflect/generics/tree/DoubleSignature.java
Normal file
39
jdkSrc/jdk8/sun/reflect/generics/tree/DoubleSignature.java
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
/** AST that represents the type double. */
|
||||
public class DoubleSignature implements BaseType {
|
||||
private static final DoubleSignature singleton = new DoubleSignature();
|
||||
|
||||
private DoubleSignature(){}
|
||||
|
||||
public static DoubleSignature make() {return singleton;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){v.visitDoubleSignature(this);}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
/**
|
||||
* Common superinterface for nodes that represent a (possibly generic)
|
||||
* type.
|
||||
* Corresponds to the production of the same name in the JVMS
|
||||
* section on signatures.
|
||||
*/
|
||||
public interface FieldTypeSignature
|
||||
extends BaseType, TypeSignature, TypeArgument {}
|
||||
39
jdkSrc/jdk8/sun/reflect/generics/tree/FloatSignature.java
Normal file
39
jdkSrc/jdk8/sun/reflect/generics/tree/FloatSignature.java
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
/** AST that represents the type float. */
|
||||
public class FloatSignature implements BaseType {
|
||||
private static final FloatSignature singleton = new FloatSignature();
|
||||
|
||||
private FloatSignature(){}
|
||||
|
||||
public static FloatSignature make() {return singleton;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){v.visitFloatSignature(this);}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
/** AST that represents a formal type parameter. */
|
||||
public class FormalTypeParameter implements TypeTree {
|
||||
private final String name;
|
||||
private final FieldTypeSignature[] bounds;
|
||||
|
||||
private FormalTypeParameter(String n, FieldTypeSignature[] bs) {
|
||||
name = n;
|
||||
bounds = bs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Factory method.
|
||||
* Returns a formal type parameter with the requested name and bounds.
|
||||
* @param n the name of the type variable to be created by this method.
|
||||
* @param bs - the bounds of the type variable to be created by this method.
|
||||
* @return a formal type parameter with the requested name and bounds
|
||||
*/
|
||||
public static FormalTypeParameter make(String n, FieldTypeSignature[] bs){
|
||||
return new FormalTypeParameter(n,bs);
|
||||
}
|
||||
|
||||
public FieldTypeSignature[] getBounds(){return bounds;}
|
||||
public String getName(){return name;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){v.visitFormalTypeParameter(this);}
|
||||
}
|
||||
39
jdkSrc/jdk8/sun/reflect/generics/tree/IntSignature.java
Normal file
39
jdkSrc/jdk8/sun/reflect/generics/tree/IntSignature.java
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
/** AST that represents the type int. */
|
||||
public class IntSignature implements BaseType {
|
||||
private static final IntSignature singleton = new IntSignature();
|
||||
|
||||
private IntSignature(){}
|
||||
|
||||
public static IntSignature make() {return singleton;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){v.visitIntSignature(this);}
|
||||
}
|
||||
39
jdkSrc/jdk8/sun/reflect/generics/tree/LongSignature.java
Normal file
39
jdkSrc/jdk8/sun/reflect/generics/tree/LongSignature.java
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
/** AST that represents the type long. */
|
||||
public class LongSignature implements BaseType {
|
||||
private static final LongSignature singleton = new LongSignature();
|
||||
|
||||
private LongSignature(){}
|
||||
|
||||
public static LongSignature make() {return singleton;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){v.visitLongSignature(this);}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2011, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.Visitor;
|
||||
|
||||
public class MethodTypeSignature implements Signature {
|
||||
private final FormalTypeParameter[] formalTypeParams;
|
||||
private final TypeSignature[] parameterTypes;
|
||||
private final ReturnType returnType;
|
||||
private final FieldTypeSignature[] exceptionTypes;
|
||||
|
||||
private MethodTypeSignature(FormalTypeParameter[] ftps,
|
||||
TypeSignature[] pts,
|
||||
ReturnType rt,
|
||||
FieldTypeSignature[] ets) {
|
||||
formalTypeParams = ftps;
|
||||
parameterTypes = pts;
|
||||
returnType = rt;
|
||||
exceptionTypes = ets;
|
||||
}
|
||||
|
||||
public static MethodTypeSignature make(FormalTypeParameter[] ftps,
|
||||
TypeSignature[] pts,
|
||||
ReturnType rt,
|
||||
FieldTypeSignature[] ets) {
|
||||
return new MethodTypeSignature(ftps, pts, rt, ets);
|
||||
}
|
||||
|
||||
public FormalTypeParameter[] getFormalTypeParameters(){
|
||||
return formalTypeParams;
|
||||
}
|
||||
public TypeSignature[] getParameterTypes(){return parameterTypes;}
|
||||
public ReturnType getReturnType(){return returnType;}
|
||||
public FieldTypeSignature[] getExceptionTypes(){return exceptionTypes;}
|
||||
|
||||
public void accept(Visitor<?> v){v.visitMethodTypeSignature(this);}
|
||||
}
|
||||
28
jdkSrc/jdk8/sun/reflect/generics/tree/ReturnType.java
Normal file
28
jdkSrc/jdk8/sun/reflect/generics/tree/ReturnType.java
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
public interface ReturnType extends TypeTree{}
|
||||
41
jdkSrc/jdk8/sun/reflect/generics/tree/ShortSignature.java
Normal file
41
jdkSrc/jdk8/sun/reflect/generics/tree/ShortSignature.java
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
/** AST that represents the type short. */
|
||||
public class ShortSignature implements BaseType {
|
||||
private static final ShortSignature singleton = new ShortSignature();
|
||||
|
||||
private ShortSignature(){}
|
||||
|
||||
public static ShortSignature make() {return singleton;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){
|
||||
v.visitShortSignature(this);
|
||||
}
|
||||
}
|
||||
34
jdkSrc/jdk8/sun/reflect/generics/tree/Signature.java
Normal file
34
jdkSrc/jdk8/sun/reflect/generics/tree/Signature.java
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
/**
|
||||
* Common superinterface for generic signatures. These are the signatures
|
||||
* of complete class and method/constructor delcarations.
|
||||
*/
|
||||
public interface Signature extends Tree{
|
||||
FormalTypeParameter[] getFormalTypeParameters();
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2004, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
public class SimpleClassTypeSignature implements FieldTypeSignature {
|
||||
private final boolean dollar;
|
||||
private final String name;
|
||||
private final TypeArgument[] typeArgs;
|
||||
|
||||
private SimpleClassTypeSignature(String n, boolean dollar, TypeArgument[] tas) {
|
||||
name = n;
|
||||
this.dollar = dollar;
|
||||
typeArgs = tas;
|
||||
}
|
||||
|
||||
public static SimpleClassTypeSignature make(String n,
|
||||
boolean dollar,
|
||||
TypeArgument[] tas){
|
||||
return new SimpleClassTypeSignature(n, dollar, tas);
|
||||
}
|
||||
|
||||
/*
|
||||
* Should a '$' be used instead of '.' to separate this component
|
||||
* of the name from the previous one when composing a string to
|
||||
* pass to Class.forName; in other words, is this a transition to
|
||||
* a nested class.
|
||||
*/
|
||||
public boolean getDollar(){return dollar;}
|
||||
public String getName(){return name;}
|
||||
public TypeArgument[] getTypeArguments(){return typeArgs;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){
|
||||
v.visitSimpleClassTypeSignature(this);
|
||||
}
|
||||
}
|
||||
29
jdkSrc/jdk8/sun/reflect/generics/tree/Tree.java
Normal file
29
jdkSrc/jdk8/sun/reflect/generics/tree/Tree.java
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
/** Root of the abstract syntax tree hierarchy for generic signatures */
|
||||
public interface Tree{}
|
||||
32
jdkSrc/jdk8/sun/reflect/generics/tree/TypeArgument.java
Normal file
32
jdkSrc/jdk8/sun/reflect/generics/tree/TypeArgument.java
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
/** Common supertype for all possible type arguments in the
|
||||
* generic signature AST. Corresponds to the production TypeArgument
|
||||
* in the JVMS.
|
||||
*/
|
||||
public interface TypeArgument extends TypeTree {}
|
||||
34
jdkSrc/jdk8/sun/reflect/generics/tree/TypeSignature.java
Normal file
34
jdkSrc/jdk8/sun/reflect/generics/tree/TypeSignature.java
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
/**
|
||||
* Common superinterface for all signatures that represent a
|
||||
* type expression.
|
||||
* Corresponds to the production of the same name in the JVMS
|
||||
* section on signatures.
|
||||
*/
|
||||
public interface TypeSignature extends ReturnType {}
|
||||
40
jdkSrc/jdk8/sun/reflect/generics/tree/TypeTree.java
Normal file
40
jdkSrc/jdk8/sun/reflect/generics/tree/TypeTree.java
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
/** Common supertype for all nodes that represent type expressions in
|
||||
* the generic signature AST.
|
||||
*/
|
||||
public interface TypeTree extends Tree {
|
||||
/**
|
||||
* Accept method for the visitor pattern.
|
||||
* @param v - a <tt>TypeTreeVisitor</tt> that will process this
|
||||
* tree
|
||||
*/
|
||||
void accept(TypeTreeVisitor<?> v);
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
public class TypeVariableSignature implements FieldTypeSignature {
|
||||
private final String identifier;
|
||||
|
||||
private TypeVariableSignature(String id) {identifier = id;}
|
||||
|
||||
|
||||
public static TypeVariableSignature make(String id) {
|
||||
return new TypeVariableSignature(id);
|
||||
}
|
||||
|
||||
public String getIdentifier(){return identifier;}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){
|
||||
v.visitTypeVariableSignature(this);
|
||||
}
|
||||
}
|
||||
42
jdkSrc/jdk8/sun/reflect/generics/tree/VoidDescriptor.java
Normal file
42
jdkSrc/jdk8/sun/reflect/generics/tree/VoidDescriptor.java
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
|
||||
/** AST that represents the pseudo-type void. */
|
||||
public class VoidDescriptor implements ReturnType {
|
||||
private static final VoidDescriptor singleton = new VoidDescriptor();
|
||||
|
||||
private VoidDescriptor(){}
|
||||
|
||||
public static VoidDescriptor make() {return singleton;}
|
||||
|
||||
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){v.visitVoidDescriptor(this);}
|
||||
}
|
||||
59
jdkSrc/jdk8/sun/reflect/generics/tree/Wildcard.java
Normal file
59
jdkSrc/jdk8/sun/reflect/generics/tree/Wildcard.java
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2004, 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. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.reflect.generics.tree;
|
||||
|
||||
import sun.reflect.generics.visitor.TypeTreeVisitor;
|
||||
|
||||
public class Wildcard implements TypeArgument {
|
||||
private FieldTypeSignature[] upperBounds;
|
||||
private FieldTypeSignature[] lowerBounds;
|
||||
|
||||
private Wildcard(FieldTypeSignature[] ubs, FieldTypeSignature[] lbs) {
|
||||
upperBounds = ubs;
|
||||
lowerBounds = lbs;
|
||||
}
|
||||
|
||||
private static final FieldTypeSignature[] emptyBounds = new FieldTypeSignature[0];
|
||||
|
||||
public static Wildcard make(FieldTypeSignature[] ubs,
|
||||
FieldTypeSignature[] lbs) {
|
||||
return new Wildcard(ubs, lbs);
|
||||
}
|
||||
|
||||
public FieldTypeSignature[] getUpperBounds(){
|
||||
return upperBounds;
|
||||
}
|
||||
|
||||
public FieldTypeSignature[] getLowerBounds(){
|
||||
if (lowerBounds.length == 1 &&
|
||||
lowerBounds[0] == BottomSignature.make())
|
||||
return emptyBounds;
|
||||
else
|
||||
return lowerBounds;
|
||||
}
|
||||
|
||||
public void accept(TypeTreeVisitor<?> v){v.visitWildcard(this);}
|
||||
}
|
||||
Reference in New Issue
Block a user