Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
4a509d45
K
kotlin
项目概览
硅谷海盗
/
kotlin
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kotlin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4a509d45
编写于
1月 05, 2011
作者:
M
Maxim Shafirov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Class primary constructor parameters
上级
a585c872
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
72 addition
and
8 deletion
+72
-8
idea/src/org/jetbrains/jet/JetNodeTypes.java
idea/src/org/jetbrains/jet/JetNodeTypes.java
+9
-8
idea/src/org/jetbrains/jet/lang/psi/JetClass.java
idea/src/org/jetbrains/jet/lang/psi/JetClass.java
+12
-0
idea/src/org/jetbrains/jet/lang/psi/JetParameter.java
idea/src/org/jetbrains/jet/lang/psi/JetParameter.java
+18
-0
idea/src/org/jetbrains/jet/lang/psi/JetParameterList.java
idea/src/org/jetbrains/jet/lang/psi/JetParameterList.java
+25
-0
idea/src/org/jetbrains/jet/lang/psi/JetVisitor.java
idea/src/org/jetbrains/jet/lang/psi/JetVisitor.java
+8
-0
未找到文件。
idea/src/org/jetbrains/jet/JetNodeTypes.java
浏览文件 @
4a509d45
...
...
@@ -24,20 +24,18 @@ public interface JetNodeTypes {
JetNodeType
CONSTRUCTOR
=
new
JetNodeType
(
"CONSTRUCTOR"
,
JetConstructor
.
class
);
JetNodeType
ENUM_ENTRY
=
new
JetNodeType
(
"ENUM_ENTRY"
,
JetEnumEntry
.
class
);
TokenSet
DECLARATIONS
=
TokenSet
.
create
(
NAMESPACE
,
CLASS
,
PROPERTY
,
FUN
,
EXTENSION
,
TYPEDEF
,
DECOMPOSER
,
CLASS_OBJECT
,
CONSTRUCTOR
,
ENUM_ENTRY
);
JetNodeType
TYPE_PARAMETER_LIST
=
new
JetNodeType
(
"TYPE_PARAMETER_LIST"
,
JetTypeParameterList
.
class
);
JetNodeType
TYPE_PARAMETER
=
new
JetNodeType
(
"TYPE_PARAMETER"
,
JetTypeParameter
.
class
);
JetNodeType
PRIMARY_CONSTRUCTOR_PARAMETERS_LIST
=
new
JetNodeType
(
"PRIMARY_CONSTRUCTOR_PARAMETERS_LIST"
);
JetNodeType
PRIMARY_CONSTRUCTOR_PARAMETER
=
new
JetNodeType
(
"PRIMARY_CONSTRUCTOR_PARAMETER"
);
JetNodeType
DELEGATION_SPECIFIER_LIST
=
new
JetNodeType
(
"DELEGATION_SPECIFIER_LIST"
);
JetNodeType
DELEGATION_SPECIFIER
=
new
JetNodeType
(
"DELEGATION_SPECIFIER"
);
JetNodeType
DELEGATOR_BY
=
new
JetNodeType
(
"DELEGATOR_BY"
);
JetNodeType
DELEGATOR_SUPER_CALL
=
new
JetNodeType
(
"DELEGATOR_SUPER_CALL"
);
JetNodeType
DELEGATOR_SUPER_CLASS
=
new
JetNodeType
(
"DELEGATOR_SUPER_CLASS"
);
JetNodeType
VALUE_PARAMETER_LIST
=
new
JetNodeType
(
"VALUE_PARAMETER_LIST"
);
JetNodeType
VALUE_PARAMETER_LIST
=
new
JetNodeType
(
"VALUE_PARAMETER_LIST"
,
JetParameterList
.
class
);
JetNodeType
VALUE_PARAMETER
=
new
JetNodeType
(
"VALUE_PARAMETER"
,
JetParameter
.
class
);
// TODO: Not sure if we really need separate PSI nodes for the class parameters?
JetNodeType
PRIMARY_CONSTRUCTOR_PARAMETERS_LIST
=
new
JetNodeType
(
"PRIMARY_CONSTRUCTOR_PARAMETERS_LIST"
,
JetParameterList
.
class
);
JetNodeType
PRIMARY_CONSTRUCTOR_PARAMETER
=
new
JetNodeType
(
"PRIMARY_CONSTRUCTOR_PARAMETER"
,
JetParameter
.
class
);
JetNodeType
NAMED_ARGUMENT
=
new
JetNodeType
(
"NAMED_ARGUMENT"
);
JetNodeType
CLASS_BODY
=
new
JetNodeType
(
"CLASS_BODY"
,
JetClassBody
.
class
);
JetNodeType
IMPORT_DIRECTIVE
=
new
JetNodeType
(
"IMPORT_DIRECTIVE"
,
JetImportDirective
.
class
);
...
...
@@ -53,7 +51,6 @@ public interface JetNodeTypes {
JetNodeType
TYPE_REFERENCE
=
new
JetNodeType
(
"TYPE_REFERENCE"
);
JetNodeType
LABELED_TUPLE_ENTRY
=
new
JetNodeType
(
"LABELED_TUPLE_ENTRY"
);
JetNodeType
TUPLE_TYPE
=
new
JetNodeType
(
"TUPLE_TYPE"
);
JetNodeType
VALUE_PARAMETER
=
new
JetNodeType
(
"VALUE_PARAMETER"
);
JetNodeType
FUNCTION_TYPE
=
new
JetNodeType
(
"FUNCTION_TYPE"
);
JetNodeType
DECOMPOSER_PROPERTY_LIST
=
new
JetNodeType
(
"DECOMPOSER_PROPERTY_LIST"
);
// TODO: review
...
...
@@ -113,4 +110,8 @@ public interface JetNodeTypes {
JetNodeType
FIELD_REFERENCE
=
new
JetNodeType
(
"FIELD_REFERENCE"
);
IElementType
NAMESPACE_NAME
=
new
JetNodeType
(
"NAMESPACE_NAME"
);
TokenSet
DECLARATIONS
=
TokenSet
.
create
(
NAMESPACE
,
CLASS
,
PROPERTY
,
FUN
,
EXTENSION
,
TYPEDEF
,
DECOMPOSER
,
CLASS_OBJECT
,
CONSTRUCTOR
,
ENUM_ENTRY
,
VALUE_PARAMETER
);
}
idea/src/org/jetbrains/jet/lang/psi/JetClass.java
浏览文件 @
4a509d45
...
...
@@ -27,4 +27,16 @@ public class JetClass extends JetTypeParameterListOwner {
public
void
accept
(
@NotNull
JetVisitor
visitor
)
{
visitor
.
visitClass
(
this
);
}
@Nullable
public
JetParameterList
getPrimaryConstructorParameterList
()
{
return
(
JetParameterList
)
findChildByType
(
JetNodeTypes
.
VALUE_PARAMETER_LIST
);
}
@NotNull
public
List
<
JetParameter
>
getPrimaryConstructorParameters
()
{
JetParameterList
list
=
getPrimaryConstructorParameterList
();
if
(
list
==
null
)
return
Collections
.
emptyList
();
return
list
.
getParameters
();
}
}
idea/src/org/jetbrains/jet/lang/psi/JetParameter.java
0 → 100644
浏览文件 @
4a509d45
package
org.jetbrains.jet.lang.psi
;
import
com.intellij.lang.ASTNode
;
import
org.jetbrains.annotations.NotNull
;
/**
* @author max
*/
public
class
JetParameter
extends
JetNamedDeclaration
{
public
JetParameter
(
@NotNull
ASTNode
node
)
{
super
(
node
);
}
@Override
public
void
accept
(
JetVisitor
visitor
)
{
visitor
.
visitParameter
(
this
);
}
}
idea/src/org/jetbrains/jet/lang/psi/JetParameterList.java
0 → 100644
浏览文件 @
4a509d45
package
org.jetbrains.jet.lang.psi
;
import
com.intellij.lang.ASTNode
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.jet.JetNodeTypes
;
import
java.util.List
;
/**
* @author max
*/
public
class
JetParameterList
extends
JetElement
{
public
JetParameterList
(
@NotNull
ASTNode
node
)
{
super
(
node
);
}
@Override
public
void
accept
(
JetVisitor
visitor
)
{
visitor
.
visitParameterList
(
this
);
}
public
List
<
JetParameter
>
getParameters
()
{
return
findChildrenByType
(
JetNodeTypes
.
VALUE_PARAMETER
);
}
}
idea/src/org/jetbrains/jet/lang/psi/JetVisitor.java
浏览文件 @
4a509d45
...
...
@@ -89,4 +89,12 @@ public class JetVisitor extends PsiElementVisitor {
public
void
visitEnumEntry
(
JetEnumEntry
enumEntry
)
{
visitClass
(
enumEntry
);
}
public
void
visitParameterList
(
JetParameterList
list
)
{
visitJetElement
(
list
);
}
public
void
visitParameter
(
JetParameter
parameter
)
{
visitDeclaration
(
parameter
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录