compared with
Current by Andrey Breslav
on Sep 05, 2012 13:13.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (47)

View Page History




h1. Syntax

  {color:blue}*:*{color} [#modifiers] {color:green}*{{"type"}}*{color} [#SimpleName] {color:blue}*\(*{color}[#typeParameters] [#typeConstraints]{color:blue}*\)*{color}{color:blue}*?*{color} {color:green}*{{"="}}*{color} [#type]
  ;


h2. Classes

*delegationSpecifier*
  {color:blue}*:*{color} [#constructorInvocation] 
  {color:blue}*:*{color} [#userType]
  {color:blue}*:*{color} [#explicitDelegation]
  ;
  ;

{anchor:typeParameters}\[{color:grey}Used by [#enumEntry], [#class], [#property], [#typedef], [#function]{color}\]
*typeParameters*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"<"}}*{color}&nbsp;[#typeParameter]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}&nbsp;{color:green}*{{">"}}*{color}


{anchor:typeConstraints}\[{color:grey}Used by [#enumEntry], [#class], [#property], [#typedef], [#function]{color}\]
*typeConstraints*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:blue}*\(*{color}{color:green}*{{"where"}}*{color}&nbsp;[#typeConstraint]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}{color:blue}*\)*{color}{color:blue}*?*{color}
bq. See [Generic constraints|Generics#Generic constraints]



h3. Class members

&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#classObject]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#object]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#constructor]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#function]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#property]


{{undocumented}}
{anchor:constructor}\[{color:grey}Used by [#memberDeclaration]{color}\]
*constructor*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#modifiers]&nbsp;{color:green}*{{"this"}}*{color}&nbsp;[#valueParameters]&nbsp;{color:blue}*\(*{color}{color:green}*{{":"}}*{color}&nbsp;[#initializer]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}{color:blue}*\)*{color}&nbsp;[#block]{color:blue}*?*{color}
&nbsp;&nbsp;;

{anchor:valueParameters}\[{color:grey}Used by [#enumEntry], [#function], [#constructor]{color}\]
{anchor:valueParameters}\[{color:grey}Used by [#function]{color}\]
*valueParameters*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"("}}*{color}&nbsp;[#functionParameter]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}{color:blue}*?*{color}&nbsp;{color:green}*{{")"}}*{color}&nbsp;
&nbsp;&nbsp;;

{anchor:initializer}\[{color:grey}Used by [#enumEntry], [#constructor]{color}\]
*initializer*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#annotations]&nbsp;{color:green}*{{"this"}}*{color}&nbsp;[#valueArguments]
&nbsp;&nbsp;;

{anchor:block}\[{color:grey}Used by [#catchBlock], [#anonymousInitializer], [#functionBody], [#try], [#finallyBlock], [#constructor]{color}\]
*block*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"\{"}}*{color}&nbsp;[#statements]&nbsp;{color:green}*{{"}"}}*{color}
&nbsp;&nbsp;;

{anchor:variableDeclarationEntry}\[{color:grey}Used by [#for], [#property], [#multipleVariableDeclarations]{color}\]
*variableDeclarationEntry*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#SimpleName]&nbsp;{color:blue}*\(*{color}{color:green}*{{":"}}*{color}&nbsp;[#type]{color:blue}*\)*{color}{color:blue}*?*{color}
&nbsp;&nbsp;;

{anchor:multipleVariableDeclarations}\[{color:grey}Used by [#for], [#property]{color}\]
*multipleVariableDeclarations*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"("}}*{color}&nbsp;[#variableDeclarationEntry]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}&nbsp;{color:green}*{{")"}}*{color}
&nbsp;&nbsp;;

{anchor:property}\[{color:grey}Used by [#memberDeclaration], [#declaration], [#toplevelObject]{color}\]
*property*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#modifiers]&nbsp;{color:blue}*\(*{color}{color:green}*{{"val"}}*{color}&nbsp;{color:blue}*|*{color}&nbsp;{color:green}*{{"var"}}*{color}{color:blue}*\)*{color}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[#typeParameters]{color:blue}*?*{color}&nbsp;{color:blue}*\(*{color}[#type]&nbsp;{color:green}*{{"."}}*{color}&nbsp;{color:blue}*|*{color}&nbsp;[#annotations]{color:blue}*\)*{color}{color:blue}*?*{color}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[#SimpleName]&nbsp;{color:blue}*\(*{color}{color:green}*{{":"}}*{color}&nbsp;[#type]{color:blue}*\)*{color}{color:blue}*?*{color}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{color:blue}*\(*{color}[#multipleVariableDeclarations]&nbsp;{color:blue}*|*{color}&nbsp;[#variableDeclarationEntry]{color:blue}*\)*{color}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[#typeConstraints]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{color:blue}*\(*{color}{color:green}*{{"="}}*{color}&nbsp;[#expression]&nbsp;[#SEMI]{color:blue}*?*{color}{color:blue}*\)*{color}{color:blue}*?*{color}
&nbsp;&nbsp;;


bq. See [Properties and Fields]





h3. Enum classes

{anchor:enumEntry}\[{color:grey}Used by [#enumClassBody]{color}\]
*enumEntry*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#modifiers]&nbsp;[#SimpleName]&nbsp;[#typeParameters]{color:blue}*?*{color}&nbsp;[#valueParameters]{color:blue}*?*{color}&nbsp;{color:blue}*\(*{color}{color:green}*{{":"}}*{color}&nbsp;[#initializer]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}{color:blue}*\)*{color}{color:blue}*?*{color}&nbsp;[#typeConstraints]&nbsp;[#classBody]{color:blue}*?*{color}
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#modifiers]&nbsp;[#SimpleName]&nbsp;{color:blue}*\(*{color}{color:green}*{{":"}}*{color}&nbsp;[#initializer]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}{color:blue}*\)*{color}{color:blue}*?*{color}&nbsp;[#classBody]{color:blue}*?*{color}
&nbsp;&nbsp;;



h2. Types



{anchor:type}\[{color:grey}Used by [#simpleUserType], [#decomposerPattern], [#getter], [#tupleType], [#for], [#atomicExpression], [#property], [#typeArguments], [#typedef], [#function], [#functionLiteral], [#parameter], [#pattern], [#functionType], [#binding], [#typeConstraint]{color}\]
{anchor:type}\[{color:grey}Used by [#isRHS], [#simpleUserType], [#getter], [#tupleType], [#atomicExpression], [#property], [#typeArguments], [#typedef], [#functionLiteral], [#function], [#parameter], [#functionType], [#variableDeclarationEntry], [#typeConstraint]{color}\]
*type*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#annotations]&nbsp;[#typeDescriptor]
&nbsp;&nbsp;;

{anchor:userType}\[{color:grey}Used by [#typeParameter], [#catchBlock], [#typeDescriptor], [#delegationSpecifier], [#constructorInvocation], [#explicitDelegation]{color}\]
*userType*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:blue}*\(*{color}{color:green}*{{"namespace"}}*{color}&nbsp;{color:green}*{{"."}}*{color}{color:blue}*\)*{color}{color:blue}*?*{color}&nbsp;[#simpleUserType]{color:blue}*\{*{color}{color:green}*{{"."}}*{color}{color:blue}*\}*{color}




h2. Control structures

{anchor:for}\[{color:grey}Used by [#loop]{color}\]
*for*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"for"}}*{color}&nbsp;{color:green}*{{"("}}*{color}&nbsp;[#annotations]&nbsp;{color:blue}*\(*{color}{color:green}*{{"val"}}*{color}&nbsp;{color:blue}*|*{color}&nbsp;{color:green}*{{"var"}}*{color}{color:blue}*\)*{color}{color:blue}*?*{color}&nbsp;[#SimpleName]&nbsp;{color:blue}*\(*{color}{color:green}*{{":"}}*{color}&nbsp;[#type]{color:blue}*\)*{color}{color:blue}*?*{color}&nbsp;{color:green}*{{"in"}}*{color}&nbsp;[#expression]&nbsp;{color:green}*{{")"}}*{color}&nbsp;[#expression] &nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"for"}}*{color}&nbsp;{color:green}*{{"("}}*{color}&nbsp;[#annotations]&nbsp;{color:blue}*\(*{color}{color:green}*{{"val"}}*{color}&nbsp;{color:blue}*|*{color}&nbsp;{color:green}*{{"var"}}*{color}{color:blue}*\)*{color}{color:blue}*?*{color}&nbsp;{color:blue}*\(*{color}[#multipleVariableDeclarations]&nbsp;{color:blue}*|*{color}&nbsp;[#variableDeclarationEntry]{color:blue}*\)*{color}&nbsp;{color:green}*{{"in"}}*{color}&nbsp;[#expression]&nbsp;{color:green}*{{")"}}*{color}&nbsp;[#expression]
&nbsp;&nbsp;;

&nbsp;&nbsp;;



h2. Expressions



{anchor:expression}\[{color:grey}Used by [#tupleLiteral], [#for], [#atomicExpression], [#longTemplate], [#whenCondition], [#functionBody], [#doWhile], [#property], [#script], [#explicitDelegation], [#jump], [#while], [#whenEntry], [#arrayAccess], [#statement], [#if], [#when], [#binding], [#valueArguments], [#functionParameter]{color}\]
*expression*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#disjunction]&nbsp;{color:blue}*\(*{color}[#assignmentOperator]&nbsp;[#disjunction]{color:blue}*\)*{color}{color:blue}*\**{color}
&nbsp;&nbsp;;

{anchor:elvisExpression}\[{color:grey}Used by [#namedInfix], [#decomposerPattern]{color}\]
*elvisExpression*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#infixFunctionCall]&nbsp;{color:blue}*\(*{color}{color:green}*{{"?:"}}*{color}&nbsp;[#infixFunctionCall]{color:blue}*\)*{color}{color:blue}*\**{color}
&nbsp;&nbsp;;

{anchor:literalConstant}\[{color:grey}Used by [#atomicExpression], [#constantPattern]{color}\]
*literalConstant*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"true"}}*{color}&nbsp;{color:blue}*|*{color}&nbsp;{color:green}*{{"false"}}*{color}
&nbsp;&nbsp;;


{anchor:isRHS}\[{color:grey}Used by [#namedInfix], [#whenCondition]{color}\]
*isRHS*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#pattern] &nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#type]
&nbsp;&nbsp;;

{anchor:postfixUnaryOperation}\[{color:grey}Used by [#postfixUnaryExpression]{color}\]
*postfixUnaryOperation*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"++"}}*{color}&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"--"}}*{color}&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"\!\!"}}*{color}
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#callSuffix]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#arrayAccess]
&nbsp;&nbsp;;

{anchor:typeArguments}\[{color:grey}Used by [#callSuffix], [#decomposerPattern], [#annotationEntry]{color}\]
*typeArguments*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"<"}}*{color}&nbsp;[#type]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}&nbsp;{color:green}*{{">"}}*{color}
{anchor:valueArguments}\[{color:grey}Used by [#callSuffix], [#annotationEntry], [#initializer]{color}\]
*valueArguments*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"("}}*{color}&nbsp;{color:blue}*\(*{color}[#SimpleName]&nbsp;{color:green}*{{"="}}*{color}{color:blue}*\)*{color}{color:blue}*?*{color}&nbsp;{color:green}*{{"\*"}}*{color}{color:blue}*?*{color}&nbsp;[#expression]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}&nbsp;{color:green}*{{")"}}*{color}
&nbsp;&nbsp;;

{anchor:objectLiteral}\[{color:grey}Used by [#atomicExpression]{color}\]
*objectLiteral*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"object"}}*{color}&nbsp;{color:green}*{{":"}}*{color}&nbsp;[#delegationSpecifier]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}{color:blue}*?*{color}&nbsp;[#classBody]&nbsp;
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"object"}}*{color}&nbsp;{color:blue}*\(*{color}{color:green}*{{":"}}*{color}&nbsp;[#delegationSpecifier]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}{color:blue}*\)*{color}{color:blue}*?*{color}&nbsp;[#classBody]&nbsp;
&nbsp;&nbsp;;





h4. Pattern matching

&nbsp;&nbsp;;


{anchor:whenEntry}\[{color:grey}Used by [#when]{color}\]
*whenEntry*
&nbsp;&nbsp;
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#whenCondition]{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}&nbsp;{color:green}*{{"-=>"}}*{color}&nbsp;[#expression]&nbsp;[#SEMI]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"else"}}*{color}&nbsp;{color:green}*{{"-=>"}}*{color}&nbsp;[#expression]&nbsp;[#SEMI]
&nbsp;&nbsp;;

&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:blue}*\(*{color}{color:green}*{{"is"}}*{color}&nbsp;{color:blue}*|*{color}&nbsp;{color:green}*{{"\!is"}}*{color}{color:blue}*\)*{color}&nbsp;[#isRHS]
&nbsp;&nbsp;;

{anchor:pattern}\[{color:grey}Used by [#isRHS], [#pattern], [#binding], [#tuplePattern]{color}\]
*pattern*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#annotations]&nbsp;[#pattern]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#type]&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#tuplePattern]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#decomposerPattern]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#constantPattern]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#bindingPattern]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"\*"}}*{color}&nbsp;
&nbsp;&nbsp;;

{anchor:decomposerPattern}\[{color:grey}Used by [#pattern]{color}\]
*decomposerPattern*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#type]

&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#elvisExpression]&nbsp;[#typeArguments]{color:blue}*?*{color}&nbsp;[#tuplePattern]
&nbsp;&nbsp;;

{anchor:constantPattern}\[{color:grey}Used by [#pattern]{color}\]
*constantPattern*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#literalConstant]
&nbsp;&nbsp;;

{anchor:tuplePattern}\[{color:grey}Used by [#pattern], [#decomposerPattern]{color}\]
*tuplePattern*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"("}}*{color}&nbsp;{color:blue}*\(*{color}{color:blue}*\(*{color}{color:blue}*\(*{color}[#SimpleName]&nbsp;{color:green}*{{"="}}*{color}{color:blue}*\)*{color}{color:blue}*?*{color}&nbsp;[#pattern]{color:blue}*\)*{color}{color:blue}*\{*{color}{color:green}*{{","}}*{color}{color:blue}*\}*{color}{color:blue}*\)*{color}{color:blue}*?*{color}&nbsp;{color:green}*{{")"}}*{color}
&nbsp;&nbsp;;

{anchor:bindingPattern}\[{color:grey}Used by [#pattern]{color}\]
*bindingPattern*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"val"}}*{color}&nbsp;[#SimpleName]&nbsp;[#binding]{color:blue}*?*{color}
&nbsp;&nbsp;;

{anchor:binding}\[{color:grey}Used by [#bindingPattern]{color}\]
*binding*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"is"}}*{color}&nbsp;[#pattern]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"\!is"}}*{color}&nbsp;[#pattern]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"in"}}*{color}&nbsp;[#expression]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"\!in"}}*{color}&nbsp;[#expression]
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{":"}}*{color}&nbsp;[#type]
&nbsp;&nbsp;;


h2. Modifiers


{anchor:modifiers}\[{color:grey}Used by [#typeParameter], [#getter], [#packageHeader], [#class], [#property], [#typedef], [#functionLiteral], [#function], [#functionLiteral], [#functionType], [#when], [#setter], [#enumEntry], [#classObject], [#functionParameter], [#constructor]{color}\]
*modifiers*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#modifier]{color:blue}*\**{color}
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{"ref"}}*{color}
&nbsp;&nbsp;;


h2. Annotations


{anchor:annotations}\[{color:grey}Used by [#modifier], [#catchBlock], [#pattern], [#prefixUnaryOperation], [#for], [#class], [#property], [#type], [#typeConstraint], [#function], [#initializer]{color}\]
*annotations*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#annotation]{color:blue}*\**{color}
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;[#SimpleName]{color:blue}*\{*{color}{color:green}*{{"."}}*{color}{color:blue}*\}*{color}&nbsp;[#typeArguments]{color:blue}*?*{color}&nbsp;[#valueArguments]{color:blue}*?*{color}
&nbsp;&nbsp;;


h1. Lexical structure



{anchor:SimpleName}\[{color:grey}Used by [#typeParameter], [#for], [#LabelName], [#package], [#packageHeader], [#object], [#function], [#parameter], [#FieldName], [#bindingPattern], [#when], [#setter], [#import], [#valueArguments], [#tupleLiteral], [#catchBlock], [#simpleUserType], [#atomicExpression], [#class], [#property], [#tuplePattern], [#typedef], [#annotationEntry], [#infixFunctionCall], [#functionLiteral], [#enumEntry], [#stringTemplateElement], [#typeConstraint]{color}\]
{anchor:SimpleName}\[{color:grey}Used by [#typeParameter], [#package], [#LabelName], [#packageHeader], [#object], [#function], [#parameter], [#FieldName], [#when], [#variableDeclarationEntry], [#setter], [#import], [#valueArguments], [#tupleLiteral], [#catchBlock], [#simpleUserType], [#atomicExpression], [#class], [#typedef], [#infixFunctionCall], [#functionLiteral], [#annotationEntry], [#enumEntry], [#stringTemplateElement], [#typeConstraint]{color}\]
*SimpleName*
&nbsp;&nbsp;{color:blue}*:*{color}&nbsp;{color:green}*{{<java identifier>}}*{color}