diff --git a/examples/tests/current_test.panda b/examples/tests/current_test.panda index aaad28687..786550589 100644 --- a/examples/tests/current_test.panda +++ b/examples/tests/current_test.panda @@ -148,7 +148,7 @@ main { log 10 + Int.parseInt('5') + list.size() // map array to iterable in foreach - foreach (String var : new Array(10)) { } + // foreach (String var : new Array(10)) { } // make sure that we can use primitive arrays // PrimitiveChar[] primitiveArray = (')#onlypanda').toCharArray() diff --git a/panda/src/main/java/org/panda_lang/panda/language/resource/syntax/expressions/subparsers/SubparsersUtils.java b/panda/src/main/java/org/panda_lang/panda/language/resource/syntax/expressions/subparsers/SubparsersUtils.java index b2457c085..38db035f4 100644 --- a/panda/src/main/java/org/panda_lang/panda/language/resource/syntax/expressions/subparsers/SubparsersUtils.java +++ b/panda/src/main/java/org/panda_lang/panda/language/resource/syntax/expressions/subparsers/SubparsersUtils.java @@ -20,7 +20,6 @@ import org.panda_lang.language.architecture.type.signature.Signature; import org.panda_lang.language.interpreter.parser.expression.ExpressionContext; import org.panda_lang.language.interpreter.parser.expression.ExpressionResult; -import org.panda_lang.language.interpreter.token.SourceStream; import org.panda_lang.panda.language.interpreter.parser.PandaSourceReader; import org.panda_lang.panda.language.resource.syntax.type.SignatureParser; import org.panda_lang.utilities.commons.function.Result; @@ -32,14 +31,12 @@ final class SubparsersUtils { private SubparsersUtils() { } protected static Result readType(@Nullable Signature parent, ExpressionContext context) { - SourceStream stream = context.toStream(); - PandaSourceReader sourceReader = new PandaSourceReader(context.toStream()); - int index = stream.getUnreadLength(); + PandaSourceReader sourceReader = new PandaSourceReader(context.getSynchronizedSource().getAvailableSource().toStream()); return sourceReader.readSignature() .map(source -> Result. ok(SIGNATURE_PARSER.parse(parent, context, source))) .orElseGet(() -> Result.error(ExpressionResult.error("Unknown type", context.getSynchronizedSource().getSource()))) - .peek(signature -> context.getSynchronizedSource().next(index - stream.getUnreadLength())); + .peek(signature -> context.getSynchronizedSource().next(sourceReader.getStream().getReadLength())); } }