Package com.google.turbine.types
Class Canonicalize
- java.lang.Object
-
- com.google.turbine.types.Canonicalize
-
public class Canonicalize extends java.lang.ObjectCanonicalizes qualified type names so qualifiers are always the declaring class of the qualified type.For example, given:
class A<T> { class Inner {} } class B extends A<String> { Inner i; }The canonical name of the type of
B.iisA<String>.Inner, notB.Inner.
-
-
Constructor Summary
Constructors Constructor Description Canonicalize(SourceFile source, int position, Env<ClassSymbol,TypeBoundClass> env)
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Typecanonicalize(SourceFile source, int position, Env<ClassSymbol,TypeBoundClass> env, ClassSymbol sym, Type type)Canonicalizes the given type.static Type.ClassTycanonicalizeClassTy(SourceFile source, int position, Env<ClassSymbol,TypeBoundClass> env, ClassSymbol owner, Type.ClassTy classTy)Canonicalize a qualified class type, excluding type arguments.
-
-
-
Constructor Detail
-
Canonicalize
public Canonicalize(SourceFile source, int position, Env<ClassSymbol,TypeBoundClass> env)
-
-
Method Detail
-
canonicalize
public static Type canonicalize(SourceFile source, int position, Env<ClassSymbol,TypeBoundClass> env, ClassSymbol sym, Type type)
Canonicalizes the given type.
-
canonicalizeClassTy
public static Type.ClassTy canonicalizeClassTy(SourceFile source, int position, Env<ClassSymbol,TypeBoundClass> env, ClassSymbol owner, Type.ClassTy classTy)
Canonicalize a qualified class type, excluding type arguments.
-
-