WasmExpression offset = manager.generate(invocation.getArguments().get(2)); Object type = ((ConstantExpr) invocation.getArguments().get(1)).getValue(); String className = ((ValueType.Object) type).getClassName(); int size = classGenerator.getClassSize(className); int alignment = classGenerator.getClassAlignment(className);
@SuppressWarnings("unchecked") @Override public ReflectClass<? super T> getSuperclass() { resolve(); if (classReader == null || classReader.getParent() == null || classReader.getName().equals(classReader.getParent())) { return null; } return (ReflectClass<? super T>) context.getClass(new ValueType.Object(classReader.getParent())); }
private boolean checkClass(TextLocation location, ValueType type) { while (type instanceof ValueType.Array) { type = ((ValueType.Array) type).getItemType(); } if (type instanceof ValueType.Object) { return checkClass(location, ((ValueType.Object) type).getClassName()); } return true; }
@SuppressWarnings("unchecked") @Override public ReflectClass<? super T> getSuperclass() { resolve(); if (classReader == null || classReader.getParent() == null || classReader.getName().equals(classReader.getParent())) { return null; } return (ReflectClass<? super T>) context.getClass(new ValueType.Object(classReader.getParent())); }
Variable unwrapReturnValue(CallLocation location, Variable var, ValueType type) { if (type instanceof ValueType.Object) { String className = ((ValueType.Object) type).getClassName(); ClassReader cls = classSource.get(className); if (cls.getAnnotations().get(JSFunctor.class.getName()) != null) { return unwrapFunctor(location, var, cls); } } return unwrap(location, var, type); }
@Override public Iterable<String> getExpectedExceptions(MethodReader method) { AnnotationReader annot = method.getAnnotations().get(Test.class.getName()); AnnotationValue expectedAnnot = annot.getValue("expected"); if (expectedAnnot != null) { String className = ((ValueType.Object) expectedAnnot.getJavaClass()).getClassName(); return Collections.singletonList(className); } return Collections.emptyList(); }
@SuppressWarnings("unchecked") @Override public ReflectClass<? super T>[] getInterfaces() { resolve(); if (classReader == null) { return (ReflectClass<? super T>[]) Array.newInstance(ReflectClassImpl.class, 0); } return classReader.getInterfaces().stream() .map(iface -> context.getClass(new ValueType.Object(iface))) .toArray(sz -> (ReflectClass<? super T>[]) Array.newInstance(ReflectClassImpl.class, sz)); }
private ValueType rename(ValueType type) { if (type instanceof ValueType.Array) { ValueType itemType = ((ValueType.Array) type).getItemType(); return ValueType.arrayOf(rename(itemType)); } else if (type instanceof ValueType.Object) { String className = ((ValueType.Object) type).getClassName(); return ValueType.object(classNameMapper.map(className)); } else { return type; } }
private String extractClassName(ValueType itemType) { while (itemType instanceof ValueType.Array) { itemType = ((ValueType.Array) itemType).getItemType(); } return itemType instanceof ValueType.Object ? ((ValueType.Object) itemType).getClassName() : null; }
private void visitType(ValueType type) { while (type instanceof ValueType.Array) { type = ((ValueType.Array) type).getItemType(); } if (type instanceof ValueType.Object) { String clsName = ((ValueType.Object) type).getClassName(); consumer.consume(clsName); consumer.consumeFunction("$rt_cls"); } } @Override
ValueType[] instantiatedMethodType = callSite.getBootstrapArguments().get(2).getMethodType(); String samName = ((ValueType.Object) callSite.getCalledMethod().getResultType()).getClassName(); ClassHierarchy hierarchy = callSite.getAgent().getClassHierarchy(); ClassReader samClass = hierarchy.getClassSource().get(samName); for (int i = 0; i < markerCount; ++i) { ValueType markerType = callSite.getBootstrapArguments().get(bootstrapArgIndex++).getValueType(); implementor.getInterfaces().add(((ValueType.Object) markerType).getClassName());
String className = ((ValueType.Object) type).getClassName(); ClassReader cls = context.getClassSource().get(className);
String className = ((ValueType.Object) type).getClassName(); if (!className.equals("java.lang.String")) { return var;
switch (((ValueType.Object) type).getClassName()) { case "java.lang.String": { Variable resultVar = insn.getProgram().createVariable();
String generatorClassName = ((ValueType.Object) generatorType).getClassName(); Class<?> generatorClass; try {
cls.setLevel(AccessLevel.PUBLIC); String typeName = ((ValueType.Object) innerType).getClassName(); org.teavm.model.ClassReader typeReader = classSource.get(typeName); if (typeReader.hasModifier(ElementModifier.INTERFACE)) {
binaryData.start = binaryWriter.append(binaryData.data); } else if (type instanceof ValueType.Object) { String className = ((ValueType.Object) type).getClassName(); ClassReader cls = classSource.get(className);
if (type instanceof ValueType.Object) { ValueType.Object objType = (ValueType.Object) type; value = naming.getNameFor(objType.getClassName()); } else if (type instanceof ValueType.Void) { value = "$rt_voidcls()";
String className = ((ValueType.Object) type).getClassName(); if (className.equals(JSObject.class.getName())) { return var;
switch (((ValueType.Object) type).getClassName()) { case "java.lang.String": { Variable castVar = insn.getProgram().createVariable();