本文整理汇总了Java中com.sun.tools.javac.code.Type.ArrayType方法的典型用法代码示例。如果您正苦于以下问题:Java Type.ArrayType方法的具体用法?Java Type.ArrayType怎么用?Java Type.ArrayType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.tools.javac.code.Type
的用法示例。
在下文中一共展示了Type.ArrayType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visitArrayType
import com.sun.tools.javac.code.Type; //导入方法依赖的package包/类
@Override
public Type visitArrayType( Type.ArrayType t, Void aVoid )
{
Type compType = visit( t.getComponentType() );
if( compType == t.getComponentType() )
{
return t;
}
return new Type.ArrayType( compType, t.tsym );
}
示例2: visitArrayType
import com.sun.tools.javac.code.Type; //导入方法依赖的package包/类
@Override
public Void visitArrayType(Type.ArrayType t, Void s) {
if (t.elemtype != null)
t.elemtype.accept(this, s);
return null;
}
示例3: visitArrayType
import com.sun.tools.javac.code.Type; //导入方法依赖的package包/类
@Override
public Type visitArrayType(Type.ArrayType t, StringBuilder s) {
s.append("[");
return t.getComponentType().accept(this, s);
}
示例4: hasCallMethod
import com.sun.tools.javac.code.Type; //导入方法依赖的package包/类
private static boolean hasCallMethod( BasicJavacTask javacTask, Symbol.ClassSymbol classSymbol )
{
Name call = Names.instance( javacTask.getContext() ).fromString( "call" );
Iterable<Symbol> elems = IDynamicJdk.instance().getMembersByName( classSymbol, call );
for( Symbol s : elems )
{
if( s instanceof Symbol.MethodSymbol )
{
List<Symbol.VarSymbol> parameters = ((Symbol.MethodSymbol)s).getParameters();
if( parameters.size() != 6 )
{
return false;
}
Symtab symbols = Symtab.instance( javacTask.getContext() );
Types types = Types.instance( javacTask.getContext() );
return types.erasure( parameters.get( 0 ).asType() ).equals( types.erasure( symbols.classType ) ) &&
parameters.get( 1 ).asType().equals( symbols.stringType ) &&
parameters.get( 2 ).asType().equals( symbols.stringType ) &&
types.erasure( parameters.get( 3 ).asType() ).equals( types.erasure( symbols.classType ) ) &&
parameters.get( 4 ).asType() instanceof Type.ArrayType && types.erasure( ((Type.ArrayType)parameters.get( 4 ).asType()).getComponentType() ).equals( types.erasure( symbols.classType ) ) &&
parameters.get( 5 ).asType() instanceof Type.ArrayType && ((Type.ArrayType)parameters.get( 5 ).asType()).getComponentType().equals( symbols.objectType );
}
}
Type superclass = classSymbol.getSuperclass();
if( !(superclass instanceof NoType) )
{
if( hasCallMethod( javacTask, (Symbol.ClassSymbol)superclass.tsym ) )
{
return true;
}
}
for( Type iface : classSymbol.getInterfaces() )
{
if( hasCallMethod( javacTask, (Symbol.ClassSymbol)iface.tsym ) )
{
return true;
}
}
return false;
}