1 16 package com.google.gwt.core.ext.typeinfo; 17 18 21 public class JArrayType extends JType { 22 23 private JType componentType; 24 25 private String lazyQualifiedName; 26 27 private String lazySimpleName; 28 29 JArrayType(JType componentType) { 30 this.componentType = componentType; 31 } 32 33 public JType getComponentType() { 34 return componentType; 35 } 36 37 public String getJNISignature() { 38 return "[" + componentType.getJNISignature(); 39 } 40 41 public JType getLeafType() { 42 return componentType.getLeafType(); 43 } 44 45 public String getParameterizedQualifiedSourceName() { 46 return getComponentType().getParameterizedQualifiedSourceName() + "[]"; 47 } 48 49 public String getQualifiedSourceName() { 50 if (lazyQualifiedName == null) { 51 lazyQualifiedName = getComponentType().getQualifiedSourceName() + "[]"; 52 } 53 return lazyQualifiedName; 54 } 55 56 public int getRank() { 57 JArrayType componentArrayType = componentType.isArray(); 58 if (componentArrayType != null) { 59 return 1 + componentArrayType.getRank(); 60 } 61 62 return 1; 63 } 64 65 public String getSimpleSourceName() { 66 if (lazySimpleName == null) { 67 lazySimpleName = getComponentType().getSimpleSourceName() + "[]"; 68 } 69 return lazySimpleName; 70 } 71 72 public JArrayType isArray() { 73 return this; 74 } 75 76 public JClassType isClass() { 77 return null; 79 } 80 81 public JClassType isInterface() { 82 return null; 84 } 85 86 public JParameterizedType isParameterized() { 87 return null; 89 } 90 91 public JPrimitiveType isPrimitive() { 92 return null; 94 } 95 96 public void setLeafType(JType type) { 97 JArrayType componentTypeIsArray = componentType.isArray(); 98 if (componentTypeIsArray != null) { 99 componentTypeIsArray.setLeafType(type); 100 } else { 101 componentType = type; 102 } 103 } 104 105 public String toString() { 106 return getQualifiedSourceName(); 107 } 108 } 109 | Popular Tags |