Lines Matching refs:writer
322 static FrameType tryMerge(FrameType writer, FrameType reader) {
323 if (writer.mElementId == ELEMENT_DONTCARE) {
326 return writer;
327 } else if (writer.mElementId == ELEMENT_OBJECT && reader.mElementId == ELEMENT_OBJECT) {
328 return tryMergeObjectTypes(writer, reader);
329 } else if (writer.mDimensions > 0 && writer.mElementId == reader.mElementId) {
330 return tryMergeBuffers(writer, reader);
336 static FrameType tryMergeObjectTypes(FrameType writer, FrameType reader) {
337 int dimensions = Math.max(writer.mDimensions, reader.mDimensions);
338 Class<?> mergedClass = mergeClasses(writer.mClass, reader.mClass);
339 boolean success = mergedClass != null || writer.mClass == null;
343 static FrameType tryMergeBuffers(FrameType writer, FrameType reader) {
344 if (writer.mDimensions == reader.mDimensions) {
345 int accessHints = writer.mAccessHints | reader.mAccessHints;
346 return FrameType.fetchType(writer.mElementId, writer.mDimensions, accessHints);
351 static FrameType merge(FrameType writer, FrameType reader) {
352 FrameType result = tryMerge(writer, reader);
355 "Incompatible types in connection: " + writer + " vs. " + reader + "!");