From 14dbaa8b9426ca201c9c595735f361a717d6083e Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Fri, 14 Dec 2012 23:57:49 +0100 Subject: [PATCH 1/6] logging compiler options --- .../src/org/jetbrains/jps/incremental/java/JavaBuilder.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java index aa6202ce1b05..8e6d5ff6777b 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java @@ -337,6 +337,9 @@ public class JavaBuilder extends ModuleLevelBuilder { final Map> outs = buildOutputDirectoriesMap(context, chunk); final List options = getCompilationOptions(context, chunk, profile); final ClassProcessingConsumer classesConsumer = new ClassProcessingConsumer(context, outputSink); + if (LOG.isDebugEnabled()) { + LOG.debug("Compiling chunk '" + chunk.getName() + "' with options: " + options); + } try { final boolean rc; if (USE_EMBEDDED_JAVAC) { From 7db5dab639db9feb798f9c67e627650ff7cc4d87 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Sat, 15 Dec 2012 01:13:53 +0100 Subject: [PATCH 2/6] debug logging --- .../src/org/jetbrains/jps/incremental/java/JavaBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java index 8e6d5ff6777b..7c1f381534ba 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java @@ -338,7 +338,7 @@ public class JavaBuilder extends ModuleLevelBuilder { final List options = getCompilationOptions(context, chunk, profile); final ClassProcessingConsumer classesConsumer = new ClassProcessingConsumer(context, outputSink); if (LOG.isDebugEnabled()) { - LOG.debug("Compiling chunk '" + chunk.getName() + "' with options: " + options); + LOG.debug("Compiling chunk [" + chunk.getName() + "] with options: \"" + StringUtil.join(options, " ") + "\""); } try { final boolean rc; From fa5e37690177e999c1ddc89b2455984e420deff6 Mon Sep 17 00:00:00 2001 From: Alexey Gopachenko Date: Sat, 15 Dec 2012 00:16:50 +0100 Subject: [PATCH 3/6] higher threshold for reporting slow filters --- .../src/com/intellij/execution/filters/CompositeFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/lang-api/src/com/intellij/execution/filters/CompositeFilter.java b/platform/lang-api/src/com/intellij/execution/filters/CompositeFilter.java index 2b651b68c911..47be6c1a5ece 100644 --- a/platform/lang-api/src/com/intellij/execution/filters/CompositeFilter.java +++ b/platform/lang-api/src/com/intellij/execution/filters/CompositeFilter.java @@ -56,7 +56,7 @@ public class CompositeFilter implements Filter, FilterMixin { Result result = filter.applyFilter(line, entireLength); finalResult = merge(finalResult, result); t0 = System.currentTimeMillis() - t0; - if (t0 > 100) { + if (t0 > 1000) { LOG.warn(filter.getClass().getSimpleName() + ".applyFilter() took " + t0 + " ms on '''" + line + "'''"); } if (finalResult != null && finalResult.getNextAction() == NextAction.EXIT) { From 538e315c1f1ffdf5222e6a0fbb35c703dba0b1d3 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Sun, 16 Dec 2012 23:23:42 +0400 Subject: [PATCH 4/6] IDEA-97587 Spread operator should be assumed to return a List when the invoked property or method is unresolved --- .../GrReferenceExpressionImpl.java | 66 ++++++++++++++----- .../lang/resolve/TypeInferenceTest.groovy | 9 ++- 2 files changed, 57 insertions(+), 18 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java index fb54d94edf8c..7660417a228e 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-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. @@ -606,30 +606,62 @@ public class GrReferenceExpressionImpl extends GrReferenceElementImplx''', 'java.util.List') + } + private void doTest(String text, String type) { def file = myFixture.configureByText('_.groovy', text) def ref = file.findReferenceAt(myFixture.editor.caretModel.offset) as GrReferenceExpression @@ -607,4 +613,5 @@ def foo(def var) { } return b.toString() } + } From d77a1ae1315059cc8d356f48d59625c667d86934 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Sun, 16 Dec 2012 23:31:49 +0100 Subject: [PATCH 5/6] external build: fix loading processor data from xml; specify options to javac in correct format (IDEA-97426 Incorrect annotation processors executed) --- .../src/org/jetbrains/jps/incremental/java/JavaBuilder.java | 5 +++-- .../java/compiler/AnnotationProcessorProfileSerializer.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java index 7c1f381534ba..b4870b523ff3 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java @@ -593,9 +593,10 @@ public class JavaBuilder extends ModuleLevelBuilder { options.add(processorsPath == null? "" : FileUtil.toSystemDependentName(processorsPath.trim())); } - for (String procFQName : profile.getProcessors()) { + final Set processors = profile.getProcessors(); + if (!processors.isEmpty()) { options.add("-processor"); - options.add(procFQName); + options.add(StringUtil.join(processors, ",")); } for (Map.Entry optionEntry : profile.getProcessorOptions().entrySet()) { diff --git a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/compiler/AnnotationProcessorProfileSerializer.java b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/compiler/AnnotationProcessorProfileSerializer.java index 4760cfb0d247..5fcc0b41d73c 100644 --- a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/compiler/AnnotationProcessorProfileSerializer.java +++ b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/compiler/AnnotationProcessorProfileSerializer.java @@ -68,7 +68,7 @@ public class AnnotationProcessorProfileSerializer { profile.clearProcessors(); for (Object procElement : element.getChildren("processor")) { final String name = ((Element)procElement).getAttributeValue(NAME); - if (StringUtil.isEmptyOrSpaces(name)) { + if (!StringUtil.isEmptyOrSpaces(name)) { profile.addProcessor(name); } } From 768dd73c3383ce6f2b9237d172e8019556059180 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Sun, 16 Dec 2012 23:36:48 +0100 Subject: [PATCH 6/6] external build: fix loading processor data from xml; specify options to javac in correct format (IDEA-97426 Incorrect annotation processors executed) --- .../compiler/impl/javaCompiler/javac/JavacCompiler.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/javac/JavacCompiler.java b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/javac/JavacCompiler.java index 06a59793daa0..e962a9373913 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/javac/JavacCompiler.java +++ b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/javac/JavacCompiler.java @@ -38,6 +38,7 @@ import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.pom.java.LanguageLevel; import com.intellij.rt.compiler.JavacRunner; @@ -295,9 +296,10 @@ public class JavacCompiler extends ExternalCompiler { additionalOptions.add("-processorpath"); additionalOptions.add(FileUtil.toSystemDependentName(processorPath)); } - for (String processorName : config.getProcessors()) { + final Set processors = config.getProcessors(); + if (!processors.isEmpty()) { additionalOptions.add("-processor"); - additionalOptions.add(processorName); + additionalOptions.add(StringUtil.join(processors, ",")); } for (Map.Entry entry : config.getProcessorOptions().entrySet()) { additionalOptions.add("-A" + entry.getKey() + "=" +entry.getValue());