From f510bd19aa87323dc76e8d895da9059d8fccd6d0 Mon Sep 17 00:00:00 2001 From: Vaci Koblizek Date: Sun, 6 Mar 2022 16:46:39 +0000 Subject: [PATCH] move captable contexts --- runtime/src/main/java/org/capnproto/AnyPointer.java | 4 ++-- runtime/src/main/java/org/capnproto/CapTableBuilder.java | 5 +++++ runtime/src/main/java/org/capnproto/CapTableReader.java | 5 +++++ runtime/src/main/java/org/capnproto/ListBuilder.java | 8 ++++---- runtime/src/main/java/org/capnproto/ListReader.java | 8 ++++---- runtime/src/main/java/org/capnproto/StructBuilder.java | 8 ++++---- runtime/src/main/java/org/capnproto/StructReader.java | 8 ++++---- 7 files changed, 28 insertions(+), 18 deletions(-) diff --git a/runtime/src/main/java/org/capnproto/AnyPointer.java b/runtime/src/main/java/org/capnproto/AnyPointer.java index 23a034f..1094d3a 100644 --- a/runtime/src/main/java/org/capnproto/AnyPointer.java +++ b/runtime/src/main/java/org/capnproto/AnyPointer.java @@ -48,7 +48,7 @@ public final class AnyPointer { } public static final Factory factory = new Factory(); - public final static class Reader extends Capability.ReaderContext { + public final static class Reader extends CapTableReader.ReaderContext { final SegmentReader segment; final int pointer; // offset in words final int nestingLimit; @@ -93,7 +93,7 @@ public final class AnyPointer { } } - public static final class Builder extends Capability.BuilderContext { + public static final class Builder extends CapTableBuilder.BuilderContext { final SegmentBuilder segment; final int pointer; diff --git a/runtime/src/main/java/org/capnproto/CapTableBuilder.java b/runtime/src/main/java/org/capnproto/CapTableBuilder.java index 01e6825..8f137a7 100644 --- a/runtime/src/main/java/org/capnproto/CapTableBuilder.java +++ b/runtime/src/main/java/org/capnproto/CapTableBuilder.java @@ -1,6 +1,11 @@ package org.capnproto; public interface CapTableBuilder extends CapTableReader { + + class BuilderContext { + public CapTableBuilder capTable; + } + int injectCap(ClientHook cap); void dropCap(int index); diff --git a/runtime/src/main/java/org/capnproto/CapTableReader.java b/runtime/src/main/java/org/capnproto/CapTableReader.java index e8f5be5..b6d6f8d 100644 --- a/runtime/src/main/java/org/capnproto/CapTableReader.java +++ b/runtime/src/main/java/org/capnproto/CapTableReader.java @@ -1,5 +1,10 @@ package org.capnproto; public interface CapTableReader { + + class ReaderContext { + public CapTableReader capTable; + } + ClientHook extractCap(int index); } diff --git a/runtime/src/main/java/org/capnproto/ListBuilder.java b/runtime/src/main/java/org/capnproto/ListBuilder.java index 19f3c59..9d20018 100644 --- a/runtime/src/main/java/org/capnproto/ListBuilder.java +++ b/runtime/src/main/java/org/capnproto/ListBuilder.java @@ -23,7 +23,7 @@ package org.capnproto; import java.util.List; -public class ListBuilder extends Capability.BuilderContext { +public class ListBuilder extends CapTableBuilder.BuilderContext { public interface Factory { T constructBuilder(SegmentBuilder segment, int ptr, int elementCount, int step, @@ -31,9 +31,9 @@ public class ListBuilder extends Capability.BuilderContext { default T constructBuilder(SegmentBuilder segment, CapTableBuilder capTable, int ptr, int elementCount, int step, int structDataSize, short structPointerCount) { - var result = constructBuilder(segment, ptr, elementCount, step, structDataSize, structPointerCount); - if (result instanceof Capability.BuilderContext) { - ((Capability.BuilderContext) result).capTable = capTable; + T result = constructBuilder(segment, ptr, elementCount, step, structDataSize, structPointerCount); + if (result instanceof CapTableBuilder.BuilderContext) { + ((CapTableBuilder.BuilderContext) result).capTable = capTable; } return result; } diff --git a/runtime/src/main/java/org/capnproto/ListReader.java b/runtime/src/main/java/org/capnproto/ListReader.java index bf1f45c..f63ecfe 100644 --- a/runtime/src/main/java/org/capnproto/ListReader.java +++ b/runtime/src/main/java/org/capnproto/ListReader.java @@ -21,7 +21,7 @@ package org.capnproto; -public class ListReader extends Capability.ReaderContext { +public class ListReader extends CapTableReader.ReaderContext { public interface Factory { T constructReader(SegmentReader segment, int ptr, @@ -31,9 +31,9 @@ public class ListReader extends Capability.ReaderContext { default T constructReader(SegmentReader segment, CapTableReader capTable, int ptr, int elementCount, int step, int structDataSize, short structPointerCount, int nestingLimit) { - var result = constructReader(segment, ptr, elementCount, step, structDataSize, structPointerCount, nestingLimit); - if (result instanceof Capability.ReaderContext) { - ((Capability.ReaderContext) result).capTable = capTable; + T result = constructReader(segment, ptr, elementCount, step, structDataSize, structPointerCount, nestingLimit); + if (result instanceof CapTableReader.ReaderContext) { + ((CapTableReader.ReaderContext) result).capTable = capTable; } return result; } diff --git a/runtime/src/main/java/org/capnproto/StructBuilder.java b/runtime/src/main/java/org/capnproto/StructBuilder.java index 6285dce..f954377 100644 --- a/runtime/src/main/java/org/capnproto/StructBuilder.java +++ b/runtime/src/main/java/org/capnproto/StructBuilder.java @@ -21,15 +21,15 @@ package org.capnproto; -public class StructBuilder extends Capability.BuilderContext { +public class StructBuilder extends CapTableBuilder.BuilderContext { public interface Factory { T constructBuilder(SegmentBuilder segment, int data, int pointers, int dataSize, short pointerCount); default T constructBuilder(SegmentBuilder segment, CapTableBuilder capTable, int data, int pointers, int dataSize, short pointerCount) { - var result = constructBuilder(segment, data, pointers, dataSize, pointerCount); - if (result instanceof Capability.BuilderContext) { - ((Capability.BuilderContext) result).capTable = capTable; + T result = constructBuilder(segment, data, pointers, dataSize, pointerCount); + if (result instanceof CapTableBuilder.BuilderContext) { + ((CapTableBuilder.BuilderContext) result).capTable = capTable; } return result; } diff --git a/runtime/src/main/java/org/capnproto/StructReader.java b/runtime/src/main/java/org/capnproto/StructReader.java index 3225c71..14532a6 100644 --- a/runtime/src/main/java/org/capnproto/StructReader.java +++ b/runtime/src/main/java/org/capnproto/StructReader.java @@ -21,7 +21,7 @@ package org.capnproto; -public class StructReader extends Capability.ReaderContext { +public class StructReader extends CapTableReader.ReaderContext { public interface Factory { T constructReader(SegmentReader segment, int data, int pointers, int dataSize, short pointerCount, @@ -29,9 +29,9 @@ public class StructReader extends Capability.ReaderContext { default T constructReader(SegmentReader segment, CapTableReader capTable, int data, int pointers, int dataSize, short pointerCount, int nestingLimit) { - var result = constructReader(segment, data, pointers, dataSize, pointerCount, nestingLimit); - if (result instanceof Capability.ReaderContext) { - ((Capability.ReaderContext) result).capTable = capTable; + T result = constructReader(segment, data, pointers, dataSize, pointerCount, nestingLimit); + if (result instanceof CapTableReader.ReaderContext) { + ((CapTableReader.ReaderContext) result).capTable = capTable; } return result; }