summaryrefslogtreecommitdiff
path: root/ext/java/PsychParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'ext/java/PsychParser.java')
-rw-r--r--ext/java/PsychParser.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/java/PsychParser.java b/ext/java/PsychParser.java
index f5b6faf..db0306b 100644
--- a/ext/java/PsychParser.java
+++ b/ext/java/PsychParser.java
@@ -197,6 +197,12 @@ public class PsychParser extends RubyObject {
while (true) {
event = parser.getEvent();
+ IRubyObject start_line = runtime.newFixnum(event.getStartMark().getLine());
+ IRubyObject start_column = runtime.newFixnum(event.getStartMark().getColumn());
+ IRubyObject end_line = runtime.newFixnum(event.getEndMark().getLine());
+ IRubyObject end_column = runtime.newFixnum(event.getEndMark().getColumn());
+ invoke(context, handler, "event_location", start_line, start_column, end_line, end_column);
+
// FIXME: Event should expose a getID, so it can be switched
if (event.is(ID.StreamStart)) {
invoke(context, handler, "start_stream", runtime.newFixnum(YAML_ANY_ENCODING.ordinal()));
@@ -284,6 +290,7 @@ public class PsychParser extends RubyObject {
private void handleScalar(ThreadContext context, ScalarEvent se, boolean tainted, IRubyObject handler) {
Ruby runtime = context.runtime;
+
IRubyObject anchor = stringOrNilFor(runtime, se.getAnchor(), tainted);
IRubyObject tag = stringOrNilFor(runtime, se.getTag(), tainted);
IRubyObject plain_implicit = runtime.newBoolean(se.getImplicit().canOmitTagInPlainScalar());