"trait" instead of "trait class"
virtual -> open "final" introduced "wraps" dropped
This commit is contained in:
@@ -127,7 +127,7 @@ public interface JetTokens {
|
||||
JetKeywordToken GET_KEYWORD = JetKeywordToken.softKeyword("get");
|
||||
JetKeywordToken SET_KEYWORD = JetKeywordToken.softKeyword("set");
|
||||
JetKeywordToken ABSTRACT_KEYWORD = JetKeywordToken.softKeyword("abstract");
|
||||
JetKeywordToken VIRTUAL_KEYWORD = JetKeywordToken.softKeyword("virtual");
|
||||
JetKeywordToken VIRTUAL_KEYWORD = JetKeywordToken.softKeyword("open");
|
||||
JetKeywordToken ENUM_KEYWORD = JetKeywordToken.softKeyword("enum");
|
||||
JetKeywordToken OPEN_KEYWORD = JetKeywordToken.softKeyword("open");
|
||||
JetKeywordToken ATTRIBUTE_KEYWORD = JetKeywordToken.softKeyword("attribute");
|
||||
|
||||
@@ -21,7 +21,7 @@ fun countOnes(x : INumber) = if (x == 0) 0 else mostSignificantBit(x) + countOne
|
||||
|
||||
fun Int.matchMask(mask : Int) = this and mask == mask
|
||||
|
||||
virtual class INumber<T : this> : IComparable<T> {
|
||||
open class INumber<T : this> : IComparable<T> {
|
||||
val bits : Int
|
||||
[operator] fun plus(other : T) : T
|
||||
[operator] fun shl(bits : Int) : T
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IPushPop<T> {
|
||||
open class IPushPop<T> {
|
||||
val isEmpty : Boolean
|
||||
fun push(item : T)
|
||||
fun pop() : T
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
virtual class Builder<E, R> {
|
||||
open class Builder<E, R> {
|
||||
[operator] fun plusAssign(item : E)
|
||||
fun result() : R
|
||||
}
|
||||
|
||||
virtual class Buildable {
|
||||
open class Buildable {
|
||||
fun newBuilder<E, R>() : Builder<E, R>
|
||||
}
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
These declarations are "shallow" in the sense that they are not really compiled, only the type-checker uses them
|
||||
*/
|
||||
|
||||
virtual class ReadOnlyArray<out T> : ISized {
|
||||
open class ReadOnlyArray<out T> : ISized {
|
||||
[operator] fun get(index : Int) : T
|
||||
}
|
||||
|
||||
virtual class WriteOnlyArray<in T> : ISized { // This is needed to keep IIterator's <T> covariant
|
||||
open class WriteOnlyArray<in T> : ISized { // This is needed to keep IIterator's <T> covariant
|
||||
[operator] fun set(index : Int, value : T)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
virtual class IEquality {
|
||||
open class IEquality {
|
||||
fun equals(other : Any) : Boolean
|
||||
= (this as java.lang.Object).equals(other as java.lang.Object)
|
||||
}
|
||||
|
||||
virtual class IHashable : IEquality {
|
||||
open class IHashable : IEquality {
|
||||
val hashCode : Integer
|
||||
get() = (this as java.lang.Object).hashCode()
|
||||
|
||||
}
|
||||
|
||||
virtual class IMap<K, V> {
|
||||
open class IMap<K, V> {
|
||||
fun get(key : K) : V
|
||||
fun set(key : K, value : V) : V
|
||||
fun remove(key : K) : V
|
||||
@@ -21,7 +21,7 @@ class HashableWrapper wraps (val obj : Any) : IHashable
|
||||
|
||||
[inline] fun Any.hashable() : HashableWrapper = new HashableWrapper(this)
|
||||
|
||||
virtual class IHashingStrategy<K> {
|
||||
open class IHashingStrategy<K> {
|
||||
fun equals(a : K, b : K) : Boolean
|
||||
fun hashCode(a : K) : Integer
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
virtual class IIterable<out T> {
|
||||
open class IIterable<out T> {
|
||||
fun iterator() : IIterator<T>
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IIterator<out T> {
|
||||
open class IIterator<out T> {
|
||||
fun next() : T
|
||||
val hasNext : Boolean
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IList<out T> : IIterable<T>, ISized {
|
||||
open class IList<out T> : IIterable<T>, ISized {
|
||||
[operator] fun get(index : Int) : T
|
||||
val isEmpty : Boolean
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
virtual class IMutableIterable<out T> : IIterable<T> {
|
||||
open class IMutableIterable<out T> : IIterable<T> {
|
||||
fun mutableIterator() : IMutableIterator<T>
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IMutableIterator<out T> : IIterator<T> {
|
||||
open class IMutableIterator<out T> : IIterator<T> {
|
||||
fun remove() : T
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IMutableList<T> : IList<T>, IMutableIterable<T> {
|
||||
open class IMutableList<T> : IList<T>, IMutableIterable<T> {
|
||||
fun set(index : Int, value : T) : T
|
||||
fun add(index : Int, value : T)
|
||||
fun remove(index : Int) : T
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IMutableSet<T> : ISet<T>, IMutableIterable<T> {
|
||||
open class IMutableSet<T> : ISet<T>, IMutableIterable<T> {
|
||||
fun add(item : T) : Boolean
|
||||
fun remove(item : T) : Boolean
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
virtual class ISet<T> : IIterable<T>, ISized {
|
||||
open class ISet<T> : IIterable<T>, ISized {
|
||||
fun contains(item : T) : Boolean
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
virtual class ISized {
|
||||
open class ISized {
|
||||
val size : Int
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
virtual class IAdder<in T> {
|
||||
open class IAdder<in T> {
|
||||
fun add(item : T) : Boolean
|
||||
}
|
||||
|
||||
virtual class ICloseable {
|
||||
open class ICloseable {
|
||||
fun close()
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IMap<in K, out V> {
|
||||
open class IMap<in K, out V> {
|
||||
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IPriorityQueue<T> {
|
||||
open class IPriorityQueue<T> {
|
||||
fun extract() : T
|
||||
fun add(item : T)
|
||||
val isEmpty : Boolean
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
virtual class IComparable<in T> {
|
||||
open class IComparable<in T> {
|
||||
fun compareTo(other : T) : Int
|
||||
}
|
||||
@@ -17,9 +17,9 @@ internal class Example<X, T : Comparable<X>>(protected val x : Foo<X, T>, y : So
|
||||
*/
|
||||
|
||||
class
|
||||
: modifiers "class" SimpleName
|
||||
: modifiers ("class" | "trait") SimpleName
|
||||
typeParameters?
|
||||
("wraps" valueParameters? | modifiers valueParameters?)?
|
||||
modifiers ("(" primaryConstructorParameter{","} ")")?
|
||||
(":" annotations delegationSpecifier{","})?
|
||||
typeConstraints
|
||||
(classBody? | enumClassBody)
|
||||
|
||||
@@ -115,17 +115,15 @@ ref
|
||||
try
|
||||
|
||||
Soft:
|
||||
wraps -- in a class header
|
||||
where -- in class, function and type headers
|
||||
by -- in a class header (Delegation specifier)
|
||||
lazy -- in a property/parameter declaration
|
||||
get, set -- in a property definition
|
||||
import
|
||||
final
|
||||
abstract
|
||||
virtual
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
private
|
||||
public
|
||||
|
||||
@@ -17,7 +17,7 @@ modifier
|
||||
|
||||
classModifier
|
||||
: "abstract"
|
||||
: "virtual"
|
||||
: "final"
|
||||
: "enum"
|
||||
: "open"
|
||||
: "attribute"
|
||||
@@ -25,7 +25,8 @@ classModifier
|
||||
|
||||
memberModifier
|
||||
: "override"
|
||||
: "virtual"
|
||||
: "open"
|
||||
: "final"
|
||||
: "abstract"
|
||||
;
|
||||
|
||||
|
||||
@@ -40,12 +40,12 @@ fun Any?.equals(other : Any?) : Boolean// = this === other
|
||||
// Returns "null" for null
|
||||
fun Any?.toString() : String// = this === other
|
||||
|
||||
trait class Iterator<out T> {
|
||||
trait Iterator<out T> {
|
||||
fun next() : T
|
||||
abstract fun hasNext() : Boolean
|
||||
}
|
||||
|
||||
trait class Iterable<out T> {
|
||||
trait Iterable<out T> {
|
||||
fun iterator() : Iterator<T>
|
||||
}
|
||||
|
||||
@@ -56,11 +56,11 @@ class Array<T>(val size : Int) {
|
||||
fun iterator() : Iterator<T>
|
||||
}
|
||||
|
||||
trait class Comparable<in T> {
|
||||
trait Comparable<in T> {
|
||||
fun compareTo(other : T) : Int
|
||||
}
|
||||
|
||||
trait class Hashable {
|
||||
trait Hashable {
|
||||
fun hashCode() : Int
|
||||
fun equals(other : Any?) : Boolean
|
||||
}
|
||||
@@ -92,7 +92,7 @@ class String() : Comparable<String> {
|
||||
fun trim(): String
|
||||
}
|
||||
|
||||
trait class Range<in T : Comparable<T>> {
|
||||
trait Range<in T : Comparable<T>> {
|
||||
fun contains(item : T) : Boolean
|
||||
}
|
||||
|
||||
|
||||
@@ -34,9 +34,9 @@ public class MutableClassDescriptor extends MutableDeclarationDescriptor impleme
|
||||
private final ClassKind kind;
|
||||
private JetType superclassType;
|
||||
|
||||
public MutableClassDescriptor(@NotNull BindingTrace trace, @NotNull DeclarationDescriptor containingDeclaration, @NotNull JetScope outerScope) {
|
||||
this(trace, containingDeclaration, outerScope, ClassKind.CLASS);
|
||||
}
|
||||
// public MutableClassDescriptor(@NotNull BindingTrace trace, @NotNull DeclarationDescriptor containingDeclaration, @NotNull JetScope outerScope) {
|
||||
// this(trace, containingDeclaration, outerScope, ClassKind.CLASS);
|
||||
// }
|
||||
|
||||
public MutableClassDescriptor(@NotNull BindingTrace trace, @NotNull DeclarationDescriptor containingDeclaration, @NotNull JetScope outerScope, ClassKind kind) {
|
||||
super(containingDeclaration);
|
||||
|
||||
@@ -20,7 +20,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
|
||||
private static final TokenSet TYPE_ARGUMENT_LIST_STOPPERS = TokenSet.create(
|
||||
INTEGER_LITERAL, FLOAT_LITERAL, CHARACTER_LITERAL, OPEN_QUOTE, RAW_STRING_LITERAL,
|
||||
NAMESPACE_KEYWORD, AS_KEYWORD, TYPE_KEYWORD, CLASS_KEYWORD, THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD,
|
||||
NAMESPACE_KEYWORD, AS_KEYWORD, TYPE_KEYWORD, TRAIT_KEYWORD, CLASS_KEYWORD, THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD,
|
||||
FUN_KEYWORD, FOR_KEYWORD, NULL_KEYWORD,
|
||||
TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD, THROW_KEYWORD, RETURN_KEYWORD, BREAK_KEYWORD,
|
||||
CONTINUE_KEYWORD, OBJECT_KEYWORD, IF_KEYWORD, TRY_KEYWORD, ELSE_KEYWORD, WHILE_KEYWORD, DO_KEYWORD,
|
||||
@@ -79,6 +79,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
LBRACKET, // attribute
|
||||
FUN_KEYWORD,
|
||||
VAL_KEYWORD, VAR_KEYWORD,
|
||||
TRAIT_KEYWORD,
|
||||
CLASS_KEYWORD,
|
||||
TYPE_KEYWORD
|
||||
),
|
||||
@@ -1236,7 +1237,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
private JetNodeType parseLocalDeclarationRest(boolean isEnum) {
|
||||
IElementType keywordToken = tt();
|
||||
JetNodeType declType = null;
|
||||
if (keywordToken == CLASS_KEYWORD) {
|
||||
if (keywordToken == CLASS_KEYWORD || keywordToken == TRAIT_KEYWORD) {
|
||||
declType = myJetParsing.parseClass(isEnum);
|
||||
}
|
||||
else if (keywordToken == FUN_KEYWORD) {
|
||||
|
||||
@@ -28,13 +28,13 @@ public class JetParsing extends AbstractJetParsing {
|
||||
}
|
||||
}
|
||||
|
||||
private static final TokenSet TOPLEVEL_OBJECT_FIRST = TokenSet.create(TYPE_KEYWORD, CLASS_KEYWORD,
|
||||
private static final TokenSet TOPLEVEL_OBJECT_FIRST = TokenSet.create(TYPE_KEYWORD, TRAIT_KEYWORD, CLASS_KEYWORD,
|
||||
FUN_KEYWORD, VAL_KEYWORD, NAMESPACE_KEYWORD);
|
||||
private static final TokenSet ENUM_MEMBER_FIRST = TokenSet.create(TYPE_KEYWORD, CLASS_KEYWORD,
|
||||
private static final TokenSet ENUM_MEMBER_FIRST = TokenSet.create(TYPE_KEYWORD, TRAIT_KEYWORD, CLASS_KEYWORD,
|
||||
FUN_KEYWORD, VAL_KEYWORD, IDENTIFIER);
|
||||
|
||||
private static final TokenSet CLASS_NAME_RECOVERY_SET = TokenSet.orSet(TokenSet.create(LT, WRAPS_KEYWORD, LPAR, COLON, LBRACE), TOPLEVEL_OBJECT_FIRST);
|
||||
private static final TokenSet TYPE_PARAMETER_GT_RECOVERY_SET = TokenSet.create(WHERE_KEYWORD, WRAPS_KEYWORD, LPAR, COLON, LBRACE, GT);
|
||||
private static final TokenSet CLASS_NAME_RECOVERY_SET = TokenSet.orSet(TokenSet.create(LT, LPAR, COLON, LBRACE), TOPLEVEL_OBJECT_FIRST);
|
||||
private static final TokenSet TYPE_PARAMETER_GT_RECOVERY_SET = TokenSet.create(WHERE_KEYWORD, LPAR, COLON, LBRACE, GT);
|
||||
private static final TokenSet PARAMETER_NAME_RECOVERY_SET = TokenSet.create(COLON, EQ, COMMA, RPAR);
|
||||
private static final TokenSet NAMESPACE_NAME_RECOVERY_SET = TokenSet.create(DOT, EOL_OR_SEMICOLON);
|
||||
/*package*/ static final TokenSet TYPE_REF_FIRST = TokenSet.create(LBRACKET, IDENTIFIER, FUN_KEYWORD, LPAR, CAPITALIZED_THIS_KEYWORD);
|
||||
@@ -227,7 +227,7 @@ public class JetParsing extends AbstractJetParsing {
|
||||
if (keywordToken == NAMESPACE_KEYWORD) {
|
||||
declType = parseNamespaceBlock();
|
||||
}
|
||||
else if (keywordToken == CLASS_KEYWORD) {
|
||||
else if (keywordToken == CLASS_KEYWORD || keywordToken == TRAIT_KEYWORD) {
|
||||
declType = parseClass(detector.isDetected());
|
||||
}
|
||||
else if (keywordToken == FUN_KEYWORD) {
|
||||
@@ -404,36 +404,28 @@ public class JetParsing extends AbstractJetParsing {
|
||||
|
||||
/*
|
||||
* class
|
||||
* : modifiers "class" SimpleName
|
||||
* : modifiers ("class" | "trait") SimpleName
|
||||
* typeParameters?
|
||||
* (
|
||||
* ("wraps" "(" primaryConstructorParameter{","} ")") |
|
||||
* (modifiers "(" primaryConstructorParameter{","} ")"))?
|
||||
* modifiers ("(" primaryConstructorParameter{","} ")")?
|
||||
* (":" attributes delegationSpecifier{","})?
|
||||
* typeConstraints
|
||||
* (classBody? | enumClassBody)
|
||||
* ;
|
||||
*/
|
||||
public JetNodeType parseClass(boolean enumClass) {
|
||||
assert _at(CLASS_KEYWORD);
|
||||
advance(); // CLASS_KEYWORD
|
||||
assert _atSet(CLASS_KEYWORD, TRAIT_KEYWORD);
|
||||
advance(); // CLASS_KEYWORD or TRAIT_KEYWORD
|
||||
|
||||
expect(IDENTIFIER, "Class name expected", CLASS_NAME_RECOVERY_SET);
|
||||
boolean typeParametersDeclared = parseTypeParameterList(TYPE_PARAMETER_GT_RECOVERY_SET);
|
||||
|
||||
if (at(WRAPS_KEYWORD)) {
|
||||
advance(); // WRAPS_KEYWORD
|
||||
if (parseModifierList(PRIMARY_CONSTRUCTOR_MODIFIER_LIST, false)) {
|
||||
parseValueParameterList(false, TokenSet.create(COLON, LBRACE));
|
||||
}
|
||||
else {
|
||||
if (parseModifierList(PRIMARY_CONSTRUCTOR_MODIFIER_LIST, false)) {
|
||||
if (at(LPAR)) {
|
||||
parseValueParameterList(false, TokenSet.create(COLON, LBRACE));
|
||||
}
|
||||
else {
|
||||
if (at(LPAR)) {
|
||||
parseValueParameterList(false, TokenSet.create(COLON, LBRACE));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (at(COLON)) {
|
||||
@@ -601,8 +593,11 @@ public class JetParsing extends AbstractJetParsing {
|
||||
declType = parseClass(isEnum);
|
||||
}
|
||||
}
|
||||
else if (keywordToken == TRAIT_KEYWORD) {
|
||||
declType = parseClass(isEnum);
|
||||
}
|
||||
else if (keywordToken == FUN_KEYWORD) {
|
||||
declType = parseFunction();
|
||||
declType = parseFunction();
|
||||
}
|
||||
else if (keywordToken == VAL_KEYWORD || keywordToken == VAR_KEYWORD) {
|
||||
declType = parseProperty();
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.intellij.psi.util.PsiTreeUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.JetNodeTypes;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -114,4 +115,8 @@ public class JetClass extends JetTypeParameterListOwner implements JetClassOrObj
|
||||
}
|
||||
return getName();
|
||||
}
|
||||
|
||||
public boolean isTrait() {
|
||||
return findChildByType(JetTokens.TRAIT_KEYWORD) != null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -694,7 +694,7 @@ public class ClassDescriptorResolver {
|
||||
);
|
||||
trace.record(BindingContext.CONSTRUCTOR, declarationToTrace, constructorDescriptor);
|
||||
if (modifierList != null) {
|
||||
modifierList.checkNotContains(trace, JetTokens.ABSTRACT_KEYWORD, JetTokens.VIRTUAL_KEYWORD, JetTokens.OVERRIDE_KEYWORD);
|
||||
modifierList.checkNotContains(trace, JetTokens.ABSTRACT_KEYWORD, JetTokens.OPEN_KEYWORD, JetTokens.OVERRIDE_KEYWORD, JetTokens.FINAL_KEYWORD);
|
||||
}
|
||||
return constructorDescriptor.initialize(
|
||||
typeParameters,
|
||||
|
||||
@@ -167,7 +167,7 @@ public class TopDownAnalyzer {
|
||||
|
||||
@Override
|
||||
public void visitClass(JetClass klass) {
|
||||
MutableClassDescriptor mutableClassDescriptor = new MutableClassDescriptor(trace, owner, outerScope);
|
||||
MutableClassDescriptor mutableClassDescriptor = new MutableClassDescriptor(trace, owner, outerScope, getClassKind(klass));
|
||||
|
||||
if (klass.hasModifier(JetTokens.ENUM_KEYWORD)) {
|
||||
MutableClassDescriptor classObjectDescriptor = new MutableClassDescriptor(trace, mutableClassDescriptor, outerScope, ClassKind.OBJECT);
|
||||
@@ -201,7 +201,7 @@ public class TopDownAnalyzer {
|
||||
classes.put(enumEntry, classDescriptor);
|
||||
}
|
||||
else {
|
||||
MutableClassDescriptor mutableClassDescriptor = new MutableClassDescriptor(trace, classObjectDescriptor, outerScope);
|
||||
MutableClassDescriptor mutableClassDescriptor = new MutableClassDescriptor(trace, classObjectDescriptor, outerScope, ClassKind.CLASS); // TODO : Special kind for enum entry classes?
|
||||
visitClassOrObject(
|
||||
enumEntry,
|
||||
(Map) classes,
|
||||
@@ -267,6 +267,14 @@ public class TopDownAnalyzer {
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private ClassKind getClassKind(@NotNull JetClass jetClass) {
|
||||
if (jetClass.isTrait()) return ClassKind.TRAIT;
|
||||
if (jetClass.hasModifier(JetTokens.ANNOTATION_KEYWORD)) return ClassKind.ANNOTATION_CLASS;
|
||||
if (jetClass.hasModifier(JetTokens.ENUM_KEYWORD)) return ClassKind.ENUM_CLASS;
|
||||
return ClassKind.CLASS;
|
||||
}
|
||||
|
||||
private void processImports(@NotNull JetNamespace namespace, @NotNull WriteThroughScope namespaceScope, @NotNull JetScope outerScope) {
|
||||
List<JetImportDirective> importDirectives = namespace.getImportDirectives();
|
||||
for (JetImportDirective importDirective : importDirectives) {
|
||||
|
||||
@@ -164,6 +164,7 @@ LONG_TEMPLATE_ENTRY_END=\}
|
||||
"while" { return JetTokens.WHILE_KEYWORD ;}
|
||||
"break" { return JetTokens.BREAK_KEYWORD ;}
|
||||
"class" { return JetTokens.CLASS_KEYWORD ;}
|
||||
"trait" { return JetTokens.TRAIT_KEYWORD ;}
|
||||
"throw" { return JetTokens.THROW_KEYWORD ;}
|
||||
"false" { return JetTokens.FALSE_KEYWORD ;}
|
||||
"when" { return JetTokens.WHEN_KEYWORD ;}
|
||||
|
||||
@@ -119,17 +119,15 @@ public interface JetTokens {
|
||||
JetToken COMMA = new JetToken("COMMA");
|
||||
|
||||
JetToken EOL_OR_SEMICOLON = new JetToken("EOL_OR_SEMICOLON");
|
||||
JetKeywordToken WRAPS_KEYWORD = JetKeywordToken.softKeyword("wraps");
|
||||
JetKeywordToken IMPORT_KEYWORD = JetKeywordToken.softKeyword("import");
|
||||
JetKeywordToken WHERE_KEYWORD = JetKeywordToken.softKeyword("where");
|
||||
JetKeywordToken BY_KEYWORD = JetKeywordToken.softKeyword("by");
|
||||
JetKeywordToken GET_KEYWORD = JetKeywordToken.softKeyword("get");
|
||||
JetKeywordToken SET_KEYWORD = JetKeywordToken.softKeyword("set");
|
||||
JetKeywordToken ABSTRACT_KEYWORD = JetKeywordToken.softKeyword("abstract");
|
||||
JetKeywordToken VIRTUAL_KEYWORD = JetKeywordToken.softKeyword("virtual");
|
||||
JetKeywordToken ENUM_KEYWORD = JetKeywordToken.softKeyword("enum");
|
||||
JetKeywordToken OPEN_KEYWORD = JetKeywordToken.softKeyword("open");
|
||||
JetKeywordToken ATTRIBUTE_KEYWORD = JetKeywordToken.softKeyword("attribute");
|
||||
JetKeywordToken ANNOTATION_KEYWORD = JetKeywordToken.softKeyword("annotation");
|
||||
JetKeywordToken OVERRIDE_KEYWORD = JetKeywordToken.softKeyword("override");
|
||||
JetKeywordToken PRIVATE_KEYWORD = JetKeywordToken.softKeyword("private");
|
||||
JetKeywordToken PUBLIC_KEYWORD = JetKeywordToken.softKeyword("public");
|
||||
@@ -144,23 +142,23 @@ public interface JetTokens {
|
||||
// TODO: support this as an annotation on arguments. Then, they it probably can not be a soft keyword
|
||||
JetKeywordToken REF_KEYWORD = JetKeywordToken.softKeyword("ref");
|
||||
|
||||
TokenSet KEYWORDS = TokenSet.create(NAMESPACE_KEYWORD, AS_KEYWORD, TYPE_KEYWORD, CLASS_KEYWORD,
|
||||
TokenSet KEYWORDS = TokenSet.create(NAMESPACE_KEYWORD, AS_KEYWORD, TYPE_KEYWORD, CLASS_KEYWORD, TRAIT_KEYWORD,
|
||||
THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD, FUN_KEYWORD, FOR_KEYWORD,
|
||||
NULL_KEYWORD,
|
||||
TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD,
|
||||
IN_KEYWORD, THROW_KEYWORD, RETURN_KEYWORD, BREAK_KEYWORD, CONTINUE_KEYWORD, OBJECT_KEYWORD, IF_KEYWORD,
|
||||
ELSE_KEYWORD, WHILE_KEYWORD, DO_KEYWORD, TRY_KEYWORD, WHEN_KEYWORD,
|
||||
NOT_IN, NOT_IS, CAPITALIZED_THIS_KEYWORD, AS_SAFE, TRAIT_KEYWORD
|
||||
NOT_IN, NOT_IS, CAPITALIZED_THIS_KEYWORD, AS_SAFE
|
||||
);
|
||||
|
||||
TokenSet SOFT_KEYWORDS = TokenSet.create(WRAPS_KEYWORD, IMPORT_KEYWORD, WHERE_KEYWORD, BY_KEYWORD, GET_KEYWORD,
|
||||
SET_KEYWORD, ABSTRACT_KEYWORD, VIRTUAL_KEYWORD, ENUM_KEYWORD, OPEN_KEYWORD, ATTRIBUTE_KEYWORD,
|
||||
TokenSet SOFT_KEYWORDS = TokenSet.create(IMPORT_KEYWORD, WHERE_KEYWORD, BY_KEYWORD, GET_KEYWORD,
|
||||
SET_KEYWORD, ABSTRACT_KEYWORD, ENUM_KEYWORD, OPEN_KEYWORD, ANNOTATION_KEYWORD,
|
||||
OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD,
|
||||
CATCH_KEYWORD, FINALLY_KEYWORD, REF_KEYWORD, OUT_KEYWORD, FINAL_KEYWORD
|
||||
);
|
||||
|
||||
TokenSet MODIFIER_KEYWORDS = TokenSet.create(ABSTRACT_KEYWORD, VIRTUAL_KEYWORD, ENUM_KEYWORD,
|
||||
OPEN_KEYWORD, ATTRIBUTE_KEYWORD, OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD,
|
||||
TokenSet MODIFIER_KEYWORDS = TokenSet.create(ABSTRACT_KEYWORD, ENUM_KEYWORD,
|
||||
OPEN_KEYWORD, ANNOTATION_KEYWORD, OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD,
|
||||
PROTECTED_KEYWORD, REF_KEYWORD, OUT_KEYWORD, IN_KEYWORD, FINAL_KEYWORD
|
||||
);
|
||||
TokenSet WHITE_SPACE_OR_COMMENT_BIT_SET = TokenSet.create(WHITE_SPACE, BLOCK_COMMENT, EOL_COMMENT, DOC_COMMENT);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* The following code was generated by JFlex 1.4.3 on 7/12/11 9:55 PM */
|
||||
/* The following code was generated by JFlex 1.4.3 on 9/9/11 2:48 PM */
|
||||
|
||||
/* It's an automatically generated code. Do not modify it. */
|
||||
package org.jetbrains.jet.lexer;
|
||||
@@ -14,7 +14,7 @@ import org.jetbrains.jet.lexer.JetTokens;
|
||||
/**
|
||||
* This class is a scanner generated by
|
||||
* <a href="http://www.jflex.de/">JFlex</a> 1.4.3
|
||||
* on 7/12/11 9:55 PM from the specification file
|
||||
* on 9/9/11 2:48 PM from the specification file
|
||||
* <tt>/Users/abreslav/work/jet/idea/src/org/jetbrains/jet/lexer/Jet.flex</tt>
|
||||
*/
|
||||
class _JetLexer implements FlexLexer {
|
||||
@@ -44,70 +44,70 @@ class _JetLexer implements FlexLexer {
|
||||
"\11\0\1\3\1\13\1\0\1\3\23\0\1\3\1\60\1\25\1\77"+
|
||||
"\1\7\1\70\1\65\1\23\1\73\1\74\1\12\1\62\1\76\1\21"+
|
||||
"\1\17\1\11\1\14\11\1\1\67\1\75\1\63\1\57\1\64\1\61"+
|
||||
"\1\10\1\2\1\16\2\2\1\20\1\2\5\4\1\4\3\4\1\22"+
|
||||
"\3\4\1\54\3\4\1\15\2\4\1\71\1\24\1\72\1\0\1\4"+
|
||||
"\1\6\1\31\1\44\1\36\1\56\1\33\1\52\1\4\1\47\1\41"+
|
||||
"\1\45\1\51\1\50\1\32\1\30\1\37\1\35\1\4\1\43\1\34"+
|
||||
"\1\40\1\42\1\55\1\46\1\15\1\53\1\4\1\26\1\66\1\27"+
|
||||
"\54\0\1\4\12\0\1\4\4\0\1\4\5\0\27\4\1\0\37\4"+
|
||||
"\1\0\u013f\4\31\0\162\4\4\0\14\4\16\0\5\4\11\0\1\4"+
|
||||
"\213\0\1\4\13\0\1\4\1\0\3\4\1\0\1\4\1\0\24\4"+
|
||||
"\1\0\54\4\1\0\46\4\1\0\5\4\4\0\202\4\10\0\105\4"+
|
||||
"\1\0\46\4\2\0\2\4\6\0\20\4\41\0\46\4\2\0\1\4"+
|
||||
"\7\0\47\4\110\0\33\4\5\0\3\4\56\0\32\4\5\0\13\4"+
|
||||
"\25\0\12\5\4\0\2\4\1\0\143\4\1\0\1\4\17\0\2\4"+
|
||||
"\7\0\2\4\12\5\3\4\2\0\1\4\20\0\1\4\1\0\36\4"+
|
||||
"\35\0\3\4\60\0\46\4\13\0\1\4\u0152\0\66\4\3\0\1\4"+
|
||||
"\22\0\1\4\7\0\12\4\4\0\12\5\25\0\10\4\2\0\2\4"+
|
||||
"\2\0\26\4\1\0\7\4\1\0\1\4\3\0\4\4\3\0\1\4"+
|
||||
"\36\0\2\4\1\0\3\4\4\0\12\5\2\4\23\0\6\4\4\0"+
|
||||
"\2\4\2\0\26\4\1\0\7\4\1\0\2\4\1\0\2\4\1\0"+
|
||||
"\2\4\37\0\4\4\1\0\1\4\7\0\12\5\2\0\3\4\20\0"+
|
||||
"\11\4\1\0\3\4\1\0\26\4\1\0\7\4\1\0\2\4\1\0"+
|
||||
"\5\4\3\0\1\4\22\0\1\4\17\0\2\4\4\0\12\5\25\0"+
|
||||
"\10\4\2\0\2\4\2\0\26\4\1\0\7\4\1\0\2\4\1\0"+
|
||||
"\5\4\3\0\1\4\36\0\2\4\1\0\3\4\4\0\12\5\1\0"+
|
||||
"\1\4\21\0\1\4\1\0\6\4\3\0\3\4\1\0\4\4\3\0"+
|
||||
"\2\4\1\0\1\4\1\0\2\4\3\0\2\4\3\0\3\4\3\0"+
|
||||
"\10\4\1\0\3\4\55\0\11\5\25\0\10\4\1\0\3\4\1\0"+
|
||||
"\27\4\1\0\12\4\1\0\5\4\46\0\2\4\4\0\12\5\25\0"+
|
||||
"\10\4\1\0\3\4\1\0\27\4\1\0\12\4\1\0\5\4\3\0"+
|
||||
"\1\4\40\0\1\4\1\0\2\4\4\0\12\5\25\0\10\4\1\0"+
|
||||
"\3\4\1\0\27\4\1\0\20\4\46\0\2\4\4\0\12\5\25\0"+
|
||||
"\22\4\3\0\30\4\1\0\11\4\1\0\1\4\2\0\7\4\72\0"+
|
||||
"\60\4\1\0\2\4\14\0\7\4\11\0\12\5\47\0\2\4\1\0"+
|
||||
"\1\4\2\0\2\4\1\0\1\4\2\0\1\4\6\0\4\4\1\0"+
|
||||
"\7\4\1\0\3\4\1\0\1\4\1\0\1\4\2\0\2\4\1\0"+
|
||||
"\4\4\1\0\2\4\11\0\1\4\2\0\5\4\1\0\1\4\11\0"+
|
||||
"\12\5\2\0\2\4\42\0\1\4\37\0\12\5\26\0\10\4\1\0"+
|
||||
"\42\4\35\0\4\4\164\0\42\4\1\0\5\4\1\0\2\4\25\0"+
|
||||
"\12\5\6\0\6\4\112\0\46\4\12\0\51\4\7\0\132\4\5\0"+
|
||||
"\104\4\5\0\122\4\6\0\7\4\1\0\77\4\1\0\1\4\1\0"+
|
||||
"\4\4\2\0\7\4\1\0\1\4\1\0\4\4\2\0\47\4\1\0"+
|
||||
"\1\4\1\0\4\4\2\0\37\4\1\0\1\4\1\0\4\4\2\0"+
|
||||
"\7\4\1\0\1\4\1\0\4\4\2\0\7\4\1\0\7\4\1\0"+
|
||||
"\27\4\1\0\37\4\1\0\1\4\1\0\4\4\2\0\7\4\1\0"+
|
||||
"\47\4\1\0\23\4\16\0\11\5\56\0\125\4\14\0\u026c\4\2\0"+
|
||||
"\10\4\12\0\32\4\5\0\113\4\25\0\15\4\1\0\4\4\16\0"+
|
||||
"\22\4\16\0\22\4\16\0\15\4\1\0\3\4\17\0\64\4\43\0"+
|
||||
"\1\4\4\0\1\4\3\0\12\5\46\0\12\5\6\0\130\4\10\0"+
|
||||
"\51\4\127\0\35\4\51\0\12\5\36\4\2\0\5\4\u038b\0\154\4"+
|
||||
"\224\0\234\4\4\0\132\4\6\0\26\4\2\0\6\4\2\0\46\4"+
|
||||
"\2\0\6\4\2\0\10\4\1\0\1\4\1\0\1\4\1\0\1\4"+
|
||||
"\1\0\37\4\2\0\65\4\1\0\7\4\1\0\1\4\3\0\3\4"+
|
||||
"\1\0\7\4\3\0\4\4\2\0\6\4\4\0\15\4\5\0\3\4"+
|
||||
"\1\0\7\4\164\0\1\4\15\0\1\4\202\0\1\4\4\0\1\4"+
|
||||
"\2\0\12\4\1\0\1\4\3\0\5\4\6\0\1\4\1\0\1\4"+
|
||||
"\1\0\1\4\1\0\4\4\1\0\3\4\1\0\7\4\3\0\3\4"+
|
||||
"\5\0\5\4\u0ebb\0\2\4\52\0\5\4\5\0\2\4\4\0\126\4"+
|
||||
"\6\0\3\4\1\0\132\4\1\0\4\4\5\0\50\4\4\0\136\4"+
|
||||
"\21\0\30\4\70\0\20\4\u0200\0\u19b6\4\112\0\u51a6\4\132\0\u048d\4"+
|
||||
"\u0773\0\u2ba4\4\u215c\0\u012e\4\2\0\73\4\225\0\7\4\14\0\5\4"+
|
||||
"\5\0\1\4\1\0\12\4\1\0\15\4\1\0\5\4\1\0\1\4"+
|
||||
"\1\0\2\4\1\0\2\4\1\0\154\4\41\0\u016b\4\22\0\100\4"+
|
||||
"\2\0\66\4\50\0\14\4\164\0\5\4\1\0\207\4\23\0\12\5"+
|
||||
"\7\0\32\4\6\0\32\4\13\0\131\4\3\0\6\4\2\0\6\4"+
|
||||
"\2\0\6\4\2\0\3\4\43\0";
|
||||
"\1\10\1\2\1\16\2\2\1\20\1\2\11\4\1\22\3\4\1\54"+
|
||||
"\3\4\1\15\2\4\1\71\1\24\1\72\1\0\1\4\1\6\1\31"+
|
||||
"\1\44\1\36\1\56\1\33\1\52\1\4\1\47\1\41\1\45\1\51"+
|
||||
"\1\50\1\32\1\30\1\37\1\35\1\4\1\43\1\34\1\40\1\42"+
|
||||
"\1\55\1\46\1\15\1\53\1\4\1\26\1\66\1\27\54\0\1\4"+
|
||||
"\12\0\1\4\4\0\1\4\5\0\27\4\1\0\37\4\1\0\u013f\4"+
|
||||
"\31\0\162\4\4\0\14\4\16\0\5\4\11\0\1\4\213\0\1\4"+
|
||||
"\13\0\1\4\1\0\3\4\1\0\1\4\1\0\24\4\1\0\54\4"+
|
||||
"\1\0\46\4\1\0\5\4\4\0\202\4\10\0\105\4\1\0\46\4"+
|
||||
"\2\0\2\4\6\0\20\4\41\0\46\4\2\0\1\4\7\0\47\4"+
|
||||
"\110\0\33\4\5\0\3\4\56\0\32\4\5\0\13\4\25\0\12\5"+
|
||||
"\4\0\2\4\1\0\143\4\1\0\1\4\17\0\2\4\7\0\2\4"+
|
||||
"\12\5\3\4\2\0\1\4\20\0\1\4\1\0\36\4\35\0\3\4"+
|
||||
"\60\0\46\4\13\0\1\4\u0152\0\66\4\3\0\1\4\22\0\1\4"+
|
||||
"\7\0\12\4\4\0\12\5\25\0\10\4\2\0\2\4\2\0\26\4"+
|
||||
"\1\0\7\4\1\0\1\4\3\0\4\4\3\0\1\4\36\0\2\4"+
|
||||
"\1\0\3\4\4\0\12\5\2\4\23\0\6\4\4\0\2\4\2\0"+
|
||||
"\26\4\1\0\7\4\1\0\2\4\1\0\2\4\1\0\2\4\37\0"+
|
||||
"\4\4\1\0\1\4\7\0\12\5\2\0\3\4\20\0\11\4\1\0"+
|
||||
"\3\4\1\0\26\4\1\0\7\4\1\0\2\4\1\0\5\4\3\0"+
|
||||
"\1\4\22\0\1\4\17\0\2\4\4\0\12\5\25\0\10\4\2\0"+
|
||||
"\2\4\2\0\26\4\1\0\7\4\1\0\2\4\1\0\5\4\3\0"+
|
||||
"\1\4\36\0\2\4\1\0\3\4\4\0\12\5\1\0\1\4\21\0"+
|
||||
"\1\4\1\0\6\4\3\0\3\4\1\0\4\4\3\0\2\4\1\0"+
|
||||
"\1\4\1\0\2\4\3\0\2\4\3\0\3\4\3\0\10\4\1\0"+
|
||||
"\3\4\55\0\11\5\25\0\10\4\1\0\3\4\1\0\27\4\1\0"+
|
||||
"\12\4\1\0\5\4\46\0\2\4\4\0\12\5\25\0\10\4\1\0"+
|
||||
"\3\4\1\0\27\4\1\0\12\4\1\0\5\4\3\0\1\4\40\0"+
|
||||
"\1\4\1\0\2\4\4\0\12\5\25\0\10\4\1\0\3\4\1\0"+
|
||||
"\27\4\1\0\20\4\46\0\2\4\4\0\12\5\25\0\22\4\3\0"+
|
||||
"\30\4\1\0\11\4\1\0\1\4\2\0\7\4\72\0\60\4\1\0"+
|
||||
"\2\4\14\0\7\4\11\0\12\5\47\0\2\4\1\0\1\4\2\0"+
|
||||
"\2\4\1\0\1\4\2\0\1\4\6\0\4\4\1\0\7\4\1\0"+
|
||||
"\3\4\1\0\1\4\1\0\1\4\2\0\2\4\1\0\4\4\1\0"+
|
||||
"\2\4\11\0\1\4\2\0\5\4\1\0\1\4\11\0\12\5\2\0"+
|
||||
"\2\4\42\0\1\4\37\0\12\5\26\0\10\4\1\0\42\4\35\0"+
|
||||
"\4\4\164\0\42\4\1\0\5\4\1\0\2\4\25\0\12\5\6\0"+
|
||||
"\6\4\112\0\46\4\12\0\51\4\7\0\132\4\5\0\104\4\5\0"+
|
||||
"\122\4\6\0\7\4\1\0\77\4\1\0\1\4\1\0\4\4\2\0"+
|
||||
"\7\4\1\0\1\4\1\0\4\4\2\0\47\4\1\0\1\4\1\0"+
|
||||
"\4\4\2\0\37\4\1\0\1\4\1\0\4\4\2\0\7\4\1\0"+
|
||||
"\1\4\1\0\4\4\2\0\7\4\1\0\7\4\1\0\27\4\1\0"+
|
||||
"\37\4\1\0\1\4\1\0\4\4\2\0\7\4\1\0\47\4\1\0"+
|
||||
"\23\4\16\0\11\5\56\0\125\4\14\0\u026c\4\2\0\10\4\12\0"+
|
||||
"\32\4\5\0\113\4\25\0\15\4\1\0\4\4\16\0\22\4\16\0"+
|
||||
"\22\4\16\0\15\4\1\0\3\4\17\0\64\4\43\0\1\4\4\0"+
|
||||
"\1\4\3\0\12\5\46\0\12\5\6\0\130\4\10\0\51\4\127\0"+
|
||||
"\35\4\51\0\12\5\36\4\2\0\5\4\u038b\0\154\4\224\0\234\4"+
|
||||
"\4\0\132\4\6\0\26\4\2\0\6\4\2\0\46\4\2\0\6\4"+
|
||||
"\2\0\10\4\1\0\1\4\1\0\1\4\1\0\1\4\1\0\37\4"+
|
||||
"\2\0\65\4\1\0\7\4\1\0\1\4\3\0\3\4\1\0\7\4"+
|
||||
"\3\0\4\4\2\0\6\4\4\0\15\4\5\0\3\4\1\0\7\4"+
|
||||
"\164\0\1\4\15\0\1\4\202\0\1\4\4\0\1\4\2\0\12\4"+
|
||||
"\1\0\1\4\3\0\5\4\6\0\1\4\1\0\1\4\1\0\1\4"+
|
||||
"\1\0\4\4\1\0\3\4\1\0\7\4\3\0\3\4\5\0\5\4"+
|
||||
"\u0ebb\0\2\4\52\0\5\4\5\0\2\4\4\0\126\4\6\0\3\4"+
|
||||
"\1\0\132\4\1\0\4\4\5\0\50\4\4\0\136\4\21\0\30\4"+
|
||||
"\70\0\20\4\u0200\0\u19b6\4\112\0\u51a6\4\132\0\u048d\4\u0773\0\u2ba4\4"+
|
||||
"\u215c\0\u012e\4\2\0\73\4\225\0\7\4\14\0\5\4\5\0\1\4"+
|
||||
"\1\0\12\4\1\0\15\4\1\0\5\4\1\0\1\4\1\0\2\4"+
|
||||
"\1\0\2\4\1\0\154\4\41\0\u016b\4\22\0\100\4\2\0\66\4"+
|
||||
"\50\0\14\4\164\0\5\4\1\0\207\4\23\0\12\5\7\0\32\4"+
|
||||
"\6\0\32\4\13\0\131\4\3\0\6\4\2\0\6\4\2\0\6\4"+
|
||||
"\2\0\3\4\43\0";
|
||||
|
||||
/**
|
||||
* Translates characters to character classes
|
||||
@@ -132,16 +132,16 @@ class _JetLexer implements FlexLexer {
|
||||
"\1\0\1\66\1\67\1\70\1\71\1\72\1\73\1\74"+
|
||||
"\1\75\1\76\1\77\1\100\1\0\1\101\1\102\1\0"+
|
||||
"\1\103\1\43\1\3\2\0\1\50\1\104\4\0\1\105"+
|
||||
"\2\3\1\106\5\3\1\107\10\3\1\110\1\111\1\3"+
|
||||
"\2\3\1\106\6\3\1\107\10\3\1\110\1\111\1\3"+
|
||||
"\1\112\1\113\1\114\1\115\1\116\1\117\1\0\1\40"+
|
||||
"\1\44\1\45\1\0\2\104\1\43\2\0\1\3\1\120"+
|
||||
"\1\121\3\3\1\122\1\123\1\3\1\124\2\3\1\125"+
|
||||
"\1\121\4\3\1\122\1\123\1\3\1\124\2\3\1\125"+
|
||||
"\2\3\1\126\1\100\1\50\2\0\2\3\1\127\1\3"+
|
||||
"\1\130\1\3\1\131\1\132\1\133\1\105\2\3\1\134"+
|
||||
"\1\135\3\3\1\136\1\137";
|
||||
"\1\130\1\131\1\3\1\132\1\133\1\134\1\105\2\3"+
|
||||
"\1\135\1\136\3\3\1\137\1\140";
|
||||
|
||||
private static int [] zzUnpackAction() {
|
||||
int [] result = new int[210];
|
||||
int [] result = new int[213];
|
||||
int offset = 0;
|
||||
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -183,19 +183,19 @@ class _JetLexer implements FlexLexer {
|
||||
"\0\u0100\0\u0100\0\u0100\0\u0100\0\u0100\0\u0100\0\u1480\0\u14c0"+
|
||||
"\0\u0100\0\u0100\0\u1500\0\u0100\0\u1540\0\u0100\0\u1580\0\u15c0"+
|
||||
"\0\u1600\0\u1640\0\u1680\0\u16c0\0\u1700\0\u1740\0\u1780\0\u17c0"+
|
||||
"\0\u1800\0\u0100\0\u1840\0\u1880\0\u18c0\0\u1900\0\u1940\0\u0180"+
|
||||
"\0\u1980\0\u19c0\0\u1a00\0\u1a40\0\u1a80\0\u1ac0\0\u1b00\0\u1b40"+
|
||||
"\0\u0180\0\u0180\0\u1b80\0\u0180\0\u0180\0\u0100\0\u0100\0\u0100"+
|
||||
"\0\u0100\0\u1bc0\0\u0100\0\u0100\0\u0100\0\u1c00\0\u1c40\0\u0100"+
|
||||
"\0\u1c80\0\u1540\0\u1cc0\0\u1d00\0\u0180\0\u0180\0\u1d40\0\u1d80"+
|
||||
"\0\u1dc0\0\u0180\0\u0180\0\u1e00\0\u0180\0\u1e40\0\u1e80\0\u0180"+
|
||||
"\0\u1ec0\0\u1f00\0\u0180\0\u0100\0\u0100\0\u1f40\0\u1f80\0\u1fc0"+
|
||||
"\0\u2000\0\u0180\0\u2040\0\u0180\0\u2080\0\u0180\0\u0180\0\u0180"+
|
||||
"\0\u0100\0\u20c0\0\u2100\0\u0180\0\u0180\0\u2140\0\u2180\0\u21c0"+
|
||||
"\0\u0180\0\u0180";
|
||||
"\0\u1800\0\u0100\0\u1840\0\u1880\0\u18c0\0\u1900\0\u1940\0\u1980"+
|
||||
"\0\u0180\0\u19c0\0\u1a00\0\u1a40\0\u1a80\0\u1ac0\0\u1b00\0\u1b40"+
|
||||
"\0\u1b80\0\u0180\0\u0180\0\u1bc0\0\u0180\0\u0180\0\u0100\0\u0100"+
|
||||
"\0\u0100\0\u0100\0\u1c00\0\u0100\0\u0100\0\u0100\0\u1c40\0\u1c80"+
|
||||
"\0\u0100\0\u1cc0\0\u1540\0\u1d00\0\u1d40\0\u0180\0\u0180\0\u1d80"+
|
||||
"\0\u1dc0\0\u1e00\0\u1e40\0\u0180\0\u0180\0\u1e80\0\u0180\0\u1ec0"+
|
||||
"\0\u1f00\0\u0180\0\u1f40\0\u1f80\0\u0180\0\u0100\0\u0100\0\u1fc0"+
|
||||
"\0\u2000\0\u2040\0\u2080\0\u0180\0\u20c0\0\u0180\0\u0180\0\u2100"+
|
||||
"\0\u0180\0\u0180\0\u0180\0\u0100\0\u2140\0\u2180\0\u0180\0\u0180"+
|
||||
"\0\u21c0\0\u2200\0\u2240\0\u0180\0\u0180";
|
||||
|
||||
private static int [] zzUnpackRowMap() {
|
||||
int [] result = new int[210];
|
||||
int [] result = new int[213];
|
||||
int offset = 0;
|
||||
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -315,110 +315,114 @@ class _JetLexer implements FlexLexer {
|
||||
"\5\0\1\7\1\215\25\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\15\7"+
|
||||
"\1\216\11\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\12\7\1\217\10\7"+
|
||||
"\1\220\3\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\11\7\1\221\1\7"+
|
||||
"\1\222\13\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\5\7\1\223\21\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\1\7\1\217\10\7"+
|
||||
"\1\220\10\7\1\221\3\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\11\7"+
|
||||
"\1\222\1\7\1\223\13\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\5\7"+
|
||||
"\1\224\21\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\10\7\1\225\16\7"+
|
||||
"\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+
|
||||
"\1\0\1\7\5\0\10\7\1\224\16\7\22\0\2\7"+
|
||||
"\1\0\1\7\5\0\3\7\1\226\23\7\22\0\2\7"+
|
||||
"\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+
|
||||
"\5\0\3\7\1\225\23\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\3\7"+
|
||||
"\1\226\5\7\1\227\15\7\22\0\2\7\1\0\2\7"+
|
||||
"\5\0\3\7\1\227\5\7\1\230\15\7\22\0\2\7"+
|
||||
"\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+
|
||||
"\5\0\20\7\1\231\6\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\13\7"+
|
||||
"\1\232\13\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\1\233\26\7\22\0"+
|
||||
"\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+
|
||||
"\1\7\5\0\11\7\1\234\15\7\22\0\2\7\1\0"+
|
||||
"\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+
|
||||
"\13\7\1\235\4\7\1\236\6\7\100\0\1\237\50\0"+
|
||||
"\1\240\3\0\1\241\122\0\1\242\21\0\2\167\1\0"+
|
||||
"\2\167\6\0\3\167\1\0\1\167\1\0\1\167\5\0"+
|
||||
"\27\167\23\0\1\243\1\0\1\243\10\0\2\243\1\0"+
|
||||
"\1\243\1\0\1\243\5\0\27\243\22\0\2\173\1\0"+
|
||||
"\2\173\1\244\5\0\3\173\1\0\1\173\1\0\1\173"+
|
||||
"\5\0\27\173\22\0\1\175\12\0\1\175\64\0\2\177"+
|
||||
"\1\0\2\177\1\245\5\0\3\177\1\0\1\177\1\0"+
|
||||
"\1\177\5\0\27\177\22\0\2\200\1\0\2\200\1\246"+
|
||||
"\5\0\3\200\1\0\1\200\1\0\1\200\5\0\27\200"+
|
||||
"\21\0\12\201\1\247\65\201\11\250\1\251\1\202\65\250"+
|
||||
"\1\0\1\114\12\0\1\114\64\0\2\252\11\0\1\252"+
|
||||
"\1\0\1\252\1\174\1\252\10\0\1\252\1\0\1\252"+
|
||||
"\2\0\1\252\5\0\1\252\5\0\1\252\3\0\1\252"+
|
||||
"\22\0\1\175\12\0\1\175\4\0\1\253\40\0\1\253"+
|
||||
"\34\0\1\174\60\0\25\207\1\254\52\207\1\0\2\7"+
|
||||
"\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+
|
||||
"\5\0\3\7\1\255\23\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\20\7"+
|
||||
"\1\230\6\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\13\7\1\231\13\7"+
|
||||
"\1\256\6\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\3\7\1\257\23\7"+
|
||||
"\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+
|
||||
"\1\0\1\7\5\0\1\232\26\7\22\0\2\7\1\0"+
|
||||
"\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+
|
||||
"\11\7\1\233\15\7\22\0\2\7\1\0\2\7\6\0"+
|
||||
"\3\7\1\0\1\7\1\0\1\7\5\0\13\7\1\234"+
|
||||
"\4\7\1\235\6\7\100\0\1\236\50\0\1\237\3\0"+
|
||||
"\1\240\122\0\1\241\21\0\2\167\1\0\2\167\6\0"+
|
||||
"\3\167\1\0\1\167\1\0\1\167\5\0\27\167\23\0"+
|
||||
"\1\242\1\0\1\242\10\0\2\242\1\0\1\242\1\0"+
|
||||
"\1\242\5\0\27\242\22\0\2\173\1\0\2\173\1\243"+
|
||||
"\5\0\3\173\1\0\1\173\1\0\1\173\5\0\27\173"+
|
||||
"\22\0\1\175\12\0\1\175\64\0\2\177\1\0\2\177"+
|
||||
"\1\244\5\0\3\177\1\0\1\177\1\0\1\177\5\0"+
|
||||
"\27\177\22\0\2\200\1\0\2\200\1\245\5\0\3\200"+
|
||||
"\1\0\1\200\1\0\1\200\5\0\27\200\21\0\12\201"+
|
||||
"\1\246\65\201\11\247\1\250\1\202\65\247\1\0\1\114"+
|
||||
"\12\0\1\114\64\0\2\251\11\0\1\251\1\0\1\251"+
|
||||
"\1\174\1\251\10\0\1\251\1\0\1\251\2\0\1\251"+
|
||||
"\5\0\1\251\5\0\1\251\3\0\1\251\22\0\1\175"+
|
||||
"\12\0\1\175\4\0\1\252\40\0\1\252\34\0\1\174"+
|
||||
"\60\0\25\207\1\253\52\207\1\0\2\7\1\0\2\7"+
|
||||
"\1\0\1\7\5\0\10\7\1\260\16\7\22\0\2\7"+
|
||||
"\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+
|
||||
"\5\0\4\7\1\261\22\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\3\7"+
|
||||
"\1\254\23\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\20\7\1\255\6\7"+
|
||||
"\1\262\23\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\11\7\1\263\15\7"+
|
||||
"\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+
|
||||
"\1\0\1\7\5\0\3\7\1\256\23\7\22\0\2\7"+
|
||||
"\1\0\1\7\5\0\3\7\1\264\23\7\22\0\2\7"+
|
||||
"\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+
|
||||
"\5\0\10\7\1\257\16\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\4\7"+
|
||||
"\1\260\22\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\3\7\1\261\23\7"+
|
||||
"\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+
|
||||
"\1\0\1\7\5\0\3\7\1\262\23\7\22\0\2\7"+
|
||||
"\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+
|
||||
"\5\0\4\7\1\263\22\7\22\0\2\7\1\0\2\7"+
|
||||
"\5\0\4\7\1\265\22\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\7\7"+
|
||||
"\1\264\17\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\3\7\1\265\23\7"+
|
||||
"\1\266\17\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\3\7\1\267\23\7"+
|
||||
"\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+
|
||||
"\1\0\1\7\5\0\12\7\1\266\14\7\22\0\2\7"+
|
||||
"\1\0\1\7\5\0\12\7\1\270\14\7\22\0\2\7"+
|
||||
"\1\0\2\7\6\0\3\7\1\0\1\7\1\0\1\7"+
|
||||
"\5\0\1\7\1\267\25\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\1\270"+
|
||||
"\5\0\1\7\1\271\25\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\1\272"+
|
||||
"\26\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+
|
||||
"\1\7\1\0\1\7\5\0\20\7\1\271\6\7\22\0"+
|
||||
"\1\7\1\0\1\7\5\0\20\7\1\273\6\7\22\0"+
|
||||
"\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+
|
||||
"\1\7\5\0\4\7\1\272\22\7\22\0\2\7\1\0"+
|
||||
"\1\7\5\0\4\7\1\274\22\7\22\0\2\7\1\0"+
|
||||
"\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+
|
||||
"\4\7\1\273\22\7\22\0\2\242\1\0\2\242\1\274"+
|
||||
"\5\0\3\242\1\0\1\242\1\0\1\242\5\0\27\242"+
|
||||
"\21\0\11\201\1\275\1\246\65\201\12\247\1\276\65\247"+
|
||||
"\1\0\2\251\11\0\1\251\1\0\1\251\1\0\1\251"+
|
||||
"\1\0\1\205\6\0\1\251\1\0\1\251\1\0\1\205"+
|
||||
"\1\251\5\0\1\251\5\0\1\251\3\0\1\251\21\0"+
|
||||
"\25\207\1\277\52\207\1\0\2\7\1\0\2\7\6\0"+
|
||||
"\3\7\1\0\1\7\1\0\1\7\5\0\4\7\1\300"+
|
||||
"\4\7\1\275\22\7\22\0\2\243\1\0\2\243\1\276"+
|
||||
"\5\0\3\243\1\0\1\243\1\0\1\243\5\0\27\243"+
|
||||
"\21\0\11\201\1\277\1\247\65\201\12\250\1\300\65\250"+
|
||||
"\1\0\2\252\11\0\1\252\1\0\1\252\1\0\1\252"+
|
||||
"\1\0\1\205\6\0\1\252\1\0\1\252\1\0\1\205"+
|
||||
"\1\252\5\0\1\252\5\0\1\252\3\0\1\252\21\0"+
|
||||
"\25\207\1\301\52\207\1\0\2\7\1\0\2\7\6\0"+
|
||||
"\3\7\1\0\1\7\1\0\1\7\5\0\4\7\1\302"+
|
||||
"\22\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+
|
||||
"\1\7\1\0\1\7\5\0\11\7\1\301\15\7\22\0"+
|
||||
"\1\7\1\0\1\7\5\0\11\7\1\303\15\7\22\0"+
|
||||
"\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+
|
||||
"\1\7\5\0\4\7\1\302\22\7\22\0\2\7\1\0"+
|
||||
"\1\7\5\0\4\7\1\304\22\7\22\0\2\7\1\0"+
|
||||
"\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+
|
||||
"\6\7\1\303\20\7\22\0\2\7\1\0\2\7\6\0"+
|
||||
"\3\7\1\0\1\7\1\0\1\7\5\0\16\7\1\304"+
|
||||
"\10\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+
|
||||
"\1\7\1\0\1\7\5\0\13\7\1\305\13\7\22\0"+
|
||||
"\6\7\1\305\20\7\22\0\2\7\1\0\2\7\6\0"+
|
||||
"\3\7\1\0\1\7\1\0\1\7\5\0\10\7\1\306"+
|
||||
"\16\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+
|
||||
"\1\7\1\0\1\7\5\0\16\7\1\307\10\7\22\0"+
|
||||
"\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+
|
||||
"\1\7\5\0\21\7\1\306\5\7\22\0\2\7\1\0"+
|
||||
"\1\7\5\0\13\7\1\310\13\7\22\0\2\7\1\0"+
|
||||
"\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+
|
||||
"\3\7\1\307\23\7\22\0\2\7\1\0\2\7\6\0"+
|
||||
"\3\7\1\0\1\7\1\0\1\7\5\0\3\7\1\310"+
|
||||
"\23\7\21\0\11\247\1\250\1\276\65\247\25\207\1\311"+
|
||||
"\52\207\1\0\2\7\1\0\2\7\6\0\3\7\1\0"+
|
||||
"\1\7\1\0\1\7\5\0\5\7\1\312\21\7\22\0"+
|
||||
"\21\7\1\311\5\7\22\0\2\7\1\0\2\7\6\0"+
|
||||
"\3\7\1\0\1\7\1\0\1\7\5\0\3\7\1\312"+
|
||||
"\23\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+
|
||||
"\1\7\1\0\1\7\5\0\3\7\1\313\23\7\21\0"+
|
||||
"\11\250\1\251\1\300\65\250\25\207\1\314\52\207\1\0"+
|
||||
"\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+
|
||||
"\1\7\5\0\1\313\26\7\22\0\2\7\1\0\2\7"+
|
||||
"\6\0\3\7\1\0\1\7\1\0\1\7\5\0\10\7"+
|
||||
"\1\314\16\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\1\315\26\7\22\0"+
|
||||
"\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+
|
||||
"\1\7\5\0\1\7\1\316\25\7\22\0\2\7\1\0"+
|
||||
"\1\7\5\0\5\7\1\315\21\7\22\0\2\7\1\0"+
|
||||
"\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+
|
||||
"\12\7\1\317\14\7\22\0\2\7\1\0\2\7\6\0"+
|
||||
"\3\7\1\0\1\7\1\0\1\7\5\0\6\7\1\320"+
|
||||
"\20\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+
|
||||
"\1\7\1\0\1\7\5\0\3\7\1\321\23\7\22\0"+
|
||||
"\1\316\26\7\22\0\2\7\1\0\2\7\6\0\3\7"+
|
||||
"\1\0\1\7\1\0\1\7\5\0\10\7\1\317\16\7"+
|
||||
"\22\0\2\7\1\0\2\7\6\0\3\7\1\0\1\7"+
|
||||
"\1\0\1\7\5\0\1\320\26\7\22\0\2\7\1\0"+
|
||||
"\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+
|
||||
"\1\7\1\321\25\7\22\0\2\7\1\0\2\7\6\0"+
|
||||
"\3\7\1\0\1\7\1\0\1\7\5\0\12\7\1\322"+
|
||||
"\14\7\22\0\2\7\1\0\2\7\6\0\3\7\1\0"+
|
||||
"\1\7\1\0\1\7\5\0\6\7\1\323\20\7\22\0"+
|
||||
"\2\7\1\0\2\7\6\0\3\7\1\0\1\7\1\0"+
|
||||
"\1\7\5\0\3\7\1\322\23\7\21\0";
|
||||
"\1\7\5\0\3\7\1\324\23\7\22\0\2\7\1\0"+
|
||||
"\2\7\6\0\3\7\1\0\1\7\1\0\1\7\5\0"+
|
||||
"\3\7\1\325\23\7\21\0";
|
||||
|
||||
private static int [] zzUnpackTrans() {
|
||||
int [] result = new int[8704];
|
||||
int [] result = new int[8832];
|
||||
int offset = 0;
|
||||
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -464,12 +468,12 @@ class _JetLexer implements FlexLexer {
|
||||
"\1\1\1\0\1\1\1\0\1\1\1\0\1\11\2\1"+
|
||||
"\2\11\4\1\5\11\1\1\1\0\27\1\1\11\1\0"+
|
||||
"\1\1\11\11\1\1\1\0\2\11\1\0\1\11\1\1"+
|
||||
"\1\11\2\0\2\1\4\0\3\1\1\11\23\1\4\11"+
|
||||
"\1\0\3\11\1\0\1\1\1\11\1\1\2\0\20\1"+
|
||||
"\2\11\2\0\11\1\1\11\11\1";
|
||||
"\1\11\2\0\2\1\4\0\3\1\1\11\24\1\4\11"+
|
||||
"\1\0\3\11\1\0\1\1\1\11\1\1\2\0\21\1"+
|
||||
"\2\11\2\0\12\1\1\11\11\1";
|
||||
|
||||
private static int [] zzUnpackAttribute() {
|
||||
int [] result = new int[210];
|
||||
int [] result = new int[213];
|
||||
int offset = 0;
|
||||
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
|
||||
return result;
|
||||
@@ -578,7 +582,7 @@ class _JetLexer implements FlexLexer {
|
||||
char [] map = new char[0x10000];
|
||||
int i = 0; /* index in packed string */
|
||||
int j = 0; /* index in unpacked array */
|
||||
while (i < 1330) {
|
||||
while (i < 1326) {
|
||||
int count = packed.charAt(i++);
|
||||
char value = packed.charAt(i++);
|
||||
do map[j++] = value; while (--count > 0);
|
||||
@@ -803,23 +807,23 @@ class _JetLexer implements FlexLexer {
|
||||
case 3:
|
||||
{ return JetTokens.IDENTIFIER;
|
||||
}
|
||||
case 96: break;
|
||||
case 97: break;
|
||||
case 11:
|
||||
{ pushState(STRING); return JetTokens.OPEN_QUOTE;
|
||||
}
|
||||
case 97: break;
|
||||
case 98: break;
|
||||
case 72:
|
||||
{ return JetTokens.FOR_KEYWORD ;
|
||||
}
|
||||
case 98: break;
|
||||
case 93:
|
||||
case 99: break;
|
||||
case 94:
|
||||
{ return JetTokens.RETURN_KEYWORD ;
|
||||
}
|
||||
case 99: break;
|
||||
case 100: break;
|
||||
case 80:
|
||||
{ return JetTokens.NULL_KEYWORD ;
|
||||
}
|
||||
case 100: break;
|
||||
case 101: break;
|
||||
case 34:
|
||||
{ if (lBraceCount == 0) {
|
||||
popState();
|
||||
@@ -828,365 +832,369 @@ class _JetLexer implements FlexLexer {
|
||||
lBraceCount--;
|
||||
return JetTokens.RBRACE;
|
||||
}
|
||||
case 101: break;
|
||||
case 102: break;
|
||||
case 18:
|
||||
{ return JetTokens.LT ;
|
||||
}
|
||||
case 102: break;
|
||||
case 103: break;
|
||||
case 51:
|
||||
{ return JetTokens.DO_KEYWORD ;
|
||||
}
|
||||
case 103: break;
|
||||
case 104: break;
|
||||
case 17:
|
||||
{ return JetTokens.PLUS ;
|
||||
}
|
||||
case 104: break;
|
||||
case 105: break;
|
||||
case 69:
|
||||
{ return JetTokens.RAW_STRING_LITERAL;
|
||||
}
|
||||
case 105: break;
|
||||
case 106: break;
|
||||
case 57:
|
||||
{ return JetTokens.PLUSEQ ;
|
||||
}
|
||||
case 106: break;
|
||||
case 107: break;
|
||||
case 27:
|
||||
{ return JetTokens.COMMA ;
|
||||
}
|
||||
case 107: break;
|
||||
case 108: break;
|
||||
case 19:
|
||||
{ return JetTokens.GT ;
|
||||
}
|
||||
case 108: break;
|
||||
case 109: break;
|
||||
case 4:
|
||||
{ return JetTokens.WHITE_SPACE;
|
||||
}
|
||||
case 109: break;
|
||||
case 110: break;
|
||||
case 25:
|
||||
{ return JetTokens.RPAR ;
|
||||
}
|
||||
case 110: break;
|
||||
case 111: break;
|
||||
case 53:
|
||||
{ return JetTokens.DOUBLE_ARROW;
|
||||
}
|
||||
case 111: break;
|
||||
case 112: break;
|
||||
case 82:
|
||||
{ return JetTokens.TRUE_KEYWORD ;
|
||||
}
|
||||
case 112: break;
|
||||
case 113: break;
|
||||
case 36:
|
||||
{ return JetTokens.FIELD_IDENTIFIER;
|
||||
}
|
||||
case 113: break;
|
||||
case 114: break;
|
||||
case 61:
|
||||
{ return JetTokens.ANDAND ;
|
||||
}
|
||||
case 114: break;
|
||||
case 115: break;
|
||||
case 65:
|
||||
{ pushState(LONG_TEMPLATE_ENTRY); return JetTokens.LONG_TEMPLATE_ENTRY_START;
|
||||
}
|
||||
case 115: break;
|
||||
case 116: break;
|
||||
case 68:
|
||||
{ return JetTokens.DOC_COMMENT;
|
||||
}
|
||||
case 116: break;
|
||||
case 117: break;
|
||||
case 35:
|
||||
{ return JetTokens.FLOAT_LITERAL;
|
||||
}
|
||||
case 117: break;
|
||||
case 118: break;
|
||||
case 39:
|
||||
{ return JetTokens.EOL_COMMENT;
|
||||
}
|
||||
case 118: break;
|
||||
case 119: break;
|
||||
case 85:
|
||||
{ return JetTokens.WHEN_KEYWORD ;
|
||||
}
|
||||
case 119: break;
|
||||
case 120: break;
|
||||
case 20:
|
||||
{ return JetTokens.COLON ;
|
||||
}
|
||||
case 120: break;
|
||||
case 121: break;
|
||||
case 59:
|
||||
{ return JetTokens.LTEQ ;
|
||||
}
|
||||
case 121: break;
|
||||
case 122: break;
|
||||
case 46:
|
||||
{ return JetTokens.ARROW ;
|
||||
}
|
||||
case 122: break;
|
||||
case 123: break;
|
||||
case 32:
|
||||
{ popState(); return JetTokens.IDENTIFIER;
|
||||
}
|
||||
case 123: break;
|
||||
case 124: break;
|
||||
case 22:
|
||||
{ return JetTokens.LBRACKET ;
|
||||
}
|
||||
case 124: break;
|
||||
case 125: break;
|
||||
case 67:
|
||||
{ yypushback(2); return JetTokens.INTEGER_LITERAL;
|
||||
}
|
||||
case 125: break;
|
||||
case 126: break;
|
||||
case 10:
|
||||
{ return JetTokens.CHARACTER_LITERAL;
|
||||
}
|
||||
case 126: break;
|
||||
case 127: break;
|
||||
case 74:
|
||||
{ return JetTokens.VAR_KEYWORD ;
|
||||
}
|
||||
case 127: break;
|
||||
case 128: break;
|
||||
case 60:
|
||||
{ return JetTokens.GTEQ ;
|
||||
}
|
||||
case 128: break;
|
||||
case 129: break;
|
||||
case 2:
|
||||
{ return JetTokens.INTEGER_LITERAL;
|
||||
}
|
||||
case 129: break;
|
||||
case 130: break;
|
||||
case 13:
|
||||
{ return JetTokens.RBRACE ;
|
||||
}
|
||||
case 130: break;
|
||||
case 131: break;
|
||||
case 87:
|
||||
{ return JetTokens.CLASS_KEYWORD ;
|
||||
}
|
||||
case 131: break;
|
||||
case 132: break;
|
||||
case 15:
|
||||
{ return JetTokens.EXCL ;
|
||||
}
|
||||
case 132: break;
|
||||
case 133: break;
|
||||
case 71:
|
||||
{ return JetTokens.TRY_KEYWORD ;
|
||||
}
|
||||
case 133: break;
|
||||
case 134: break;
|
||||
case 54:
|
||||
{ return JetTokens.EXCLEQ ;
|
||||
}
|
||||
case 134: break;
|
||||
case 135: break;
|
||||
case 45:
|
||||
{ return JetTokens.MINUSEQ ;
|
||||
}
|
||||
case 135: break;
|
||||
case 88:
|
||||
case 136: break;
|
||||
case 89:
|
||||
{ return JetTokens.THROW_KEYWORD ;
|
||||
}
|
||||
case 136: break;
|
||||
case 90:
|
||||
case 137: break;
|
||||
case 91:
|
||||
{ return JetTokens.WHILE_KEYWORD ;
|
||||
}
|
||||
case 137: break;
|
||||
case 138: break;
|
||||
case 44:
|
||||
{ return JetTokens.MINUSMINUS;
|
||||
}
|
||||
case 138: break;
|
||||
case 94:
|
||||
case 139: break;
|
||||
case 95:
|
||||
{ return JetTokens.CONTINUE_KEYWORD ;
|
||||
}
|
||||
case 139: break;
|
||||
case 140: break;
|
||||
case 77:
|
||||
{ return JetTokens.NOT_IN;
|
||||
}
|
||||
case 140: break;
|
||||
case 141: break;
|
||||
case 38:
|
||||
{ return JetTokens.ATAT ;
|
||||
}
|
||||
case 141: break;
|
||||
case 142: break;
|
||||
case 6:
|
||||
{ return JetTokens.DIV ;
|
||||
}
|
||||
case 142: break;
|
||||
case 143: break;
|
||||
case 56:
|
||||
{ return JetTokens.ELVIS ;
|
||||
}
|
||||
case 143: break;
|
||||
case 144: break;
|
||||
case 37:
|
||||
{ return JetTokens.LABEL_IDENTIFIER;
|
||||
}
|
||||
case 144: break;
|
||||
case 145: break;
|
||||
case 29:
|
||||
{ return JetTokens.REGULAR_STRING_PART;
|
||||
}
|
||||
case 145: break;
|
||||
case 146: break;
|
||||
case 16:
|
||||
{ return JetTokens.QUEST ;
|
||||
}
|
||||
case 146: break;
|
||||
case 147: break;
|
||||
case 62:
|
||||
{ return JetTokens.OROR ;
|
||||
}
|
||||
case 147: break;
|
||||
case 148: break;
|
||||
case 21:
|
||||
{ return JetTokens.PERC ;
|
||||
}
|
||||
case 148: break;
|
||||
case 149: break;
|
||||
case 79:
|
||||
{ return JetTokens.EXCLEQEQEQ;
|
||||
}
|
||||
case 149: break;
|
||||
case 150: break;
|
||||
case 63:
|
||||
{ return JetTokens.PERCEQ ;
|
||||
}
|
||||
case 150: break;
|
||||
case 151: break;
|
||||
case 43:
|
||||
{ return JetTokens.RANGE ;
|
||||
}
|
||||
case 151: break;
|
||||
case 152: break;
|
||||
case 1:
|
||||
{ return TokenType.BAD_CHARACTER;
|
||||
}
|
||||
case 152: break;
|
||||
case 153: break;
|
||||
case 55:
|
||||
{ return JetTokens.SAFE_ACCESS;
|
||||
}
|
||||
case 153: break;
|
||||
case 95:
|
||||
case 154: break;
|
||||
case 96:
|
||||
{ return JetTokens.NAMESPACE_KEYWORD ;
|
||||
}
|
||||
case 154: break;
|
||||
case 155: break;
|
||||
case 78:
|
||||
{ return JetTokens.NOT_IS;
|
||||
}
|
||||
case 155: break;
|
||||
case 156: break;
|
||||
case 7:
|
||||
{ return JetTokens.MUL ;
|
||||
}
|
||||
case 156: break;
|
||||
case 157: break;
|
||||
case 23:
|
||||
{ return JetTokens.RBRACKET ;
|
||||
}
|
||||
case 157: break;
|
||||
case 158: break;
|
||||
case 58:
|
||||
{ return JetTokens.PLUSPLUS ;
|
||||
}
|
||||
case 158: break;
|
||||
case 159: break;
|
||||
case 83:
|
||||
{ return JetTokens.THIS_KEYWORD ;
|
||||
}
|
||||
case 159: break;
|
||||
case 160: break;
|
||||
case 8:
|
||||
{ return JetTokens.DOT ;
|
||||
}
|
||||
case 160: break;
|
||||
case 161: break;
|
||||
case 26:
|
||||
{ return JetTokens.SEMICOLON ;
|
||||
}
|
||||
case 161: break;
|
||||
case 162: break;
|
||||
case 50:
|
||||
{ return JetTokens.IF_KEYWORD ;
|
||||
}
|
||||
case 162: break;
|
||||
case 163: break;
|
||||
case 66:
|
||||
{ return JetTokens.ESCAPE_SEQUENCE;
|
||||
}
|
||||
case 163: break;
|
||||
case 164: break;
|
||||
case 31:
|
||||
{ popState(); return JetTokens.CLOSING_QUOTE;
|
||||
}
|
||||
case 164: break;
|
||||
case 165: break;
|
||||
case 14:
|
||||
{ return JetTokens.EQ ;
|
||||
}
|
||||
case 165: break;
|
||||
case 166: break;
|
||||
case 5:
|
||||
{ return JetTokens.AT ;
|
||||
}
|
||||
case 166: break;
|
||||
case 167: break;
|
||||
case 70:
|
||||
{ return JetTokens.AS_SAFE;
|
||||
}
|
||||
case 167: break;
|
||||
case 168: break;
|
||||
case 24:
|
||||
{ return JetTokens.LPAR ;
|
||||
}
|
||||
case 168: break;
|
||||
case 169: break;
|
||||
case 9:
|
||||
{ return JetTokens.MINUS ;
|
||||
}
|
||||
case 169: break;
|
||||
case 91:
|
||||
case 170: break;
|
||||
case 92:
|
||||
{ return JetTokens.FALSE_KEYWORD ;
|
||||
}
|
||||
case 170: break;
|
||||
case 171: break;
|
||||
case 84:
|
||||
{ return JetTokens.TYPE_KEYWORD ;
|
||||
}
|
||||
case 171: break;
|
||||
case 172: break;
|
||||
case 73:
|
||||
{ return JetTokens.FUN_KEYWORD ;
|
||||
}
|
||||
case 172: break;
|
||||
case 173: break;
|
||||
case 49:
|
||||
{ return JetTokens.IS_KEYWORD ;
|
||||
}
|
||||
case 173: break;
|
||||
case 174: break;
|
||||
case 30:
|
||||
{ popState(); yypushback(1); return JetTokens.DANGLING_NEWLINE;
|
||||
}
|
||||
case 174: break;
|
||||
case 175: break;
|
||||
case 33:
|
||||
{ lBraceCount++; return JetTokens.LBRACE;
|
||||
}
|
||||
case 175: break;
|
||||
case 176: break;
|
||||
case 41:
|
||||
{ return JetTokens.DIVEQ ;
|
||||
}
|
||||
case 176: break;
|
||||
case 177: break;
|
||||
case 81:
|
||||
{ return JetTokens.ELSE_KEYWORD ;
|
||||
}
|
||||
case 177: break;
|
||||
case 178: break;
|
||||
case 47:
|
||||
{ return JetTokens.AS_KEYWORD ;
|
||||
}
|
||||
case 178: break;
|
||||
case 179: break;
|
||||
case 48:
|
||||
{ return JetTokens.IN_KEYWORD ;
|
||||
}
|
||||
case 179: break;
|
||||
case 180: break;
|
||||
case 52:
|
||||
{ return JetTokens.EQEQ ;
|
||||
}
|
||||
case 180: break;
|
||||
case 181: break;
|
||||
case 76:
|
||||
{ return JetTokens.EQEQEQ ;
|
||||
}
|
||||
case 181: break;
|
||||
case 182: break;
|
||||
case 75:
|
||||
{ return JetTokens.VAL_KEYWORD ;
|
||||
}
|
||||
case 182: break;
|
||||
case 183: break;
|
||||
case 86:
|
||||
{ return JetTokens.CAPITALIZED_THIS_KEYWORD ;
|
||||
}
|
||||
case 183: break;
|
||||
case 184: break;
|
||||
case 42:
|
||||
{ return JetTokens.MULTEQ ;
|
||||
}
|
||||
case 184: break;
|
||||
case 185: break;
|
||||
case 64:
|
||||
{ pushState(SHORT_TEMPLATE_ENTRY);
|
||||
yypushback(yylength() - 1);
|
||||
return JetTokens.SHORT_TEMPLATE_ENTRY_START;
|
||||
}
|
||||
case 185: break;
|
||||
case 186: break;
|
||||
case 12:
|
||||
{ return JetTokens.LBRACE ;
|
||||
}
|
||||
case 186: break;
|
||||
case 92:
|
||||
case 187: break;
|
||||
case 93:
|
||||
{ return JetTokens.OBJECT_KEYWORD ;
|
||||
}
|
||||
case 187: break;
|
||||
case 89:
|
||||
case 188: break;
|
||||
case 90:
|
||||
{ return JetTokens.BREAK_KEYWORD ;
|
||||
}
|
||||
case 188: break;
|
||||
case 189: break;
|
||||
case 40:
|
||||
{ return JetTokens.BLOCK_COMMENT;
|
||||
}
|
||||
case 189: break;
|
||||
case 190: break;
|
||||
case 88:
|
||||
{ return JetTokens.TRAIT_KEYWORD ;
|
||||
}
|
||||
case 191: break;
|
||||
case 28:
|
||||
{ return JetTokens.HASH ;
|
||||
}
|
||||
case 190: break;
|
||||
case 192: break;
|
||||
default:
|
||||
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
|
||||
zzAtEOF = true;
|
||||
|
||||
@@ -54,12 +54,10 @@ public class JetPsiChecker implements Annotator {
|
||||
if (reference instanceof MultiRangeReference) {
|
||||
MultiRangeReference mrr = (MultiRangeReference) reference;
|
||||
for (TextRange range : mrr.getRanges()) {
|
||||
System.out.println("Unresolved1");
|
||||
holder.createErrorAnnotation(range.shiftRight(referenceExpression.getTextOffset()), "Unresolved").setHighlightType(ProblemHighlightType.LIKE_UNKNOWN_SYMBOL);
|
||||
}
|
||||
}
|
||||
else {
|
||||
System.out.println("Unresolved2");
|
||||
holder.createErrorAnnotation(referenceExpression, "Unresolved").setHighlightType(ProblemHighlightType.LIKE_UNKNOWN_SYMBOL);
|
||||
}
|
||||
}
|
||||
@@ -80,8 +78,9 @@ public class JetPsiChecker implements Annotator {
|
||||
PsiElement declarationPsiElement = bindingContext.get(BindingContext.DESCRIPTOR_TO_DECLARATION, redeclaration);
|
||||
if (declarationPsiElement instanceof JetNamedDeclaration) {
|
||||
PsiElement nameIdentifier = ((JetNamedDeclaration) declarationPsiElement).getNameIdentifier();
|
||||
assert nameIdentifier != null : declarationPsiElement.getText() + " has nameIdentifier 'null'";
|
||||
holder.createErrorAnnotation(nameIdentifier, "Redeclaration");
|
||||
if (nameIdentifier != null) {
|
||||
holder.createErrorAnnotation(nameIdentifier, "Redeclaration");
|
||||
}
|
||||
}
|
||||
else if (declarationPsiElement != null) {
|
||||
holder.createErrorAnnotation(declarationPsiElement, "Redeclaration");
|
||||
@@ -100,8 +99,6 @@ public class JetPsiChecker implements Annotator {
|
||||
};
|
||||
|
||||
if (errorReportingEnabled) {
|
||||
System.out.println("Checked: " + bindingContext.getDiagnostics().size());
|
||||
System.out.println(Thread.currentThread().getId());
|
||||
AnalyzingUtils.applyHandler(errorHandler, bindingContext);
|
||||
}
|
||||
|
||||
|
||||
@@ -251,7 +251,7 @@ public class DescriptorRenderer {
|
||||
|
||||
@Override
|
||||
public Void visitClassDescriptor(ClassDescriptor descriptor, StringBuilder builder) {
|
||||
String keyword = descriptor.getKind() == ClassKind.TRAIT ? "trait class" : "class";
|
||||
String keyword = descriptor.getKind() == ClassKind.TRAIT ? "trait" : "class";
|
||||
renderClassDescriptor(descriptor, builder, keyword);
|
||||
return super.visitClassDescriptor(descriptor, builder);
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ abstract class MyAbstractClass() {
|
||||
<error>abstract</error> fun j() {}
|
||||
}
|
||||
|
||||
trait class MyTrait {
|
||||
trait MyTrait {
|
||||
fun f()
|
||||
fun g() {}
|
||||
<warning>abstract</warning> fun h()
|
||||
|
||||
@@ -4,7 +4,7 @@ open class A() {
|
||||
fun foo() : Int = 1
|
||||
}
|
||||
|
||||
trait class B {
|
||||
trait B {
|
||||
fun bar() : Double = 1.0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace toplevelObjectDeclarations {
|
||||
open class Foo(y : Int) {
|
||||
virtual fun foo() : Int = 1
|
||||
open fun foo() : Int = 1
|
||||
}
|
||||
|
||||
class T : <error>Foo</error> {}
|
||||
|
||||
@@ -17,25 +17,25 @@ open class C2 {}
|
||||
|
||||
open class C3 {}
|
||||
|
||||
trait class T1 {}
|
||||
trait T1 {}
|
||||
|
||||
trait class T2<T> {}
|
||||
trait T2<T> {}
|
||||
|
||||
trait class Test<error>()</error> {
|
||||
trait Test<error>()</error> {
|
||||
<error>this</error>(x : Int) {}
|
||||
}
|
||||
|
||||
trait class Test1 : C2<error>()</error> {}
|
||||
trait Test1 : C2<error>()</error> {}
|
||||
|
||||
trait class Test2 : C2 {}
|
||||
trait Test2 : C2 {}
|
||||
|
||||
trait class Test3 : C2, <error>C3</error> {}
|
||||
trait Test3 : C2, <error>C3</error> {}
|
||||
|
||||
trait class Test4 : T1 {}
|
||||
trait Test4 : T1 {}
|
||||
|
||||
trait class Test5 : T1, <error>T1</error> {}
|
||||
trait Test5 : T1, <error>T1</error> {}
|
||||
|
||||
trait class Test6 : <error>C1</error> {}
|
||||
trait Test6 : <error>C1</error> {}
|
||||
|
||||
class CTest1() : OC1() {}
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
open class bar()
|
||||
|
||||
trait open class Foo<error>()</error> : bar<error>()</error>, <error>bar</error>, <error>bar</error> {
|
||||
trait Foo<error>()</error> : bar<error>()</error>, <error>bar</error>, <error>bar</error> {
|
||||
<error>this</error>(x : Int) {}
|
||||
}
|
||||
|
||||
trait open class Foo2 : bar, Foo {
|
||||
trait Foo2 : bar, Foo {
|
||||
}
|
||||
|
||||
open class Foo1() : bar(), <error>bar</error>, Foo, <error>Foo</error><error>()</error> {}
|
||||
|
||||
@@ -4,7 +4,7 @@ fun box() {
|
||||
}
|
||||
|
||||
open class A {
|
||||
virtual fun foo() {}
|
||||
open fun foo() {}
|
||||
}
|
||||
|
||||
open class B : A {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import java.lang.Integer
|
||||
|
||||
open class C {
|
||||
virtual fun f(): Any = "C f"
|
||||
open fun f(): Any = "C f"
|
||||
}
|
||||
|
||||
class D() : C {
|
||||
|
||||
@@ -5,7 +5,7 @@ open class Base() {
|
||||
}
|
||||
|
||||
open class Left() : Base() {}
|
||||
trait class Right : Base {}
|
||||
trait Right : Base {}
|
||||
|
||||
class D() : Left(), Right
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ open class Base() {
|
||||
fun n(n : Int) : Int = n + 1
|
||||
}
|
||||
|
||||
trait class Abstract {}
|
||||
trait Abstract {}
|
||||
|
||||
class Derived1() : Base(), Abstract {}
|
||||
class Derived2() : Abstract, Base() {}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Changed when traits were introduced. May not make sense any more
|
||||
|
||||
open class X(val x : Int) {}
|
||||
trait class Y {
|
||||
trait Y {
|
||||
abstract val y : Int
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ class Point(x : Int, yy : Int) : X(x) , Y {
|
||||
override val y : Int = yy
|
||||
}
|
||||
|
||||
trait class Abstract {}
|
||||
trait Abstract {}
|
||||
|
||||
class P1(x : Int, yy : Y) : Abstract, X(x), Y by yy {}
|
||||
class P2(x : Int, yy : Y) : X(x), Abstract, Y by yy {}
|
||||
|
||||
@@ -10,7 +10,7 @@ open class Base() {
|
||||
}
|
||||
}
|
||||
|
||||
trait class Abstract {}
|
||||
trait Abstract {}
|
||||
|
||||
class Derived1() : Base(), Abstract {}
|
||||
class Derived2() : Abstract, Base() {}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Changed when traits were introduced. May not make sense any more
|
||||
|
||||
trait class Left {}
|
||||
trait Left {}
|
||||
open class Right() {
|
||||
virtual fun f() = 42
|
||||
open fun f() = 42
|
||||
}
|
||||
|
||||
class D() : Left, Right() {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
namespace foo.bar.goo
|
||||
|
||||
abstract
|
||||
virtual
|
||||
open
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
virtual
|
||||
open
|
||||
abstract
|
||||
private
|
||||
protected
|
||||
@@ -19,15 +19,15 @@ in
|
||||
out
|
||||
ref
|
||||
class Bar<abstract
|
||||
virtual
|
||||
open
|
||||
[sdfsdf(1+1) a]
|
||||
[sdfsdf(1+1)]
|
||||
[a() sdfsdf(1+1)]
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
virtual
|
||||
open
|
||||
abstract
|
||||
[sdfsd sdfsd a.b.f.c]
|
||||
private
|
||||
|
||||
@@ -13,17 +13,17 @@ JetFile: Attributes.jet
|
||||
MODIFIER_LIST
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(enum)('enum')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(attribute)('attribute')
|
||||
PsiElement(annotation)('annotation')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(override)('override')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
@@ -163,7 +163,7 @@ JetFile: Attributes.jet
|
||||
MODIFIER_LIST
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
ANNOTATION
|
||||
PsiElement(LBRACKET)('[')
|
||||
@@ -249,11 +249,11 @@ JetFile: Attributes.jet
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(attribute)('attribute')
|
||||
PsiElement(annotation)('annotation')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(override)('override')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
namespace foo.bar.goo
|
||||
|
||||
abstract
|
||||
virtual
|
||||
open
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
virtual
|
||||
open
|
||||
abstract
|
||||
[]
|
||||
private
|
||||
@@ -21,12 +21,12 @@ in
|
||||
out
|
||||
ref
|
||||
class Bar<abstract
|
||||
virtual
|
||||
open
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
virtual
|
||||
open
|
||||
abstract
|
||||
[sdfsd sdfsd a.b.f.c]
|
||||
private
|
||||
|
||||
@@ -13,17 +13,17 @@ JetFile: Attributes_ERR.jet
|
||||
MODIFIER_LIST
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(enum)('enum')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(attribute)('attribute')
|
||||
PsiElement(annotation)('annotation')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(override)('override')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
@@ -199,17 +199,17 @@ JetFile: Attributes_ERR.jet
|
||||
MODIFIER_LIST
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(enum)('enum')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(attribute)('attribute')
|
||||
PsiElement(annotation)('annotation')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(override)('override')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
namespace foo.bar.goo
|
||||
|
||||
abstract
|
||||
virtual
|
||||
open
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
virtual
|
||||
open
|
||||
abstract
|
||||
private
|
||||
protected
|
||||
@@ -16,12 +16,12 @@ in
|
||||
out
|
||||
ref
|
||||
class Bar<abstract
|
||||
virtual
|
||||
open
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
virtual
|
||||
open
|
||||
abstract
|
||||
private
|
||||
protected
|
||||
@@ -31,12 +31,12 @@ ref
|
||||
out
|
||||
ref T> {
|
||||
val abstract
|
||||
val virtual
|
||||
val open
|
||||
val enum
|
||||
val open
|
||||
val attribute
|
||||
val annotation
|
||||
val override
|
||||
val virtual
|
||||
val open
|
||||
val abstract
|
||||
val private
|
||||
val protected
|
||||
|
||||
@@ -13,17 +13,17 @@ JetFile: SimpleModifiers.jet
|
||||
MODIFIER_LIST
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(enum)('enum')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(attribute)('attribute')
|
||||
PsiElement(annotation)('annotation')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(override)('override')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
@@ -50,17 +50,17 @@ JetFile: SimpleModifiers.jet
|
||||
MODIFIER_LIST
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(enum)('enum')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(attribute)('attribute')
|
||||
PsiElement(annotation)('annotation')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(override)('override')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n ')
|
||||
@@ -92,7 +92,7 @@ JetFile: SimpleModifiers.jet
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
@@ -107,7 +107,7 @@ JetFile: SimpleModifiers.jet
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('attribute')
|
||||
PsiElement(IDENTIFIER)('annotation')
|
||||
PsiWhiteSpace('\n ')
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
@@ -117,7 +117,7 @@ JetFile: SimpleModifiers.jet
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
|
||||
@@ -4,12 +4,12 @@ import foo
|
||||
|
||||
public protected private internal
|
||||
abstract
|
||||
virtual
|
||||
open
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
virtual
|
||||
open
|
||||
abstract
|
||||
private
|
||||
protected
|
||||
@@ -18,27 +18,27 @@ internal
|
||||
in
|
||||
out
|
||||
ref
|
||||
class Bar<abstract, abstract enum : T, out virtual,
|
||||
class Bar<abstract, abstract enum : T, out open,
|
||||
public protected private internal abstract
|
||||
virtual
|
||||
open
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
virtual
|
||||
open
|
||||
abstract
|
||||
private
|
||||
protected
|
||||
public
|
||||
internal open
|
||||
> wraps (a : B) : A by b {
|
||||
> (a : B) : A by b {
|
||||
public protected private internal val abstract
|
||||
val virtual
|
||||
val open
|
||||
val enum
|
||||
val open
|
||||
val attribute
|
||||
val annotation
|
||||
val override
|
||||
val virtual
|
||||
val open
|
||||
val abstract
|
||||
val private
|
||||
val protected
|
||||
@@ -61,12 +61,12 @@ ref
|
||||
|
||||
public protected private internal
|
||||
fun abstract () : abstract
|
||||
fun virtual () : virtual
|
||||
fun open () : open
|
||||
fun enum () : enum
|
||||
fun open () : open
|
||||
fun attribute () : attribute
|
||||
fun annotation () : annotation
|
||||
fun override () : override
|
||||
fun virtual () : virtual
|
||||
fun open () : open
|
||||
fun abstract () : abstract
|
||||
fun private () : private
|
||||
fun protected () : protected
|
||||
@@ -86,12 +86,12 @@ ref
|
||||
|
||||
fun test(
|
||||
abstract : t,
|
||||
virtual : t,
|
||||
open : t,
|
||||
enum : t,
|
||||
open : t,
|
||||
attribute : t,
|
||||
annotation : t,
|
||||
override : t,
|
||||
virtual : t,
|
||||
open : t,
|
||||
abstract : t,
|
||||
private : t,
|
||||
protected : t,
|
||||
@@ -109,12 +109,12 @@ ref
|
||||
protected : t,
|
||||
internal : t,
|
||||
public protected private internal abstract
|
||||
virtual
|
||||
open
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
virtual
|
||||
open
|
||||
abstract
|
||||
private
|
||||
protected
|
||||
@@ -128,12 +128,12 @@ ref
|
||||
|
||||
class F(val foo : bar,
|
||||
abstract : t,
|
||||
virtual : t,
|
||||
open : t,
|
||||
enum : t,
|
||||
open : t,
|
||||
attribute : t,
|
||||
annotation : t,
|
||||
override : t,
|
||||
virtual : t,
|
||||
open : t,
|
||||
abstract : t,
|
||||
private : t,
|
||||
protected : t,
|
||||
@@ -151,12 +151,12 @@ class F(val foo : bar,
|
||||
protected : t,
|
||||
internal : t,
|
||||
public protected private internal abstract
|
||||
virtual
|
||||
open
|
||||
enum
|
||||
open
|
||||
attribute
|
||||
annotation
|
||||
override
|
||||
virtual
|
||||
open
|
||||
abstract
|
||||
private
|
||||
protected
|
||||
|
||||
@@ -27,17 +27,17 @@ JetFile: SoftKeywords.jet
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(enum)('enum')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(attribute)('attribute')
|
||||
PsiElement(annotation)('annotation')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(override)('override')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n')
|
||||
@@ -82,7 +82,7 @@ JetFile: SoftKeywords.jet
|
||||
MODIFIER_LIST
|
||||
PsiElement(out)('out')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiElement(COMMA)(',')
|
||||
PsiWhiteSpace('\n ')
|
||||
TYPE_PARAMETER
|
||||
@@ -97,17 +97,17 @@ JetFile: SoftKeywords.jet
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(enum)('enum')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(attribute)('attribute')
|
||||
PsiElement(annotation)('annotation')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(override)('override')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n ')
|
||||
@@ -123,8 +123,6 @@ JetFile: SoftKeywords.jet
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(GT)('>')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(wraps)('wraps')
|
||||
PsiWhiteSpace(' ')
|
||||
VALUE_PARAMETER_LIST
|
||||
PsiElement(LPAR)('(')
|
||||
VALUE_PARAMETER
|
||||
@@ -172,7 +170,7 @@ JetFile: SoftKeywords.jet
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
@@ -187,7 +185,7 @@ JetFile: SoftKeywords.jet
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('attribute')
|
||||
PsiElement(IDENTIFIER)('annotation')
|
||||
PsiWhiteSpace('\n ')
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
@@ -197,7 +195,7 @@ JetFile: SoftKeywords.jet
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
@@ -336,7 +334,7 @@ JetFile: SoftKeywords.jet
|
||||
FUN
|
||||
PsiElement(fun)('fun')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
VALUE_PARAMETER_LIST
|
||||
PsiElement(LPAR)('(')
|
||||
@@ -347,7 +345,7 @@ JetFile: SoftKeywords.jet
|
||||
TYPE_REFERENCE
|
||||
USER_TYPE
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
FUN
|
||||
PsiElement(fun)('fun')
|
||||
@@ -384,7 +382,7 @@ JetFile: SoftKeywords.jet
|
||||
FUN
|
||||
PsiElement(fun)('fun')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('attribute')
|
||||
PsiElement(IDENTIFIER)('annotation')
|
||||
PsiWhiteSpace(' ')
|
||||
VALUE_PARAMETER_LIST
|
||||
PsiElement(LPAR)('(')
|
||||
@@ -395,7 +393,7 @@ JetFile: SoftKeywords.jet
|
||||
TYPE_REFERENCE
|
||||
USER_TYPE
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('attribute')
|
||||
PsiElement(IDENTIFIER)('annotation')
|
||||
PsiWhiteSpace('\n ')
|
||||
FUN
|
||||
PsiElement(fun)('fun')
|
||||
@@ -416,7 +414,7 @@ JetFile: SoftKeywords.jet
|
||||
FUN
|
||||
PsiElement(fun)('fun')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
VALUE_PARAMETER_LIST
|
||||
PsiElement(LPAR)('(')
|
||||
@@ -427,7 +425,7 @@ JetFile: SoftKeywords.jet
|
||||
TYPE_REFERENCE
|
||||
USER_TYPE
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
FUN
|
||||
PsiElement(fun)('fun')
|
||||
@@ -704,7 +702,7 @@ JetFile: SoftKeywords.jet
|
||||
PsiElement(COMMA)(',')
|
||||
PsiWhiteSpace('\n ')
|
||||
VALUE_PARAMETER
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(COLON)(':')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -737,7 +735,7 @@ JetFile: SoftKeywords.jet
|
||||
PsiElement(COMMA)(',')
|
||||
PsiWhiteSpace('\n ')
|
||||
VALUE_PARAMETER
|
||||
PsiElement(IDENTIFIER)('attribute')
|
||||
PsiElement(IDENTIFIER)('annotation')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(COLON)(':')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -759,7 +757,7 @@ JetFile: SoftKeywords.jet
|
||||
PsiElement(COMMA)(',')
|
||||
PsiWhiteSpace('\n ')
|
||||
VALUE_PARAMETER
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(COLON)(':')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -957,17 +955,17 @@ JetFile: SoftKeywords.jet
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(enum)('enum')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(attribute)('attribute')
|
||||
PsiElement(annotation)('annotation')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(override)('override')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n ')
|
||||
@@ -1025,7 +1023,7 @@ JetFile: SoftKeywords.jet
|
||||
PsiElement(COMMA)(',')
|
||||
PsiWhiteSpace('\n ')
|
||||
VALUE_PARAMETER
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(COLON)(':')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -1058,7 +1056,7 @@ JetFile: SoftKeywords.jet
|
||||
PsiElement(COMMA)(',')
|
||||
PsiWhiteSpace('\n ')
|
||||
VALUE_PARAMETER
|
||||
PsiElement(IDENTIFIER)('attribute')
|
||||
PsiElement(IDENTIFIER)('annotation')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(COLON)(':')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -1080,7 +1078,7 @@ JetFile: SoftKeywords.jet
|
||||
PsiElement(COMMA)(',')
|
||||
PsiWhiteSpace('\n ')
|
||||
VALUE_PARAMETER
|
||||
PsiElement(IDENTIFIER)('virtual')
|
||||
PsiElement(IDENTIFIER)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(COLON)(':')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -1278,17 +1276,17 @@ JetFile: SoftKeywords.jet
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(enum)('enum')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(attribute)('attribute')
|
||||
PsiElement(annotation)('annotation')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(override)('override')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(abstract)('abstract')
|
||||
PsiWhiteSpace('\n ')
|
||||
|
||||
@@ -21,7 +21,7 @@ fun countOnes(x : INumber) = if (x == 0) 0 else mostSignificantBit(x) + countOne
|
||||
|
||||
fun Int.matchMask(mask : Int) = this and mask == mask
|
||||
|
||||
virtual class INumber : IComparable<This> {
|
||||
open class INumber : IComparable<This> {
|
||||
val bits : Int
|
||||
[operator] fun plus(other : This) : This
|
||||
[operator] fun shl(bits : Int) : This
|
||||
|
||||
@@ -515,7 +515,7 @@ JetFile: BitArith.jet
|
||||
PsiWhiteSpace('\n\n')
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IPushPop<T> {
|
||||
open class IPushPop<T> {
|
||||
val isEmpty : Boolean
|
||||
fun push(item : T)
|
||||
fun pop() : T
|
||||
|
||||
@@ -2,7 +2,7 @@ JetFile: IPushPop.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
virtual class Builder<E, R> {
|
||||
open class Builder<E, R> {
|
||||
[operator] fun plusAssign(item : E)
|
||||
fun result() : R
|
||||
}
|
||||
|
||||
virtual class Buildable {
|
||||
open class Buildable {
|
||||
fun newBuilder<E, R>() : Builder<E, R>
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ JetFile: PolymorphicClassObjects.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -67,7 +67,7 @@ JetFile: PolymorphicClassObjects.jet
|
||||
PsiWhiteSpace('\n\n')
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
These declarations are "shallow" in the sense that they are not really compiled, only the type-checker uses them
|
||||
*/
|
||||
|
||||
virtual class ReadOnlyArray<out T> : ISized {
|
||||
open class ReadOnlyArray<out T> : ISized {
|
||||
[operator] fun get(index : Int) : T
|
||||
}
|
||||
|
||||
virtual class WriteOnlyArray<in T> : ISized { // This is needed to keep IIterator's <T> covariant
|
||||
open class WriteOnlyArray<in T> : ISized { // This is needed to keep IIterator's <T> covariant
|
||||
[operator] fun set(index : Int, value : T)
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ JetFile: MutableArray.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -69,7 +69,7 @@ JetFile: MutableArray.jet
|
||||
PsiWhiteSpace('\n\n')
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
virtual class IEquality {
|
||||
open class IEquality {
|
||||
fun equals(other : Any) : Boolean
|
||||
= (this as java.lang.Object).equals(other as java.lang.Object)
|
||||
}
|
||||
|
||||
virtual class IHashable : IEquality {
|
||||
open class IHashable : IEquality {
|
||||
val hashCode : Integer
|
||||
get() = (this as java.lang.Object).hashCode()
|
||||
|
||||
}
|
||||
|
||||
virtual class IMap<K, V> {
|
||||
open class IMap<K, V> {
|
||||
fun get(key : K) : V
|
||||
fun set(key : K, value : V) : V
|
||||
fun remove(key : K) : V
|
||||
fun containsKey(key : K) : Boolean
|
||||
}
|
||||
|
||||
class HashableWrapper wraps (val obj : Any) : IHashable
|
||||
class HashableWrapper(val obj : Any) : IHashable
|
||||
// equals and hashCode implementations are inherited
|
||||
|
||||
[inline] fun Any.hashable() : HashableWrapper = HashableWrapper(this)
|
||||
|
||||
virtual class IHashingStrategy<K> {
|
||||
open class IHashingStrategy<K> {
|
||||
fun equals(a : K, b : K) : Boolean
|
||||
fun hashCode(a : K) : Integer
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ JetFile: HashMap.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -95,7 +95,7 @@ JetFile: HashMap.jet
|
||||
PsiWhiteSpace('\n\n')
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -170,7 +170,7 @@ JetFile: HashMap.jet
|
||||
PsiWhiteSpace('\n\n')
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -301,11 +301,8 @@ JetFile: HashMap.jet
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('HashableWrapper')
|
||||
PsiWhiteSpace(' ')
|
||||
TYPE_PARAMETER_LIST
|
||||
<empty list>
|
||||
PsiElement(wraps)('wraps')
|
||||
PsiWhiteSpace(' ')
|
||||
VALUE_PARAMETER_LIST
|
||||
PsiElement(LPAR)('(')
|
||||
VALUE_PARAMETER
|
||||
@@ -378,7 +375,7 @@ JetFile: HashMap.jet
|
||||
PsiWhiteSpace('\n\n')
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
virtual class IIterable<out T> {
|
||||
open class IIterable<out T> {
|
||||
fun iterator() : IIterator<T>
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ JetFile: IIterable.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IIterator<out T> {
|
||||
open class IIterator<out T> {
|
||||
fun next() : T
|
||||
val hasNext : Boolean
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ JetFile: IIterator.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IList<out T> : IIterable<T>, ISized {
|
||||
open class IList<out T> : IIterable<T>, ISized {
|
||||
[operator] fun get(index : Int) : T
|
||||
val isEmpty : Boolean
|
||||
}
|
||||
@@ -2,7 +2,7 @@ JetFile: IList.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
virtual class IMutableIterable<out T> : IIterable<T> {
|
||||
open class IMutableIterable<out T> : IIterable<T> {
|
||||
fun mutableIterator() : IMutableIterator<T>
|
||||
}
|
||||
@@ -2,7 +2,7 @@ JetFile: IMutableIterable.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IMutableIterator<out T> : IIterator<T> {
|
||||
open class IMutableIterator<out T> : IIterator<T> {
|
||||
fun remove() : T
|
||||
|
||||
/*
|
||||
|
||||
@@ -2,7 +2,7 @@ JetFile: IMutableIterator.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IMutableList<T> : IList<T>, IMutableIterable<T> {
|
||||
open class IMutableList<T> : IList<T>, IMutableIterable<T> {
|
||||
fun set(index : Int, value : T) : T
|
||||
fun add(index : Int, value : T)
|
||||
fun remove(index : Int) : T
|
||||
|
||||
@@ -2,7 +2,7 @@ JetFile: IMutableList.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IMutableSet<T> : ISet<T>, IMutableIterable<T> {
|
||||
open class IMutableSet<T> : ISet<T>, IMutableIterable<T> {
|
||||
fun add(item : T) : Boolean
|
||||
fun remove(item : T) : Boolean
|
||||
}
|
||||
@@ -2,7 +2,7 @@ JetFile: IMutableSet.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
virtual class ISet<T> : IIterable<T>, ISized {
|
||||
open class ISet<T> : IIterable<T>, ISized {
|
||||
fun contains(item : T) : Boolean
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ JetFile: ISet.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
virtual class ISized {
|
||||
open class ISized {
|
||||
val size : Int
|
||||
}
|
||||
@@ -2,7 +2,7 @@ JetFile: ISized.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
virtual class IAdder<in T> {
|
||||
open class IAdder<in T> {
|
||||
fun add(item : T) : Boolean
|
||||
}
|
||||
|
||||
virtual class ICloseable {
|
||||
open class ICloseable {
|
||||
fun close()
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ JetFile: IOSamples.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
@@ -47,7 +47,7 @@ JetFile: IOSamples.jet
|
||||
PsiWhiteSpace('\n\n')
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IMap<in K, out V> {
|
||||
open class IMap<in K, out V> {
|
||||
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@ JetFile: IMap.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
virtual class IPriorityQueue<T> {
|
||||
open class IPriorityQueue<T> {
|
||||
fun extract() : T
|
||||
fun add(item : T)
|
||||
val isEmpty : Boolean
|
||||
|
||||
@@ -2,7 +2,7 @@ JetFile: IPriorityQueue.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
class PriorityQueueAsPushPop<T> wraps(wrapped : IPriorityQueue<T>) : IPushPop<T> {
|
||||
class PriorityQueueAsPushPop<T>(wrapped : IPriorityQueue<T>) : IPushPop<T> {
|
||||
override fun pop() = wrapped.extract()
|
||||
override fun push(item : T) = wrapped.add(item)
|
||||
override val isEmpty
|
||||
|
||||
@@ -9,8 +9,6 @@ JetFile: PriorityQueueAsPushPop.jet
|
||||
TYPE_PARAMETER
|
||||
PsiElement(IDENTIFIER)('T')
|
||||
PsiElement(GT)('>')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(wraps)('wraps')
|
||||
VALUE_PARAMETER_LIST
|
||||
PsiElement(LPAR)('(')
|
||||
VALUE_PARAMETER
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
virtual class IComparable<in T> {
|
||||
open class IComparable<in T> {
|
||||
fun compareTo(other : T) : Int
|
||||
}
|
||||
@@ -2,7 +2,7 @@ JetFile: IComparable.jet
|
||||
NAMESPACE
|
||||
CLASS
|
||||
MODIFIER_LIST
|
||||
PsiElement(virtual)('virtual')
|
||||
PsiElement(open)('open')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
@@ -12,11 +12,11 @@ val {foo.bar.() : ()}.foo = foo
|
||||
|
||||
val {foo.bar.() : ()}.foo : bar = foo
|
||||
[a] public get() {}
|
||||
virtual set(a : b) {}
|
||||
open set(a : b) {}
|
||||
|
||||
|
||||
val {foo.bar.() : ()}.foo : bar = foo
|
||||
virtual set(a : b) {}
|
||||
open set(a : b) {}
|
||||
|
||||
|
||||
val {foo.bar.() : ()}.foo : bar = foo
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace toplevelObjectDeclarations {
|
||||
class Foo(y : Int) {
|
||||
~foo()~virtual fun foo() : Int = 1
|
||||
~foo()~open fun foo() : Int = 1
|
||||
}
|
||||
|
||||
object ~A~A : Foo(0) {
|
||||
|
||||
Reference in New Issue
Block a user