From ff055399a7e7009334e6d22de38bc4ad58e224e5 Mon Sep 17 00:00:00 2001 From: Alex Tkachman Date: Tue, 13 Dec 2011 15:45:18 +0200 Subject: [PATCH] house keeping --- .../jet/codegen/NamespaceCodegen.java | 4 +- .../testData/codegen/inputStreamIterator.jet | 1 + stdlib/ktSrc/Arrays.kt | 8 ++ .../ktSrc/{StandardLibrary.kt => JavaIo.kt} | 75 +++++++++---------- stdlib/ktSrc/String.kt | 7 +- 5 files changed, 51 insertions(+), 44 deletions(-) rename stdlib/ktSrc/{StandardLibrary.kt => JavaIo.kt} (86%) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/NamespaceCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/NamespaceCodegen.java index 9a6f2c5210a..5e8b92a7849 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/NamespaceCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/NamespaceCodegen.java @@ -2,6 +2,7 @@ package org.jetbrains.jet.codegen; import com.intellij.psi.PsiFile; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; +import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; import org.jetbrains.jet.lang.descriptors.PropertyDescriptor; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; @@ -43,7 +44,8 @@ public class NamespaceCodegen { } public void generate(JetNamespace namespace) { - final CodegenContext context = CodegenContext.STATIC.intoNamespace(state.getBindingContext().get(BindingContext.NAMESPACE, namespace)); + NamespaceDescriptor descriptor = state.getBindingContext().get(BindingContext.NAMESPACE, namespace); + final CodegenContext context = CodegenContext.STATIC.intoNamespace(descriptor); final FunctionCodegen functionCodegen = new FunctionCodegen(context, v, state); final PropertyCodegen propertyCodegen = new PropertyCodegen(context, v, functionCodegen, state); diff --git a/compiler/testData/codegen/inputStreamIterator.jet b/compiler/testData/codegen/inputStreamIterator.jet index 7be02b077f2..85ff66b2ba7 100644 --- a/compiler/testData/codegen/inputStreamIterator.jet +++ b/compiler/testData/codegen/inputStreamIterator.jet @@ -1,3 +1,4 @@ +import std.* import std.io.* import java.io.* diff --git a/stdlib/ktSrc/Arrays.kt b/stdlib/ktSrc/Arrays.kt index c8ddc2b5c70..197cd1c236c 100644 --- a/stdlib/ktSrc/Arrays.kt +++ b/stdlib/ktSrc/Arrays.kt @@ -1,5 +1,7 @@ namespace std +import java.io.ByteArrayInputStream + // Array "constructor" inline fun array(vararg t : T) : Array = t @@ -19,3 +21,9 @@ inline fun shortArray(vararg content : Short) = content inline fun byteArray(vararg content : Byte) = content inline fun booleanArray(vararg content : Boolean) = content + +inline val ByteArray.inputStream : ByteArrayInputStream + get() = ByteArrayInputStream(this) + +inline fun ByteArray.inputStream(offset: Int, length: Int) = ByteArrayInputStream(this, offset, length) + diff --git a/stdlib/ktSrc/StandardLibrary.kt b/stdlib/ktSrc/JavaIo.kt similarity index 86% rename from stdlib/ktSrc/StandardLibrary.kt rename to stdlib/ktSrc/JavaIo.kt index 999cecbad2c..020809cc19b 100644 --- a/stdlib/ktSrc/StandardLibrary.kt +++ b/stdlib/ktSrc/JavaIo.kt @@ -27,47 +27,6 @@ namespace io { inline fun println(message : CharArray) { System.out?.println(message) } inline fun println() { System.out?.println() } - val ByteArray.inputStream : ByteArrayInputStream - get() = ByteArrayInputStream(this) - -// inline fun ByteArray.inputStream(offset: Int, length: Int) = ByteArrayInputStream(this, offset, length) - - fun InputStream.iterator() : ByteIterator = - object: ByteIterator() { - override val hasNext : Boolean - get() = available() > 0 - - override fun nextByte() = read().byt - } - - val InputStream.buffered : BufferedInputStream - get() = if(this is BufferedInputStream) this else BufferedInputStream(this) - -// inline fun InputStream.buffered(bufferSize: Int) = BufferedInputStream(this, bufferSize) - - val InputStream.reader : InputStreamReader - get() = InputStreamReader(this) - - val InputStream.bufferedReader : BufferedReader - get() = BufferedReader(reader) - -/* - inline fun InputStream.reader(charset: Charset) : InputStreamReader = InputStreamReader(this, charset) - - inline fun InputStream.reader(charsetName: String) = InputStreamReader(this, charsetNme) - - inline fun InputStream.reader(charset: Charset) = InputStreamReader(this, charset) - - inline fun InputStream.reader(charsetDecoder: CharsetDecoder) = InputStreamReader(this, charsetDecoder) -*/ - -// val Reader.buffered : BufferedReader -// get() = if(this instanceof BufferedReader) this else BufferedReader(this) - -// inline fun Reader.buffered(bufferSize: Int) = BufferedReader(this, bufferSize) - -// val String.reader = StringReader(this) - private val stdin : BufferedReader = BufferedReader(InputStreamReader(object : InputStream() { override fun read() : Int { return System.`in`?.read() ?: -1 @@ -107,4 +66,38 @@ namespace io { })) fun readLine() : String? = stdin.readLine() + + fun InputStream.iterator() : ByteIterator = + object: ByteIterator() { + override val hasNext : Boolean + get() = available() > 0 + + override fun nextByte() = read().byt + } + + val InputStream.buffered : BufferedInputStream + get() = if(this is BufferedInputStream) this else BufferedInputStream(this) + + // inline fun InputStream.buffered(bufferSize: Int) = BufferedInputStream(this, bufferSize) + + val InputStream.reader : InputStreamReader + get() = InputStreamReader(this) + + val InputStream.bufferedReader : BufferedReader + get() = BufferedReader(reader) + + /* + inline fun InputStream.reader(charset: Charset) : InputStreamReader = InputStreamReader(this, charset) + + inline fun InputStream.reader(charsetName: String) = InputStreamReader(this, charsetNme) + + inline fun InputStream.reader(charset: Charset) = InputStreamReader(this, charset) + + inline fun InputStream.reader(charsetDecoder: CharsetDecoder) = InputStreamReader(this, charsetDecoder) + */ + + // val Reader.buffered : BufferedReader + // get() = if(this instanceof BufferedReader) this else BufferedReader(this) + + // inline fun Reader.buffered(bufferSize: Int) = BufferedReader(this, bufferSize) } \ No newline at end of file diff --git a/stdlib/ktSrc/String.kt b/stdlib/ktSrc/String.kt index 22e3c9864d9..4df7c099d29 100644 --- a/stdlib/ktSrc/String.kt +++ b/stdlib/ktSrc/String.kt @@ -1,5 +1,7 @@ namespace std +import java.io.StringReader + inline fun T?.plus(str: String?) : String { return toString() + str } inline fun String.lastIndexOf(s: String) = (this as java.lang.String).lastIndexOf(s) @@ -35,8 +37,8 @@ inline fun String.substring(i0 : Int, i1 : Int) = (this as java.lang.String).su inline val String.size : Int get() = length() -inline val String.bytes : ByteArray - get() = getBytes() +inline val String.reader : StringReader + get() = StringReader(this) // "constructors" for String @@ -57,3 +59,4 @@ inline fun String(chars : CharArray) = java.lang.String(chars) as String inline fun String(stringBuffer : java.lang.StringBuffer) = java.lang.String(stringBuffer) as String inline fun String(stringBuilder : java.lang.StringBuilder) = java.lang.String(stringBuilder) as String +