Merge remote-tracking branch 'origin/master'

This commit is contained in:
svtk
2011-12-27 17:00:54 +04:00
180 changed files with 768 additions and 1564 deletions
@@ -1,6 +1,5 @@
package Foo {
package Foo
fun bar() = 610
}
fun box(): String {
return if (Foo.bar() == 610) "OK" else "fail"
@@ -1,7 +1,7 @@
class Point() {
}
fun foo() : typeinfo.TypeInfo<Point> {
fun foo() : TypeInfo<Point> {
val p = Point();
return typeinfo.typeinfo<Point>(p);
return typeinfo<Point>(p);
}
@@ -1,7 +1,7 @@
class Simple {
{
jet.typeinfo.TypeInfo blabla = null;
jet.TypeInfo blabla = null;
new Impossible<String>(blabla);
}
}
@@ -1,7 +1,7 @@
class GenericArray {
public static void ggff() {
jet.typeinfo.TypeInfo noise = null;
jet.TypeInfo noise = null;
String[] s = namespace.ffgg(noise, new String[0]);
}
}
@@ -4,7 +4,7 @@ import java.util.ArrayList;
class ListOfT {
public static void check() {
jet.typeinfo.TypeInfo nobodyCaresAboutTypeinfo = null;
jet.TypeInfo nobodyCaresAboutTypeinfo = null;
List<String> list = new ArrayList<String>();
List<String> r = namespace.listOfT(nobodyCaresAboutTypeinfo, list);
}
@@ -4,7 +4,7 @@ import java.math.BigDecimal;
class MapOfKString {
public static void gfgdgfg() {
jet.typeinfo.TypeInfo useless = null;
jet.TypeInfo useless = null;
Map<BigDecimal, String> map = new HashMap<BigDecimal, String>();
@@ -3,6 +3,6 @@ class Question {
// id2 is to prevent java type parameter type inference
static <T> T id2(T p) { return p; }
{
java.util.List<String> s = id2(namespace.id((jet.typeinfo.TypeInfo) null, null));
java.util.List<String> s = id2(namespace.id((jet.TypeInfo) null, null));
}
}
@@ -3,6 +3,6 @@ class Question {
// id2 is to prevent java type parameter type inference
static <T> T id2(T p) { return p; }
{
String s = id2(namespace.id((jet.typeinfo.TypeInfo) null, null));
String s = id2(namespace.id((jet.TypeInfo) null, null));
}
}
@@ -1,3 +1,4 @@
// FILE: a.kt
// +JDK
package abstract
@@ -180,7 +181,8 @@ enum class MyEnum() {
abstract enum class MyAbstractEnum() {}
package MyNamespace {
// FILE: b.kt
package MyNamespace
//properties
val <!MUST_BE_INITIALIZED!>a<!>: Int
val a1: Int = 1
@@ -222,8 +224,8 @@ package MyNamespace {
var l1: Int = <!PROPERTY_INITIALIZER_NO_BACKING_FIELD!>0<!>; <!ILLEGAL_MODIFIER!>abstract<!> get <!ILLEGAL_MODIFIER!>abstract<!> set
var n: Int <!ILLEGAL_MODIFIER!>abstract<!> get <!ILLEGAL_MODIFIER!>abstract<!> set(v: Int) {}
}
// FILE: c.kt
//creating an instance
abstract class B1(
val i: Int,
@@ -1,8 +1,9 @@
package example;
package ns {
// FILE: a.kt
package example.ns
val y : Any? = 2
}
// FILE: b.kt
package example
object Obj {
val y : Any? = 2
@@ -1,4 +1,5 @@
package boundsWithSubstitutors {
// FILE: a.kt
package boundsWithSubstitutors
open class A<T>
class B<X : A<X>>()
@@ -13,8 +14,7 @@ package boundsWithSubstitutors {
val b0 = X<Any, <!UPPER_BOUND_VIOLATED!>Any?<!>>
val b1 = X<Any, X<A<C>, <!UPPER_BOUND_VIOLATED!>String<!>>>
}
// FILE: b.kt
open class A {}
open class B<T : A>()
@@ -1,9 +1,9 @@
// FILE: a.kt
// +JDK
package html
import java.util.*
package html {
abstract class Factory<T> {
abstract fun create() : T
}
@@ -85,9 +85,9 @@ package html {
return html
}
}
// FILE: b.kt
package foo {
package foo
import html.*
@@ -120,4 +120,3 @@ fun result(args : Array<String>) =
}
}
}
}
@@ -1,3 +1,4 @@
// FILE: b.kt
// http://youtrack.jetbrains.net/issue/KT-424
class A {
@@ -13,7 +14,8 @@ class A {
}
}
package deepSpace {
// FILE: b.kt
package deepSpace
<!CONFLICTING_OVERLOADS!>fun c(<!UNUSED_PARAMETER!>s<!>: String)<!> {
}
@@ -27,28 +29,25 @@ package deepSpace {
<!CONFLICTING_OVERLOADS!>fun d(<!UNUSED_PARAMETER!>s<!>: String)<!> {
}
}
}
// FILE: b.kt
// check no error in overload in different namespaces
package ns1 {
package ns1
fun e() = 1
}
package ns2 {
// FILE: b.kt
package ns2
fun e() = 1
}
package ns3 {
package ns1 {
// FILE: b.kt
package ns3.ns1
fun e() = 1
}
}
// FILE: b.kt
// check same rules apply for ext functions
package extensionFunctions {
package extensionFunctions
<!CONFLICTING_OVERLOADS!>fun Int.qwe(<!UNUSED_PARAMETER!>a<!>: Float)<!> = 1
<!CONFLICTING_OVERLOADS!>fun Int.qwe(<!UNUSED_PARAMETER!>a<!>: Float)<!> = 2
@@ -56,19 +55,19 @@ package extensionFunctions {
fun Int.rty() = 3
fun String.rty() = 4
}
// FILE: b.kt
// check no error when regular function and extension function have same name
package extensionAndRegular {
package extensionAndRegular
fun who() = 1
fun Int.who() = 1
}
// FILE: b.kt
// constructor vs. fun overload
package constructorVsFun {
package constructorVsFun
class <!CONFLICTING_OVERLOADS!>a()<!> { }
<!CONFLICTING_OVERLOADS!>fun a()<!> = 1
@@ -93,5 +92,4 @@ package constructorVsFun {
class object {
class ololo() { }
}
}
}
}
@@ -1,3 +1,4 @@
// FILE: b.kt
trait A<in T> {}
trait B<T> : A<Int> {}
trait C<T> : <!INCONSISTENT_TYPE_PARAMETER_VALUES!>B<T>, A<T><!> {}
@@ -13,30 +14,30 @@ trait BB1 : BA1<Int> {}
trait BB2 : <!INCONSISTENT_TYPE_PARAMETER_VALUES!>BA1<Any>, BB1<!> {}
package x {
// FILE: b.kt
package x
trait AA1<out T> {}
trait AB1 : AA1<Int> {}
trait AB3 : AA1<Comparable<Int>> {}
trait AB2 : AA1<Number>, AB1, AB3 {}
}
package x2 {
// FILE: b.kt
package x2
trait AA1<out T> {}
trait AB1 : AA1<Any> {}
trait AB3 : AA1<Comparable<Int>> {}
trait AB2 : <!INCONSISTENT_TYPE_PARAMETER_VALUES!>AA1<Number>, AB1, AB3<!> {}
}
package x3 {
// FILE: b.kt
package x3
trait AA1<in T> {}
trait AB1 : AA1<Any> {}
trait AB3 : AA1<Comparable<Int>> {}
trait AB2 : AA1<Number>, AB1, AB3 {}
}
package sx2 {
// FILE: b.kt
package sx2
trait AA1<in T> {}
trait AB1 : AA1<Int> {}
trait AB3 : AA1<Comparable<Int>> {}
trait AB2 : <!INCONSISTENT_TYPE_PARAMETER_VALUES!>AA1<Number>, AB1, AB3<!> {}
}
trait AB2 : <!INCONSISTENT_TYPE_PARAMETER_VALUES!>AA1<Number>, AB1, AB3<!> {}
@@ -1,23 +1,23 @@
// FILE: b.kt
// KT-355 Resolve imports after all symbols are built
package a {
package a
import b.*
val x : X = X()
}
package b {
// FILE: b.kt
package b
class X() {
}
}
package c {
// FILE: b.kt
package c
import d.X
val x : X = X()
}
package d {
// FILE: b.kt
package d
class X() {
}
}
@@ -1,8 +1,8 @@
// FILE: b.kt
package root.a
// FILE: b.kt
package root
package a {
}
val x = <!EXPRESSION_EXPECTED_NAMESPACE_FOUND!>a<!>
val y2 = <!NAMESPACE_IS_NOT_AN_EXPRESSION!>package<!>
@@ -1,26 +1,29 @@
// FILE: b.kt
// +JDK
package foobar
package a {
package foobar.a
import java.*
val a : util.List<Int>? = null
val a1 : <!UNRESOLVED_REFERENCE!>List<!><Int>? = null
}
// FILE: b.kt
package foobar
abstract class Foo<T>() {
abstract val x : T<Int>
}
package a {
// FILE: b.kt
package foobar.a
import java.util.*
val b : List<Int>? = a
val b1 : <!UNRESOLVED_REFERENCE!>util<!>.List<Int>? = a
}
// FILE: b.kt
package foobar
val x1 = a.a
val y1 = a.b
@@ -1,4 +1,5 @@
package toplevelObjectDeclarations {
// FILE: f.kt
package toplevelObjectDeclarations
open class Foo(y : Int) {
open fun foo() : Int = 1
}
@@ -26,9 +27,9 @@ package toplevelObjectDeclarations {
}
val z = y.foo()
}
package nestedObejcts {
// FILE: f.kt
package nestedObejcts
object A {
val b = B
val d = A.B.A
@@ -56,9 +57,10 @@ package nestedObejcts {
val c = A.B
val d = A.B.A
val e = B.<!UNRESOLVED_REFERENCE!>A<!>.B
}
package localObjects {
// FILE: f.kt
package localObjects
object A {
val x : Int = 0
}
@@ -80,4 +82,3 @@ package localObjects {
}
val bb = <!UNRESOLVED_REFERENCE!>B<!>.foo()
}
@@ -1,6 +1,5 @@
package override
package normal {
// FILE: f.kt
package override.normal
trait MyTrait {
fun foo()
val pr : Unit
@@ -49,9 +48,10 @@ package normal {
override fun bar() {}
override val prr : Unit = #()
}
}
package generics {
// FILE: f.kt
package override.generics
trait MyTrait<T> {
fun foo(t: T) : T
}
@@ -109,5 +109,4 @@ package generics {
fun foo(t: T) = t
fun bar(t: T) = t
val <R> pr : T = t
}
}
}
@@ -1,3 +1,4 @@
// FILE: f.kt
class Dup {
fun Dup() : Unit {
this<!AMBIGUOUS_LABEL!>@Dup<!>
@@ -21,7 +22,8 @@ fun foo1() : Unit {
this<!UNRESOLVED_REFERENCE!>@a<!>
}
package closures {
// FILE: f.kt
package closures
class A(val a:Int) {
class B() {
@@ -37,5 +39,4 @@ package closures {
return (@a{Double.() -> this@a : Double + this@xx : Char})
}
}
}
}
}
@@ -1,42 +1,40 @@
package a {
// FILE: f.kt
package a
val foo = bar()
fun bar() = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!>foo<!>
}
package b {
// FILE: f.kt
package b
fun foo() = bar()
fun bar() = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!>foo()<!>
}
package c {
// FILE: f.kt
package c
fun bazz() = bar()
fun foo() = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!>bazz()<!>
fun bar() = foo()
}
package ok {
// FILE: f.kt
package a {
package ok.a
val foo = bar()
fun bar() : Int = foo
}
package b {
// FILE: f.kt
package ok.b
fun foo() : Int = bar()
fun bar() = foo()
}
package c {
// FILE: f.kt
package ok.c
fun bazz() = bar()
fun foo() : Int = bazz()
fun bar() = foo()
}
}
fun bar() = foo()
@@ -1,16 +1,15 @@
package redeclarations {
// FILE: f.kt
package redeclarations
object <!REDECLARATION, REDECLARATION!>A<!> {
val x : Int = 0
val A = 1
}
package <!REDECLARATION!>A<!> {
class A {}
}
class <!REDECLARATION, REDECLARATION!>A<!> {}
class <!REDECLARATION!>A<!> {}
val <!REDECLARATION!>A<!> = 1
}
// FILE: f.kt
package redeclarations.<!REDECLARATION, REDECLARATION!>A<!>
class A {}
@@ -1,3 +1,4 @@
// FILE: f.kt
// +JDK
import java.*
@@ -49,6 +50,6 @@ fun test(<!UNUSED_PARAMETER!>l<!> : java.util.List<Int>) {
}
package xxx {
import java.lang.Class;
}
// FILE: f.kt
package xxx
import java.lang.Class;
@@ -1,9 +1,11 @@
// FILE: f.kt
class A {
}
package n {
// FILE: f.kt
package n
class B
}
// FILE: f.kt
abstract class XXX() {
abstract val a : Int
abstract val a1 : package.<!UNRESOLVED_REFERENCE!>Int<!>
@@ -1,5 +1,3 @@
package customGetValGlobal {
package customGetValGlobal
val zz = 1
get() = $zz * 2
}
@@ -1,4 +1,6 @@
// FILE: b.kt
// +JDK
package outer
fun Int?.optint() : Unit {}
val Int?.optval : Unit = #()
@@ -39,7 +41,10 @@ val <T> T.<!MUST_BE_INITIALIZED!>foo<!> : T
fun Int.foo() = this
package null_safety {
// FILE: b.kt
package null_safety
import outer.*
fun parse(<!UNUSED_PARAMETER!>cmd<!>: String): Command? { return null }
class Command() {
@@ -69,5 +74,3 @@ package null_safety {
if (command == null) 1
}
}
@@ -1,21 +1,8 @@
// FILE: this.kt
// KT-362 Don't allow autocasts on vals that are not internal
package example;
package test {
public class Public() {
public val public : Int? = 1;
protected val protected : Int? = 1;
internal protected val i_protected : Int? = 1;
val internal : Int? = 1
}
internal class Internal() {
public val public : Int? = 1;
protected val protected : Int? = 1;
internal protected val i_protected : Int? = 1;
val internal : Int? = 1
}
}
fun test() {
val p = test.Public()
if (p.public is Int) <!AUTOCAST_IMPOSSIBLE!>p.public<!> + 1
@@ -27,4 +14,21 @@ fun test() {
if (i.protected is Int) <!AUTOCAST_IMPOSSIBLE!>i.protected<!> + 1
if (i.i_protected is Int) i.i_protected + 1
if (i.internal is Int) i.internal + 1
}
}
// FILE: other.kt
package test
public class Public() {
public val public : Int? = 1;
protected val protected : Int? = 1;
internal protected val i_protected : Int? = 1;
val internal : Int? = 1
}
internal class Internal() {
public val public : Int? = 1;
protected val protected : Int? = 1;
internal protected val i_protected : Int? = 1;
val internal : Int? = 1
}
@@ -1,14 +1,14 @@
package jet121 {
fun box() : String {
val answer = apply("OK") { String.() : Int ->
get(0)
length
}
package jet121
return if (answer == 2) "OK" else "FAIL"
}
fun box() : String {
val answer = apply("OK") { String.() : Int ->
get(0)
length
}
fun apply(arg:String, f : String.() -> Int) : Int {
return arg.f()
}
return if (answer == 2) "OK" else "FAIL"
}
fun apply(arg:String, f : String.() -> Int) : Int {
return arg.f()
}
@@ -1,7 +1,9 @@
// FILE: this.kt
// KT-26 Import namespaces defined in this file
package foo
package foo {
import bar.* // Must not be an error
}
import bar.* // Must not be an error
package bar {}
// FILE: other.kt
package bar
@@ -1,10 +1,12 @@
// FILE: a.kt
// KT-26 Import namespaces defined in this file
import html.* // Must not be an error
package html {
// FILE: b.kt
abstract class Factory<T> {
fun create() : T? = null
}
package html
abstract class Factory<T> {
fun create() : T? = null
}
@@ -1,12 +1,12 @@
// KT-716 Type inference failed
// +JDK
fun <T> typeinfo.TypeInfo<T>.getJavaClass() : java.lang.Class<T> {
fun <T> TypeInfo<T>.getJavaClass() : java.lang.Class<T> {
val t : java.lang.Object = this <!CAST_NEVER_SUCCEEDS!>as<!> java.lang.Object
return <!UNCHECKED_CAST!>t.getClass() as java.lang.Class<T><!> // inferred type is Object but Serializable was expected
}
fun getJavaClass<T>() = typeinfo.typeinfo<T>.getJavaClass()
fun getJavaClass<T>() = typeinfo<T>.getJavaClass()
fun main(args : Array<String>) {
System.out?.println(getJavaClass<String>)
@@ -1,4 +1,4 @@
//FILE:a.kt
// FILE:a.kt
package a
import b.B //class
@@ -23,7 +23,7 @@ fun test(arg: B) {
f.f()
}
//FILE:b.kt
// FILE:b.kt
package b
class B() {}
+29 -15
View File
@@ -4,19 +4,33 @@ JetFile: FileStart_ERR.jet
<empty list>
PsiErrorElement:Expecting namespace or top level declaration
PsiElement(DIV)('/')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('bar')
PsiErrorElement:A namespace block in '{...}' expected
<empty list>
PsiWhiteSpace('\n')
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiErrorElement:Expecting namespace or top level declaration
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
MODIFIER_LIST
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace('\n')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('import')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Expecting namespace or top level declaration
<empty list>
-29
View File
@@ -1,29 +0,0 @@
package foo.bar.goo
import foo as bar
package foof {
import foo.bar.*;
class Foo {}
package bar {
class Bar {}
package ns {
class X
class Y
}
}
}
class Bar<T> {}
package foo {}
package bar {
import sdf
}
-146
View File
@@ -1,146 +0,0 @@
JetFile: NamespaceBlock.jet
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(as)('as')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace('\n\n')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foof')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(MUL)('*')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n\n ')
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Foo')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
CLASS_BODY
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
CLASS_BODY
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('ns')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('X')
PsiWhiteSpace('\n\n ')
TYPE_PARAMETER_LIST
<empty list>
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Y')
PsiWhiteSpace('\n ')
TYPE_PARAMETER_LIST
<empty list>
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n\n')
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar')
TYPE_PARAMETER_LIST
PsiElement(LT)('<')
TYPE_PARAMETER
PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
NAMESPACE_BODY
<empty list>
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('sdf')
PsiWhiteSpace('\n\n')
PsiElement(RBRACE)('}')
+37 -31
View File
@@ -2,37 +2,43 @@ JetFile: NamespaceBlockFirst.jet
NAMESPACE
NAMESPACE_HEADER
<empty list>
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foobar')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting namespace or top level declaration
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
MODIFIER_LIST
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foobar')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting namespace or top level declaration
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiWhiteSpace('\n ')
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiWhiteSpace('\n ')
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foobar')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiWhiteSpace('\n ')
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foobar')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace('\n')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting namespace or top level declaration
PsiElement(RBRACE)('}')
@@ -1,42 +0,0 @@
package foo.bar.goo
import foo as
import foo.
import foo.bar.
import foo. as bar
package foof {
import foo.bar.* as bar
import foo as ;
import foo. ;
import foo.bar. ;
import foo. as bar ;
import foo.bar.* as bar ;
import foo.bar.* as ;
package foo
class Foo {}
package {
class Bar {}
package ns {
class X
class Y
}
}
}
dsfgd
class Bar<T> {}
package foo
package {}
package bar {
import sdf
}
@@ -1,318 +0,0 @@
JetFile: NamespaceBlock_ERR.jet
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('goo')
PsiWhiteSpace('\n\n')
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(as)('as')
PsiWhiteSpace('\n')
PsiElement(IDENTIFIER)('import')
PsiWhiteSpace(' ')
NAMESPACE
MODIFIER_LIST
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
PsiWhiteSpace('\n')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('import')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiWhiteSpace('\n')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('import')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiErrorElement:Expecting type name
PsiElement(as)('as')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace('\n\n')
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foof')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(MUL)('*')
PsiWhiteSpace(' ')
PsiErrorElement:Cannot rename a all imported items to one identifier
PsiElement(as)('as')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace('\n ')
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiElement(as)('as')
PsiErrorElement:Expecting identifier
<empty list>
PsiWhiteSpace(' ')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiErrorElement:Qualified name must be a '.'-separated identifier list
<empty list>
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiErrorElement:Qualified name must be a '.'-separated identifier list
<empty list>
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiErrorElement:Qualified name must be a '.'-separated identifier list
<empty list>
PsiElement(as)('as')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace(' ')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(MUL)('*')
PsiWhiteSpace(' ')
PsiErrorElement:Cannot rename a all imported items to one identifier
PsiElement(as)('as')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace(' ')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n ')
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
PsiElement(MUL)('*')
PsiWhiteSpace(' ')
PsiErrorElement:Cannot rename a all imported items to one identifier
PsiElement(as)('as')
PsiWhiteSpace(' ')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n\n ')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiErrorElement:A namespace block in '{...}' expected
<empty list>
PsiWhiteSpace('\n\n ')
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Foo')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
CLASS_BODY
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiErrorElement:Expecting namespace name
<empty list>
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
CLASS_BODY
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('ns')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('X')
PsiWhiteSpace('\n\n ')
TYPE_PARAMETER_LIST
<empty list>
CLASS
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Y')
PsiWhiteSpace('\n ')
TYPE_PARAMETER_LIST
<empty list>
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n')
CLASS
MODIFIER_LIST
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('dsfgd')
PsiWhiteSpace('\n\n')
PsiElement(class)('class')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar')
TYPE_PARAMETER_LIST
PsiElement(LT)('<')
TYPE_PARAMETER
PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>')
PsiWhiteSpace(' ')
CLASS_BODY
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiErrorElement:A namespace block in '{...}' expected
<empty list>
PsiWhiteSpace('\n\n')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiErrorElement:Expecting namespace name
<empty list>
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
NAMESPACE_BODY
<empty list>
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n')
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
IMPORT_DIRECTIVE
PsiElement(import)('import')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('sdf')
PsiWhiteSpace('\n\n')
PsiElement(RBRACE)('}')
+1 -9
View File
@@ -1,9 +1 @@
public [a] package name;
[a] package a {
val foo
private package b {
}
}
public [a] package name
+1 -44
View File
@@ -16,47 +16,4 @@ JetFile: NamespaceModifiers.jet
PsiWhiteSpace(' ')
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('name')
PsiElement(SEMICOLON)(';')
PsiWhiteSpace('\n\n')
NAMESPACE
MODIFIER_LIST
ANNOTATION
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ')
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n\n ')
NAMESPACE
MODIFIER_LIST
PsiElement(private)('private')
PsiWhiteSpace(' ')
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n\n ')
NAMESPACE_BODY
<empty list>
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')
PsiElement(IDENTIFIER)('name')
+102 -95
View File
@@ -16,112 +16,119 @@ JetFile: RootNamespace.jet
PsiWhiteSpace('\n\n')
TYPE_PARAMETER_LIST
<empty list>
NAMESPACE
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting namespace or top level declaration
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
MODIFIER_LIST
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting namespace or top level declaration
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
NAMESPACE_BODY
FUN
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
PsiWhiteSpace('\n ')
FUN
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
ROOT_NAMESPACE
PsiElement(namespace)('package')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
ROOT_NAMESPACE
PsiElement(namespace)('package')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('X')
PsiWhiteSpace('\n ')
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('X')
PsiWhiteSpace('\n ')
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
ROOT_NAMESPACE
PsiElement(namespace)('package')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
ROOT_NAMESPACE
PsiElement(namespace)('package')
PsiElement(DOT)('.')
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('X')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
WHEN
PsiElement(when)('when')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('X')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
WHEN
PsiElement(when)('when')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('e')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
WHEN_ENTRY
WHEN_CONDITION_IS_PATTERN
PsiElement(is)('is')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
WHEN_ENTRY
WHEN_CONDITION_IS_PATTERN
PsiElement(is)('is')
PsiWhiteSpace(' ')
DECOMPOSER_PATTERN
DECOMPOSER_PATTERN
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
DOT_QUALIFIED_EXPRESSION
ROOT_NAMESPACE
PsiElement(namespace)('package')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
ROOT_NAMESPACE
PsiElement(namespace)('package')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('X')
PsiWhiteSpace(' ')
DECOMPOSER_ARGUMENT_LIST
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TUPLE_PATTERN_ENTRY
TYPE_PATTERN
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('X')
PsiWhiteSpace(' ')
DECOMPOSER_ARGUMENT_LIST
PsiElement(HASH)('#')
PsiElement(LPAR)('(')
TUPLE_PATTERN_ENTRY
TYPE_PATTERN
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('x')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting namespace or top level declaration
PsiElement(RBRACE)('}')
@@ -1,6 +1,5 @@
foo bar(1) buzz<T>(1) zoo package aa
foo bar(1) buzz<T>(1) zoo package a {}
foo bar(1) buzz<T>(1) zoo class A
foo bar(1) buzz<T>(1) zoo object B
foo bar(1) buzz<T>(1) zoo fun a() {}
@@ -54,66 +54,6 @@ JetFile: ShortAnnotations.jet
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('aa')
PsiWhiteSpace('\n\n')
NAMESPACE
MODIFIER_LIST
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('buzz')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('zoo')
PsiWhiteSpace(' ')
NAMESPACE_HEADER
PsiElement(namespace)('package')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
NAMESPACE_BODY
<empty list>
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
CLASS
MODIFIER_LIST
ANNOTATION_ENTRY
+6 -7
View File
@@ -1,22 +1,21 @@
package root
~a~package a {
// FILE: f.kt
~a~package a
import java.*
~a.a~val a : util.List<Int>? = null
val y : Any? = `a.b`b
}
package a {
// FILE: f.kt
package a
import java.util.*
~a.b~val b : List<Int>? = null
val x = `a.a`a
}
// FILE: f.kt
package root
val x = `a`a.`a.a`a
val y = `a`a.`a.b`b
+1 -2
View File
@@ -1,4 +1,4 @@
~ns~package nestedObjects {
~ns~package nestedObjects
object ~A~A {
val b = `A.B`B
val d = `A`A.`A.B`B.`A.B.A`A
@@ -25,4 +25,3 @@
val c = `A`A.`A.B`B
val d = A.B.`A.B.A`A
val e = B.`!`A.B
}