Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
3c9c7e6e
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,发现更多精彩内容 >>
提交
3c9c7e6e
编写于
4月 04, 2012
作者:
P
Pavel V. Talanov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Introduce AnalyzeSingleFileUtil.
上级
1eb38baa
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
69 addition
and
32 deletion
+69
-32
idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java
...rains/jet/plugin/libraries/JetSourceNavigationHelper.java
+2
-5
idea/src/org/jetbrains/jet/plugin/parameterInfo/JetFunctionParameterInfoHandler.java
...plugin/parameterInfo/JetFunctionParameterInfoHandler.java
+3
-7
idea/src/org/jetbrains/jet/plugin/project/AnalyzeSingleFileUtil.java
...g/jetbrains/jet/plugin/project/AnalyzeSingleFileUtil.java
+43
-0
idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableMutabilityFix.java
...ains/jet/plugin/quickfix/ChangeVariableMutabilityFix.java
+4
-3
idea/src/org/jetbrains/jet/plugin/quickfix/ImportInsertHelper.java
...org/jetbrains/jet/plugin/quickfix/ImportInsertHelper.java
+4
-2
idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java
idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java
+3
-3
idea/src/org/jetbrains/jet/plugin/refactoring/JetNameSuggester.java
...rg/jetbrains/jet/plugin/refactoring/JetNameSuggester.java
+3
-3
idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java
.../jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java
+3
-3
idea/src/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableHandler.java
...toring/introduceVariable/JetIntroduceVariableHandler.java
+4
-6
未找到文件。
idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java
浏览文件 @
3c9c7e6e
...
...
@@ -32,15 +32,14 @@ import com.intellij.psi.util.PsiTreeUtil;
import
jet.Tuple2
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
org.jetbrains.jet.analyzer.AnalyzerFacadeWithCache
;
import
org.jetbrains.jet.lang.descriptors.*
;
import
org.jetbrains.jet.lang.psi.*
;
import
org.jetbrains.jet.lang.resolve.BindingContext
;
import
org.jetbrains.jet.lang.resolve.FqName
;
import
org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM
;
import
org.jetbrains.jet.lang.resolve.scopes.JetScope
;
import
org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor
;
import
org.jetbrains.jet.lang.types.JetType
;
import
org.jetbrains.jet.plugin.project.AnalyzeSingleFileUtil
;
import
org.jetbrains.jet.resolve.DescriptorRenderer
;
import
org.jetbrains.jet.util.slicedmap.WritableSlice
;
...
...
@@ -67,9 +66,7 @@ public class JetSourceNavigationHelper {
}
final
List
<
JetFile
>
libraryFiles
=
findAllSourceFilesWhichContainIdentifier
(
declaration
);
for
(
JetFile
libraryFile
:
libraryFiles
)
{
BindingContext
bindingContext
=
AnalyzerFacadeForJVM
.
analyzeFileWithCache
(
libraryFile
,
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
)
.
getBindingContext
();
BindingContext
bindingContext
=
AnalyzeSingleFileUtil
.
analyzeSingleFileWithCache
(
libraryFile
).
getBindingContext
();
D
descriptor
=
bindingContext
.
get
(
slice
,
fqName
);
if
(
descriptor
!=
null
)
{
return
new
Tuple2
<
BindingContext
,
D
>(
bindingContext
,
descriptor
);
...
...
idea/src/org/jetbrains/jet/plugin/parameterInfo/JetFunctionParameterInfoHandler.java
浏览文件 @
3c9c7e6e
...
...
@@ -37,6 +37,7 @@ import org.jetbrains.jet.lang.resolve.scopes.JetScope;
import
org.jetbrains.jet.lang.types.JetType
;
import
org.jetbrains.jet.lang.types.checker.JetTypeChecker
;
import
org.jetbrains.jet.lexer.JetTokens
;
import
org.jetbrains.jet.plugin.project.AnalyzeSingleFileUtil
;
import
org.jetbrains.jet.resolve.DescriptorRenderer
;
import
java.awt.*
;
...
...
@@ -196,9 +197,7 @@ public class JetFunctionParameterInfoHandler implements
JetValueArgumentList
argumentList
=
(
JetValueArgumentList
)
parameterOwner
;
if
(
descriptor
instanceof
FunctionDescriptor
)
{
JetFile
file
=
(
JetFile
)
argumentList
.
getContainingFile
();
BindingContext
bindingContext
=
AnalyzerFacadeForJVM
.
analyzeFileWithCache
(
file
,
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
)
.
getBindingContext
();
BindingContext
bindingContext
=
AnalyzeSingleFileUtil
.
getContextForSingleFile
(
file
);
FunctionDescriptor
functionDescriptor
=
(
FunctionDescriptor
)
descriptor
;
StringBuilder
builder
=
new
StringBuilder
();
List
<
ValueParameterDescriptor
>
valueParameters
=
functionDescriptor
.
getValueParameters
();
...
...
@@ -357,10 +356,7 @@ public class JetFunctionParameterInfoHandler implements
else
{
return
null
;
}
BindingContext
bindingContext
=
AnalyzerFacadeForJVM
.
analyzeFileWithCache
(
(
JetFile
)
file
,
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
)
.
getBindingContext
();
BindingContext
bindingContext
=
AnalyzeSingleFileUtil
.
getContextForSingleFile
((
JetFile
)
file
);
JetExpression
calleeExpression
=
callExpression
.
getCalleeExpression
();
if
(
calleeExpression
==
null
)
return
null
;
JetSimpleNameExpression
refExpression
=
null
;
...
...
idea/src/org/jetbrains/jet/plugin/project/AnalyzeSingleFileUtil.java
0 → 100644
浏览文件 @
3c9c7e6e
/*
* Copyright 2010-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jetbrains.jet.plugin.project
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.jet.analyzer.AnalyzeExhaust
;
import
org.jetbrains.jet.analyzer.AnalyzerFacadeWithCache
;
import
org.jetbrains.jet.lang.psi.JetFile
;
import
org.jetbrains.jet.lang.resolve.BindingContext
;
/**
* @author Pavel Talanov
*/
public
final
class
AnalyzeSingleFileUtil
{
private
AnalyzeSingleFileUtil
()
{
}
@NotNull
public
static
AnalyzeExhaust
analyzeSingleFileWithCache
(
@NotNull
JetFile
file
)
{
return
AnalyzerFacadeProvider
.
getAnalyzerFacadeWithCacheForFile
(
file
)
.
analyzeFileWithCache
(
file
,
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
);
}
@NotNull
public
static
BindingContext
getContextForSingleFile
(
@NotNull
JetFile
file
)
{
return
analyzeSingleFileWithCache
(
file
).
getBindingContext
();
}
}
idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVariableMutabilityFix.java
浏览文件 @
3c9c7e6e
...
...
@@ -34,6 +34,9 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
import
org.jetbrains.jet.lang.resolve.BindingContextUtils
;
import
org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM
;
import
org.jetbrains.jet.plugin.JetBundle
;
import
org.jetbrains.jet.plugin.project.AnalyzeSingleFileUtil
;
import
static
org
.
jetbrains
.
jet
.
plugin
.
project
.
AnalyzeSingleFileUtil
.
getContextForSingleFile
;
/**
* @author svtk
...
...
@@ -74,9 +77,7 @@ public class ChangeVariableMutabilityFix implements IntentionAction {
if
(
property
!=
null
)
return
property
;
JetSimpleNameExpression
simpleNameExpression
=
PsiTreeUtil
.
getParentOfType
(
elementAtCaret
,
JetSimpleNameExpression
.
class
);
if
(
simpleNameExpression
!=
null
)
{
BindingContext
bindingContext
=
AnalyzerFacadeForJVM
.
analyzeFileWithCache
(
file
,
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
)
.
getBindingContext
();
BindingContext
bindingContext
=
getContextForSingleFile
(
file
);
VariableDescriptor
descriptor
=
BindingContextUtils
.
extractVariableDescriptorIfAny
(
bindingContext
,
simpleNameExpression
,
true
);
if
(
descriptor
!=
null
)
{
PsiElement
declaration
=
bindingContext
.
get
(
BindingContext
.
DESCRIPTOR_TO_DECLARATION
,
descriptor
);
...
...
idea/src/org/jetbrains/jet/plugin/quickfix/ImportInsertHelper.java
浏览文件 @
3c9c7e6e
...
...
@@ -34,10 +34,13 @@ import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import
org.jetbrains.jet.lang.types.ErrorUtils
;
import
org.jetbrains.jet.lang.types.JetType
;
import
org.jetbrains.jet.plugin.JetPluginUtil
;
import
org.jetbrains.jet.plugin.project.AnalyzeSingleFileUtil
;
import
org.jetbrains.jet.util.QualifiedNamesUtil
;
import
java.util.List
;
import
static
org
.
jetbrains
.
jet
.
plugin
.
project
.
AnalyzeSingleFileUtil
.
getContextForSingleFile
;
/**
* @author svtk
*/
...
...
@@ -55,8 +58,7 @@ public class ImportInsertHelper {
if
(
JetPluginUtil
.
checkTypeIsStandard
(
type
,
file
.
getProject
())
||
ErrorUtils
.
isErrorType
(
type
))
{
return
;
}
BindingContext
bindingContext
=
AnalyzerFacadeForJVM
.
analyzeFileWithCache
(
file
,
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
)
.
getBindingContext
();
BindingContext
bindingContext
=
getContextForSingleFile
(
file
);
PsiElement
element
=
bindingContext
.
get
(
BindingContext
.
DESCRIPTOR_TO_DECLARATION
,
type
.
getMemberScope
().
getContainingDeclaration
());
if
(
element
!=
null
&&
element
.
getContainingFile
()
==
file
)
{
//declaration is in the same file, so no import is needed
return
;
...
...
idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java
浏览文件 @
3c9c7e6e
...
...
@@ -33,6 +33,8 @@ import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
import
org.jetbrains.jet.lang.types.DeferredType
;
import
org.jetbrains.jet.lang.types.JetType
;
import
static
org
.
jetbrains
.
jet
.
plugin
.
project
.
AnalyzeSingleFileUtil
.
getContextForSingleFile
;
/**
* @author svtk
*/
...
...
@@ -57,9 +59,7 @@ public class QuickFixUtil {
public
static
JetType
getDeclarationReturnType
(
JetNamedDeclaration
declaration
)
{
PsiFile
file
=
declaration
.
getContainingFile
();
if
(!(
file
instanceof
JetFile
))
return
null
;
BindingContext
bindingContext
=
AnalyzerFacadeForJVM
.
analyzeFileWithCache
((
JetFile
)
file
,
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
)
.
getBindingContext
();
BindingContext
bindingContext
=
getContextForSingleFile
((
JetFile
)
file
);
DeclarationDescriptor
descriptor
=
bindingContext
.
get
(
BindingContext
.
DECLARATION_TO_DESCRIPTOR
,
declaration
);
if
(!(
descriptor
instanceof
CallableDescriptor
))
return
null
;
JetType
type
=
((
CallableDescriptor
)
descriptor
).
getReturnType
();
...
...
idea/src/org/jetbrains/jet/plugin/refactoring/JetNameSuggester.java
浏览文件 @
3c9c7e6e
...
...
@@ -36,6 +36,8 @@ import java.util.ArrayList;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
static
org
.
jetbrains
.
jet
.
plugin
.
project
.
AnalyzeSingleFileUtil
.
getContextForSingleFile
;
/**
* User: Alefas
* Date: 31.01.12
...
...
@@ -68,9 +70,7 @@ public class JetNameSuggester {
public
static
String
[]
suggestNames
(
JetExpression
expression
,
JetNameValidator
validator
)
{
ArrayList
<
String
>
result
=
new
ArrayList
<
String
>();
BindingContext
bindingContext
=
AnalyzerFacadeForJVM
.
analyzeFileWithCache
((
JetFile
)
expression
.
getContainingFile
(),
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
)
.
getBindingContext
();
BindingContext
bindingContext
=
getContextForSingleFile
((
JetFile
)
expression
.
getContainingFile
());
JetType
jetType
=
bindingContext
.
get
(
BindingContext
.
EXPRESSION_TYPE
,
expression
);
if
(
jetType
!=
null
)
{
addNamesForType
(
result
,
jetType
,
validator
);
...
...
idea/src/org/jetbrains/jet/plugin/refactoring/JetRefactoringUtil.java
浏览文件 @
3c9c7e6e
...
...
@@ -44,6 +44,8 @@ import java.awt.*;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
org
.
jetbrains
.
jet
.
plugin
.
project
.
AnalyzeSingleFileUtil
.
getContextForSingleFile
;
/**
* User: Alefas
* Date: 25.01.12
...
...
@@ -106,9 +108,7 @@ public class JetRefactoringUtil {
}
if
(
addExpression
)
{
JetExpression
expression
=
(
JetExpression
)
element
;
BindingContext
bindingContext
=
AnalyzerFacadeForJVM
.
analyzeFileWithCache
((
JetFile
)
expression
.
getContainingFile
(),
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
)
.
getBindingContext
();
BindingContext
bindingContext
=
getContextForSingleFile
((
JetFile
)
expression
.
getContainingFile
());
JetType
expressionType
=
bindingContext
.
get
(
BindingContext
.
EXPRESSION_TYPE
,
expression
);
if
(
expressionType
==
null
||
!(
expressionType
instanceof
NamespaceType
)
&&
!
JetTypeChecker
.
INSTANCE
.
equalTypes
(
JetStandardLibrary
.
...
...
idea/src/org/jetbrains/jet/plugin/refactoring/introduceVariable/JetIntroduceVariableHandler.java
浏览文件 @
3c9c7e6e
...
...
@@ -48,6 +48,8 @@ import org.jetbrains.jet.plugin.refactoring.*;
import
java.util.*
;
import
static
org
.
jetbrains
.
jet
.
plugin
.
project
.
AnalyzeSingleFileUtil
.
getContextForSingleFile
;
/**
* User: Alefas
* Date: 25.01.12
...
...
@@ -99,9 +101,7 @@ public class JetIntroduceVariableHandler extends JetIntroduceHandlerBase {
return
;
}
}
BindingContext
bindingContext
=
AnalyzerFacadeForJVM
.
analyzeFileWithCache
((
JetFile
)
expression
.
getContainingFile
(),
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
)
.
getBindingContext
();
BindingContext
bindingContext
=
getContextForSingleFile
((
JetFile
)
expression
.
getContainingFile
());
final
JetType
expressionType
=
bindingContext
.
get
(
BindingContext
.
EXPRESSION_TYPE
,
expression
);
//can be null or error type
if
(
expressionType
instanceof
NamespaceType
)
{
showErrorHint
(
project
,
editor
,
JetRefactoringBundle
.
message
(
"cannot.refactor.namespace.expression"
));
...
...
@@ -372,9 +372,7 @@ public class JetIntroduceVariableHandler extends JetIntroduceHandlerBase {
final
ArrayList
<
JetExpression
>
result
=
new
ArrayList
<
JetExpression
>();
final
BindingContext
bindingContext
=
AnalyzerFacadeForJVM
.
analyzeFileWithCache
((
JetFile
)
expression
.
getContainingFile
(),
AnalyzerFacadeWithCache
.
SINGLE_DECLARATION_PROVIDER
)
.
getBindingContext
();
final
BindingContext
bindingContext
=
getContextForSingleFile
((
JetFile
)
expression
.
getContainingFile
());
JetVisitorVoid
visitor
=
new
JetVisitorVoid
()
{
@Override
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录