mirror of
https://github.com/zaaarf/lillero.git
synced 2024-11-24 00:14:48 +01:00
fix: trying to get fqn of primitive
This commit is contained in:
parent
a3f4dafff7
commit
b2b516b2b1
2 changed files with 5 additions and 3 deletions
|
@ -39,6 +39,8 @@ public class MethodProxy extends AbstractProxy {
|
||||||
*/
|
*/
|
||||||
protected MethodProxy(String name, int modifiers, QualifiableProxy parent, Type[] parameters, Type returnType) {
|
protected MethodProxy(String name, int modifiers, QualifiableProxy parent, Type[] parameters, Type returnType) {
|
||||||
super(name, Type.getMethodDescriptor(returnType, parameters), modifiers, parent, ProxyType.METHOD);
|
super(name, Type.getMethodDescriptor(returnType, parameters), modifiers, parent, ProxyType.METHOD);
|
||||||
|
for(Type t : parameters)
|
||||||
|
System.out.println(t.toString() + t.getSort());
|
||||||
this.parameters = Arrays.stream(parameters)
|
this.parameters = Arrays.stream(parameters)
|
||||||
.map(t -> TypeProxy.from(t, 0))
|
.map(t -> TypeProxy.from(t, 0))
|
||||||
.toArray(TypeProxy[]::new);
|
.toArray(TypeProxy[]::new);
|
||||||
|
|
|
@ -50,15 +50,15 @@ public class TypeProxy extends QualifiableProxy {
|
||||||
* Builds a {@link TypeProxy} from a {@link Type} and modifiers.
|
* Builds a {@link TypeProxy} from a {@link Type} and modifiers.
|
||||||
* @param type the {@link Type} representing this Class
|
* @param type the {@link Type} representing this Class
|
||||||
* @param modifiers the modifiers of the class
|
* @param modifiers the modifiers of the class
|
||||||
* @return the builty {@link TypeProxy}
|
* @return the built {@link TypeProxy}
|
||||||
*/
|
*/
|
||||||
public static TypeProxy from(Type type, int modifiers) {
|
public static TypeProxy from(Type type, int modifiers) {
|
||||||
while(type.getSort() == Type.ARRAY)
|
while(type.getSort() == Type.ARRAY)
|
||||||
type = type.getElementType();
|
type = type.getElementType();
|
||||||
String fqn = type.getInternalName().replace('/', '.');
|
boolean primitive = type.getSort() < Type.ARRAY;
|
||||||
|
String fqn = primitive ? type.getClassName() : type.getInternalName().replace('/', '.');
|
||||||
String simpleName = extractSimpleNameFromFQN(fqn);
|
String simpleName = extractSimpleNameFromFQN(fqn);
|
||||||
String parent = extractParentFromFQN(fqn);
|
String parent = extractParentFromFQN(fqn);
|
||||||
boolean primitive = type.getSort() < Type.ARRAY;
|
|
||||||
if(fqn.contains("$"))
|
if(fqn.contains("$"))
|
||||||
return new TypeProxy(simpleName, type.getDescriptor(), modifiers, from(type, Modifier.PUBLIC), primitive);
|
return new TypeProxy(simpleName, type.getDescriptor(), modifiers, from(type, Modifier.PUBLIC), primitive);
|
||||||
else return new TypeProxy(simpleName, type.getDescriptor(), modifiers, parent, primitive);
|
else return new TypeProxy(simpleName, type.getDescriptor(), modifiers, parent, primitive);
|
||||||
|
|
Loading…
Reference in a new issue