@TruffleBoundary public String alternativesToString() { return alternatives.stream().map(Sequence::toString).collect(Collectors.joining("|")); }
@TruffleBoundary private static JsonArray gbBitSetGroupEntriesToJsonArray(CompilationFinalBitSet gbArray) { return gbBitSetGroupPartToJsonArray(gbArray, true); }
@TruffleBoundary private static JsonArray groupExitsToJsonArray(byte[] gbArray) { return groupBoundariesToJsonArray(gbArray, false); }
@TruffleBoundary @Override public JsonValue toJson() { return toJson("PositionAssertion" + type); } }
@Override @TruffleBoundary public String toString() { StringBuilder sb = new StringBuilder(modifiersToString()).append("hybrid [\n"); for (int i = 0; i < highBytes.length; i++) { sb.append(String.format(" %02x: ", Byte.toUnsignedInt(highBytes[i]))).append(bitSets[i]).append("\n"); } return sb.append(" rest: ").append(restMatcher).append("\n]").toString(); }
@Override @TruffleBoundary public String toString() { return "tree " + modifiersToString() + "[" + MatcherBuilder.rangesToString(tree) + "]"; } }
@TruffleBoundary @Override public TruffleObject compile(RegexSource source) throws RegexSyntaxException { return new TRegexCompilationRequest(this, source).compile(); }
@TruffleBoundary @Override public JsonObject toJson() { return super.toJson().append(Json.prop("groupNr", groupNr)); }
@TruffleBoundary @Override public JsonValue toJson() { final JsonObject json = toJson("CharacterClass").append(Json.prop("matcherBuilder", matcherBuilder)); if (lookBehindEntries != null) { json.append(Json.prop("lookBehindEntries", lookBehindEntries.stream().map(RegexASTNode::astNodeId).collect(Collectors.toList()))); } return json; } }
@TruffleBoundary @Override public JsonObject toJson() { return Json.obj(Json.prop("kind", kind.name())); }
@TruffleBoundary private JsonArray sourceSectionsToJson() { return Json.array(getStateSet().stream().map(RegexASTNode::getSourceSection).filter(Objects::nonNull).map(x -> Json.obj( Json.prop("start", x.getCharIndex()), Json.prop("end", x.getCharEndIndex())))); }
@TruffleBoundary @Override public JsonValue toJson() { return Json.obj(Json.prop("root", root.getId()), Json.prop("successors", successors)); } }
@TruffleBoundary @Override public JsonValue toJson() { JsonObject json = Json.obj(Json.prop("partialTransitions", Arrays.asList(partialTransitions))); if (transitionToAnchoredFinalState != null) { json.append(Json.prop("transitionToAnchoredFinalState", transitionToAnchoredFinalState)); } if (transitionToFinalState != null) { json.append(Json.prop("transitionToFinalState", transitionToFinalState)); } return json; } }
@TruffleBoundary @Override public JsonValue toJson() { return Json.obj(Json.prop("matcherBuilder", getMatcherBuilder()), Json.prop("transitionSet", getTransitionSet())); } }
@TruffleBoundary @Override public JsonObject toJson() { return super.toJson().append( Json.prop("min", getMin()), Json.prop("max", getMax()), Json.prop("greedy", isGreedy())); } }
@TruffleBoundary @Override public JsonValue toJson() { return Json.obj(Json.prop("updateEnter", gbBitSetGroupEntriesToJsonArray(updateIndices)), Json.prop("updateExit", gbBitSetGroupExitsToJsonArray(updateIndices)), Json.prop("clearEnter", gbBitSetGroupEntriesToJsonArray(clearIndices)), Json.prop("clearExit", gbBitSetGroupExitsToJsonArray(clearIndices))); }
@TruffleBoundary private JsonArray sourceSectionsToJson() { if (!groupBoundaries.hasIndexUpdates()) { return Json.array(); } return Json.array(groupBoundaries.getUpdateIndices().stream().mapToObj(x -> { Group group = source.getStateSet().getAst().getGroupByBoundaryIndex(x); SourceSection sourceSection = (x & 1) == 0 ? group.getSourceSectionBegin() : group.getSourceSectionEnd(); return Json.obj(Json.prop("start", sourceSection.getCharIndex()), Json.prop("end", sourceSection.getCharEndIndex())); })); }
@TruffleBoundary @Override public JsonValue toJson() { return toJson("Group").append( Json.prop("groupNumber", groupNumber), Json.prop("isCapturing", isCapturing()), Json.prop("isLoop", isLoop()), Json.prop("isExpandedLoop", isExpandedQuantifier()), Json.prop("alternatives", alternatives)); } }
@TruffleBoundary public JsonValue toJson(boolean forward) { return Json.obj(Json.prop("id", id), Json.prop("source", getSource(forward).getId()), Json.prop("target", getTarget(forward).getId()), Json.prop("groupBoundaries", groupBoundaries), Json.prop("sourceSections", sourceSectionsToJson())); } }
@TruffleBoundary @Override public JsonValue toJson() { return Json.obj(Json.prop("source", source), Json.prop("root", root), Json.prop("debugAST", ASTDebugDumpVisitor.getDump(wrappedRoot)), Json.prop("wrappedRoot", wrappedRoot), Json.prop("reachableCarets", reachableCarets), Json.prop("startsWithCaret", root.startsWithCaret()), Json.prop("endsWithDollar", root.endsWithDollar()), Json.prop("reachableDollars", reachableDollars), Json.prop("properties", properties)); } }